2010-09-14 23:15:58 +02:00
|
|
|
# TODO:
|
|
|
|
# - coqide compilation should be optional or (better) separate;
|
|
|
|
# - coqide libraries are not installed;
|
|
|
|
|
|
|
|
{stdenv, fetchurl, ocaml, camlp5, lablgtk, ncurses}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
2010-09-15 21:39:48 +02:00
|
|
|
name = "coq-devel-8.3pre1";
|
2010-09-14 23:15:58 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = http://coq.inria.fr/distrib/V8.3-rc1/files/coq-8.3-rc1.tar.gz;
|
|
|
|
sha256 = "0r43dqr7nzjfkxlz4963sj18gvjni6x3lhrlgh4l8k0cjspi62sj";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ ocaml camlp5 ncurses lablgtk ];
|
|
|
|
|
|
|
|
patches = [ ./coq-8.3-rc1_configure.patch ];
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace scripts/coqmktop.ml --replace \
|
|
|
|
"\"-I\"; \"+lablgtk2\"" \
|
|
|
|
"\"-I\"; \"${lablgtk}/lib/ocaml/lablgtk2\"; \"-I\"; \"${lablgtk}/lib/ocaml/stublibs\""
|
|
|
|
'';
|
|
|
|
|
|
|
|
prefixKey = "-prefix ";
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
ARCH=`uname -s`
|
|
|
|
CAMLDIR=`type -p ocamlc`
|
|
|
|
'';
|
|
|
|
|
|
|
|
configureFlags =
|
|
|
|
"-arch $ARCH " +
|
|
|
|
"-camldir $CAMLDIR " +
|
|
|
|
"-camldir ${ocaml}/bin " +
|
|
|
|
"-camlp5dir ${camlp5}/lib/ocaml/camlp5 " +
|
|
|
|
"-lablgtkdir ${lablgtk}/lib/ocaml/lablgtk2 " +
|
|
|
|
"-opt -coqide opt";
|
|
|
|
|
|
|
|
buildFlags = "world"; # Debug with "world VERBOSE=1";
|
|
|
|
|
|
|
|
meta = {
|
2010-09-15 21:39:48 +02:00
|
|
|
description = "Coq proof assistant (development version)";
|
2010-09-14 23:15:58 +02:00
|
|
|
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";
|
|
|
|
};
|
|
|
|
}
|