nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 mkCoqDerivation,
4 coq,
5 stdlib,
6 version ? null,
7}:
8
9let
10 derivation = mkCoqDerivation {
11 pname = "stdpp";
12 inherit version;
13 domain = "gitlab.mpi-sws.org";
14 owner = "iris";
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") "1.12.0")
22 (case (range "8.18" "8.19") "1.10.0")
23 (case (range "8.16" "8.18") "1.9.0")
24 (case (range "8.13" "8.17") "1.8.0")
25 (case (range "8.12" "8.14") "1.6.0")
26 (case (range "8.11" "8.13") "1.5.0")
27 (case (range "8.8" "8.10") "1.4.0")
28 ] null;
29 release."1.12.0".sha256 = "sha256-2o8YMkKbXrKHwtfpkdAovxl+2NZZk958GjSSd9wcEIU=";
30 release."1.11.0".sha256 = "sha256-yqnkaA5gUdZBJZ3JnvPYh11vKQRl0BAnior1yGowG7k=";
31 release."1.10.0".sha256 = "sha256-bfynevIKxAltvt76lsqVxBmifFkzEhyX8lRgTKxr21I=";
32 release."1.9.0".sha256 = "sha256-OXeB+XhdyzWMp5Karsz8obp0rTeMKrtG7fu/tmc9aeI=";
33 release."1.8.0".sha256 = "sha256-VkIGBPHevHeHCo/Q759Q7y9WyhSF/4SMht4cOPuAXHU=";
34 release."1.7.0".sha256 = "sha256:0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y";
35 release."1.6.0".sha256 = "1l1w6srzydjg0h3f4krrfgvz455h56shyy2lbcnwdbzjkahibl7v";
36 release."1.5.0".sha256 = "1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf";
37 release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r";
38 releaseRev = v: "coq-stdpp-${v}";
39
40 propagatedBuildInputs = [ stdlib ];
41
42 preBuild = ''
43 if [[ -f coq-lint.sh ]]
44 then patchShebangs coq-lint.sh
45 fi
46 '';
47
48 meta = {
49 description = "Extended “Standard Library” for Coq";
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.stdpp for Rocq >= 9.0
59if coq.rocqPackages ? stdpp then
60 coq.rocqPackages.stdpp.override {
61 inherit version stdlib;
62 inherit (coq.rocqPackages) rocq-core;
63 }
64else
65 derivation