1{
2 lib,
3 mkRocqDerivation,
4 rocq-core,
5 rocq-elpi,
6 version ? null,
7}:
8
9let
10 hb = mkRocqDerivation {
11 pname = "hierarchy-builder";
12 owner = "math-comp";
13 inherit version;
14 defaultVersion =
15 let
16 case = case: out: { inherit case out; };
17 in
18 with lib.versions;
19 lib.switch rocq-core.rocq-version [
20 (case (range "9.0" "9.1") "1.10.0")
21 (case (range "9.0" "9.1") "1.9.1")
22 ] null;
23 release."1.10.0".sha256 = "sha256-c52nS8I0tia7Q8lZTFJyHVPVabW9xv55m7w6B7y3+e8=";
24 release."1.9.1".sha256 = "sha256-AiS0ezMyfIYlXnuNsVLz1GlKQZzJX+ilkrKkbo0GrF0=";
25 releaseRev = v: "v${v}";
26
27 propagatedBuildInputs = [ rocq-elpi ];
28
29 meta = with lib; {
30 description = "High level commands to declare a hierarchy based on packed classes";
31 maintainers = with maintainers; [
32 cohencyril
33 siraben
34 ];
35 license = licenses.mit;
36 };
37 };
38in
39hb.overrideAttrs (
40 o:
41 lib.optionalAttrs (o.version == "1.9.1") { installFlags = [ "DESTDIR=$(out)" ] ++ o.installFlags; }
42)