forked from NixOS/nixpkgs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
futhark: introduce the top-level futhark attribute
The fact that futhark is a Haskell package is an implementation detail. To install it users should just have to specify `futhark` instead of `haskellPackages.futhark`. Additionally futhark is overridden with `haskell.lib.justStaticExecutables` to reduce closure size.
- Loading branch information
1 parent
376e27f
commit 5ba57d5
Showing
5 changed files
with
72 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,55 @@ | ||
{ callPackage, symlinkJoin, makeWrapper, stdenv, gcc, opencl-headers, opencl-icd }: | ||
|
||
let | ||
unwrapped = callPackage ./unwrapped.nix {}; | ||
|
||
path = stdenv.lib.makeBinPath [ gcc ]; | ||
|
||
wrapped = symlinkJoin { | ||
name = "futhark-wrapped"; | ||
buildInputs = [ makeWrapper ]; | ||
paths = [ unwrapped ]; | ||
postBuild = '' | ||
wrapProgram $out/bin/futhark-c \ | ||
--prefix PATH : "${path}" | ||
wrapProgram $out/bin/futhark-opencl \ | ||
--prefix PATH : "${path}" \ | ||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \ | ||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \ | ||
--set NIX_CFLAGS_LINK "-L${opencl-icd}/lib" | ||
''; | ||
# Generated using `cabal2nix --hpack .`, then replace src | ||
{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html | ||
, bytestring, containers, data-binary-ieee754, directory | ||
, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy | ||
, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty | ||
, markdown, mtl, neat-interpolation, parallel, parsec, process | ||
, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa | ||
, srcloc, stdenv, template-haskell, temporary, test-framework | ||
, test-framework-hunit, test-framework-quickcheck2, text | ||
, th-lift-instances, transformers, vector, vector-binary-instances | ||
, zlib, fetchFromGitHub | ||
}: | ||
mkDerivation { | ||
pname = "futhark"; | ||
version = "0.6.2"; | ||
src = fetchFromGitHub { | ||
owner = "diku-dk"; | ||
repo = "futhark"; | ||
rev = "v0.6.2"; | ||
sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2"; | ||
}; | ||
|
||
in wrapped | ||
isLibrary = true; | ||
isExecutable = true; | ||
libraryHaskellDepends = [ | ||
array base bifunctors binary blaze-html bytestring containers | ||
data-binary-ieee754 directory directory-tree dlist extra file-embed | ||
filepath gitrev language-c-quote mainland-pretty markdown mtl | ||
neat-interpolation parallel parsec process raw-strings-qq | ||
regex-tdfa srcloc template-haskell text th-lift-instances | ||
transformers vector vector-binary-instances zlib | ||
]; | ||
libraryToolDepends = [ alex happy hpack ]; | ||
executableHaskellDepends = [ | ||
array base bifunctors binary blaze-html bytestring containers | ||
data-binary-ieee754 directory directory-tree dlist extra file-embed | ||
filepath gitrev haskeline json language-c-quote mainland-pretty | ||
markdown mtl neat-interpolation parallel parsec process | ||
process-extras random raw-strings-qq regex-tdfa srcloc | ||
template-haskell temporary text th-lift-instances transformers | ||
vector vector-binary-instances zlib | ||
]; | ||
testHaskellDepends = [ | ||
array base bifunctors binary blaze-html bytestring containers | ||
data-binary-ieee754 directory directory-tree dlist extra file-embed | ||
filepath gitrev HUnit language-c-quote mainland-pretty markdown mtl | ||
neat-interpolation parallel parsec process QuickCheck | ||
raw-strings-qq regex-tdfa srcloc template-haskell test-framework | ||
test-framework-hunit test-framework-quickcheck2 text | ||
th-lift-instances transformers vector vector-binary-instances zlib | ||
]; | ||
preConfigure = "hpack"; | ||
homepage = "https://futhark-lang.org"; | ||
description = "An optimising compiler for a functional, array-oriented language"; | ||
license = stdenv.lib.licenses.isc; | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters