summary refs log tree commit diff
path: root/pkgs/development/coq-modules
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2015-05-28 16:09:05 +0200
committerVincent Laporte <Vincent.Laporte@gmail.com>2015-06-19 18:11:33 +0200
commit524b7fe178e7ff909d9eef1e8fab78e227076de7 (patch)
tree2d3b1e1457006573e76e24c20b276208dc7fde68 /pkgs/development/coq-modules
parent0f6b981fbabf22cc816fe09846e6452e22ea6ae2 (diff)
downloadnixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar.gz
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar.bz2
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar.lz
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar.xz
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.tar.zst
nixpkgs-524b7fe178e7ff909d9eef1e8fab78e227076de7.zip
coq-ssreflect: refactor
Diffstat (limited to 'pkgs/development/coq-modules')
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix47
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix (renamed from pkgs/development/coq-modules/ssreflect/1.5.nix)22
2 files changed, 26 insertions, 43 deletions
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index bb91c3e270b..a0b0d951c0d 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -1,48 +1,27 @@
-{ stdenv, fetchurl, coq
-, graphviz, withDoc ? true
-}:
+{ callPackage, fetchurl, coq }:
 
-assert coq.coq-version == "8.4";
+if coq.coq-version == "8.4" then
 
-stdenv.mkDerivation {
-
-  name = "coq-ssreflect-1.5";
+callPackage ./generic.nix {
 
   src = fetchurl {
     url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz;
     sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
   };
 
-  nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.camlp5 ];
-  propagatedBuildInputs = [ coq ];
-
-  enableParallelBuilding = true;
-
-  patchPhase = ''
-    # Permit building of the ssrcoq statically-bound executable
-    sed -i 's/^#-custom/-custom/' Make
-    sed -i 's/^#SSRCOQ/SSRCOQ/' Make
-  '';
-
-  buildFlags = stdenv.lib.optionalString withDoc "doc";
+}
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+else if coq.coq-version == "8.5" then
 
-  postInstall = ''
-    mkdir -p $out/bin
-    cp -p bin/ssrcoq $out/bin
-    cp -p bin/ssrcoq.byte $out/bin
-  '' + stdenv.lib.optionalString withDoc ''
-    mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/
-    cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/
-  '';
+callPackage ./generic.nix {
 
-  meta = with stdenv.lib; {
-    homepage = http://ssr.msr-inria.inria.fr/;
-    license = licenses.cecill-b;
-    maintainers = with maintainers; [ vbgl jwiegley ];
-    platforms = coq.meta.platforms;
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.coq85beta2.tar.gz;
+    sha256 = "084l9xd5vgb8jml0dkm66g8cil5rsf04w821pjhn2qk9mdbwaagf";
   };
 
+  patches = [ ./threads.patch ];
+
 }
+
+else throw "No ssreflect package for Coq version ${coq.coq-version}"
diff --git a/pkgs/development/coq-modules/ssreflect/1.5.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index 7c16b43ba8c..dffa895da5f 100644
--- a/pkgs/development/coq-modules/ssreflect/1.5.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -1,22 +1,21 @@
-{stdenv, fetchurl, coq}:
-
-assert coq.coq-version == "8.5";
+{ stdenv, fetchurl, coq
+, graphviz, withDoc ? true
+, src, patches ? []
+}:
 
 stdenv.mkDerivation {
 
-  name = "coq-ssreflect-1.5-8.5b2";
+  name = "coq-${coq.coq-version}-ssreflect-1.5";
 
-  src = fetchurl {
-    url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.coq85beta2.tar.gz;
-    sha256 = "084l9xd5vgb8jml0dkm66g8cil5rsf04w821pjhn2qk9mdbwaagf";
-  };
+  inherit src;
 
+  nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
   buildInputs = [ coq.ocaml coq.camlp5 ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
 
-  patches = [ ./threads.patch ];
+  inherit patches;
 
   postPatch = ''
     # Permit building of the ssrcoq statically-bound executable
@@ -24,12 +23,17 @@ stdenv.mkDerivation {
     sed -i 's/^#SSRCOQ/SSRCOQ/' Make
   '';
 
+  buildFlags = stdenv.lib.optionalString withDoc "doc";
+
   installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
   postInstall = ''
     mkdir -p $out/bin
     cp -p bin/ssrcoq $out/bin
     cp -p bin/ssrcoq.byte $out/bin
+  '' + stdenv.lib.optionalString withDoc ''
+    mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/
+    cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/
   '';
 
   meta = with stdenv.lib; {