nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 84 lines 3.1 kB view raw
1{ 2 lib, 3 mkCoqDerivation, 4 coq, 5 stdlib, 6 coq-elpi, 7 version ? null, 8}: 9 10let 11 hb = mkCoqDerivation { 12 pname = "hierarchy-builder"; 13 owner = "math-comp"; 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.20" "8.20") "1.9.1") 22 (case (range "8.19" "8.20") "1.8.0") 23 (case (range "8.18" "8.20") "1.7.1") 24 (case (range "8.16" "8.18") "1.6.0") 25 (case (range "8.15" "8.18") "1.5.0") 26 (case (range "8.15" "8.17") "1.4.0") 27 (case (range "8.13" "8.14") "1.2.0") 28 (case (range "8.12" "8.13") "1.1.0") 29 (case (isEq "8.11") "0.10.0") 30 ] null; 31 release."1.9.1".sha256 = "sha256-AiS0ezMyfIYlXnuNsVLz1GlKQZzJX+ilkrKkbo0GrF0="; 32 release."1.8.1".sha256 = "sha256-Z0WAHDyycqgL+Le/zNfEAoLWzFb7WIL+3G3vEBExlb4="; 33 release."1.8.0".sha256 = "sha256-4s/4ZZKj5tiTtSHGIM8Op/Pak4Vp52WVOpd4l9m19fY="; 34 release."1.7.1".sha256 = "sha256-MCmOzMh/SBTFAoPbbIQ7aqd3hMcSMpAKpiZI7dbRaGs="; 35 release."1.7.0".sha256 = "sha256-WqSeuJhmqicJgXw/xGjGvbRzfyOK7rmkVRb6tPDTAZg="; 36 release."1.6.0".sha256 = "sha256-E8s20veOuK96knVQ7rEDSt8VmbtYfPgItD0dTY/mckg="; 37 release."1.5.0".sha256 = "sha256-Lia3o156Pbe8rDHOA1IniGYsG5/qzZkzDKdHecfmS+c="; 38 release."1.4.0".sha256 = "sha256-tOed9UU3kMw6KWHJ5LVLUFEmzHx1ImutXQvZ0ldW9rw="; 39 release."1.3.0".sha256 = "17k7rlxdx43qda6i1yafpgc64na8br285cb0mbxy5wryafcdrkrc"; 40 release."1.2.1".sha256 = "sha256-pQYZJ34YzvdlRSGLwsrYgPdz3p/l5f+KhJjkYT08Mj0="; 41 release."1.2.0".sha256 = "0sk01rvvk652d86aibc8rik2m8iz7jn6mw9hh6xkbxlsvh50719d"; 42 release."1.1.0".sha256 = "sha256-spno5ty4kU4WWiOfzoqbXF8lWlNSlySWcRReR3zE/4Q="; 43 release."1.0.0".sha256 = "0yykygs0z6fby6vkiaiv3azy1i9yx4rqg8xdlgkwnf2284hffzpp"; 44 release."0.10.0".sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h"; 45 releaseRev = v: "v${v}"; 46 47 propagatedBuildInputs = [ coq-elpi ]; 48 49 mlPlugin = true; 50 51 meta = { 52 description = "High level commands to declare a hierarchy based on packed classes"; 53 maintainers = with lib.maintainers; [ 54 cohencyril 55 siraben 56 ]; 57 license = lib.licenses.mit; 58 }; 59 }; 60 hb2 = hb.overrideAttrs ( 61 o: 62 lib.optionalAttrs (lib.versions.isGe "1.2.0" o.version || o.version == "dev") { 63 buildPhase = "make build"; 64 } 65 // ( 66 if lib.versions.isGe "1.1.0" o.version || o.version == "dev" then 67 { installFlags = [ "DESTDIR=$(out)" ] ++ o.installFlags; } 68 else 69 { installFlags = [ "VFILES=structures.v" ] ++ o.installFlags; } 70 ) 71 // lib.optionalAttrs (o.version != null && o.version == "1.8.1") { 72 propagatedBuildInputs = o.propagatedBuildInputs ++ [ stdlib ]; 73 } 74 ); 75in 76# this is just a wrapper for rocqPackages.hierarchy-builder for Rocq >= 9.0 77if coq.rocqPackages ? hierarchy-builder then 78 coq.rocqPackages.hierarchy-builder.override { 79 inherit version; 80 inherit (coq.rocqPackages) rocq-core; 81 rocq-elpi = coq-elpi; 82 } 83else 84 hb2