croc: 10.1.1 -> 10.1.3 (#364662)
[NixPkgs.git] / pkgs / development / tools / ocaml / cppo / default.nix
blobd695fab420e09d65bacc8aca51702b9cf79b5f4d
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   ocaml,
6   findlib,
7   ocamlbuild,
8   buildDunePackage,
9 }:
11 let
12   pname = "cppo";
14   meta = with lib; {
15     description = "C preprocessor for OCaml";
16     mainProgram = "cppo";
17     longDescription = ''
18       Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.
19     '';
20     homepage = "https://github.com/ocaml-community/${pname}";
21     maintainers = [ maintainers.vbgl ];
22     license = licenses.bsd3;
23   };
27 if lib.versionAtLeast ocaml.version "4.02" then
29   buildDunePackage rec {
30     inherit pname;
31     version = "1.6.9";
33     duneVersion = "3";
35     src = fetchFromGitHub {
36       owner = "ocaml-community";
37       repo = pname;
38       rev = "v${version}";
39       sha256 = "sha256-NdN2QnVRfRq9hEcSAnO2Wha7icDlf2Zg4JQqoEWmErE=";
40     };
42     doCheck = true;
44     inherit meta;
45   }
47 else
49   let
50     version = "1.5.0";
51   in
53   stdenv.mkDerivation {
55     name = "${pname}-${version}";
57     src = fetchFromGitHub {
58       owner = "mjambon";
59       repo = pname;
60       rev = "v${version}";
61       sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8";
62     };
64     strictDeps = true;
66     nativeBuildInputs = [
67       ocaml
68       findlib
69       ocamlbuild
70     ];
72     inherit meta;
74     createFindlibDestdir = true;
76     makeFlags = [ "PREFIX=$(out)" ];
78     preBuild = ''
79       mkdir -p $out/bin
80     '';
82   }