From 417a07a0e92e5d3e368193b7cfbf8cfe956e1e34 Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Mon, 28 May 2012 20:53:17 +0000 Subject: Updatings ssreflect to depend on camlp5 version 6. svn path=/nixpkgs/trunk/; revision=34263 --- pkgs/applications/science/logic/coq/default.nix | 26 +++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'pkgs/applications/science/logic') diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index cfd769fa6a2c..bf759a4a3260 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -1,10 +1,16 @@ -# TODO: -# - coqide compilation should be optional or (better) separate; +# - coqide compilation can be disabled by setting lablgtk to null; -{stdenv, fetchurl, ocaml, findlib, camlp5, lablgtk, ncurses}: +{stdenv, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: -let +let version = "8.3pl4"; + buildIde = lablgtk != null; + ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; + idePatch = if buildIde then '' + substituteInPlace scripts/coqmktop.ml --replace \ + "\"-I\"; \"+lablgtk2\"" \ + "\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\"" + '' else ""; in stdenv.mkDerivation { @@ -21,9 +27,10 @@ stdenv.mkDerivation { preConfigure = '' configureFlagsArray=( + -opt -camldir ${ocaml}/bin -camlp5dir $(ocamlfind query camlp5) - -lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -opt -coqide opt + ${ideFlags} ) ''; @@ -36,17 +43,16 @@ stdenv.mkDerivation { RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" - substituteInPlace scripts/coqmktop.ml --replace \ - "\"-I\"; \"+lablgtk2\"" \ - "\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\"" + ${idePatch} ''; # This post install step is needed to build ssrcoqide from the ssreflect package # It could be made optional, but I see little harm in including it in the default # distribution -- roconnor - postInstall = '' + # This will likely no longer be necessary for coq >= 8.4. -- roconnor + postInstall = if buildIde then '' cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/ - ''; + '' else ""; meta = { description = "Coq proof assistant"; -- cgit 1.4.1