coq-ssreflect: refactor

+66 -84
-42
pkgs/development/coq-modules/ssreflect/1.5.nix
··· 1 - {stdenv, fetchurl, coq}: 2 - 3 - assert coq.coq-version == "8.5"; 4 - 5 - stdenv.mkDerivation { 6 - 7 - name = "coq-ssreflect-1.5-8.5b2"; 8 - 9 - src = fetchurl { 10 - url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.coq85beta2.tar.gz; 11 - sha256 = "084l9xd5vgb8jml0dkm66g8cil5rsf04w821pjhn2qk9mdbwaagf"; 12 - }; 13 - 14 - buildInputs = [ coq.ocaml coq.camlp5 ]; 15 - propagatedBuildInputs = [ coq ]; 16 - 17 - enableParallelBuilding = true; 18 - 19 - patches = [ ./threads.patch ]; 20 - 21 - postPatch = '' 22 - # Permit building of the ssrcoq statically-bound executable 23 - sed -i 's/^#-custom/-custom/' Make 24 - sed -i 's/^#SSRCOQ/SSRCOQ/' Make 25 - ''; 26 - 27 - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; 28 - 29 - postInstall = '' 30 - mkdir -p $out/bin 31 - cp -p bin/ssrcoq $out/bin 32 - cp -p bin/ssrcoq.byte $out/bin 33 - ''; 34 - 35 - meta = with stdenv.lib; { 36 - homepage = http://ssr.msr-inria.inria.fr/; 37 - license = licenses.cecill-b; 38 - maintainers = with maintainers; [ vbgl jwiegley ]; 39 - platforms = coq.meta.platforms; 40 - }; 41 - 42 - }
···
+13 -34
pkgs/development/coq-modules/ssreflect/default.nix
··· 1 - { stdenv, fetchurl, coq 2 - , graphviz, withDoc ? true 3 - }: 4 - 5 - assert coq.coq-version == "8.4"; 6 7 - stdenv.mkDerivation { 8 9 - name = "coq-ssreflect-1.5"; 10 11 src = fetchurl { 12 url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz; 13 sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds"; 14 }; 15 16 - nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; 17 - buildInputs = [ coq.ocaml coq.camlp5 ]; 18 - propagatedBuildInputs = [ coq ]; 19 20 - enableParallelBuilding = true; 21 22 - patchPhase = '' 23 - # Permit building of the ssrcoq statically-bound executable 24 - sed -i 's/^#-custom/-custom/' Make 25 - sed -i 's/^#SSRCOQ/SSRCOQ/' Make 26 - ''; 27 28 - buildFlags = stdenv.lib.optionalString withDoc "doc"; 29 30 - installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; 31 32 - postInstall = '' 33 - mkdir -p $out/bin 34 - cp -p bin/ssrcoq $out/bin 35 - cp -p bin/ssrcoq.byte $out/bin 36 - '' + stdenv.lib.optionalString withDoc '' 37 - mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/ 38 - cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/ 39 - ''; 40 41 - meta = with stdenv.lib; { 42 - homepage = http://ssr.msr-inria.inria.fr/; 43 - license = licenses.cecill-b; 44 - maintainers = with maintainers; [ vbgl jwiegley ]; 45 - platforms = coq.meta.platforms; 46 - }; 47 - 48 - }
··· 1 + { callPackage, fetchurl, coq }: 2 3 + if coq.coq-version == "8.4" then 4 5 + callPackage ./generic.nix { 6 7 src = fetchurl { 8 url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz; 9 sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds"; 10 }; 11 12 + } 13 14 + else if coq.coq-version == "8.5" then 15 16 + callPackage ./generic.nix { 17 18 + src = fetchurl { 19 + url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.coq85beta2.tar.gz; 20 + sha256 = "084l9xd5vgb8jml0dkm66g8cil5rsf04w821pjhn2qk9mdbwaagf"; 21 + }; 22 23 + patches = [ ./threads.patch ]; 24 25 + } 26 27 + else throw "No ssreflect package for Coq version ${coq.coq-version}"
+46
pkgs/development/coq-modules/ssreflect/generic.nix
···
··· 1 + { stdenv, fetchurl, coq 2 + , graphviz, withDoc ? true 3 + , src, patches ? [] 4 + }: 5 + 6 + stdenv.mkDerivation { 7 + 8 + name = "coq-${coq.coq-version}-ssreflect-1.5"; 9 + 10 + inherit src; 11 + 12 + nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; 13 + buildInputs = [ coq.ocaml coq.camlp5 ]; 14 + propagatedBuildInputs = [ coq ]; 15 + 16 + enableParallelBuilding = true; 17 + 18 + inherit patches; 19 + 20 + postPatch = '' 21 + # Permit building of the ssrcoq statically-bound executable 22 + sed -i 's/^#-custom/-custom/' Make 23 + sed -i 's/^#SSRCOQ/SSRCOQ/' Make 24 + ''; 25 + 26 + buildFlags = stdenv.lib.optionalString withDoc "doc"; 27 + 28 + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; 29 + 30 + postInstall = '' 31 + mkdir -p $out/bin 32 + cp -p bin/ssrcoq $out/bin 33 + cp -p bin/ssrcoq.byte $out/bin 34 + '' + stdenv.lib.optionalString withDoc '' 35 + mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/ 36 + cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/Ssreflect/ 37 + ''; 38 + 39 + meta = with stdenv.lib; { 40 + homepage = http://ssr.msr-inria.inria.fr/; 41 + license = licenses.cecill-b; 42 + maintainers = with maintainers; [ vbgl jwiegley ]; 43 + platforms = coq.meta.platforms; 44 + }; 45 + 46 + }
+7 -8
pkgs/top-level/all-packages.nix
··· 14090 14091 mkCoqPackages_8_5 = self: let callPackage = newScope self; in rec { 14092 14093 - mathcomp = callPackage ../development/coq-modules/mathcomp/1.5.nix { 14094 - coq = coq_8_5; 14095 - ssreflect = ssreflect; 14096 - }; 14097 14098 - ssreflect = callPackage ../development/coq-modules/ssreflect/1.5.nix { 14099 - coq = coq_8_5; 14100 - }; 14101 14102 }; 14103 14104 coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages); 14105 - coqPackages_8_5 = recurseIntoAttrs (mkCoqPackages_8_5 coqPackages); 14106 14107 cvc3 = callPackage ../applications/science/logic/cvc3 {}; 14108 cvc4 = callPackage ../applications/science/logic/cvc4 {};
··· 14090 14091 mkCoqPackages_8_5 = self: let callPackage = newScope self; in rec { 14092 14093 + inherit callPackage; 14094 + 14095 + coq = coq_8_5; 14096 + 14097 + mathcomp = callPackage ../development/coq-modules/mathcomp/1.5.nix { }; 14098 14099 + ssreflect = callPackage ../development/coq-modules/ssreflect { }; 14100 14101 }; 14102 14103 coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages); 14104 + coqPackages_8_5 = recurseIntoAttrs (mkCoqPackages_8_5 coqPackages_8_5); 14105 14106 cvc3 = callPackage ../applications/science/logic/cvc3 {}; 14107 cvc4 = callPackage ../applications/science/logic/cvc4 {};