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.
This commit is contained in:
parent
d26c303bef
commit
0c25079958
|
@ -1,24 +1,55 @@
|
||||||
{ callPackage, symlinkJoin, makeWrapper, stdenv, gcc, opencl-headers, opencl-icd }:
|
# Generated using `cabal2nix --hpack .`, then replace src
|
||||||
|
{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html
|
||||||
let
|
, bytestring, containers, data-binary-ieee754, directory
|
||||||
unwrapped = callPackage ./unwrapped.nix {};
|
, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy
|
||||||
|
, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty
|
||||||
path = stdenv.lib.makeBinPath [ gcc ];
|
, markdown, mtl, neat-interpolation, parallel, parsec, process
|
||||||
|
, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa
|
||||||
wrapped = symlinkJoin {
|
, srcloc, stdenv, template-haskell, temporary, test-framework
|
||||||
name = "futhark-wrapped";
|
, test-framework-hunit, test-framework-quickcheck2, text
|
||||||
buildInputs = [ makeWrapper ];
|
, th-lift-instances, transformers, vector, vector-binary-instances
|
||||||
paths = [ unwrapped ];
|
, zlib, fetchFromGitHub
|
||||||
postBuild = ''
|
}:
|
||||||
wrapProgram $out/bin/futhark-c \
|
mkDerivation {
|
||||||
--prefix PATH : "${path}"
|
pname = "futhark";
|
||||||
|
version = "0.6.2";
|
||||||
wrapProgram $out/bin/futhark-opencl \
|
src = fetchFromGitHub {
|
||||||
--prefix PATH : "${path}" \
|
owner = "diku-dk";
|
||||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
repo = "futhark";
|
||||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
rev = "v0.6.2";
|
||||||
--set NIX_CFLAGS_LINK "-L${opencl-icd}/lib"
|
sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2";
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
isLibrary = true;
|
||||||
in wrapped
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
|
@ -707,6 +707,7 @@ self: super: {
|
||||||
# vaultenv is not available from Hackage.
|
# vaultenv is not available from Hackage.
|
||||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||||
|
|
||||||
|
# futhark is not available from Hackage.
|
||||||
futhark = self.callPackage ../compilers/futhark { };
|
futhark = self.callPackage ../compilers/futhark { };
|
||||||
|
|
||||||
# https://github.com/Philonous/hs-stun/pull/1
|
# https://github.com/Philonous/hs-stun/pull/1
|
||||||
|
|
|
@ -528,4 +528,19 @@ self: super: builtins.intersectAttrs super {
|
||||||
|
|
||||||
# The test-suite requires a running PostgreSQL server.
|
# The test-suite requires a running PostgreSQL server.
|
||||||
Frames-beam = dontCheck super.Frames-beam;
|
Frames-beam = dontCheck super.Frames-beam;
|
||||||
|
|
||||||
|
futhark = with pkgs;
|
||||||
|
let path = stdenv.lib.makeBinPath [ gcc ];
|
||||||
|
in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
|
||||||
|
postInstall = ''
|
||||||
|
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"
|
||||||
|
'';
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
24
pkgs/tools/audio/mpdsync/default.nix
Normal file
24
pkgs/tools/audio/mpdsync/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ stdenv, python2, fetchFromGitHub }:
|
||||||
|
with python2.pkgs;
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "mpdsync-2017-06-15";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "alphapapa";
|
||||||
|
repo = "mpdsync";
|
||||||
|
rev = "da90058f44dd9578cc5f2fb96a1fb2b26da40d07";
|
||||||
|
sha256 = "1mfg3ipqj5dvyyqbgp6ia6sc1ja5gmm2c9mfrwx0jw2dl182if6q";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonPath = [ mpd2 ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
wrapPython
|
||||||
|
];
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = "install -D mpdsync.py $out/bin/mpdsync";
|
||||||
|
postFixup = "wrapPythonPrograms";
|
||||||
|
|
||||||
|
}
|
|
@ -1336,6 +1336,8 @@ with pkgs;
|
||||||
|
|
||||||
fsmark = callPackage ../tools/misc/fsmark { };
|
fsmark = callPackage ../tools/misc/fsmark { };
|
||||||
|
|
||||||
|
futhark = haskell.lib.justStaticExecutables haskellPackages.futhark;
|
||||||
|
|
||||||
fwup = callPackage ../tools/misc/fwup { };
|
fwup = callPackage ../tools/misc/fwup { };
|
||||||
|
|
||||||
fzf = callPackage ../tools/misc/fzf { };
|
fzf = callPackage ../tools/misc/fzf { };
|
||||||
|
|
Loading…
Reference in a new issue