Merge pull request #7823 from ericbmerritt/ocaml-enhancements
Ocaml enhancements
This commit is contained in:
commit
2857d5d7a8
|
@ -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>";
|
||||
|
|
|
@ -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;
|
||||
})
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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++"]);
|
||||
| _ ->
|
||||
()
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
|
@ -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;
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in New Issue