nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 mkCoqDerivation,
4 coq,
5 stdpp,
6 version ? null,
7}:
8
9let
10 derivation = mkCoqDerivation {
11 pname = "iris";
12 domain = "gitlab.mpi-sws.org";
13 owner = "iris";
14 inherit version;
15 defaultVersion =
16 let
17 case = case: out: { inherit case out; };
18 in
19 with lib.versions;
20 lib.switch coq.coq-version [
21 (case (range "8.19" "9.1") "4.4.0")
22 (case (range "8.18" "8.19") "4.2.0")
23 (case (range "8.16" "8.18") "4.1.0")
24 (case (range "8.13" "8.17") "4.0.0")
25 (case (range "8.12" "8.14") "3.5.0")
26 (case (range "8.11" "8.13") "3.4.0")
27 (case (range "8.9" "8.10") "3.3.0")
28 ] null;
29 release."4.4.0".sha256 = "sha256-zpuaIdH2ScOuZB0Vt1TEHAbsmcT1DyoDsJpftT1M7qw=";
30 release."4.3.0".sha256 = "sha256-3qhjiFI+A3I3fD8rFfJL5Hek77wScfn/FNNbDyGqA1k=";
31 release."4.2.0".sha256 = "sha256-HuiHIe+5letgr1NN1biZZFq0qlWUbFmoVI7Q91+UIfM=";
32 release."4.1.0".sha256 = "sha256-nTZUeZOXiH7HsfGbMKDE7vGrNVCkbMaWxdMWUcTUNlo=";
33 release."4.0.0".sha256 = "sha256-Jc9TmgGvkiDaz9IOoExyeryU1E+Q37GN24NIM397/Gg=";
34 release."3.6.0".sha256 = "sha256:02vbq597fjxd5znzxdb54wfp36412wz2d4yash4q8yddgl1kakmj";
35 release."3.5.0".sha256 = "0hh14m0anfcv65rxm982ps2vp95vk9fwrpv4br8bxd9vz0091d70";
36 release."3.4.0".sha256 = "0vdc2mdqn5jjd6yz028c0c6blzrvpl0c7apx6xas7ll60136slrb";
37 release."3.3.0".sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp";
38 releaseRev = v: "iris-${v}";
39
40 propagatedBuildInputs = [ stdpp ];
41
42 preBuild = ''
43 if [[ -f coq-lint.sh ]]
44 then patchShebangs coq-lint.sh
45 fi
46 '';
47
48 meta = {
49 description = "Coq development of the Iris Project";
50 license = lib.licenses.bsd3;
51 maintainers = [
52 lib.maintainers.vbgl
53 lib.maintainers.ineol
54 ];
55 };
56 };
57in
58# this is just a wrapper for rocqPackages.iris for Rocq >= 9.0
59if coq.rocqPackages ? iris then
60 coq.rocqPackages.iris.override {
61 inherit version stdpp;
62 inherit (coq.rocqPackages) rocq-core;
63 }
64else
65 derivation