aboutsummaryrefslogtreecommitdiff
path: root/dev/ci/nix/unicoq/default.nix
blob: 54c67ac0fdcfa35b778d1d4e5dbe3b4e8a7b28f4 (plain)
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
{ stdenv, writeText, coq }:

let META = writeText "META" ''
  archive(native) = "unicoq.cmxa"
  plugin(native) = "unicoq.cmxs"
''; in


stdenv.mkDerivation {
  name = "coq${coq.coq-version}-unicoq-0.0-git";
  src = fetchTarball https://github.com/unicoq/unicoq/archive/master.tar.gz;

  patches = [ ./unicoq-num.patch ];

  buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 num ]);

  configurePhase = "coq_makefile -f Make -o Makefile";
  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];

  postInstall = ''
    cp ${META} META
    install -d $OCAMLFIND_DESTDIR
    ln -s $out/lib/coq/${coq.coq-version}/user-contrib/Unicoq $OCAMLFIND_DESTDIR/
    install -m 0644 META src/unicoq.a $OCAMLFIND_DESTDIR/Unicoq
  '';
}