at 23.05-pre 42 lines 1.0 kB view raw
1{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, camlp4 }: 2 3let 4 pname = "ulex"; 5 param = 6 if lib.versionAtLeast ocaml.version "4.02" then { 7 version = "1.2"; 8 sha256 = "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic"; 9 } else { 10 version = "1.1"; 11 sha256 = "0cmscxcmcxhlshh4jd0lzw5ffzns12x3bj7h27smbc8waxkwffhl"; 12 }; 13in 14 15stdenv.mkDerivation rec { 16 name = "ocaml${ocaml.version}-${pname}-${version}"; 17 inherit (param) version; 18 19 src = fetchFromGitHub { 20 owner = "whitequark"; 21 repo = pname; 22 rev = "v${version}"; 23 inherit (param) sha256; 24 }; 25 26 createFindlibDestdir = true; 27 28 nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; 29 propagatedBuildInputs = [ camlp4 ]; 30 31 strictDeps = true; 32 33 buildFlags = [ "all" "all.opt" ]; 34 35 meta = { 36 inherit (src.meta) homepage; 37 description = "A lexer generator for Unicode and OCaml"; 38 license = lib.licenses.mit; 39 inherit (ocaml.meta) platforms; 40 maintainers = [ lib.maintainers.roconnor ]; 41 }; 42}