summary refs log tree commit diff
path: root/pkgs/development/coq-modules
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2018-11-04 07:07:46 +0000
committerVincent Laporte <vbgl@users.noreply.github.com>2018-11-04 20:49:38 +0000
commitb3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a (patch)
tree8970887821bc42c44464afe02b34b3909fa7293a /pkgs/development/coq-modules
parentd2c38d1eefdb7e55f6bd75617e6f9c6e3943123d (diff)
downloadnixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar.gz
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar.bz2
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar.lz
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar.xz
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.tar.zst
nixpkgs-b3f6840d8e8ddba9ce5aa3d5a07479e3663cb38a.zip
coqPackages.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.nix49
2 files changed, 42 insertions, 54 deletions
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 9e9c3c7957a..840189e347a 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -1,6 +1,8 @@
-{ callPackage, fetchurl, coq }:
+{ stdenv, fetchurl, coq, ncurses, which
+, graphviz, withDoc ? false
+}:
 
-let param =
+let params =
 
   let param_1_7 = {
     version = "1.7.0";
@@ -16,14 +18,49 @@ let param =
     "8.6" = param_1_7;
     "8.7" = param_1_7;
     "8.8" = param_1_7;
+    "8.9" = param_1_7;
 
-  }."${coq.coq-version}"
-; in
+  };
+  param = params."${coq.coq-version}";
+in
+
+stdenv.mkDerivation {
 
-callPackage ./generic.nix {
   name = "coq${coq.coq-version}-ssreflect-${param.version}";
   src = fetchurl {
     url = "https://github.com/math-comp/math-comp/archive/mathcomp-${param.version}.tar.gz";
     inherit (param) sha256;
   };
+
+  nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
+  buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]);
+
+  enableParallelBuilding = true;
+
+  preBuild = ''
+    patchShebangs etc/utils/ssrcoqdep || true
+    cd mathcomp/ssreflect
+    export COQBIN=${coq}/bin/
+  '';
+
+  installPhase = ''
+    make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
+  '';
+
+  postInstall = stdenv.lib.optionalString withDoc ''
+    mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/
+    cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://ssr.msr-inria.inria.fr/;
+    license = licenses.cecill-b;
+    maintainers = with maintainers; [ vbgl jwiegley ];
+    inherit (coq.meta) platforms;
+  };
+
+  passthru = {
+    compatibleCoqVersions = v: builtins.hasAttr v params;
+  };
+
 }
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
deleted file mode 100644
index 23e364cd960..00000000000
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, coq, ncurses, which
-, graphviz, withDoc ? false
-, src, name, patches ? []
-}:
-
-stdenv.mkDerivation {
-
-  inherit name;
-  inherit src;
-
-  nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ];
-  propagatedBuildInputs = [ coq ];
-
-  enableParallelBuilding = true;
-
-  inherit patches;
-
-  preBuild = ''
-    patchShebangs etc/utils/ssrcoqdep || true
-    cd mathcomp/ssreflect
-    export COQBIN=${coq}/bin/
-  '';
-
-  installPhase = ''
-    make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
-  '';
-
-  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/mathcomp/ssreflect/
-    cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://ssr.msr-inria.inria.fr/;
-    license = licenses.cecill-b;
-    maintainers = with maintainers; [ vbgl jwiegley ];
-    platforms = coq.meta.platforms;
-  };
-
-  passthru = {
-    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ];
-  };
-
-}