summary refs log tree commit diff
path: root/pkgs/applications/science/logic/ssreflect/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/logic/ssreflect/default.nix')
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix22
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
index 8443974a0a0a..c554b5dcea1c 100644
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ b/pkgs/applications/science/logic/ssreflect/default.nix
@@ -2,11 +2,11 @@
 # - coq needs to be invoked with the explicit path to the ssreflect theory
 #   e.g. coqide -R ~/.nix-profile/lib/coq/user-contrib/ ''
 
-{stdenv, fetchurl, ocaml, camlp5, coq}:
+{stdenv, fetchurl, ocaml, camlp5, coq, makeWrapper}:
 
 let
   pname = "ssreflect";
-  version = "1.3pl1";
+  version = "1.3pl4";
   name = "${pname}-${version}";
   webpage = http://www.msr-inria.inria.fr/Projects/math-components;
 in
@@ -16,22 +16,29 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "${webpage}/${name}.tar.gz";
-    sha256 = "0ykrhqb68aanl5d4dmn0vnx8m34gg0jsbdhwx2852rqi7r00b9ri";
+    sha256 = "1ha3iiqq79pgll5ra9z0xdi3d3dr3wb9f5vsm4amy884l5anva02";
   };
 
-  buildInputs = [ ocaml camlp5 coq ];
+  buildInputs = [ ocaml camlp5 coq makeWrapper ];
+
+  patches = [ ./static.patch ];
 
-  # this fails
-  /*
   postBuild = ''
     cd src
     coqmktop -ide -opt ssreflect.cmx -o ../bin/ssrcoqide
+    cd ..
   '';
-  */
 
   installPhase = ''
     COQLIB=$out/lib/coq make -f Makefile.coq install -e
     mkdir -p $out/bin
+    cp bin/* $out/bin
+    for i in $out/bin/*; do
+      wrapProgram "$i" \
+        --add-flags "-R" \
+        --add-flags "$out/lib/coq/user-contrib/Ssreflect" \
+        --add-flags "Ssreflect"
+    done
   '';
 
   meta = {
@@ -43,5 +50,6 @@ stdenv.mkDerivation {
     '';
     homepage = webpage;
     license = "CeCILL B FREE SOFTWARE LICENSE or CeCILL FREE SOFTWARE LICENSE";
+    maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }