Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 ocaml,
4 fetchFromGitHub,
5 buildDunePackage,
6 algaeff,
7 bwd,
8 qcheck-alcotest,
9}:
10
11let
12 params =
13 if lib.versionAtLeast ocaml.version "5.0" then
14 {
15 version = "5.2.0";
16 hash = "sha256-DJzXjV5Tjf69FKUiRioeHghks72pOOHYd73vqhmecS8=";
17 propagatedBuildInputs = [
18 algaeff
19 bwd
20 ];
21 }
22 else
23 {
24 version = "2.0.0";
25 hash = "sha256:1nhz44cyipy922anzml856532m73nn0g7iwkg79yzhq6yb87109w";
26 };
27in
28
29buildDunePackage rec {
30 pname = "yuujinchou";
31 inherit (params) version;
32
33 minimalOCamlVersion = "4.12";
34
35 src = fetchFromGitHub {
36 owner = "RedPRL";
37 repo = pname;
38 rev = version;
39 inherit (params) hash;
40 };
41
42 propagatedBuildInputs = params.propagatedBuildInputs or [ ];
43
44 doCheck = true;
45 checkInputs = [ qcheck-alcotest ];
46
47 meta = {
48 description = "Name pattern combinators";
49 homepage = "https://github.com/RedPRL/yuujinchou";
50 license = lib.licenses.asl20;
51 maintainers = [ lib.maintainers.vbgl ];
52 };
53}