1{
2 lib,
3 mkCoqDerivation,
4 which,
5 coq,
6 metacoq,
7 version ? null,
8}:
9
10with lib;
11mkCoqDerivation {
12 pname = "ElmExtraction";
13 repo = "coq-elm-extraction";
14 owner = "AU-COBRA";
15 domain = "github.com";
16
17 inherit version;
18 defaultVersion =
19 let
20 case = coq: mc: out: {
21 cases = [
22 coq
23 mc
24 ];
25 inherit out;
26 };
27 in
28 with versions;
29 switch
30 [
31 coq.coq-version
32 metacoq.version
33 ]
34 [
35 (case (range "8.17" "9.0") (range "1.3.1" "1.3.4") "0.1.1")
36 ]
37 null;
38
39 release."0.1.0".sha256 = "EWjubBHsxAl2HuRAfJI3B9qzP2mj89eh0CUc8y7/7Ds=";
40 release."0.1.1".sha256 = "SDSyXqtOQlW9m9yH8OC909fsC/ePhKkSiY+BoQE76vk=";
41
42 releaseRev = v: "v${v}";
43
44 propagatedBuildInputs = [
45 coq.ocamlPackages.findlib
46 metacoq
47 ];
48
49 postPatch = ''patchShebangs ./tests/process-extraction-examples.sh'';
50
51 meta = {
52 description = "Framework for extracting Coq programs to Elm";
53 maintainers = with maintainers; [ _4ever2 ];
54 license = licenses.mit;
55 };
56}