nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 79 lines 1.3 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 = { 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 = [ lib.maintainers.vbgl ]; 22 license = lib.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 inherit pname version; 53 54 src = fetchFromGitHub { 55 owner = "mjambon"; 56 repo = pname; 57 rev = "v${version}"; 58 sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8"; 59 }; 60 61 strictDeps = true; 62 63 nativeBuildInputs = [ 64 ocaml 65 findlib 66 ocamlbuild 67 ]; 68 69 inherit meta; 70 71 createFindlibDestdir = true; 72 73 makeFlags = [ "PREFIX=$(out)" ]; 74 75 preBuild = '' 76 mkdir -p $out/bin 77 ''; 78 79 }