nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 mkCoqDerivation,
4 coq,
5 mathcomp,
6 mathcomp-algebra-tactics,
7 mathcomp-word,
8 ITree,
9 version ? null,
10}:
11
12(mkCoqDerivation {
13 pname = "jasmin";
14 owner = "jasmin-lang";
15
16 inherit version;
17 defaultVersion =
18 let
19 case = coq: mc: out: {
20 cases = [
21 coq
22 mc
23 ];
24 inherit out;
25 };
26 in
27 with lib.versions;
28 lib.switch
29 [ coq.coq-version mathcomp.version ]
30 [
31 (case (range "8.20" "9.1") (range "2.2" "2.4") "2025.06.1")
32 (case (range "8.19" "9.1") (range "2.2" "2.4") "2025.02.1")
33 (case (isEq "8.18") (isEq "2.2") "2024.07.2")
34 ]
35 null;
36 releaseRev = v: "v${v}";
37
38 release."2025.06.1".sha256 = "sha256-wEL1tN0HUa1Eb7FiQOBA6sAkuonrAMdkqq8gu9/CED0=";
39 release."2025.06.0".sha256 = "sha256-XfTg7ofamzMWqmRIU1/MO+S/ieNjvNEhlgIqFrchdAQ=";
40 release."2025.02.1".sha256 = "sha256-8P2GdplB12Q0e0XdL77w3nQL1/6Xl/gQNhGTB0WX/8I=";
41 release."2025.02.0".sha256 = "sha256-Jlf0+VPuYWXdWyKHKHSp7h/HuCCp4VkcrgDAmh7pi5s=";
42 release."2024.07.3".sha256 = "sha256-n/X8d7ILuZ07l24Ij8TxbQzAG7E8kldWFcUI65W4r+c=";
43 release."2024.07.2".sha256 = "sha256-aF8SYY5jRxQ6iEr7t6mRN3BEmIDhJ53PGhuZiJGB+i8=";
44
45 propagatedBuildInputs = [
46 mathcomp-algebra-tactics
47 mathcomp-word
48 ];
49
50 makeFlags = [
51 "-C"
52 "proofs"
53 ];
54
55 meta = {
56 description = "Jasmin language & verified compiler";
57 homepage = "https://github.com/jasmin-lang/jasmin/";
58 license = lib.licenses.mit;
59 maintainers = with lib.maintainers; [
60 proux01
61 vbgl
62 ];
63 };
64}).overrideAttrs
65 (o: {
66 propagatedBuildInputs =
67 o.propagatedBuildInputs
68 ++ lib.optional (o.version == "dev" || lib.versionAtLeast o.version "2025.06") ITree;
69 })