about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2018-08-20 22:14:32 +0200
committerSilvan Mosberger <infinisil@icloud.com>2018-10-12 14:12:29 +0200
commit0c25079958ac46f7438d2a90e837acf7c69a2ab9 (patch)
treec1c5867d23bd33ce8fe8604ac9aceda04e08e37b /pkgs/development/compilers
parentd26c303bef670e33d7211b6c053fdb04983c7692 (diff)
downloadnixlib-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.nix77
-rw-r--r--pkgs/development/compilers/futhark/unwrapped.nix55
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;
-}