Add an expression for building Coq HEAD
This commit is contained in:
parent
1e0576e6ee
commit
83cf279452
57
pkgs/applications/science/logic/coq/HEAD.nix
Normal file
57
pkgs/applications/science/logic/coq/HEAD.nix
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# - coqide compilation can be disabled by setting lablgtk to null;
|
||||||
|
|
||||||
|
{stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "8.5pre-fff9e2f7";
|
||||||
|
buildIde = lablgtk != null;
|
||||||
|
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
|
||||||
|
idePath = if buildIde then ''
|
||||||
|
CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
|
||||||
|
'' else "";
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "coq-${version}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = git://scm.gforge.inria.fr/coq/coq.git;
|
||||||
|
rev = "21994cc4c617582f4f94577c1c582a7b51b7770b";
|
||||||
|
sha256 = "12kadlmyh9bspn9kds36pwrq77d0widrk5q43wyrgb8y9zrnyz61";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
UNAME=$(type -tp uname)
|
||||||
|
RM=$(type -tp rm)
|
||||||
|
substituteInPlace configure --replace "/bin/uname" "$UNAME"
|
||||||
|
substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
|
||||||
|
'';
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
buildFlagsArray=(${idePath})
|
||||||
|
configureFlagsArray=(
|
||||||
|
-opt
|
||||||
|
${ideFlags}
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
prefixKey = "-prefix ";
|
||||||
|
|
||||||
|
buildFlags = "revision coq coqide";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Coq proof assistant";
|
||||||
|
longDescription = ''
|
||||||
|
Coq is a formal proof management system. It provides a formal language
|
||||||
|
to write mathematical definitions, executable algorithms and theorems
|
||||||
|
together with an environment for semi-interactive development of
|
||||||
|
machine-checked proofs.
|
||||||
|
'';
|
||||||
|
homepage = "http://coq.inria.fr";
|
||||||
|
license = "LGPL";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
|
||||||
|
platforms = stdenv.lib.platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -10810,6 +10810,11 @@ let
|
|||||||
camlp5 = ocamlPackages.camlp5_transitional;
|
camlp5 = ocamlPackages.camlp5_transitional;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
|
||||||
|
inherit (ocamlPackages) findlib lablgtk;
|
||||||
|
camlp5 = ocamlPackages.camlp5_transitional;
|
||||||
|
};
|
||||||
|
|
||||||
coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
|
coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
|
||||||
inherit (ocamlPackages) findlib lablgtk;
|
inherit (ocamlPackages) findlib lablgtk;
|
||||||
camlp5 = ocamlPackages.camlp5_transitional;
|
camlp5 = ocamlPackages.camlp5_transitional;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user