@@ -1,54 +0,0 @@
1−{ stdenv, fetchurl, ghc }:
2−{ pname, version, sha256, buildDepends ? [], extraLibraries ? [], ... }:
3−
4−stdenv.mkDerivation {
5− name = "${pname}-${version}";
6−
7− src = fetchurl { url = "mirror://hackage/${pname}-${version}.tar.gz"; inherit sha256; };
8−
9− nativeBuildInputs = extraLibraries;
10− propagatedNativeBuildInputs = buildDepends;
11−
12− configurePhase = ''
13− export PATH="${ghc}/bin:$PATH"
14− configureFlags="-v --prefix=$out --ghc-option=-j$NIX_BUILD_CORES $configureFlags"
15− for p in ${stdenv.lib.concatStringsSep " " (stdenv.lib.closePropagation buildDepends)}; do
16− if [ -d "$p/lib/ghc-${ghc.version}/package.conf.d" ]; then
17− for db in "$p/lib/ghc-${ghc.version}/package.conf.d/"*".db"; do
18− configureFlags+=" --package-db=$db"
19− done
20− continue
21− fi
22− done
23− for p in $nativeBuildInputs; do
24− if [ -d "$p/include" ]; then
25− configureFlags+=" --extra-include-dirs=$p/include"
26− fi
27− for d in lib{,64}; do
28− if [ -d "$p/$d" ]; then
29− configureFlags+=" --extra-lib-dirs=$p/$d"
30− fi
31− done
32− done
33− ghc --make Setup
34− echo configureFlags: $configureFlags
35− ./Setup configure $configureFlags
36− '';
37−
38− buildPhase = "./Setup build && ./Setup haddock";
39−
40− checkPhase = "./Setup check";
41−
42− installPhase = ''
43− ./Setup copy
44− local confDir=$out/lib/ghc-${ghc.version}/package.conf.d
45− local packageDb=$confDir/${pname}-${version}.db
46− local pkgConf=$confDir/${pname}-${version}.conf
47− mkdir -p $confDir
48− ./Setup register --gen-pkg-config=$pkgConf
49− if test -f $pkgConf; then
50− echo '[]' > $packageDb
51− GHC_PACKAGE_PATH=$packageDb ghc-pkg --global register $pkgConf --force
52− fi
53− '';
54−}