git.iko.soy/typeable/cabal2nix
on master help sign in
nix stuff now lives in the haskell-ng branch of Nixpkgs
3061614Peter Simons
doc/generic-builder.nixdeleted−54
@@ -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−}
doc/ng.nixdeleted−84
@@ -1,84 +0,0 @@
1−# Architecture of the cleaned-up Haskell packages set in Nixpkgs.
2−
3−let
4−
5− pkgs = import <nixpkgs> {};
6− lib = pkgs.lib;
7−
8− inherit (pkgs) newScope stdenv fetchurl;
9− ghc = pkgs.haskellPackages.ghcPlain;
10−
11− fix = f: let x = f x // { __unfix__ = f; }; in x;
12−
13− extend = rattrs: f: self: let super = rattrs self; in super // f self super;
14−
15− buildCabal = import ./generic-builder.nix { inherit stdenv ghc fetchurl; };
16−
17− hpkgs = self:
18− let
19−
20− definePackage = args: pkg: newScope self pkg args;
21−
22− in
23− import ../hackage-packages.nix { inherit stdenv ghc pkgs definePackage; } // {
24−
25− inherit buildCabal;
26−
27− mtl21 = definePackage {}
28− ({ buildCabal, transformers }:
29− buildCabal {
30− pname = "mtl";
31− version = "2.1.3.1";
32− sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp";
33− buildDepends = [ transformers ];
34− meta = {
35− homepage = "http://github.com/ekmett/mtl";
36− description = "Monad classes, using functional dependencies";
37− license = stdenv.lib.licenses.bsd3;
38− platforms = ghc.meta.platforms;
39− };
40− });
41−
42− };
43−
44− defaultConfiguration = self: super: {
45− mtl22 = super.mtl.override { transformers = super.transformers; };
46− mtl = self.mtl21.override { transformers = null; };
47− zlib = super.zlib.override { zlib = pkgs.zlib; };
48− cabal2nix = super.cabal2nix.deepOverride { mtl = self.mtl22; };
49−
50− Cabal = null;
51− array = null;
52− base = null;
53− binPackageDb = null;
54− binary = null;
55− bytestring = null;
56− containers = null;
57− deepseq = null;
58− directory = null;
59− filepath = null;
60− ghc = null;
61− ghcPrim = null;
62− haskeline = null;
63− haskell2010 = null;
64− haskell98 = null;
65− hoopl = null;
66− hpc = null;
67− integerGmp = null;
68− oldLocale = null;
69− oldTime = null;
70− pretty = null;
71− process = null;
72− rts = null;
73− templateHaskell = null;
74− terminfo = null;
75− time = null;
76− transformers = null;
77− unix = null;
78− xhtml = null;
79− };
80−
81− haskellPackages = fix (extend hpkgs defaultConfiguration);
82−in
83−
84− haskellPackages # .hsemail.deepOverride { mtl = haskellPackages.mtl2; }