Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at flake-libs 80 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 ocaml, 6 findlib, 7 ocamlbuild, 8 buildDunePackage, 9}: 10 11let 12 pname = "cppo"; 13 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 }; 24 25in 26 27if lib.versionAtLeast ocaml.version "4.02" then 28 29 buildDunePackage rec { 30 inherit pname; 31 version = "1.8.0"; 32 33 src = fetchFromGitHub { 34 owner = "ocaml-community"; 35 repo = pname; 36 rev = "v${version}"; 37 hash = "sha256-+HnAGM+GddYJK0RCvKrs+baZS+1o8Yq+/cVa3U3nFWg="; 38 }; 39 40 doCheck = true; 41 42 inherit meta; 43 } 44 45else 46 47 let 48 version = "1.5.0"; 49 in 50 51 stdenv.mkDerivation { 52 53 name = "${pname}-${version}"; 54 55 src = fetchFromGitHub { 56 owner = "mjambon"; 57 repo = pname; 58 rev = "v${version}"; 59 sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8"; 60 }; 61 62 strictDeps = true; 63 64 nativeBuildInputs = [ 65 ocaml 66 findlib 67 ocamlbuild 68 ]; 69 70 inherit meta; 71 72 createFindlibDestdir = true; 73 74 makeFlags = [ "PREFIX=$(out)" ]; 75 76 preBuild = '' 77 mkdir -p $out/bin 78 ''; 79 80 }