3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #7823 from ericbmerritt/ocaml-enhancements

Ocaml enhancements
This commit is contained in:
vbgl 2015-05-26 23:52:32 +02:00
commit 2857d5d7a8
50 changed files with 987 additions and 80 deletions

View file

@ -72,6 +72,7 @@
eikek = "Eike Kettner <eike.kettner@posteo.de>";
ellis = "Ellis Whitehead <nixos@ellisw.net>";
emery = "Emery Hemingway <emery@vfemail.net>";
ericbmerritt = "Eric Merritt <eric@afiniate.com>";
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
exlevan = "Alexey Levan <exlevan@gmail.com>";
falsifian = "James Cook <james.cook@utoronto.ca>";
@ -112,6 +113,7 @@
joelteon = "Joel Taylor <me@joelt.io>";
jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
jwiegley = "John Wiegley <johnw@newartisans.com>";
jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
jzellner = "Jeff Zellner <jeffz@eml.cc>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
koral = "Koral <koral@mailoo.org>";

View file

@ -0,0 +1,36 @@
{ stdenv, writeText, ocaml, findlib, camlp4 }:
{ name, version, buildInputs ? [],
createFindlibDestdir ? true,
dontStrip ? true,
minimumSupportedOcamlVersion ? null,
hasSharedObjects ? false,
setupHook ? null,
meta ? {}, ...
}@args:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
defaultMeta = {
platforms = ocaml.meta.platforms;
};
in
assert minimumSupportedOcamlVersion != null ->
stdenv.lib.versionOlder minimumSupportedOcamlVersion ocaml_version;
stdenv.mkDerivation (args // {
name = "ocaml-${name}-${version}";
buildInputs = [ ocaml findlib camlp4 ] ++ buildInputs;
setupHook = if setupHook == null && hasSharedObjects
then writeText "setupHook.sh" ''
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml_version}/site-lib/${name}/"
''
else setupHook;
inherit ocaml_version;
inherit createFindlibDestdir;
inherit dontStrip;
meta = defaultMeta // meta;
})

View file

@ -0,0 +1,20 @@
{stdenv, buildOcaml, fetchurl, ounit, re, cmdliner}:
buildOcaml rec {
name = "alcotest";
version = "0.3.1";
src = fetchurl {
url = "https://github.com/samoht/alcotest/archive/${version}.tar.gz";
sha256 = "a0e6c9a33c59b206ecc949655fa6e17bdd1078c8b610b14d8f6f0f1b489b0b43";
};
propagatedBuildInputs = [ ounit re cmdliner ];
meta = with stdenv.lib; {
homepage = https://github.com/samoht/alcotest;
description = "A lightweight and colourful test framework";
license = stdenv.lib.licenses.isc;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, async_kernel,
async_unix, async_extra, pa_ounit}:
buildOcaml rec {
name = "async";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async/archive/${version}.tar.gz";
sha256 = "ecc4ca939ab098e689332921b110dbaacd06d9f8d8bf697023dfff3ca37dc1e9";
};
propagatedBuildInputs = [ async_kernel async_unix async_extra pa_ounit ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/async;
description = "Jane Street Capital's asynchronous execution library";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,26 @@
{stdenv, buildOcaml, fetchurl, async_kernel, async_unix,
bin_prot, core, custom_printf, fieldslib, herelib, pa_ounit,
pipebang, pa_test, sexplib}:
buildOcaml rec {
name = "async_extra";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_extra/archive/${version}.tar.gz";
sha256 = "51f6f67a9ad56fe5dcf09faeeca6ec2fea53a7a975a72bc80504b90841212e28";
};
buildInputs = [ pa_test pa_ounit ];
propagatedBuildInputs = [ async_kernel async_unix core bin_prot custom_printf
fieldslib herelib pipebang sexplib ];
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.ericbmerritt ];
};
}

View file

@ -0,0 +1,22 @@
{stdenv, buildOcaml, fetchurl, async, core, sexplib}:
buildOcaml rec {
name = "async_find";
version = "111.28.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_find/archive/${version}.tar.gz";
sha256 = "4e3fda72f50174f05d96a5a09323f236c041b1a685890c155822956f3deb8803";
};
propagatedBuildInputs = [ async core sexplib ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/async_find;
description = "Directory traversal with Async";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,25 @@
{stdenv, buildOcaml, fetchurl, core_kernel,
bin_prot, fieldslib, pa_ounit, pa_test,
sexplib, herelib}:
buildOcaml rec {
name = "async_kernel";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_kernel/archive/${version}.tar.gz";
sha256 = "95caf4249b55c5a6b38da56e314845e9ea9a0876eedd4cf0ddcb6c8dd660c6a0";
};
buildInputs = [ pa_test pa_ounit ];
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.ericbmerritt ];
};
}

View file

@ -0,0 +1,22 @@
{stdenv, buildOcaml, fetchurl, async, core, core_extended}:
buildOcaml rec {
name = "async_shell";
version = "109.28.03";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_shell/archive/${version}.tar.gz";
sha256 = "0b4497bea9124c5a665ee58fb0a73c5cbf2f757479df902e6870627196e6c105";
};
propagatedBuildInputs = [ async core core_extended ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/async_shell;
description = "Shell helpers for Async";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,25 @@
{stdenv, buildOcaml, fetchurl, async, comparelib, core, ctypes, openssl,
fieldslib, herelib, pa_bench, pa_ounit, pipebang, pa_test, sexplib}:
buildOcaml rec {
name = "async_ssl";
version = "112.24.03";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_ssl/archive/${version}.tar.gz";
sha256 = "1b0bea92142eef11da6bf649bbe229bd4b8d9cc807303d8142406908c0d28c68";
};
buildInputs = [ pa_bench pa_test ];
propagatedBuildInputs = [ ctypes async comparelib core fieldslib pa_ounit
herelib pipebang sexplib openssl ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/async_ssl;
description = "Async wrappers for ssl";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,27 @@
{stdenv, buildOcaml, fetchurl, async_kernel,
bin_prot, comparelib, core, fieldslib, herelib, pa_ounit,
pipebang, pa_test, sexplib}:
buildOcaml rec {
name = "async_unix";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/async_unix/archive/${version}.tar.gz";
sha256 = "d490b1dc42f0987a131fa9695b55f215ad90cdaffbfac35b7f9f88f3834337ab";
};
hasSharedObjects = true;
buildInputs = [ pa_ounit ];
propagatedBuildInputs = [ async_kernel core bin_prot comparelib
fieldslib herelib pipebang pa_test 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.ericbmerritt ];
};
}

View file

@ -0,0 +1,26 @@
{stdenv, menhir, easy-format, buildOcaml, fetchurl, which}:
buildOcaml rec {
name = "atd";
version = "1.1.2";
src = fetchurl {
url = "https://github.com/mjambon/atd/archive/v${version}.tar.gz";
sha256 = "0ef10c63192aed75e9a4274e89c5f9ca27efb1ef230d9949eda53ad4a9a37291";
};
installPhase = ''
mkdir -p $out/bin
make PREFIX=$out install
'';
buildInputs = [ which ];
propagatedBuildInputs = [ menhir easy-format ];
meta = with stdenv.lib; {
homepage = https://github.com/mjambon/atd;
description = "Syntax for cross-language type definitions";
license = licenses.bsd3;
maintainers = [ maintainers.jwilberding ];
};
}

View file

@ -0,0 +1,25 @@
{stdenv, atd, yojson, menhir, easy-format, biniou, cppo, buildOcaml, fetchurl, which}:
buildOcaml rec {
name = "atdgen";
version = "1.6.0";
src = fetchurl {
url = "https://github.com/mjambon/atdgen/archive/v${version}.tar.gz";
sha256 = "1icdxgb7qqq1pcbfqi0ikryiwaljd594z3acyci8g3bnlq0yc7zn";
};
installPhase = ''
mkdir -p $out/bin
make PREFIX=$out install
'';
buildInputs = [ which atd biniou yojson ];
meta = with stdenv.lib; {
homepage = https://github.com/mjambon/atdgen;
description = "Generates optimized boilerplate OCaml code for JSON and Biniou IO from type definitions";
license = licenses.bsd3;
maintainers = [ maintainers.jwilberding ];
};
}

View file

@ -0,0 +1,24 @@
{stdenv, writeText, buildOcaml, fetchurl, type_conv}:
buildOcaml rec {
name = "bin_prot";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/bin_prot/archive/${version}.tar.gz";
sha256 = "dc0c978a825c7c123990af3317637c218f61079e6f35dc878260651084f1adb4";
};
propagatedBuildInputs = [ type_conv ];
hasSharedObjects = true;
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/bin_prot;
description = "Binary protocol generator ";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,29 @@
{stdenv, buildOcaml, fetchurl, cmdliner, re, uri, fieldslib, sexplib, conduit,
stringext, base64, magic-mime, ounit, alcotest, lwt ? null,
async ? null, async_ssl ? null}:
buildOcaml rec {
name = "cohttp";
version = "0.17.1";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/mirage/ocaml-cohttp/archive/v${version}.tar.gz";
sha256 = "fb124fb2fb5ff2e74559bf380627f6a537e208c1518ddcb01f0d37b62b55f673";
};
buildInputs = [ alcotest ];
propagatedBuildInputs = [ cmdliner re uri fieldslib sexplib sexplib
conduit stringext base64 magic-mime ounit async
async_ssl lwt ];
buildFlags = "PREFIX=$(out)";
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-cohttp;
description = "Very lightweight HTTP server using Lwt or Async";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,22 @@
{stdenv, buildOcaml, fetchurl, type_conv}:
buildOcaml rec {
name = "comparelib";
version = "109.60.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/comparelib/archive/${version}.tar.gz";
sha256 = "1075fb05e0d1e290f71ad0f6163f32b2cb4cebdc77568491c7eb38ba91f5db7e";
};
propagatedBuildInputs = [ type_conv ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/comparelib;
description = "Syntax extension for deriving \"compare\" functions automatically";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,24 @@
{stdenv, buildOcaml, fetchurl, sexplib, stringext, uri, cstruct, ipaddr,
async ? null, async_ssl ? null, lwt ? null}:
buildOcaml rec {
name = "conduit";
version = "0.8.3";
src = fetchurl {
url = "https://github.com/mirage/ocaml-conduit/archive/v${version}.tar.gz";
sha256 = "5cf1a46aa0254345e5143feebe6b54bdef96314e9987f44e69f24618d620faa1";
};
propagatedBuildInputs = ([ sexplib stringext uri cstruct ipaddr ]
++ stdenv.lib.optional (lwt != null) lwt
++ stdenv.lib.optional (async != null) async
++ stdenv.lib.optional (async_ssl != null) async_ssl);
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-conduit;
description = "Resolve URIs into communication channels for Async or Lwt ";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,30 @@
{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}:
buildOcaml rec {
name = "core";
version = "112.24.01";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/core/archive/${version}.tar.gz";
sha256 = "be5d53ebd4fd04ef23ebf9b3b2840c7aeced6bc4cc6cd3f5e89f71c9949000f4";
};
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 ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/core;
description = "Jane Street Capital's standard library overlay";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,26 @@
{stdenv, buildOcaml, fetchurl, bin_prot, comparelib, core, custom_printf,
fieldslib, pa_bench, pa_ounit, pipebang, pa_test, textutils, re2, sexplib}:
buildOcaml rec {
name = "core_extended";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/core_extended/archive/${version}.tar.gz";
sha256 = "f87b0661b6c2cfb545ec61d1cb2ab1b9c4967b6ac14e651de41d3a6fb7f0f1e3";
};
hasSharedObjects = true;
buildInputs = [ pa_bench pa_test pa_ounit ];
propagatedBuildInputs = [bin_prot comparelib core custom_printf fieldslib
pipebang textutils re2 sexplib ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/core_extended;
description = "Jane Street Capital's standard library overlay";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,30 @@
{stdenv, buildOcaml, fetchurl, type_conv,
bin_prot, comparelib, custom_printf, enumerate,
fieldslib, herelib, pa_bench, pa_test, pa_ounit,
pipebang, sexplib, typerep, variantslib}:
buildOcaml rec {
name = "core_kernel";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/core_kernel/archive/${version}.tar.gz";
sha256 = "93e1f21e35ade98a2bfbe45ba76eef4a8ad3fed97cdc0769f96e0fcc86d6a761";
};
hasSharedObjects = true;
buildInputs = [ pa_test pa_ounit ];
propagatedBuildInputs = [ type_conv pa_bench bin_prot comparelib custom_printf
enumerate fieldslib herelib pipebang sexplib
typerep variantslib ];
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.ericbmerritt ];
};
}

View file

@ -1,27 +1,31 @@
{ stdenv, fetchzip, ocaml, findlib, sexplib, ocplib-endian, lwt, camlp4 }:
{stdenv, writeText, fetchurl, ocaml, ocplib-endian, sexplib, findlib,
async ? null, lwt ? null, camlp4}:
let version = "1.6.0"; in
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation {
name = "ocaml-cstruct-${version}";
name = "ocaml-cstruct-1.6.0";
src = fetchzip {
url = "https://github.com/mirage/ocaml-cstruct/archive/v${version}.tar.gz";
sha256 = "09qw3rhfiq2kkns6660p9cwm5610k72md52a04cy91gr6gsig6ic";
src = fetchurl {
url = https://github.com/mirage/ocaml-cstruct/archive/v1.6.0.tar.gz;
sha256 = "0f90a1b7a03091cf22a3ccb11a0cce03b6500f064ad3766b5ed81418ac008ece";
};
buildInputs = [ ocaml findlib lwt camlp4 ];
propagatedBuildInputs = [ ocplib-endian sexplib ];
configureFlags = "--enable-lwt";
configureFlags = stdenv.lib.strings.concatStringsSep " " ((if lwt != null then ["--enable-lwt"] else []) ++
(if async != null then ["--enable-async"] else []));
buildInputs = [ocaml findlib camlp4];
propagatedBuildInputs = [ocplib-endian sexplib lwt async];
createFindlibDestdir = true;
dontStrip = true;
meta = {
description = "Map OCaml arrays onto C-like structs";
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-cstruct;
description = "Map OCaml arrays onto C-like structs";
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
platforms = ocaml.meta.platforms;
};
}

View file

@ -0,0 +1,32 @@
{stdenv, buildOcaml, fetchurl, libffi, pkgconfig, ncurses}:
buildOcaml rec {
name = "ctypes";
version = "0.4.1";
src = fetchurl {
url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz";
sha256 = "74564e049de5d3c0e76ea284c225cb658ac1a2b483345be1efb9be4b3c1702f5";
};
buildInputs = [ ncurses pkgconfig ];
propagatedBuildInputs = [ libffi ];
hasSharedObjects = true;
buildPhase = ''
make XEN=false libffi.config ctypes-base ctypes-stubs
make XEN=false ctypes-foreign
'';
installPhase = ''
make install XEN=false
'';
meta = with stdenv.lib; {
homepage = https://github.com/ocamllabs/ocaml-ctypes;
description = "Library for binding to C libraries using pure OCaml";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, type_conv, sexplib, pa_ounit}:
buildOcaml rec {
name = "custom_printf";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/custom_printf/archive/${version}.tar.gz";
sha256 = "dad3aface92c53e8fbcc12cc9358c4767cb1cb09857d4819a10ed98eccaca8f9";
};
buildInputs = [ pa_ounit ];
propagatedBuildInputs = [ type_conv sexplib ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/custom_printf;
description = "Syntax extension for printf format strings";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp,
ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp,
reactivedata, opam}:
stdenv.mkDerivation rec
@ -17,7 +17,7 @@ stdenv.mkDerivation rec
buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
js_of_ocaml ocaml_optcomp opam];
propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ocaml_ipaddr
propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ipaddr
calendar cryptokit ocamlnet ocaml_react ocaml_ssl
ocaml_pcre ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4 }:
{ stdenv, fetchurl, ocaml, findlib, type_conv, camlp4 }:
assert stdenv.lib.versionOlder "4.00" (stdenv.lib.getVersion ocaml);
@ -11,7 +11,7 @@ stdenv.mkDerivation {
};
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ ocaml_typeconv camlp4 ];
propagatedBuildInputs = [ type_conv camlp4 ];
createFindlibDestdir = true;

View file

@ -0,0 +1,20 @@
{stdenv, buildOcaml, fetchurl}:
buildOcaml rec {
version = "109.35.02";
name = "herelib";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/herelib/archive/${version}.tar.gz";
sha256 = "7f8394169cb63f6d41e91c9affa1b8ec240d5f6e9dfeda3fbb611df521d4b05a";
};
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/herelib;
description = "Syntax extension for inserting the current location";
license = stdenv.lib.licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,32 @@
{stdenv, buildOcaml, fetchurl, sexplib}:
buildOcaml rec {
name = "ipaddr";
version = "2.6.1";
src = fetchurl {
url = "https://github.com/mirage/ocaml-ipaddr/archive/${version}.tar.gz";
sha256 = "7051013d8f58abff433187d70cd7ddd7a6b49a6fbe6cad1893f571f65b8ed3d0";
};
propagatedBuildInputs = [ sexplib ];
configurePhase = ''
ocaml setup.ml -configure --prefix $out
'';
buildPhase = ''
make build
'';
installPhase = ''
make install
'';
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-ipaddr;
description = "A library for manipulation of IP (and MAC) address representations ";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, batteries, pcre}:
buildOcaml rec {
name = "jingoo";
version = "1.2.7";
src = fetchurl {
url = "https://github.com/tategakibunko/jingoo/archive/v${version}.tar.gz";
sha256 = "8ffc5723d77b323a12761981d048c046af77db47543a4b1076573aa5f4003009";
};
propagatedBuildInputs = [ batteries pcre ];
preInstall = "mkdir -p $out/bin";
installFlags = "BINDIR=$(out)/bin";
meta = with stdenv.lib; {
homepage = https://github.com/tategakibunko/jingoo;
description = "OCaml template engine almost compatible with jinja2";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -16,9 +16,9 @@ stdenv.mkDerivation {
sha256 = "0idci0zadpb8hmblszsrvg6yf36w5a9y6rsdwjc3jww71dgrw5d9";
};
buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib libev ncurses camlp4];
buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib ncurses camlp4];
propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ];
propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text libev ];
configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" "--disable-ppx" ]
++ optional (versionAtLeast ocaml_version "4.0" && ! versionAtLeast ocaml_version "4.02") "--enable-toplevel";

View file

@ -1,23 +0,0 @@
{ocaml, findlib, stdenv, fetchurl, ocaml_sexplib}:
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
stdenv.mkDerivation {
name = "ocaml-ipaddr-2.5.0";
src = fetchurl {
url = https://github.com/mirage/ocaml-ipaddr/archive/2.5.0.tar.gz;
sha256 = "0zpslxzjs5zdw20j3jaf6fr0w2imnidhrzggmnvwp198r76aq917";
};
buildInputs = [ocaml findlib];
propagatedBuildInputs = [ocaml_sexplib];
createFindlibDestdir = true;
meta = with stdenv.lib; {
description = "An OCaml library for manipulation of IP (and MAC) address representations";
license = licenses.isc;
maintainers = [ maintainers.vbgl ];
platforms = ocaml.meta.platforms;
};
}

View file

@ -1,17 +1,17 @@
{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl,
ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib,
ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
libev, openssl, ocaml_sqlite3, tree, uutf}:
stdenv.mkDerivation {
name = "ocsigenserver-2.5";
src = fetchurl {
url = https://github.com/ocsigen/ocsigenserver/archive/2.5.tar.gz;
sha256 = "0ayzlzjwg199va4sclsldlcp0dnwdj45ahhg9ckb51m28c2pw46r";
};
buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt
ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl
ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
ocaml_sqlite3 tree uutf];
configureFlags = "--root $(out) --prefix /";
@ -20,7 +20,7 @@ stdenv.mkDerivation {
createFindlibDestdir = true;
postFixup =
postFixup =
''
rm -rf $out/var/run
'';

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, ounit, camlp4}:
{stdenv, fetchurl, ocaml, findlib, type_conv, ounit, camlp4}:
stdenv.mkDerivation {
name = "ocaml-data-notation-0.0.11";
@ -8,7 +8,7 @@ stdenv.mkDerivation {
sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj";
};
buildInputs = [ocaml findlib ocaml_typeconv ounit camlp4];
buildInputs = [ocaml findlib type_conv ounit camlp4];
createFindlibDestdir = true;

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, type_conv, pa_ounit}:
buildOcaml rec {
name = "pa_bench";
version = "112.06.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/pa_bench/archive/${version}.tar.gz";
sha256 = "e3401e37f1d3d4acb957fd46a192d0ffcefeb0bedee63bbeb26969af1d540870";
};
buildInputs = [ pa_ounit ];
propagatedBuildInputs = [ type_conv ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/pa_bench;
description = "Syntax extension for inline benchmarks";
license = stdenv.lib.licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,20 @@
{stdenv, buildOcaml, fetchurl, ounit}:
buildOcaml rec {
name = "pa_ounit";
version = "112.24.00";
src = fetchurl {
url = "https://github.com/janestreet/pa_ounit/archive/${version}.tar.gz";
sha256 = "fa04e72fe1db41e6dc64f9707cf5705cb9b957aa93265120c875c808eb9b9b96";
};
propagatedBuildInputs = [ ounit ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/pa_ounit;
description = "OCaml inline testing";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, type_conv, pa_ounit, sexplib, herelib}:
buildOcaml rec {
name = "pa_test";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/pa_test/archive/${version}.tar.gz";
sha256 = "b03d13c2bc9fa9a4b1c507d7108d965202160f83e9781d430d3b53a1993e30d6";
};
buildInputs = [ pa_ounit ];
propagatedBuildInputs = [ type_conv sexplib herelib ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/pa_test;
description = "Syntax to reduce boiler plate in testing";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,20 @@
{stdenv, buildOcaml, fetchurl}:
buildOcaml rec {
name = "pipebang";
version = "110.01.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/pipebang/archive/${version}.tar.gz";
sha256 = "a8858d9607c15cdf0a775196be060c8d91de724fc80a347d7a76ef1d38329096";
};
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/pipebang;
description = "Syntax extension to transform x |! f into f x";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,17 @@
--- ./lib/Makefile 2014-11-18 08:16:19.000000000 -0800
+++ ./lib/Makefile 2015-05-23 14:48:31.000000000 -0700
@@ -6,12 +6,12 @@
all: libre2_stubs.a dllre2_stubs.so
dllre2_stubs.so libre2_stubs.a: stubs.o $(LIBRE2)
- ocamlmklib -oc re2_stubs stubs.o $(LIBRE2) -lstdc++
+ ocamlmklib -oc re2_stubs stubs.o $(LIBRE2) -lc++
rm libre2_stubs.a # ocamlmklib just includes $(LIBRE2) inside the stubs archive
cp $(LIBRE2) libre2_stubs.a && ar r libre2_stubs.a stubs.o
stubs.o: stubs.cpp stubs.h util.h enum_x_macro.h
- g++ -O2 -DPIC -fPIC -g -pipe -DCAML_NAME_SPACE -Wall -I. -I../../../include \
+ $(CXX) -O2 -DPIC -fPIC -g -pipe -DCAML_NAME_SPACE -Wall -I. -I../../../include \
-I$(RE2_HOME) -I$(ocaml-version-selected-include-path) -c stubs.cpp
#stubs.o: %.o: %.cpp %.h

View file

@ -0,0 +1,29 @@
{stdenv, buildOcaml, fetchurl, ocaml, core, pa_ounit, pa_test,
bin_prot, comparelib, sexplib, rsync}:
buildOcaml rec {
name = "re2";
version = "112.06.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/re2/archive/${version}.tar.gz";
sha256 = "a538765872363fcb67f12b95c07455a0afd68f5ae9008b59bb85a996d97cc752";
};
patches = if stdenv.isDarwin
then [./Makefile.patch ./myocamlbuild.patch]
else null;
buildInputs = [ pa_ounit pa_test rsync ];
propagatedBuildInputs = [ core bin_prot comparelib sexplib ];
hasSharedObjects = true;
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/re2;
description = "OCaml bindings for RE2";
license = stdenv.lib.licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -0,0 +1,24 @@
--- ./myocamlbuild.ml 2015-05-23 14:35:18.000000000 -0700
+++ ./myocamlbuild.ml 2015-05-23 15:05:24.000000000 -0700
@@ -626,16 +626,18 @@
rule "Generate lib/options.ml"
~prod:"lib/options.ml"
~deps:["lib/options.mlp"; "lib/enum_x_macro.h"]
- (fun _ _ -> Cmd (S[A"gcc"; A"-E"; A"-P"; A"-x"; A"c";
+ (fun _ _ -> Cmd (S[A"cc"; A"-E"; A"-P"; A"-x"; A"c";
P"lib/options.mlp"; A"-o"; P"lib/options.ml"]));
flag ["ocaml"; "link"; "library"; "native"] (S[A"-cclib"; A"-Llib";
A"-cclib"; A"-lre2_stubs";
- A"-cclib"; A"-lstdc++"]);
+ A"-ccopt"; A"--stdlib=libc++";
+ A"-cclib"; A"-lc++"]);
flag ["ocaml"; "link"; "library"; "byte"] (S[A"-dllib"; A"dllre2_stubs.so";
A"-cclib"; A"-Llib";
A"-cclib"; A"-lre2_stubs";
- A"-cclib"; A"-lstdc++"]);
+ A"-ccopt"; A"--stdlib=libc++";
+ A"-cclib"; A"-lc++"]);
| _ ->
()

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib, typeconv, camlp4}:
{stdenv, fetchurl, ocaml, findlib, type_conv, camlp4}:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
@ -15,7 +15,7 @@ stdenv.mkDerivation {
};
buildInputs = [ocaml findlib];
propagatedBuildInputs = [typeconv camlp4];
propagatedBuildInputs = [type_conv camlp4];
createFindlibDestdir = true;

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4}:
{stdenv, fetchurl, ocaml, findlib, type_conv, camlp4}:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
@ -7,7 +7,7 @@ in
assert stdenv.lib.versionOlder "4.00" ocaml_version;
stdenv.mkDerivation {
name = "ocaml-sexplib-111.25.0";
name = "ocaml-sexplib-111.25.00";
src = fetchurl {
url = https://ocaml.janestreet.com/ocaml-core/111.25.00/individual/sexplib-111.25.00.tar.gz;
@ -15,7 +15,7 @@ stdenv.mkDerivation {
};
buildInputs = [ocaml findlib];
propagatedBuildInputs = [ocaml_typeconv camlp4];
propagatedBuildInputs = [type_conv camlp4];
createFindlibDestdir = true;
@ -23,7 +23,7 @@ stdenv.mkDerivation {
homepage = https://ocaml.janestreet.com/;
description = "Library for serializing OCaml values to and from S-expressions";
license = licenses.asl20;
maintainers = [ maintainers.vbgl ];
maintainers = [ maintainers.vbgl maintainers.ericbmerritt ];
platforms = ocaml.meta.platforms;
};
}

View file

@ -0,0 +1,21 @@
{stdenv, buildOcaml, fetchurl, type_conv, camlp4}:
buildOcaml rec {
minimumSupportedOcamlVersion = "4.02";
name = "sexplib";
version = "112.24.01";
src = fetchurl {
url = "https://github.com/janestreet/sexplib/archive/${version}.tar.gz";
sha256 = "5f776aee295cc51c952aecd4b74b52dd2b850c665cc25b3d69bc42014d3ba073";
};
propagatedBuildInputs = [ type_conv camlp4 ];
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.ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, core, pa_ounit, pa_test, sexplib}:
buildOcaml rec {
name = "textutils";
version = "112.17.00";
minimalSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/textutils/archive/${version}.tar.gz";
sha256 = "605d9fde66dc2d777721c936aa521e17169c143efaf9ff29619a7f273a7d0052";
};
buildInputs = [ pa_test ];
propagatedBuildInputs = [ core pa_ounit sexplib ];
meta = with stdenv.lib; {
homepage = https://github.com/janestreet/textutils;
description = "";
license = stdenv.lib.licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -7,7 +7,7 @@ in
assert stdenv.lib.versionOlder "3.12" ocaml_version;
stdenv.mkDerivation {
name = "ocaml-typeconv-108.08.00";
name = "ocaml-type_conv-108.08.00";
src = fetchurl {
url = https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/type_conv-108.08.00.tar.gz;

View file

@ -7,7 +7,7 @@ in
assert stdenv.lib.versionOlder "4.00" ocaml_version;
stdenv.mkDerivation {
name = "ocaml-typeconv-109.60.01";
name = "ocaml-type_conv-109.60.01";
src = fetchurl {
url = https://github.com/janestreet/type_conv/archive/109.60.01.tar.gz;

View file

@ -0,0 +1,20 @@
{stdenv, fetchurl, buildOcaml}:
buildOcaml rec {
minimumSupportedOcamlVersion = "4.02";
name = "type_conv";
version = "112.01.01";
src = fetchurl {
url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
sha256 = "dbbc33b7ab420e8442d79ba4308ea6c0c16903b310d33525be18841159aa8855";
};
meta = {
homepage = "https://github.com/janestreet/type_conv/";
description = "Support library for preprocessor type conversions";
license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ z77z ericbmerritt ];
};
}

View file

@ -0,0 +1,23 @@
{stdenv, buildOcaml, fetchurl, type_conv}:
buildOcaml rec {
name = "typerep";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/typerep/archive/${version}.tar.gz";
sha256 = "4f1ab611a00aaf774e9774b26b687233e0c70d91f684415a876f094a9969eada";
};
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.ericbmerritt ];
};
}

View file

@ -0,0 +1,22 @@
{stdenv, buildOcaml, fetchurl, type_conv}:
buildOcaml rec {
name = "variantslib";
version = "109.15.03";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/variantslib/archive/${version}.tar.gz";
sha256 = "a948dcdd4ca54786fe0646386b6e37a9db03bf276c6557ea374d82740bf18055";
};
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.ericbmerritt ];
};
}

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv, camlp4,
{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4,
ocamlmod, ocamlify, ounit, expect}:
stdenv.mkDerivation {
@ -13,7 +13,7 @@ stdenv.mkDerivation {
buildInputs =
[
ocaml findlib ocaml_typeconv ocamlmod ocamlify ounit camlp4
ocaml findlib type_conv ocamlmod ocamlify ounit camlp4
];
propagatedBuildInputs = [ ocaml_data_notation ];

View file

@ -38,7 +38,7 @@ let
};
opam = fetchurl {
url = "https://github.com/ocaml/opam/archive/1.2.2.zip";
sha256 = "1fxd5axlh9f3jb47y9paa9ld78qwcyp7pv3m60k401ym1dps32jk";
sha256 = "c590ce55ae69ec74f46215cf16a156a02b23c5f3ecb22f23a3ad9ba3d91ddb6e";
};
};
in stdenv.mkDerivation rec {

View file

@ -4065,13 +4065,34 @@ let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in rec {
inherit ocaml;
buildOcaml = callPackage ../build-support/ocaml { };
acgtk = callPackage ../applications/science/logic/acgtk { };
alcotest = callPackage ../development/ocaml-modules/alcotest {};
ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
async_extra = callPackage ../development/ocaml-modules/async_extra { };
async_find = callPackage ../development/ocaml-modules/async_find { };
async_kernel = callPackage ../development/ocaml-modules/async_kernel { };
async_shell = callPackage ../development/ocaml-modules/async_shell { };
async_ssl = callPackage ../development/ocaml-modules/async_ssl { };
async_unix = callPackage ../development/ocaml-modules/async_unix { };
async = callPackage ../development/ocaml-modules/async { };
atd = callPackage ../development/ocaml-modules/atd { };
atdgen = callPackage ../development/ocaml-modules/atdgen { };
base64 = callPackage ../development/ocaml-modules/base64 { };
bolt = callPackage ../development/ocaml-modules/bolt { };
@ -4123,8 +4144,14 @@ let
};
camlimages = camlimages_4_1;
conduit = callPackage ../development/ocaml-modules/conduit {
lwt = ocaml_lwt;
};
biniou = callPackage ../development/ocaml-modules/biniou { };
bin_prot = callPackage ../development/ocaml-modules/bin_prot { };
ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
ocaml_cairo2 = callPackage ../development/ocaml-modules/ocaml-cairo2 { };
@ -4133,6 +4160,10 @@ let
cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
cohttp = callPackage ../development/ocaml-modules/cohttp {
lwt = ocaml_lwt;
};
config-file = callPackage ../development/ocaml-modules/config-file { };
cpdf = callPackage ../development/ocaml-modules/cpdf { };
@ -4143,11 +4174,14 @@ let
cstruct = callPackage ../development/ocaml-modules/cstruct {
lwt = ocaml_lwt;
sexplib = ocaml_sexplib;
};
csv = callPackage ../development/ocaml-modules/csv { };
custom_printf = callPackage ../development/ocaml-modules/custom_printf { };
ctypes = callPackage ../development/ocaml-modules/ctypes { };
deriving = callPackage ../development/tools/ocaml/deriving { };
dolog = callPackage ../development/ocaml-modules/dolog { };
@ -4158,9 +4192,7 @@ let
eliom = callPackage ../development/ocaml-modules/eliom { };
enumerate = callPackage ../development/ocaml-modules/enumerate {
type_conv = ocaml_typeconv;
};
enumerate = callPackage ../development/ocaml-modules/enumerate { };
erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
@ -4168,7 +4200,6 @@ let
ezjsonm = callPackage ../development/ocaml-modules/ezjsonm {
lwt = ocaml_lwt;
sexplib = ocaml_sexplib;
};
fieldslib = callPackage ../development/ocaml-modules/fieldslib { };
@ -4181,8 +4212,12 @@ let
functory = callPackage ../development/ocaml-modules/functory { };
herelib = callPackage ../development/ocaml-modules/herelib { };
io-page = callPackage ../development/ocaml-modules/io-page { };
ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
javalib = callPackage ../development/ocaml-modules/javalib {
extlib = ocaml_extlib_maximal;
};
@ -4201,6 +4236,11 @@ let
hex = callPackage ../development/ocaml-modules/hex { };
jingoo = callPackage ../development/ocaml-modules/jingoo {
batteries = ocaml_batteries;
pcre = ocaml_pcre;
};
js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
jsonm = callPackage ../development/ocaml-modules/jsonm { };
@ -4247,6 +4287,14 @@ let
ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
comparelib = callPackage ../development/ocaml-modules/comparelib { };
core_extended = callPackage ../development/ocaml-modules/core_extended { };
core_kernel = callPackage ../development/ocaml-modules/core_kernel { };
core = callPackage ../development/ocaml-modules/core { };
ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
@ -4261,8 +4309,6 @@ let
ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
ocaml_ipaddr = callPackage ../development/ocaml-modules/ocaml-ipaddr { };
ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
@ -4310,6 +4356,8 @@ let
ounit = callPackage ../development/ocaml-modules/ounit { };
re2 = callPackage ../development/ocaml-modules/re2 { };
tyxml = callPackage ../development/ocaml-modules/tyxml { };
ulex = callPackage ../development/ocaml-modules/ulex { };
@ -4318,20 +4366,29 @@ let
camlp5 = camlp5_transitional;
};
typeconv_108_08_00 = callPackage ../development/ocaml-modules/typeconv/108.08.00.nix { };
ocaml_typeconv =
if lib.versionOlder "4.00" ocaml_version
then callPackage ../development/ocaml-modules/typeconv { }
textutils = callPackage ../development/ocaml-modules/textutils { };
type_conv_108_08_00 = callPackage ../development/ocaml-modules/type_conv/108.08.00.nix { };
type_conv_109_60_01 = callPackage ../development/ocaml-modules/type_conv/109.60.01.nix { };
type_conv_112_01_01 = callPackage ../development/ocaml-modules/type_conv/112.01.01.nix { };
type_conv =
if lib.versionOlder "4.02" ocaml_version
then type_conv_112_01_01
else if lib.versionOlder "4.00" ocaml_version
then type_conv_109_60_01
else if lib.versionOlder "3.12" ocaml_version
then typeconv_108_08_00
then type_conv_108_08_00
else null;
sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix {
typeconv = typeconv_108_08_00;
};
ocaml_sexplib =
if lib.versionOlder "4.00" ocaml_version
then callPackage ../development/ocaml-modules/sexplib { }
sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix { };
sexplib_111_25_00 = callPackage ../development/ocaml-modules/sexplib/111.25.00.nix { };
sexplib_112_24_01 = callPackage ../development/ocaml-modules/sexplib/112.24.01.nix { };
sexplib =
if lib.versionOlder "4.02" ocaml_version
then sexplib_112_24_01
else if lib.versionOlder "4.00" ocaml_version
then sexplib_111_25_00
else if lib.versionOlder "3.12" ocaml_version
then sexplib_108_08_00
else null;
@ -4343,6 +4400,14 @@ let
ocurl = callPackage ../development/ocaml-modules/ocurl { };
pa_ounit = callPackage ../development/ocaml-modules/pa_ounit { };
pa_bench = callPackage ../development/ocaml-modules/pa_bench { };
pa_test = callPackage ../development/ocaml-modules/pa_test { };
pipebang = callPackage ../development/ocaml-modules/pipebang { };
pprint = callPackage ../development/ocaml-modules/pprint { };
pycaml = callPackage ../development/ocaml-modules/pycaml { };
@ -4361,6 +4426,8 @@ let
twt = callPackage ../development/ocaml-modules/twt { };
typerep = callPackage ../development/ocaml-modules/typerep { };
utop = callPackage ../development/tools/ocaml/utop { };
sawja = callPackage ../development/ocaml-modules/sawja { };
@ -4369,13 +4436,13 @@ let
uucp = callPackage ../development/ocaml-modules/uucp { };
uunf = callPackage ../development/ocaml-modules/uunf { };
uri = callPackage ../development/ocaml-modules/uri {
sexplib = ocaml_sexplib;
};
uri = callPackage ../development/ocaml-modules/uri { };
uuseg = callPackage ../development/ocaml-modules/uuseg { };
uutf = callPackage ../development/ocaml-modules/uutf { };
variantslib = callPackage ../development/ocaml-modules/variantslib { };
vg = callPackage ../development/ocaml-modules/vg { };
xmlm = callPackage ../development/ocaml-modules/xmlm { };