diff options
author | Vincent Laporte <Vincent.Laporte@gmail.com> | 2018-10-30 10:47:44 +0000 |
---|---|---|
committer | Vincent Laporte <vbgl@users.noreply.github.com> | 2018-11-04 20:49:38 +0000 |
commit | d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d (patch) | |
tree | 90536a215ed71c0c7b89f1e3bd75104d597604ac /pkgs/development/coq-modules | |
parent | 14a9365952fcac6214b78a3b1f553961ad2f0a69 (diff) | |
download | nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar.gz nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar.bz2 nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar.lz nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar.xz nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.tar.zst nixpkgs-d2c38d1eefdb7e55f6bd75617e6f9c6e3943123d.zip |
coqPackages.mathcomp: refactor
Diffstat (limited to 'pkgs/development/coq-modules')
-rw-r--r-- | pkgs/development/coq-modules/mathcomp/default.nix | 46 | ||||
-rw-r--r-- | pkgs/development/coq-modules/mathcomp/generic.nix | 42 |
2 files changed, 41 insertions, 47 deletions
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix index 92c3c87774a..99a6fe311a0 100644 --- a/pkgs/development/coq-modules/mathcomp/default.nix +++ b/pkgs/development/coq-modules/mathcomp/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,48 @@ 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 -callPackage ./generic.nix { +stdenv.mkDerivation { name = "coq${coq.coq-version}-mathcomp-${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; + + buildFlags = stdenv.lib.optionalString withDoc "doc"; + + preBuild = '' + patchShebangs etc/utils/ssrcoqdep || true + cd mathcomp + export COQBIN=${coq}/bin/ + ''; + + installPhase = '' + make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install + '' + stdenv.lib.optionalString withDoc '' + make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ + ''; + + meta = with stdenv.lib; { + homepage = http://ssr.msr-inria.inria.fr/; + license = licenses.cecill-b; + maintainers = [ maintainers.vbgl maintainers.jwiegley ]; + platforms = coq.meta.platforms; + }; + + passthru = { + compatibleCoqVersions = v: builtins.hasAttr v params; + }; + } diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix deleted file mode 100644 index 2a602711965..00000000000 --- a/pkgs/development/coq-modules/mathcomp/generic.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, coq, ncurses, which -, graphviz, withDoc ? false -, src, name -}: - -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; - - buildFlags = stdenv.lib.optionalString withDoc "doc"; - - preBuild = '' - patchShebangs etc/utils/ssrcoqdep || true - cd mathcomp - export COQBIN=${coq}/bin/ - ''; - - installPhase = '' - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install - '' + stdenv.lib.optionalString withDoc '' - make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ - ''; - - meta = with stdenv.lib; { - homepage = http://ssr.msr-inria.inria.fr/; - license = licenses.cecill-b; - maintainers = [ maintainers.vbgl maintainers.jwiegley ]; - platforms = coq.meta.platforms; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ]; - }; - -} |