-
Notifications
You must be signed in to change notification settings - Fork 4
/
btc-ocaml.nix
34 lines (31 loc) · 924 Bytes
/
btc-ocaml.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
let
# needs nixpkgs from https://github.com/Rotsor/nixpkgs for now
pkgs = import <nixpkgs> {};
ocaml = pkgs.ocamlPackages_latest;
in rec {
corebuild = pkgs.stdenv.mkDerivation (rec {
name = "ocaml-corebuild";
src = ocaml.core.src;
buildCommand = ''
tar xf "$src"
mkdir -p "$out/bin"
cp */corebuild "$out/bin"
'';
});
btc_ocaml = pkgs.stdenv.mkDerivation (rec {
name = "btc-ocaml";
src = ./.;
buildInputs = [
corebuild ocaml.ocaml pkgs.zlib /* zlib should not be necessary, but it is */
] ++ (with ocaml; [
findlib
cryptokit core core_kernel async async_extra
pa_ounit pa_structural_sexp sexplib comparelib fieldslib variantslib bin_prot]);
buildCommand = ''
cp "${src}"/* ./
corebuild btc.native -pkgs core -pkgs async -pkgs cryptokit
mkdir -p "$out/bin"
cp btc.native "$out/bin/btc-ocaml"
'';
});
}