diff options
Diffstat (limited to 'pkgs/development')
76 files changed, 1098 insertions, 277 deletions
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix index 2a72387028d2..9c5ce109b86b 100644 --- a/pkgs/development/compilers/mlton/default.nix +++ b/pkgs/development/compilers/mlton/default.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation rec { done substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton + '' + stdenv.lib.optionalString stdenv.cc.isClang '' + sed -i "s_ patch -s -p0 <gdtoa.hide-public-fns.patch_ patch -s -p0 <gdtoa.hide-public-fns.patch\n\tsed -i 's|printf(emptyfmt|printf(\"\"|g' ./gdtoa/arithchk.c_" ./runtime/Makefile ''; preBuild = '' diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix index 1d323ec0cba6..aa6cf68d2c96 100644 --- a/pkgs/development/compilers/ocaml/4.01.0.nix +++ b/pkgs/development/compilers/ocaml/4.01.0.nix @@ -1,82 +1,7 @@ -let - safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); -in - -{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }: - -if useX11 && !(safeX11 stdenv) - then throw "x11 not available in ocaml with arm or mips arch" - else # let the indentation flow - -let - useNativeCompilers = !stdenv.isMips; - inherit (stdenv.lib) optionals optionalString; -in - -stdenv.mkDerivation rec { - - x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; }; - x11lib = x11env + "/lib"; - x11inc = x11env + "/include"; - - name = "ocaml-4.01.0"; - - src = fetchurl { - url = "http://caml.inria.fr/pub/distrib/ocaml-4.01/${name}.tar.bz2"; - sha256 = "b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a"; - }; - +import ./generic.nix rec { + major_version = "4"; + minor_version = "01"; + patch_version = "0"; patches = [ ./fix-clang-build-on-osx.diff ]; - - prefixKey = "-prefix "; - configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib - "-x11include" x11inc ]; - - buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; - buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ]; - installTargets = "install" + optionalString useNativeCompilers " installopt"; - preConfigure = '' - CAT=$(type -tp cat) - sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang - ''; - postBuild = '' - mkdir -p $out/include - ln -sv $out/lib/ocaml/caml $out/include/caml - ''; - - passthru = { - nativeCompilers = useNativeCompilers; - }; - - meta = with stdenv.lib; { - homepage = http://caml.inria.fr/ocaml; - branch = "4.01"; - license = with licenses; [ - qpl /* compiler */ - lgpl2 /* library */ - ]; - description = "Most popular variant of the Caml language"; - - longDescription = - '' - OCaml is the most popular variant of the Caml language. From a - language standpoint, it extends the core Caml language with a - fully-fledged object-oriented layer, as well as a powerful module - system, all connected by a sound, polymorphic type system featuring - type inference. - - The OCaml system is an industrial-strength implementation of this - language, featuring a high-performance native-code compiler (ocamlopt) - for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, - Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) - and an interactive read-eval-print loop (ocaml) for quick development - and portability. The OCaml distribution includes a comprehensive - standard library, a replay debugger (ocamldebug), lexer (ocamllex) and - parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) - and a documentation generator (ocamldoc). - ''; - - platforms = with platforms; linux ++ darwin; - }; - + sha256 = "03d7ida94s1gpr3gadf4jyhmh5rrszd5s4m4z59daaib25rvfyv7"; } diff --git a/pkgs/development/compilers/ocaml/4.02.nix b/pkgs/development/compilers/ocaml/4.02.nix index 91b543151e33..9ac53f567909 100644 --- a/pkgs/development/compilers/ocaml/4.02.nix +++ b/pkgs/development/compilers/ocaml/4.02.nix @@ -1,80 +1,7 @@ -let - safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); -in - -{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }: - -assert useX11 -> !stdenv.isArm && !stdenv.isMips; - -let - useNativeCompilers = !stdenv.isMips; - inherit (stdenv.lib) optionals optionalString; -in - -stdenv.mkDerivation rec { - - x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; }; - x11lib = x11env + "/lib"; - x11inc = x11env + "/include"; - - name = "ocaml-4.02.3"; - - src = fetchurl { - url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz"; - sha256 = "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"; - }; - +import ./generic.nix rec { + major_version = "4"; + minor_version = "02"; + patch_version = "3"; patches = [ ./ocamlbuild.patch ]; - - prefixKey = "-prefix "; - configureFlags = optionals useX11 [ "-x11lib" x11lib - "-x11include" x11inc ]; - - buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; - buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ]; - installTargets = "install" + optionalString useNativeCompilers " installopt"; - preConfigure = '' - CAT=$(type -tp cat) - sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang - ''; - postBuild = '' - mkdir -p $out/include - ln -sv $out/lib/ocaml/caml $out/include/caml - ''; - - passthru = { - nativeCompilers = useNativeCompilers; - }; - - meta = with stdenv.lib; { - homepage = http://caml.inria.fr/ocaml; - branch = "4.02"; - license = with licenses; [ - qpl /* compiler */ - lgpl2 /* library */ - ]; - description = "Most popular variant of the Caml language"; - - longDescription = - '' - OCaml is the most popular variant of the Caml language. From a - language standpoint, it extends the core Caml language with a - fully-fledged object-oriented layer, as well as a powerful module - system, all connected by a sound, polymorphic type system featuring - type inference. - - The OCaml system is an industrial-strength implementation of this - language, featuring a high-performance native-code compiler (ocamlopt) - for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, - Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) - and an interactive read-eval-print loop (ocaml) for quick development - and portability. The OCaml distribution includes a comprehensive - standard library, a replay debugger (ocamldebug), lexer (ocamllex) and - parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) - and a documentation generator (ocamldoc). - ''; - - platforms = with platforms; linux ++ darwin; - }; - + sha256 = "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"; } diff --git a/pkgs/development/compilers/ocaml/4.03.nix b/pkgs/development/compilers/ocaml/4.03.nix new file mode 100644 index 000000000000..c9536c487d05 --- /dev/null +++ b/pkgs/development/compilers/ocaml/4.03.nix @@ -0,0 +1,6 @@ +import ./generic.nix rec { + major_version = "4"; + minor_version = "03"; + patch_version = "0"; + sha256 = "09p3iwwi55r6rbrpyp8f0wmkb0ppcgw67yxw6yfky60524wayp39"; +} diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix new file mode 100644 index 000000000000..f75d6384b905 --- /dev/null +++ b/pkgs/development/compilers/ocaml/generic.nix @@ -0,0 +1,89 @@ +{ minor_version, major_version, patch_version +, url ? null +, sha256, ...}@args: +let + versionNoPatch = "${toString major_version}.${toString minor_version}"; + version = "${versionNoPatch}.${toString patch_version}"; + real_url = if url == null then + "http://caml.inria.fr/pub/distrib/ocaml-${versionNoPatch}/ocaml-${version}.tar.xz" + else url; + safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); +in + +{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }: + +assert useX11 -> !stdenv.isArm && !stdenv.isMips; + +let + useNativeCompilers = !stdenv.isMips; + inherit (stdenv.lib) optionals optionalString; + name = "ocaml-${version}"; +in + +stdenv.mkDerivation (args // rec { + + x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; }; + x11lib = x11env + "/lib"; + x11inc = x11env + "/include"; + + inherit name; + + src = fetchurl { + url = real_url; + inherit sha256; + }; + + prefixKey = "-prefix "; + configureFlags = optionals useX11 [ "-x11lib" x11lib + "-x11include" x11inc ]; + + buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; + buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ]; + installTargets = "install" + optionalString useNativeCompilers " installopt"; + preConfigure = '' + CAT=$(type -tp cat) + sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang + ''; + postBuild = '' + mkdir -p $out/include + ln -sv $out/lib/ocaml/caml $out/include/caml + ''; + + passthru = { + nativeCompilers = useNativeCompilers; + }; + + meta = with stdenv.lib; { + homepage = http://caml.inria.fr/ocaml; + branch = "4.03"; + license = with licenses; [ + qpl /* compiler */ + lgpl2 /* library */ + ]; + description = "Most popular variant of the Caml language"; + + longDescription = + '' + OCaml is the most popular variant of the Caml language. From a + language standpoint, it extends the core Caml language with a + fully-fledged object-oriented layer, as well as a powerful module + system, all connected by a sound, polymorphic type system featuring + type inference. + + The OCaml system is an industrial-strength implementation of this + language, featuring a high-performance native-code compiler (ocamlopt) + for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, + Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) + and an interactive read-eval-print loop (ocaml) for quick development + and portability. The OCaml distribution includes a comprehensive + standard library, a replay debugger (ocamldebug), lexer (ocamllex) and + parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) + and a documentation generator (ocamldoc). + ''; + + platforms = with platforms; linux ++ darwin; + }; + +}) + + diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix index 1cd68221fa70..ddeccb29b59d 100644 --- a/pkgs/development/interpreters/erlang/R19.nix +++ b/pkgs/development/interpreters/erlang/R19.nix @@ -20,7 +20,7 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}" + "${optionalString javacSupport "-javac"}"; - version = "19.0.2"; + version = "19.1"; # Minor OTP releases are not always released as tarbals at # http://erlang.org/download/ So we have to download from @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { owner = "erlang"; repo = "otp"; rev = "OTP-${version}"; - sha256 = "1vsykghhzpgmc42jwj48crl11zzzpvrqvh2lk8lxfqbflzflxm6j"; + sha256 = "0nnjj069d5pjhgcd8vvqbrkjdac3p1v4s3zb59i4h73vg7f5p736"; }; buildInputs = @@ -42,15 +42,6 @@ stdenv.mkDerivation rec { debugInfo = enableDebugInfo; - envAndCpPatch = fetchurl { - url = "https://github.com/binarin/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch"; - sha256 = "10h5348p6g279b4q01i5jdqlljww5chcvrx5b4b0dv79pk0p0m9f"; - }; - - patches = [ - envAndCpPatch - ]; - preConfigure = '' ./otp_build autoconf ''; diff --git a/pkgs/development/ocaml-modules/async/default.nix b/pkgs/development/ocaml-modules/async/default.nix index 2b84519036c7..498315f9cbfd 100644 --- a/pkgs/development/ocaml-modules/async/default.nix +++ b/pkgs/development/ocaml-modules/async/default.nix @@ -1,5 +1,5 @@ -{stdenv, buildOcaml, fetchurl, async_kernel, - async_unix, async_extra, pa_ounit}: +{stdenv, buildOcaml, fetchurl, async_kernel_p4, + async_unix_p4, async_extra_p4, pa_ounit}: buildOcaml rec { name = "async"; @@ -12,7 +12,7 @@ buildOcaml rec { sha256 = "ecc4ca939ab098e689332921b110dbaacd06d9f8d8bf697023dfff3ca37dc1e9"; }; - propagatedBuildInputs = [ async_kernel async_unix async_extra pa_ounit ]; + propagatedBuildInputs = [ async_kernel_p4 async_unix_p4 async_extra_p4 pa_ounit ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async; diff --git a/pkgs/development/ocaml-modules/async_extra/default.nix b/pkgs/development/ocaml-modules/async_extra/default.nix index 2d1e1dea69cc..80addcfc3bb4 100644 --- a/pkgs/development/ocaml-modules/async_extra/default.nix +++ b/pkgs/development/ocaml-modules/async_extra/default.nix @@ -1,6 +1,6 @@ -{stdenv, buildOcaml, fetchurl, async_kernel, async_unix, - bin_prot, core, custom_printf, fieldslib, herelib, pa_ounit, - pipebang, pa_test, sexplib}: +{stdenv, buildOcaml, fetchurl, async_kernel_p4, async_unix_p4, + bin_prot_p4, core_p4, custom_printf, fieldslib_p4, herelib, pa_ounit, + pipebang, pa_test, sexplib_p4}: buildOcaml rec { name = "async_extra"; @@ -14,8 +14,8 @@ buildOcaml rec { }; buildInputs = [ pa_test pa_ounit ]; - propagatedBuildInputs = [ async_kernel async_unix core bin_prot custom_printf - fieldslib herelib pipebang sexplib ]; + propagatedBuildInputs = [ async_kernel_p4 async_unix_p4 core_p4 bin_prot_p4 custom_printf + fieldslib_p4 herelib pipebang sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_extra; diff --git a/pkgs/development/ocaml-modules/async_find/default.nix b/pkgs/development/ocaml-modules/async_find/default.nix index ae10e931ce25..d0e89940433c 100644 --- a/pkgs/development/ocaml-modules/async_find/default.nix +++ b/pkgs/development/ocaml-modules/async_find/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, async, core, sexplib}: +{stdenv, buildOcaml, fetchurl, async_p4, core_p4, sexplib_p4}: buildOcaml rec { name = "async_find"; @@ -11,7 +11,7 @@ buildOcaml rec { sha256 = "4e3fda72f50174f05d96a5a09323f236c041b1a685890c155822956f3deb8803"; }; - propagatedBuildInputs = [ async core sexplib ]; + propagatedBuildInputs = [ async_p4 core_p4 sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_find; diff --git a/pkgs/development/ocaml-modules/async_kernel/default.nix b/pkgs/development/ocaml-modules/async_kernel/default.nix index 8c0d8d7c851e..43fde1631ac7 100644 --- a/pkgs/development/ocaml-modules/async_kernel/default.nix +++ b/pkgs/development/ocaml-modules/async_kernel/default.nix @@ -1,6 +1,6 @@ -{stdenv, buildOcaml, fetchurl, core_kernel, - bin_prot, fieldslib, pa_ounit, pa_test, - sexplib, herelib}: +{stdenv, buildOcaml, fetchurl, core_kernel_p4, + bin_prot_p4, fieldslib_p4, pa_ounit, pa_test, + sexplib_p4, herelib}: buildOcaml rec { name = "async_kernel"; @@ -14,7 +14,7 @@ buildOcaml rec { }; buildInputs = [ pa_test pa_ounit ]; - propagatedBuildInputs = [ core_kernel bin_prot fieldslib herelib sexplib ]; + propagatedBuildInputs = [ core_kernel_p4 bin_prot_p4 fieldslib_p4 herelib sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_kernel; diff --git a/pkgs/development/ocaml-modules/async_shell/default.nix b/pkgs/development/ocaml-modules/async_shell/default.nix index 75755833a5f5..6b1e772bc7d1 100644 --- a/pkgs/development/ocaml-modules/async_shell/default.nix +++ b/pkgs/development/ocaml-modules/async_shell/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, async, core, core_extended}: +{stdenv, buildOcaml, fetchurl, async_p4, core_p4, core_extended_p4}: buildOcaml rec { name = "async_shell"; @@ -11,7 +11,7 @@ buildOcaml rec { sha256 = "0b4497bea9124c5a665ee58fb0a73c5cbf2f757479df902e6870627196e6c105"; }; - propagatedBuildInputs = [ async core core_extended ]; + propagatedBuildInputs = [ async_p4 core_p4 core_extended_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_shell; diff --git a/pkgs/development/ocaml-modules/async_ssl/default.nix b/pkgs/development/ocaml-modules/async_ssl/default.nix index 527d56ceaa01..2bace35aa8b6 100644 --- a/pkgs/development/ocaml-modules/async_ssl/default.nix +++ b/pkgs/development/ocaml-modules/async_ssl/default.nix @@ -1,5 +1,5 @@ -{stdenv, buildOcaml, fetchurl, async, comparelib, core, ctypes, openssl, - fieldslib, herelib, pa_bench, pa_ounit, pipebang, pa_test, sexplib}: +{stdenv, buildOcaml, fetchurl, async_p4, comparelib, core_p4, ctypes, openssl, + fieldslib_p4, herelib, pa_bench, pa_ounit, pipebang, pa_test, sexplib_p4}: buildOcaml rec { name = "async_ssl"; @@ -13,8 +13,8 @@ buildOcaml rec { }; buildInputs = [ pa_bench pa_test ]; - propagatedBuildInputs = [ ctypes async comparelib core fieldslib pa_ounit - herelib pipebang sexplib openssl ]; + propagatedBuildInputs = [ ctypes async_p4 comparelib core_p4 fieldslib_p4 pa_ounit + herelib pipebang sexplib_p4 openssl ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_ssl; diff --git a/pkgs/development/ocaml-modules/async_unix/default.nix b/pkgs/development/ocaml-modules/async_unix/default.nix index 81fbd6a99182..6119bcac876a 100644 --- a/pkgs/development/ocaml-modules/async_unix/default.nix +++ b/pkgs/development/ocaml-modules/async_unix/default.nix @@ -1,6 +1,6 @@ -{stdenv, buildOcaml, fetchurl, async_kernel, - bin_prot, comparelib, core, fieldslib, herelib, pa_ounit, - pipebang, pa_test, sexplib}: +{stdenv, buildOcaml, fetchurl, async_kernel_p4, + bin_prot_p4, comparelib, core_p4, fieldslib_p4, herelib, pa_ounit, + pipebang, pa_test, sexplib_p4}: buildOcaml rec { name = "async_unix"; @@ -15,8 +15,8 @@ buildOcaml rec { hasSharedObjects = true; buildInputs = [ pa_ounit ]; - propagatedBuildInputs = [ async_kernel core bin_prot comparelib - fieldslib herelib pipebang pa_test sexplib ]; + propagatedBuildInputs = [ async_kernel_p4 core_p4 bin_prot_p4 comparelib + fieldslib_p4 herelib pipebang pa_test sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/async_unix; diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix index 9a30a5e4615e..dcf3c8c13d79 100644 --- a/pkgs/development/ocaml-modules/cohttp/default.nix +++ b/pkgs/development/ocaml-modules/cohttp/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, cmdliner, re, uri, fieldslib, sexplib, conduit, +{stdenv, buildOcaml, fetchurl, cmdliner, re, uri, fieldslib_p4, sexplib_p4, conduit, stringext, base64, magic-mime, ounit, alcotest, lwt ? null, async ? null, async_ssl ? null}: @@ -14,7 +14,7 @@ buildOcaml rec { }; buildInputs = [ alcotest ]; - propagatedBuildInputs = [ cmdliner re uri fieldslib sexplib sexplib + propagatedBuildInputs = [ cmdliner re uri fieldslib_p4 sexplib_p4 sexplib_p4 conduit stringext base64 magic-mime ounit async async_ssl lwt ]; diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix index dbb83f4c8cf0..26accd99db67 100644 --- a/pkgs/development/ocaml-modules/conduit/default.nix +++ b/pkgs/development/ocaml-modules/conduit/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, sexplib, stringext, uri, cstruct, ipaddr, +{stdenv, buildOcaml, fetchurl, sexplib_p4, stringext, uri, cstruct, ipaddr, async ? null, async_ssl ? null, lwt ? null}: buildOcaml rec { @@ -10,7 +10,7 @@ buildOcaml rec { sha256 = "5cf1a46aa0254345e5143feebe6b54bdef96314e9987f44e69f24618d620faa1"; }; - propagatedBuildInputs = ([ sexplib stringext uri cstruct ipaddr ] + propagatedBuildInputs = ([ sexplib_p4 stringext uri cstruct ipaddr ] ++ stdenv.lib.optional (lwt != null) lwt ++ stdenv.lib.optional (async != null) async ++ stdenv.lib.optional (async_ssl != null) async_ssl); diff --git a/pkgs/development/ocaml-modules/core/default.nix b/pkgs/development/ocaml-modules/core/default.nix index 96fd80087d66..4da4d16df7dd 100644 --- a/pkgs/development/ocaml-modules/core/default.nix +++ b/pkgs/development/ocaml-modules/core/default.nix @@ -1,7 +1,7 @@ {stdenv, buildOcaml, fetchurl, type_conv, - core_kernel, bin_prot, comparelib, custom_printf, enumerate, - fieldslib, herelib, pa_bench, pa_test, pa_ounit, - pipebang, sexplib, typerep, variantslib}: + core_kernel_p4, bin_prot_p4, comparelib, custom_printf, enumerate, + fieldslib_p4, herelib, pa_bench, pa_test, pa_ounit, + pipebang, sexplib_p4, typerep_p4, variantslib_p4}: buildOcaml rec { name = "core"; @@ -17,9 +17,9 @@ buildOcaml rec { hasSharedObjects = true; buildInputs = [ pa_bench pa_test pa_ounit ]; - propagatedBuildInputs = [ type_conv core_kernel bin_prot comparelib - custom_printf enumerate fieldslib herelib - pipebang sexplib typerep variantslib ]; + propagatedBuildInputs = [ type_conv core_kernel_p4 bin_prot_p4 comparelib + custom_printf enumerate fieldslib_p4 herelib + pipebang sexplib_p4 typerep_p4 variantslib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/core; diff --git a/pkgs/development/ocaml-modules/core_extended/default.nix b/pkgs/development/ocaml-modules/core_extended/default.nix index f311aae3d304..fef4fd81158f 100644 --- a/pkgs/development/ocaml-modules/core_extended/default.nix +++ b/pkgs/development/ocaml-modules/core_extended/default.nix @@ -1,5 +1,5 @@ -{stdenv, buildOcaml, fetchurl, bin_prot, comparelib, core, custom_printf, - fieldslib, pa_bench, pa_ounit, pipebang, pa_test, textutils, re2, sexplib}: +{stdenv, buildOcaml, fetchurl, bin_prot_p4, comparelib, core_p4, custom_printf, + fieldslib_p4, pa_bench, pa_ounit, pipebang, pa_test, textutils_p4, re2_p4, sexplib_p4}: buildOcaml rec { name = "core_extended"; @@ -14,8 +14,8 @@ buildOcaml rec { hasSharedObjects = true; buildInputs = [ pa_bench pa_test pa_ounit ]; - propagatedBuildInputs = [bin_prot comparelib core custom_printf fieldslib - pipebang textutils re2 sexplib ]; + propagatedBuildInputs = [bin_prot_p4 comparelib core_p4 custom_printf fieldslib_p4 + pipebang textutils_p4 re2_p4 sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/core_extended; diff --git a/pkgs/development/ocaml-modules/core_kernel/default.nix b/pkgs/development/ocaml-modules/core_kernel/default.nix index 0fed12b195d6..75b248a6a5e6 100644 --- a/pkgs/development/ocaml-modules/core_kernel/default.nix +++ b/pkgs/development/ocaml-modules/core_kernel/default.nix @@ -1,7 +1,7 @@ {stdenv, buildOcaml, fetchurl, type_conv, - bin_prot, comparelib, custom_printf, enumerate, - fieldslib, herelib, pa_bench, pa_test, pa_ounit, - pipebang, sexplib, typerep, variantslib}: + bin_prot_p4, comparelib, custom_printf, enumerate, + fieldslib_p4, herelib, pa_bench, pa_test, pa_ounit, + pipebang, sexplib_p4, typerep_p4, variantslib_p4}: buildOcaml rec { name = "core_kernel"; @@ -17,9 +17,9 @@ buildOcaml rec { hasSharedObjects = true; buildInputs = [ pa_test pa_ounit ]; - propagatedBuildInputs = [ type_conv pa_bench bin_prot comparelib custom_printf - enumerate fieldslib herelib pipebang sexplib - typerep variantslib ]; + propagatedBuildInputs = [ type_conv pa_bench bin_prot_p4 comparelib custom_printf + enumerate fieldslib_p4 herelib pipebang sexplib_p4 + typerep_p4 variantslib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/core_kernel; diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix index 57a057e0eaa9..c9f04918d172 100644 --- a/pkgs/development/ocaml-modules/cstruct/default.nix +++ b/pkgs/development/ocaml-modules/cstruct/default.nix @@ -1,5 +1,5 @@ -{stdenv, writeText, fetchurl, ocaml, ocplib-endian, sexplib, findlib, - async ? null, lwt ? null, camlp4}: +{stdenv, writeText, fetchurl, ocaml, ocplib-endian, sexplib_p4, findlib, + async_p4 ? null, lwt ? null, camlp4}: assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.01"; @@ -12,9 +12,9 @@ stdenv.mkDerivation { }; configureFlags = stdenv.lib.strings.concatStringsSep " " ((if lwt != null then ["--enable-lwt"] else []) ++ - (if async != null then ["--enable-async"] else [])); + (if async_p4 != null then ["--enable-async"] else [])); buildInputs = [ocaml findlib camlp4]; - propagatedBuildInputs = [ocplib-endian sexplib lwt async]; + propagatedBuildInputs = [ocplib-endian sexplib_p4 lwt async_p4]; createFindlibDestdir = true; dontStrip = true; diff --git a/pkgs/development/ocaml-modules/custom_printf/default.nix b/pkgs/development/ocaml-modules/custom_printf/default.nix index 05a8ecfe616b..16c31fc3861a 100644 --- a/pkgs/development/ocaml-modules/custom_printf/default.nix +++ b/pkgs/development/ocaml-modules/custom_printf/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, type_conv, sexplib, pa_ounit}: +{stdenv, buildOcaml, fetchurl, type_conv, sexplib_p4, pa_ounit}: buildOcaml rec { name = "custom_printf"; @@ -12,7 +12,7 @@ buildOcaml rec { }; buildInputs = [ pa_ounit ]; - propagatedBuildInputs = [ type_conv sexplib ]; + propagatedBuildInputs = [ type_conv sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/custom_printf; diff --git a/pkgs/development/ocaml-modules/ezjsonm/default.nix b/pkgs/development/ocaml-modules/ezjsonm/default.nix index fd8ce1c33898..4d63b0c3f95f 100644 --- a/pkgs/development/ocaml-modules/ezjsonm/default.nix +++ b/pkgs/development/ocaml-modules/ezjsonm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, ocaml, findlib, jsonm, hex, sexplib, lwt }: +{ stdenv, fetchzip, ocaml, findlib, jsonm, hex, sexplib_p4, lwt }: let version = "0.4.1"; in @@ -11,7 +11,7 @@ stdenv.mkDerivation { }; buildInputs = [ ocaml findlib ]; - propagatedBuildInputs = [ jsonm hex sexplib lwt ]; + propagatedBuildInputs = [ jsonm hex sexplib_p4 lwt ]; createFindlibDestdir = true; configureFlags = "--enable-lwt"; diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix index 749b6a1d94e3..cdc273d6ecfd 100644 --- a/pkgs/development/ocaml-modules/ipaddr/default.nix +++ b/pkgs/development/ocaml-modules/ipaddr/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, sexplib}: +{stdenv, buildOcaml, fetchurl, sexplib_p4}: buildOcaml rec { name = "ipaddr"; @@ -9,7 +9,7 @@ buildOcaml rec { sha256 = "7051013d8f58abff433187d70cd7ddd7a6b49a6fbe6cad1893f571f65b8ed3d0"; }; - propagatedBuildInputs = [ sexplib ]; + propagatedBuildInputs = [ sexplib_p4 ]; configurePhase = '' ocaml setup.ml -configure --prefix $out diff --git a/pkgs/development/ocaml-modules/janestreet/async-extra.nix b/pkgs/development/ocaml-modules/janestreet/async-extra.nix new file mode 100644 index 000000000000..4a283cc9910b --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/async-extra.nix @@ -0,0 +1,17 @@ +{stdenv, buildOcamlJane, fetchurl, async_kernel, async_unix, + bin_prot, core, ppx_custom_printf, fieldslib, herelib, + pipebang, sexplib, async_rpc_kernel}: + +buildOcamlJane rec { + name = "async_extra"; + hash = "1xdwab19fycr4cdm3dh9vmx42f8lvf9s4f9pjgdydxfrm7yzyrfh"; + propagatedBuildInputs = [ async_kernel async_unix core bin_prot ppx_custom_printf + fieldslib herelib pipebang sexplib async_rpc_kernel ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/async_extra; + description = "Jane Street Capital's asynchronous execution library (extra)"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/async-kernel.nix b/pkgs/development/ocaml-modules/janestreet/async-kernel.nix new file mode 100644 index 000000000000..4d7213a8603e --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/async-kernel.nix @@ -0,0 +1,16 @@ +{stdenv, buildOcamlJane, fetchurl, core_kernel, + bin_prot, fieldslib, + sexplib, herelib, opam, js_build_tools, ocaml_oasis}: + +buildOcamlJane rec { + name = "async_kernel"; + hash = "1n6ifbrq6q6hq8bxh6b9vhg11mv9r6jgp1b7vfw7mh5s2nrd4b60"; + propagatedBuildInputs = [ core_kernel bin_prot fieldslib herelib sexplib ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/async_kernel; + description = "Jane Street Capital's asynchronous execution library (core) "; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/async-rpc-kernel.nix b/pkgs/development/ocaml-modules/janestreet/async-rpc-kernel.nix new file mode 100644 index 000000000000..1f5ff6b9646f --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/async-rpc-kernel.nix @@ -0,0 +1,18 @@ +{stdenv, buildOcamlJane, async_kernel, bin_prot, core_kernel, + fieldslib, ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, + ppx_jane, sexplib, typerep, variantslib}: + +buildOcamlJane rec { + name = "async_rpc_kernel"; + hash = "0pvys7giqix1nfidw1f4i3r94cf03ba1mvhadpm2zpdir3av91sw"; + propagatedBuildInputs = [ async_kernel bin_prot core_kernel fieldslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane + sexplib typerep variantslib ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/async_rpc_kernel; + description = "Platform-independent core of Async RPC library"; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/async-unix.nix b/pkgs/development/ocaml-modules/janestreet/async-unix.nix new file mode 100644 index 000000000000..5621d2ec704b --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/async-unix.nix @@ -0,0 +1,17 @@ +{stdenv, buildOcamlJane, fetchurl, async_kernel, + bin_prot, comparelib, core, fieldslib, herelib, + pipebang, sexplib}: + +buildOcamlJane rec { + name = "async_unix"; + hash = "03ng7f0s22wwzspakiqj442vs1a7yf834109jcj9r3g1awwfhcy7"; + propagatedBuildInputs = [ async_kernel core bin_prot comparelib + fieldslib herelib pipebang sexplib ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/async_unix; + description = "Jane Street Capital's asynchronous execution library (unix)"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/async.nix b/pkgs/development/ocaml-modules/janestreet/async.nix new file mode 100644 index 000000000000..2e776e273be1 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/async.nix @@ -0,0 +1,16 @@ +{stdenv, buildOcamlJane, fetchurl, async_kernel, + async_unix, async_extra}: + +buildOcamlJane rec { + name = "async"; + version = "113.33.03"; + hash = "0wyspkp8k833fh03r3h016nbfn6kjfhvb2bg42cly6agcak59fmr"; + propagatedBuildInputs = [ async_kernel async_unix async_extra ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/async; + description = "Jane Street Capital's asynchronous execution library"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/bin_prot.nix b/pkgs/development/ocaml-modules/janestreet/bin_prot.nix new file mode 100644 index 000000000000..11e6189e6c1e --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/bin_prot.nix @@ -0,0 +1,17 @@ +{stdenv, buildOcamlJane, type_conv}: + +buildOcamlJane rec { + name = "bin_prot"; + version = "113.33.03"; + minimumSupportedOcamlVersion = "4.02"; + hash = "0jlarpfby755j0kikz6vnl1l6q0ga09b9zrlw6i84r22zchnqdsh"; + + propagatedBuildInputs = [ type_conv ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/bin_prot; + description = "Binary protocol generator "; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix new file mode 100644 index 000000000000..61b2038bfd29 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix @@ -0,0 +1,35 @@ +{ buildOcaml, opam, js_build_tools, ocaml_oasis, fetchurl } : + +{ name, version ? "113.33.03", buildInputs ? [], + hash ? "", + minimumSupportedOcamlVersion ? "4.02", ... +}@args: + +buildOcaml (args // { + inherit name version minimumSupportedOcamlVersion; + src = fetchurl { + url = "https://github.com/janestreet/${name}/archive/${version}.tar.gz"; + sha256 = hash; + }; + + hasSharedObjects = true; + + buildInputs = [ ocaml_oasis js_build_tools opam ] ++ buildInputs; + + dontAddPrefix = true; + + configurePhase = "./configure --prefix $out"; + + buildPhase = "OCAML_TOPLEVEL_PATH=`ocamlfind query findlib`/.. make"; + + installPhase = '' + opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` --stubsdir `ocamlfind printconf destdir`/${name} ${name}.install + if [ -d $out/lib/${name} ] + then if [ "$(ls -A $out/lib/${name})" ] + then mv $out/lib/${name}/* `ocamlfind printconf destdir`/${name} + fi + rmdir $out/lib/${name} + fi + ''; + +}) diff --git a/pkgs/development/ocaml-modules/janestreet/core-extended.nix b/pkgs/development/ocaml-modules/janestreet/core-extended.nix new file mode 100644 index 000000000000..df7f6903cd24 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/core-extended.nix @@ -0,0 +1,22 @@ +{stdenv, buildOcamlJane, fetchurl, + core, + bin_prot, fieldslib, sexplib, typerep, variantslib, + ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, ppx_jane, + re2, textutils, + ocaml_oasis, opam, js_build_tools}: + +buildOcamlJane rec { + name = "core_extended"; + hash = "1j4ipcn741j8w3h4gpv5sygjzg6b5g6gc2jcrr4n0jyn5dq8b0p5"; + propagatedBuildInputs = + [ core bin_prot fieldslib sexplib typerep variantslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane + re2 textutils ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/core_extended; + description = "Jane Street Capital's standard library overlay"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/core.nix b/pkgs/development/ocaml-modules/janestreet/core.nix new file mode 100644 index 000000000000..05ea4d5d566b --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/core.nix @@ -0,0 +1,20 @@ +{stdenv, buildOcamlJane, fetchurl, + core_kernel, + bin_prot, fieldslib, sexplib, typerep, variantslib, + ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, ppx_jane, + ocaml_oasis, opam, js_build_tools}: + +buildOcamlJane rec { + name = "core"; + hash = "0nz6d5glgymbpchvcpw77yis9jgi2bll32knzy9vx99wn83zdrmd"; + propagatedBuildInputs = + [ core_kernel bin_prot fieldslib sexplib typerep variantslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/core; + description = "Jane Street Capital's standard library overlay"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/core_kernel.nix b/pkgs/development/ocaml-modules/janestreet/core_kernel.nix new file mode 100644 index 000000000000..93fcdde5bb38 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/core_kernel.nix @@ -0,0 +1,19 @@ +{stdenv, buildOcamlJane, fetchurl, + bin_prot, fieldslib, sexplib, typerep, variantslib, + ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, ppx_jane, + ocaml_oasis, opam, js_build_tools}: + +buildOcamlJane rec { + name = "core_kernel"; + hash = "13gamj056nlib04l7yh80lqpdx0pnswzlb52fkqa01awwp5nf3z6"; + propagatedBuildInputs = + [ bin_prot fieldslib sexplib typerep variantslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/core_kernel; + description = "Jane Street Capital's standard library overlay (kernel)"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/fieldslib.nix b/pkgs/development/ocaml-modules/janestreet/fieldslib.nix new file mode 100644 index 000000000000..8823a0c8054d --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/fieldslib.nix @@ -0,0 +1,19 @@ +{ stdenv, type_conv, buildOcamlJane }: + +buildOcamlJane rec { + name = "fieldslib"; + version = "113.33.03"; + + minimumSupportedOcamlVersion = "4.02"; + + hash = "0mkbix32f8sq32q81hb10z2q31bw5f431jxv0jafbdrif0vr6xqd"; + + propagatedBuildInputs = [ type_conv ]; + + meta = with stdenv.lib; { + homepage = https://ocaml.janestreet.com/; + description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/js-build-tools-darwin.patch b/pkgs/development/ocaml-modules/janestreet/js-build-tools-darwin.patch new file mode 100644 index 000000000000..8878b4be68b8 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/js-build-tools-darwin.patch @@ -0,0 +1,11 @@ +--- a/ocamlbuild_goodies/jane_street_ocamlbuild_goodies.ml ++++ b/ocamlbuild_goodies/jane_street_ocamlbuild_goodies.ml +@@ -65,7 +65,7 @@ let track_external_deps = function + + let stat, md5sum = + match run_and_read "uname" |> String.trim with +- | "Darwin" -> ++ | "FreeBSD" | "NetBSD" -> + (S [A "stat"; A "-f"; A "%d:%i:%m"], + A "md5") + | _ -> diff --git a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix new file mode 100644 index 000000000000..bf697eda8007 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix @@ -0,0 +1,29 @@ +{stdenv, buildOcaml, fetchurl, ocaml_oasis, opam}: + +buildOcaml rec { + name = "js-build-tools"; + version = "113.33.06"; + + minimumSupportedOcamlVersion = "4.02"; + + src = fetchurl { + url = "https://github.com/janestreet/${name}/archive/${version}.tar.gz"; + sha256 = "1nvgyp4gsnlnpix3li6kr90b12iin5ihichv298p03i6h2809dia"; + }; + + hasSharedObjects = true; + + buildInputs = [ ocaml_oasis opam ]; + + dontAddPrefix = true; + configurePhase = "./configure --prefix $prefix"; + installPhase = "opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` ${name}.install"; + + patches = [ ./js-build-tools-darwin.patch ]; + + meta = with stdenv.lib; { + description = "Jane Street Build Tools"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-assert.nix b/pkgs/development/ocaml-modules/janestreet/ppx-assert.nix new file mode 100644 index 000000000000..b61874d3a7ea --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-assert.nix @@ -0,0 +1,16 @@ +{stdenv, buildOcamlJane, + ppx_compare, ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools, ppx_type_conv, sexplib}: + +buildOcamlJane rec { + name = "ppx_assert"; + hash = "0n7fa1j79ykbkhp8xz0ksg5096asri5d0msshsaqhw5fz18chvz4"; + propagatedBuildInputs = + [ ppx_compare ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools + ppx_type_conv sexplib ]; + + meta = with stdenv.lib; { + description = "Assert-like extension nodes that raise useful errors on failure"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-bench.nix b/pkgs/development/ocaml-modules/janestreet/ppx-bench.nix new file mode 100644 index 000000000000..56a124c5b691 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-bench.nix @@ -0,0 +1,18 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_inline_test, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_bench"; + minimumSupportedOcamlVersion = "4.02"; + hash = "1l5jlwy1d1fqz70wa2fkf7izngp6nx3g4s9bmnd6ca4dx1x5bksk"; + + hasSharedObjects = true; + + propagatedBuildInputs = [ ppx_core ppx_driver ppx_inline_test ppx_tools ]; + + meta = with stdenv.lib; { + description = "Syntax extension for writing in-line benchmarks in ocaml code"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-bin-prot.nix b/pkgs/development/ocaml-modules/janestreet/ppx-bin-prot.nix new file mode 100644 index 000000000000..9dffbed69600 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-bin-prot.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv, bin_prot}: + +buildOcamlJane rec { + name = "ppx_bin_prot"; + hash = "0kwmrrrybdkmphqczsr3lg3imsxcjb8iy41syvn44s3kcjfyyzbz"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv bin_prot ]; + + meta = with stdenv.lib; { + description = "Generation of bin_prot readers and writers from types"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-compare.nix b/pkgs/development/ocaml-modules/janestreet/ppx-compare.nix new file mode 100644 index 000000000000..d70fe6ddd550 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-compare.nix @@ -0,0 +1,15 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_tools, ppx_type_conv}: + +buildOcamlJane rec { + name = "ppx_compare"; + hash = "05cnwxfxm8201lpfmcqkcqfy6plh5c2151jbj4qsnxhlvvjli459"; + propagatedBuildInputs = + [ppx_core ppx_driver ppx_tools ppx_type_conv ]; + + meta = with stdenv.lib; { + description = "Generation of fast comparison functions from type expressions and definitions"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-core.nix b/pkgs/development/ocaml-modules/janestreet/ppx-core.nix new file mode 100644 index 000000000000..4f5bb87b7675 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-core.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_core"; + hash = "0df7vyai488lfkyh8szw2hvn22jsyrkfvq1b91j1s0g0y27nnfax"; + propagatedBuildInputs = + [ ppx_tools ]; + + meta = with stdenv.lib; { + description = "PPX standard library"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-custom-printf.nix b/pkgs/development/ocaml-modules/janestreet/ppx-custom-printf.nix new file mode 100644 index 000000000000..3fe78e3e7e2e --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-custom-printf.nix @@ -0,0 +1,15 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_sexp_conv, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_custom_printf"; + hash = "06y85m6ky376byja4w7gdwd339di5ag0xrf0czkylzjsnylhdr85"; + + propagatedBuildInputs = [ ppx_core ppx_driver ppx_sexp_conv ppx_tools ]; + + meta = with stdenv.lib; { + description = "Extensions to printf-style format-strings for user-defined string conversion"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-driver.nix b/pkgs/development/ocaml-modules/janestreet/ppx-driver.nix new file mode 100644 index 000000000000..7844756c7bfb --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-driver.nix @@ -0,0 +1,15 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_optcomp}: + +buildOcamlJane rec { + name = "ppx_driver"; + hash = "19cpfdn1n36vl5l9d6h7c61ffn0wmiipprn5by0354i5aywj8gpn"; + propagatedBuildInputs = + [ ppx_core ppx_optcomp ]; + + meta = with stdenv.lib; { + description = "A driver is an executable created from a set of OCaml AST transformers linked together with a command line frontend"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-enumerate.nix b/pkgs/development/ocaml-modules/janestreet/ppx-enumerate.nix new file mode 100644 index 000000000000..8dbf34ed2329 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-enumerate.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv}: + +buildOcamlJane rec { + name = "ppx_enumerate"; + hash = "0m11921q2pjzkwckf21fynd2qfy83n9jjsgks23yagdai8a7ym16"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv ]; + + meta = with stdenv.lib; { + description = "Generate a list containing all values of a finite type"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-expect.nix b/pkgs/development/ocaml-modules/janestreet/ppx-expect.nix new file mode 100644 index 000000000000..7e688a1dc1c8 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-expect.nix @@ -0,0 +1,19 @@ +{stdenv, buildOcamlJane, + ppx_assert, ppx_compare, ppx_core, ppx_custom_printf, ppx_driver, + ppx_fields_conv, ppx_here, ppx_inline_test, ppx_sexp_conv, ppx_tools, + ppx_variants_conv, re, sexplib, variantslib, fieldslib}: + +buildOcamlJane rec { + name = "ppx_expect"; + hash = "0cwagb4cj3x1vsr19kyfa9pxlvaz9a5v863cahi5glinsh4mzgdx"; + propagatedBuildInputs = + [ ppx_assert ppx_compare ppx_core ppx_custom_printf ppx_driver + ppx_fields_conv ppx_here ppx_inline_test ppx_sexp_conv ppx_tools + ppx_variants_conv re sexplib variantslib fieldslib ]; + + meta = with stdenv.lib; { + description = "Cram-like framework for OCaml"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-fail.nix b/pkgs/development/ocaml-modules/janestreet/ppx-fail.nix new file mode 100644 index 000000000000..187d5db19995 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-fail.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_here, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_fail"; + hash = "1ms5axpc0zg469zj4799nz3wwxi6rmmyvqj52dy03crmpj71s18l"; + propagatedBuildInputs = [ ppx_core ppx_driver ppx_here ppx_tools ]; + + meta = with stdenv.lib; { + description = "Syntax extension that makes failwith include a position"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-fields-conv.nix b/pkgs/development/ocaml-modules/janestreet/ppx-fields-conv.nix new file mode 100644 index 000000000000..a05cf149b268 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-fields-conv.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv}: + +buildOcamlJane rec { + name = "ppx_fields_conv"; + hash = "11w9wfjgkv7yxv3rwlwi6m193zan6rhmi45q7n3ddi2s8ls3gra7"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv ]; + + meta = with stdenv.lib; { + description = "Generation of accessor and iteration functions for ocaml records"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-here.nix b/pkgs/development/ocaml-modules/janestreet/ppx-here.nix new file mode 100644 index 000000000000..3aa157a68c5b --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-here.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver}: + +buildOcamlJane rec { + name = "ppx_here"; + hash = "1mzdgn8k171zkwmbizf1a48l525ny0w3363c7gknpnifcinxniiw"; + propagatedBuildInputs = [ ppx_core ppx_driver ]; + + meta = with stdenv.lib; { + description = "A ppx rewriter that defines an extension node whose value is its source position"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-inline-test.nix b/pkgs/development/ocaml-modules/janestreet/ppx-inline-test.nix new file mode 100644 index 000000000000..cd16d7c32864 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-inline-test.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_inline_test"; + hash = "0ygapa54i0wwcj3jcqwiimrc6z0b7aafgjhbk37h6vvclnm5n7f6"; + propagatedBuildInputs = [ ppx_core ppx_driver ppx_tools ]; + + meta = with stdenv.lib; { + description = "Syntax extension for writing in-line tests in ocaml code"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-jane.nix b/pkgs/development/ocaml-modules/janestreet/ppx-jane.nix new file mode 100644 index 000000000000..86394f228e9d --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-jane.nix @@ -0,0 +1,22 @@ +{stdenv, buildOcamlJane, + ppx_assert, + ppx_bench, ppx_bin_prot, ppx_compare, ppx_custom_printf, ppx_driver, + ppx_enumerate, ppx_expect, ppx_fail, ppx_fields_conv, ppx_here, + ppx_inline_test, ppx_let, ppx_pipebang, ppx_sexp_conv, ppx_sexp_message, + ppx_sexp_value, ppx_typerep_conv, ppx_variants_conv}: + +buildOcamlJane rec { + name = "ppx_jane"; + hash = "1la0rp8fhzfglwb15gqh1pl1ld8ls4cnidaw9mjc5q1hb0yj1qd9"; + propagatedBuildInputs = + [ ppx_assert ppx_bench ppx_bin_prot ppx_compare ppx_custom_printf + ppx_driver ppx_enumerate ppx_expect ppx_fail ppx_fields_conv + ppx_here ppx_inline_test ppx_let ppx_pipebang ppx_sexp_conv + ppx_sexp_message ppx_sexp_value ppx_typerep_conv ppx_variants_conv ]; + + meta = with stdenv.lib; { + description = "A ppx_driver including all standard ppx rewriters"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-let.nix b/pkgs/development/ocaml-modules/janestreet/ppx-let.nix new file mode 100644 index 000000000000..3498affeb090 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-let.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver}: + +buildOcamlJane rec { + name = "ppx_let"; + hash = "0whnfq4rgkq4apfqnvc100wlk25pmqdyvy6s21dsn3fcm9hff467"; + propagatedBuildInputs = [ ppx_core ppx_driver ]; + + meta = with stdenv.lib; { + description = "A ppx rewriter for monadic and applicative let bindings and match statements"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-optcomp.nix b/pkgs/development/ocaml-modules/janestreet/ppx-optcomp.nix new file mode 100644 index 000000000000..5dcfc97bfa37 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-optcomp.nix @@ -0,0 +1,15 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_optcomp"; + hash = "09m2x2a5ics4bz1j29n5slhh1rlyhcwdfmf44v1jfxcby3f0riwd"; + propagatedBuildInputs = + [ ppx_core ppx_tools ]; + + meta = with stdenv.lib; { + description = "ppx_optcomp stands for Optional Compilation. It is a tool used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, etc."; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-pipebang.nix b/pkgs/development/ocaml-modules/janestreet/ppx-pipebang.nix new file mode 100644 index 000000000000..f3f4bcdead59 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-pipebang.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_pipebang"; + hash = "0k25bhj9ziiw89xvs4svz7cgazbbmprba9wbic2llffg55fp7acc"; + propagatedBuildInputs = [ ppx_core ppx_driver ppx_tools ]; + + meta = with stdenv.lib; { + description = "A ppx rewriter that inlines reverse application operators |> and |!"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-sexp-conv.nix b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-conv.nix new file mode 100644 index 000000000000..bf4a7b214dec --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-conv.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv, sexplib}: + +buildOcamlJane rec { + name = "ppx_sexp_conv"; + hash = "1kgbmlc11w5jhbhmy5n0f734l44zwyry48342dm5qydi9sfzcgq2"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv sexplib]; + + meta = with stdenv.lib; { + description = "PPX syntax extension that generates code for converting OCaml types to and from s-expressions, as defined in the sexplib library"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-sexp-message.nix b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-message.nix new file mode 100644 index 000000000000..e83aaa2c2723 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-message.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_sexp_message"; + hash = "0inbff25qii868p141jb1y8n3vjfyz66jpnsl9nma6nkkyjkp05j"; + propagatedBuildInputs = [ ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools ]; + + meta = with stdenv.lib; { + description = "Easy construction of S-Expressions"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-sexp-value.nix b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-value.nix new file mode 100644 index 000000000000..a1a1080d73d7 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-sexp-value.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_sexp_value"; + hash = "04602ppqfwx33ghjywam00hlqqzsz4d99r60k9q0v1mynk9pjhj0"; + propagatedBuildInputs = [ ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools ]; + + meta = with stdenv.lib; { + description = "A ppx rewriter that simplifies building S-Expression from OCaml Values"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-type-conv.nix b/pkgs/development/ocaml-modules/janestreet/ppx-type-conv.nix new file mode 100644 index 000000000000..fc6d9ca03459 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-type-conv.nix @@ -0,0 +1,15 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_deriving, ppx_driver, ppx_tools}: + +buildOcamlJane rec { + name = "ppx_type_conv"; + hash = "0gv0mqwn97dwrfm6rj442565y8dz7kiq8s8vadnhywrl7j4znqyq"; + propagatedBuildInputs = + [ ppx_core ppx_deriving ppx_driver ppx_tools ]; + + meta = with stdenv.lib; { + description = "The type_conv library factors out functionality needed by different preprocessors that generate code from type specifications"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-typerep-conv.nix b/pkgs/development/ocaml-modules/janestreet/ppx-typerep-conv.nix new file mode 100644 index 000000000000..e6d23e0dbdd0 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-typerep-conv.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv, typerep}: + +buildOcamlJane rec { + name = "ppx_typerep_conv"; + hash = "0dldlx73r07j6w0i7h4hxly0v678naa79na5rafsk2974gs5ih9g"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv typerep ]; + + meta = with stdenv.lib; { + description = "Automatic generation of runtime types from type definitions"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/ppx-variants-conv.nix b/pkgs/development/ocaml-modules/janestreet/ppx-variants-conv.nix new file mode 100644 index 000000000000..e5efb786a943 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/ppx-variants-conv.nix @@ -0,0 +1,14 @@ +{stdenv, buildOcamlJane, + ppx_core, ppx_tools, ppx_type_conv, sexplib}: + +buildOcamlJane rec { + name = "ppx_variants_conv"; + hash = "0kgal8b9yh7wrd75hllb9fyl6zbksfnr9k7pykpzdm3js98dirhn"; + propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv sexplib]; + + meta = with stdenv.lib; { + description = "Generation of accessor and iteration functions for ocaml variant types"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/re2.nix b/pkgs/development/ocaml-modules/janestreet/re2.nix new file mode 100644 index 000000000000..6604a8d012c6 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/re2.nix @@ -0,0 +1,20 @@ +{stdenv, buildOcamlJane, + bin_prot, core_kernel, fieldslib, sexplib, typerep, variantslib, + ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, ppx_jane, + rsync}: + +buildOcamlJane rec { + name = "re2"; + hash = "0fw5jscb1i17aw8v4l965zw20kyimhfnmf4w83wqaaxkqy3l6fqw"; + buildInputs = [ rsync ]; + propagatedBuildInputs = + [ bin_prot core_kernel fieldslib sexplib typerep variantslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/re2; + description = "OCaml bindings for RE2"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/sexplib.nix b/pkgs/development/ocaml-modules/janestreet/sexplib.nix new file mode 100644 index 000000000000..4a785d199c8c --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/sexplib.nix @@ -0,0 +1,18 @@ +{stdenv, buildOcamlJane, type_conv}: + +buildOcamlJane rec { + minimumSupportedOcamlVersion = "4.02"; + name = "sexplib"; + version = "113.33.03"; + + hash = "1klar4qw4s7bj47ig7kxz2m4j1q3c60pfppis4vxrxv15r0kfh22"; + + propagatedBuildInputs = [ type_conv ]; + + meta = with stdenv.lib; { + homepage = https://ocaml.janestreet.com/; + description = "Library for serializing OCaml values to and from S-expressions"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/textutils.nix b/pkgs/development/ocaml-modules/janestreet/textutils.nix new file mode 100644 index 000000000000..459743f055ab --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/textutils.nix @@ -0,0 +1,18 @@ +{stdenv, buildOcamlJane, + bin_prot, core, fieldslib, sexplib, typerep, variantslib, + ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test, ppx_jane}: + +buildOcamlJane rec { + name = "textutils"; + hash = "0mkjm9b3k7db7zzrq4403v8qbkgqgkjlz120vcbqh6z7d7ql65vb"; + propagatedBuildInputs = + [ bin_prot core fieldslib sexplib typerep variantslib + ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/textutils; + description = "Text output utilities"; + maintainers = [ maintainers.maurer ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/ocaml-modules/janestreet/typerep.nix b/pkgs/development/ocaml-modules/janestreet/typerep.nix new file mode 100644 index 000000000000..81e6c4be9cbc --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/typerep.nix @@ -0,0 +1,20 @@ +{stdenv, buildOcamlJane, type_conv}: + +buildOcamlJane rec { + name = "typerep"; + version = "113.33.03"; + + minimumSupportedOcamlVersion = "4.00"; + + hash = "1ss34nq20vfgx8hwi5sswpmn3my9lvrpdy5dkng746xchwi33ar7"; + + propagatedBuildInputs = [ type_conv ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/typerep; + description = "Runtime types for OCaml (beta version)"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; + +} diff --git a/pkgs/development/ocaml-modules/janestreet/variantslib.nix b/pkgs/development/ocaml-modules/janestreet/variantslib.nix new file mode 100644 index 000000000000..d9acadbb6158 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/variantslib.nix @@ -0,0 +1,19 @@ +{stdenv, buildOcamlJane, type_conv}: + +buildOcamlJane rec { + name = "variantslib"; + version = "113.33.03"; + + minimumSupportedOcamlVersion = "4.00"; + + hash = "1hv0f75msrryxsl6wfnbmhc0n8kf7qxs5f82ry3b8ldb44s3wigp"; + + propagatedBuildInputs = [ type_conv ]; + + meta = with stdenv.lib; { + homepage = https://github.com/janestreet/variantslib; + description = "OCaml variants as first class values"; + license = licenses.asl20; + maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; + }; +} diff --git a/pkgs/development/ocaml-modules/pa_test/default.nix b/pkgs/development/ocaml-modules/pa_test/default.nix index faf17e20dc1e..5acf931b2eac 100644 --- a/pkgs/development/ocaml-modules/pa_test/default.nix +++ b/pkgs/development/ocaml-modules/pa_test/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, type_conv, pa_ounit, sexplib, herelib}: +{stdenv, buildOcaml, fetchurl, type_conv, pa_ounit, sexplib_p4, herelib}: buildOcaml rec { name = "pa_test"; @@ -12,7 +12,7 @@ buildOcaml rec { }; buildInputs = [ pa_ounit ]; - propagatedBuildInputs = [ type_conv sexplib herelib ]; + propagatedBuildInputs = [ type_conv sexplib_p4 herelib ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/pa_test; diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix new file mode 100644 index 000000000000..4b4056a69d72 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -0,0 +1,28 @@ +{stdenv, buildOcaml, fetchurl, + cppo, ppx_tools, result, ounit}: + +buildOcaml rec { + name = "ppx_deriving"; + version = "v3.3"; + + minimumSupportedOcamlVersion = "4.02"; + + src = fetchurl { + url = "https://github.com/whitequark/${name}/archive/${version}.tar.gz"; + sha256 = "1j20c6r2v7h05a4v9m8z5m1yqgwif41yrp63mik14pf3dkrj8x3f"; + }; + + hasSharedObjects = true; + + buildInputs = [ cppo ounit ]; + propagatedBuildInputs = + [ ppx_tools result ]; + + installPhase = "OCAMLPATH=$OCAMLPATH:`ocamlfind printconf destdir` make install"; + + meta = with stdenv.lib; { + description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02."; + maintainers = [ maintainers.maurer ]; + license = licenses.mit; + }; +} diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index 377dc32751a7..33bf180cd7f3 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -1,21 +1,30 @@ -{ stdenv, fetchzip, ocaml, findlib }: +{ stdenv, fetchFromGitHub, ocaml, findlib }: -stdenv.mkDerivation { - name = "ocaml-ppx_tools-5.0+4.02"; - src = fetchzip { - url = https://github.com/alainfrisch/ppx_tools/archive/5.0+4.02.0.tar.gz; - sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; - }; +let + version = + if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.03" then "5.0+4.03.0" else "5.0+4.02.0"; +in + stdenv.mkDerivation { + name = "ocaml-ppx_tools-${version}"; + src = fetchFromGitHub { + owner = "alainfrisch"; + repo = "ppx_tools"; + rev = version; + sha256 = if version == "5.0+4.03.0" + then "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg" + else "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8" + ; + }; - buildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ]; - createFindlibDestdir = true; + createFindlibDestdir = true; - meta = with stdenv.lib; { - description = "Tools for authors of ppx rewriters"; - homepage = http://www.lexifi.com/ppx_tools; - license = licenses.mit; - platforms = ocaml.meta.platforms or []; - maintainers = with maintainers; [ vbgl ]; - }; -} + meta = with stdenv.lib; { + description = "Tools for authors of ppx rewriters"; + homepage = http://www.lexifi.com/ppx_tools; + license = licenses.mit; + platforms = ocaml.meta.platforms or []; + maintainers = with maintainers; [ vbgl ]; + }; + } diff --git a/pkgs/development/ocaml-modules/re2/default.nix b/pkgs/development/ocaml-modules/re2/default.nix index e89e28fe1e55..9b26c4040959 100644 --- a/pkgs/development/ocaml-modules/re2/default.nix +++ b/pkgs/development/ocaml-modules/re2/default.nix @@ -1,5 +1,5 @@ -{stdenv, buildOcaml, fetchurl, ocaml, core, pa_ounit, pa_test, - bin_prot, comparelib, sexplib, rsync}: +{stdenv, buildOcaml, fetchurl, ocaml, core_p4, pa_ounit, pa_test, + bin_prot_p4, comparelib, sexplib_p4, rsync}: buildOcaml rec { name = "re2"; @@ -16,7 +16,7 @@ buildOcaml rec { else null; buildInputs = [ pa_ounit pa_test rsync ]; - propagatedBuildInputs = [ core bin_prot comparelib sexplib ]; + propagatedBuildInputs = [ core_p4 bin_prot_p4 comparelib sexplib_p4 ]; hasSharedObjects = true; diff --git a/pkgs/development/ocaml-modules/textutils/default.nix b/pkgs/development/ocaml-modules/textutils/default.nix index 377b94eff8b8..6f35b9702280 100644 --- a/pkgs/development/ocaml-modules/textutils/default.nix +++ b/pkgs/development/ocaml-modules/textutils/default.nix @@ -1,4 +1,4 @@ -{stdenv, buildOcaml, fetchurl, core, pa_ounit, pa_test, sexplib}: +{stdenv, buildOcaml, fetchurl, core_p4, pa_ounit, pa_test, sexplib_p4}: buildOcaml rec { name = "textutils"; @@ -12,7 +12,7 @@ buildOcaml rec { }; buildInputs = [ pa_test ]; - propagatedBuildInputs = [ core pa_ounit sexplib ]; + propagatedBuildInputs = [ core_p4 pa_ounit sexplib_p4 ]; meta = with stdenv.lib; { homepage = https://github.com/janestreet/textutils; diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix index dca989c88efd..a6335274f737 100644 --- a/pkgs/development/ocaml-modules/uri/default.nix +++ b/pkgs/development/ocaml-modules/uri/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, ocaml, findlib, re, sexplib, stringext, ounit }: +{ stdenv, fetchzip, ocaml, findlib, re, sexplib_p4, stringext, ounit }: assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; buildInputs = [ ocaml findlib ounit ]; - propagatedBuildInputs = [ re sexplib stringext ]; + propagatedBuildInputs = [ re sexplib_p4 stringext ]; configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests"; buildPhase = '' diff --git a/pkgs/development/perl-modules/WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch b/pkgs/development/perl-modules/WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch new file mode 100644 index 000000000000..34221c0d20c7 --- /dev/null +++ b/pkgs/development/perl-modules/WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch @@ -0,0 +1,34 @@ +From 0be0223422e6e5f4091c6e4e058d213623eed105 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Mon, 12 Sep 2016 14:40:44 +0200 +Subject: [PATCH] Skip preprocessor symbol only CURL_STRICTER +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +CURL_STRICTER leaked into curl-constants.c when building against +curl-7.50.2. This is a preprocessor only macro without a value. + +CPAN RT#117793 + +Signed-off-by: Petr Písař <ppisar@redhat.com> +--- + Makefile.PL | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.PL b/Makefile.PL +index f9170bb..ad2bd3d 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -127,7 +127,7 @@ if (!defined($curl_h)) { + close H; + + for my $e (sort @syms) { +- if($e =~ /(OBSOLETE|^CURL_EXTERN|_LAST\z|_LASTENTRY\z)/) { ++ if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|_LAST\z|_LASTENTRY\z)/) { + next; + } + my ($group) = $e =~ m/^([^_]+_)/; +-- +2.7.4 + diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index 86058e03e413..b995e76f63ab 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -21,10 +21,10 @@ rec { let arch = if stdenv.is64bit then "amd64" else "i386"; in '' mkdir patching pushd patching - jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-0.10.jar + jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-0.11.jar patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so - jar cf native-platform-linux-${arch}-0.10.jar . - mv native-platform-linux-${arch}-0.10.jar $out/lib/gradle/lib/ + jar cf native-platform-linux-${arch}-0.11.jar . + mv native-platform-linux-${arch}-0.11.jar $out/lib/gradle/lib/ popd # The scanner doesn't pick up the runtime dependency in the jar. @@ -52,11 +52,11 @@ rec { }; gradle_latest = gradleGen rec { - name = "gradle-3.0"; + name = "gradle-3.1"; src = fetchurl { url = "http://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "103z2nzlpc6x3mav0mqardd84rj1si718f6wpnpl8i273aa0dj9r"; + sha256 = "1z0h60w0wvdg2rlxg5izcbhnrzdmr3mdgs7p09cm4lr28d139pn7"; }; }; diff --git a/pkgs/development/tools/ocaml/camlp4/4_03.nix b/pkgs/development/tools/ocaml/camlp4/4_03.nix new file mode 100644 index 000000000000..f05a556c3886 --- /dev/null +++ b/pkgs/development/tools/ocaml/camlp4/4_03.nix @@ -0,0 +1,45 @@ +{stdenv, fetchzip, which, ocaml, ocamlbuild}: +let + ocaml_version = (stdenv.lib.getVersion ocaml); + version = "4.03+1"; + +in + +assert stdenv.lib.versionAtLeast ocaml_version "4.02"; + +stdenv.mkDerivation { + name = "camlp4-${version}"; + src = fetchzip { + url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz"; + sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; + }; + + buildInputs = [ which ocaml ocamlbuild ]; + + dontAddPrefix = true; + + preConfigure = '' + configureFlagsArray=( + --bindir=$out/bin + --libdir=$out/lib/ocaml/${ocaml_version}/site-lib + --pkgdir=$out/lib/ocaml/${ocaml_version}/site-lib + ) + ''; + + postConfigure = '' + substituteInPlace camlp4/META.in \ + --replace +camlp4 $out/lib/ocaml/${ocaml_version}/site-lib/camlp4 + ''; + + + makeFlags = "all"; + + installTargets = "install install-META"; + + meta = with stdenv.lib; { + description = "A software system for writing extensible parsers for programming languages"; + homepage = https://github.com/ocaml/camlp4; + platforms = ocaml.meta.platforms or []; + }; +} + diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index 9538d8e1cc21..ed441ea8c10b 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,9 +1,19 @@ -{ stdenv, fetchzip, ocaml, findlib, yojson, menhir +{ stdenv, fetchzip, ocaml, findlib, yojson, menhir, lib , withEmacsMode ? false, emacs }: assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00"; -let version = "2.3.1"; in +let + version = if lib.versionOlder (lib.getVersion ocaml) "4.02.0" + then + "2.3.1" + else + "2.5.0"; + hashes = { + "2.3.1" = "192jamcc7rmvadlqqsjkzsl6hlgwhg9my1qc89fxh1lmd4qdsrpn"; + "2.5.0" = "1q09mnq4qmh6vfn45qxh2v81l364iazcpjs5dyczmlhln8b25bff"; + }; +in stdenv.mkDerivation { @@ -11,7 +21,7 @@ stdenv.mkDerivation { src = fetchzip { url = "https://github.com/the-lambda-church/merlin/archive/v${version}.tar.gz"; - sha256 = "192jamcc7rmvadlqqsjkzsl6hlgwhg9my1qc89fxh1lmd4qdsrpn"; + sha256 = hashes."${version}"; }; buildInputs = [ ocaml findlib yojson menhir ] diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix new file mode 100644 index 000000000000..6feab7645f17 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix @@ -0,0 +1,42 @@ +{stdenv, fetchFromGitHub, ocaml, findlib, buildOcaml, type_conv, camlp4, + ocamlmod, ocamlify, ounit, expect}: +let + version = "0.9.2"; +in +stdenv.mkDerivation { + name = "ocamlbuild"; + inherit version; + + src = fetchFromGitHub { + owner = "ocaml"; + repo = "ocamlbuild"; + rev = version; + sha256 = "0q4bvik08v444g1pill9zgwal48xs50jf424lbryfvqghhw5xjjc"; + }; + + createFindlibDestdir = true; + + buildInputs = [ ocaml findlib ]; + + configurePhase = '' + make -f configure.make Makefile.config \ + "OCAMLBUILD_PREFIX=$out" \ + "OCAMLBUILD_BINDIR=$out/bin" \ + "OCAMLBUILD_LIBDIR=$OCAMLFIND_DESTDIR" + ''; + + # configurePhase = "ocaml setup.ml -configure --prefix $out"; + # buildPhase = "ocaml setup.ml -build"; + # installPhase = "ocaml setup.ml -install"; + + # meta = with stdenv.lib; { + # homepage = http://oasis.forge.ocamlcore.org/; + # description = "Configure, build and install system for OCaml projects"; + # license = licenses.lgpl21; + # platforms = ocaml.meta.platforms or []; + # maintainers = with maintainers; [ + # vbgl z77z + # ]; + # }; +} + diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix index 5ae27b476b41..503616511e5b 100644 --- a/pkgs/development/tools/ocaml/ocp-build/default.nix +++ b/pkgs/development/tools/ocaml/ocp-build/default.nix @@ -1,20 +1,25 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib, ncurses }: +{ stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }: +let + version = "1.99.17-beta"; +in +buildOcaml { -let version = "1.99.16-beta"; in - -stdenv.mkDerivation { - - name = "ocp-build-${version}"; + name = "ocp-build"; + inherit version; src = fetchFromGitHub { owner = "OCamlPro"; repo = "ocp-build"; rev = version; - sha256 = "1nkd7wlf1vrc4p20bs94vbkd970q2ag23csh9a897ka65rk08gvw"; + sha256 = "0k1gi5v9as5l8h5illgl5prsd5z1i14y5j2k920ay1a3rv697b02"; }; - buildInputs = [ ocaml findlib ncurses ]; + buildInputs = [ ocaml ]; + propagatedBuildInputs = [ ncurses ]; preInstall = "mkdir -p $out/bin"; + preConfigure = '' + export configureFlags="$configureFlags --with-metadir=$OCAMLFIND_DESTDIR" + ''; meta = with stdenv.lib; { homepage = http://www.typerex.org/ocp-build.html; diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix index 37f90c41100a..5ca1aed810cf 100644 --- a/pkgs/development/tools/ocaml/ocp-index/default.nix +++ b/pkgs/development/tools/ocaml/ocp-index/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchzip, ocaml, findlib, ocpBuild, ocpIndent, opam, cmdliner, ncurses, re, lambdaTerm, libev }: +{ stdenv, fetchFromGitHub, ocaml, findlib, ocpBuild, ocpIndent, opam, cmdliner, ncurses, re, lambdaTerm, libev }: let inherit (stdenv.lib) getVersion versionAtLeast optional; in @@ -7,23 +7,34 @@ assert versionAtLeast (getVersion ocpBuild) "1.99.6-beta"; assert versionAtLeast (getVersion ocpIndent) "1.4.2"; let - version = "1.1.2"; - patch402 = fetchurl { - url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/ocp-index/ocp-index.1.1.2/files/ocaml.4.02.patch; - sha256 = "1wcpn2pv7h8ia3ybmzdlm8v5hfvq1rgmlj02wwj0yh3vqjvxqvsm"; + version = "1.1.4"; + ocaml_version = getVersion ocaml; + srcs = { + "4.03.0" = { + rev = "${version}-4.03"; + sha256 = "0c6s5radwyvxf9hrq2y9lirk72z686k9yzd0vgzy98yrrp1w56mv"; + }; + "4.02.3" = { + rev = "${version}-4.02"; + sha256 = "057ss3lz754b2pznkb3zda5h65kjgqnvabvfqwqcz4qqxxki2yc8"; + }; + "4.01.0" = { + rev = "${version}"; + sha256 = "106bnc8jhmjnychcl8k3gl9n6b50bc66qc5hqf1wkbkk9kz4vc9d"; + }; }; + + src = fetchFromGitHub ({ + owner = "OCamlPro"; + repo = "ocp-index"; + } // srcs."${ocaml_version}"); in stdenv.mkDerivation { name = "ocp-index-${version}"; - src = fetchzip { - url = "http://github.com/OCamlPro/ocp-index/archive/${version}.tar.gz"; - sha256 = "0cz0bz5nisc5r23b1w07q2bl489gd09mg8rp9kyq9m6rj669b18l"; - }; - - patches = optional (versionAtLeast (getVersion ocaml) "4.02") patch402; + inherit src; buildInputs = [ ocaml findlib ocpBuild opam cmdliner ncurses re libev ] ++ optional (versionAtLeast (getVersion lambdaTerm) "1.7") lambdaTerm; |