nixpkgs/pkgs/applications/science/logic/hol_light/default.nix
Marco Maggesi df21c86e08 Improve hol_light:
*   Upgrade hol_light to the latest svn version on google code (r57).

  *   Improve and semplify the mechanism for the generation of checkpointed binaries.

  *   Make hol to work with camlp5 and thus with recent version of ocaml (>=3.10, <=3.11).

  *   Remove ocaml_with_sources which is not needed anymore.

svn path=/nixpkgs/trunk/; revision=23685
2010-09-08 13:07:45 +00:00

57 lines
1.7 KiB
Nix

{stdenv, fetchsvn, ocaml, camlp5_transitional}:
stdenv.mkDerivation rec {
name = "hol_light-${version}";
version = "20100820svn57";
inherit ocaml;
camlp5 = camlp5_transitional;
src = fetchsvn {
url = http://hol-light.googlecode.com/svn/trunk;
rev = "57";
sha256 = "d1372744abca6c9978673850977d3e1577fd8cfd8298826eb713b3681c10cccd";
};
buildInputs = [ ocaml camlp5 ];
buildCommand = ''
export HOL_DIR="$out/src/hol_light"
ensureDir `dirname $HOL_DIR` "$out/bin"
cp -a "${src}" "$HOL_DIR"
cd "$HOL_DIR"
chmod -R u+rwX .
substituteInPlace hol.ml --replace \
"(try Sys.getenv \"HOLLIGHT_DIR\" with Not_found -> Sys.getcwd())" \
"\"$HOL_DIR\""
substituteInPlace Makefile --replace \
"+camlp5" \
"${camlp5}/lib/ocaml/camlp5"
substitute ${./start_hol_light} "$out/bin/start_hol_light" \
--subst-var-by OCAML "${ocaml}" \
--subst-var-by CAMLP5 "${camlp5_transitional}" \
--subst-var HOL_DIR
chmod +x "$out/bin/start_hol_light"
make
'';
meta = {
description = "An interactive theorem prover based on Higher-Order Logic.";
longDescription = ''
HOL Light is a computer program to help users prove interesting mathematical
theorems completely formally in Higher-Order Logic. It sets a very exacting
standard of correctness, but provides a number of automated tools and
pre-proved mathematical theorems (e.g., about arithmetic, basic set theory and
real analysis) to save the user work. It is also fully programmable, so users
can extend it with new theorems and inference rules without compromising its
soundness.
'';
homepage = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
license = "BSD";
ocamlVersions = [ "3.10.0" "3.11.1" ];
};
}