diff options
Diffstat (limited to 'pkgs/development/coq-modules/dpdgraph/default.nix')
-rw-r--r-- | pkgs/development/coq-modules/dpdgraph/default.nix | 107 |
1 files changed, 42 insertions, 65 deletions
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix index 689745003df..203b8bb1b2b 100644 --- a/pkgs/development/coq-modules/dpdgraph/default.nix +++ b/pkgs/development/coq-modules/dpdgraph/default.nix @@ -1,83 +1,60 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, coq }: - -let params = { - "8.11" = { - version = "0.6.7"; - sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; - }; - "8.10" = { - version = "0.6.6"; - sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; - }; - "8.9" = { - version = "0.6.5"; - sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f"; - }; - "8.8" = { - version = "0.6.3"; - rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; - sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx"; - }; - "8.7" = { - version = "0.6.2"; - rev = "d76ddde37d918569945774733b7997e8b24daf51"; - sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm"; - }; - "8.6" = { - version = "0.6.1"; - rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; - sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9"; - }; - "8.5" = { - version = "0.6"; - sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; - }; -}; -param = params.${coq.coq-version}; -in - -let hasWarning = stdenv.lib.versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; in - -stdenv.mkDerivation { - name = "coq${coq.coq-version}-dpdgraph-${param.version}"; - src = fetchFromGitHub { - owner = "Karmaki"; - repo = "coq-dpdgraph"; - rev = param.rev or "v${param.version}"; - inherit (param) sha256; - }; +{ lib, mkCoqDerivation, autoreconfHook, coq, version ? null }: + +with lib; +let hasWarning = versionAtLeast coq.ocamlPackages.ocaml.version "4.08"; in + +mkCoqDerivation { + pname = "dpdgraph"; + owner = "Karmaki"; + repo = "coq-dpdgraph"; + inherit version; + defaultVersion = switch coq.coq-version [ + { case = "8.13"; out = "0.6.9"; } + { case = "8.12"; out = "0.6.8"; } + { case = "8.11"; out = "0.6.7"; } + { case = "8.10"; out = "0.6.6"; } + { case = "8.9"; out = "0.6.5"; } + { case = "8.8"; out = "0.6.3"; } + { case = "8.7"; out = "0.6.2"; } + { case = "8.6"; out = "0.6.1"; } + { case = "8.5"; out = "0.6"; } + ] null; + + release."0.6.9".sha256 = "11mbydpcgk7y8pqzickbzx0ig7g9k9al71i9yfrcscd2xj8fwj8z"; + release."0.6.8".sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps"; + release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; + release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; + release."0.6.5".sha256 = "1f34z24yg05b1096gqv36jr3vffkcjkf9qncii3pzhhvagxd0w2f"; + release."0.6.3".rev = "0acbd0a594c7e927574d5f212cc73a486b5305d2"; + release."0.6.3".sha256 = "0c95b0bz2kjm6swr5na4gs06lxxywradszxbr5ldh2zx02r3f3rx"; + release."0.6.2".rev = "d76ddde37d918569945774733b7997e8b24daf51"; + release."0.6.2".sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm"; + release."0.6.1".rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; + release."0.6.1".sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9"; + release."0.6".sha256 = "0qvar8gfbrcs9fmvkph5asqz4l5fi63caykx3bsn8zf0xllkwv0n"; + releaseRev = v: "v${v}"; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ coq ] - ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ocamlgraph ]); + mlPlugin = true; + extraBuildInputs = [ coq.ocamlPackages.ocamlgraph ]; # dpd_compute.ml uses deprecated Pervasives.compare # Versions prior to 0.6.5 do not have the WARN_ERR build flag - preConfigure = stdenv.lib.optionalString hasWarning '' + preConfigure = optionalString hasWarning '' substituteInPlace Makefile.in --replace "-warn-error +a " "" ''; - buildFlags = stdenv.lib.optional hasWarning "WARN_ERR="; + buildFlags = optional hasWarning "WARN_ERR="; preInstall = '' mkdir -p $out/bin ''; - installFlags = [ - "COQLIB=$(out)/lib/coq/${coq.coq-version}/" - "BINDIR=$(out)/bin" - ]; + extraInstallFlags = [ "BINDIR=$(out)/bin" ]; meta = { description = "Build dependency graphs between Coq objects"; - license = stdenv.lib.licenses.lgpl21; - homepage = "https://github.com/Karmaki/coq-dpdgraph/"; - maintainers = with stdenv.lib.maintainers; [ vbgl ]; - platforms = coq.meta.platforms; + license = licenses.lgpl21; + maintainers = with maintainers; [ vbgl ]; }; - - passthru = { - compatibleCoqVersions = v: builtins.hasAttr v params; - }; - } |