nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 63 lines 1.3 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 fetchurl, 6 ocaml, 7 findlib, 8}: 9 10let 11 params = 12 if lib.versionAtLeast ocaml.version "4.07" then 13 rec { 14 version = "0.2"; 15 src = fetchFromGitHub { 16 owner = "grain-lang"; 17 repo = "dypgen"; 18 rev = version; 19 hash = "sha256-fKuO/e5YbA2B7XcghWl9pXxwvKw9YlhnmZDZcuKe3cs="; 20 }; 21 } 22 else if lib.versionOlder ocaml.version "4.06" then 23 { 24 version = "20120619-1"; 25 src = fetchurl { 26 url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2"; 27 sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97"; 28 }; 29 } 30 else 31 throw "dypgen is not available for OCaml ${ocaml.version}"; 32in 33 34stdenv.mkDerivation { 35 pname = "ocaml${ocaml.version}-dypgen"; 36 inherit (params) src version; 37 38 nativeBuildInputs = [ 39 ocaml 40 findlib 41 ]; 42 43 strictDeps = true; 44 45 createFindlibDestdir = true; 46 47 buildPhase = '' 48 make 49 ''; 50 51 makeFlags = [ 52 "BINDIR=$(out)/bin" 53 "MANDIR=$(out)/usr/share/man/man1" 54 "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib" 55 ]; 56 57 meta = { 58 homepage = "http://dypgen.free.fr"; 59 description = "Dypgen GLR self extensible parser generator"; 60 license = lib.licenses.cecill-b; 61 inherit (ocaml.meta) platforms; 62 }; 63}