diff options
author | Bas van Dijk <v.dijk.bas@gmail.com> | 2018-08-20 22:14:32 +0200 |
---|---|---|
committer | Silvan Mosberger <infinisil@icloud.com> | 2018-10-12 14:12:29 +0200 |
commit | 0c25079958ac46f7438d2a90e837acf7c69a2ab9 (patch) | |
tree | c1c5867d23bd33ce8fe8604ac9aceda04e08e37b /pkgs/development/compilers | |
parent | d26c303bef670e33d7211b6c053fdb04983c7692 (diff) | |
download | nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar.gz nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar.bz2 nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar.lz nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar.xz nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.tar.zst nixlib-0c25079958ac46f7438d2a90e837acf7c69a2ab9.zip |
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.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/futhark/default.nix | 77 | ||||
-rw-r--r-- | pkgs/development/compilers/futhark/unwrapped.nix | 55 |
2 files changed, 54 insertions, 78 deletions
diff --git a/pkgs/development/compilers/futhark/default.nix b/pkgs/development/compilers/futhark/default.nix index 6cabd686b497..890be3431c3a 100644 --- a/pkgs/development/compilers/futhark/default.nix +++ b/pkgs/development/compilers/futhark/default.nix @@ -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; +} diff --git a/pkgs/development/compilers/futhark/unwrapped.nix b/pkgs/development/compilers/futhark/unwrapped.nix deleted file mode 100644 index 890be3431c3a..000000000000 --- a/pkgs/development/compilers/futhark/unwrapped.nix +++ /dev/null @@ -1,55 +0,0 @@ -# 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"; - }; - 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; -} |