Sockeye TN: Update info about Prolog mapping
[barrelfish] / default.nix
1 { stdenv, fetchgit, haskell, pythonPackages
2
3 , autoconf
4 , automake
5 , binutils
6 , coreutils
7 , cpio
8 , curl
9 , gcc5
10 , gdb
11 , git
12 , gmp
13 , gnugrep
14 , gnused
15 , m4
16 , qemu
17
18 , ghc-version ? "ghc801"
19
20 , propagate-deps ? false
21 , use-repo-source ? false
22 , repo-url ? ""
23 , repo-commit-id ? ""
24 , repo-commit-sha256 ? ""
25 }:
26
27 let src-repo = fetchgit {
28       url    = repo-url;
29       rev    = repo-commit-id;
30       sha256 = repo-commit-sha256;
31     };
32     ghc        = haskell.packages."${ghc-version}".ghcWithPackages
33                      (haskellPackages: with haskellPackages; [
34                         async
35                         bytestring-trie
36                         ghc-paths
37                         ghc-mtl
38                         haskell-src-exts
39                         parsec
40                         random
41                      ]);
42     deps       = [
43         autoconf
44         automake
45         binutils
46         coreutils
47         cpio
48         curl
49         gcc5
50         gdb
51         git
52         gmp
53         gnugrep
54         gnused
55         m4
56         qemu
57
58         pythonPackages.pexpect
59
60         # custom GHC
61         ghc
62     ];
63 in
64 stdenv.mkDerivation {
65         version = "2016-11-09";
66         name    = "barrelfish";
67         src     = if use-repo-source
68                   then src-repo
69                   else builtins.filterSource
70                        (path: type: baseNameOf path != ".git" && baseNameOf path != "build")
71                        ./.;
72
73         buildInputs = deps;
74         propagatedBuildInputs = if propagate-deps
75                                 then deps
76                                 else [];
77
78         description = "The Barrelfish OS";
79         license = "MIT";
80 }