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)