python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / top-level / ocaml-packages.nix
blob7276fab86d8ad6ea9c4e101b8e490686a7db70c2
1 { lib, newScope, pkgs, config }:
3 let
4   liftJaneStreet = self: super: super.janeStreet // super;
6   mkOcamlPackages = ocaml:
7     (lib.makeScope newScope (self: with self;
8   {
9     inherit ocaml;
11     # Libs
13     buildOasisPackage = callPackage ../build-support/ocaml/oasis.nix { };
15     buildDunePackage = callPackage ../build-support/ocaml/dune.nix {};
17     afl-persistent = callPackage ../development/ocaml-modules/afl-persistent { };
19     alcotest = callPackage ../development/ocaml-modules/alcotest {};
21     alcotest-lwt = callPackage ../development/ocaml-modules/alcotest/lwt.nix {};
23     alcotest-mirage = callPackage ../development/ocaml-modules/alcotest/mirage.nix {};
25     alsa = callPackage ../development/ocaml-modules/alsa { };
27     angstrom = callPackage ../development/ocaml-modules/angstrom { };
29     angstrom-async = callPackage ../development/ocaml-modules/angstrom-async { };
31     angstrom-lwt-unix = callPackage ../development/ocaml-modules/angstrom-lwt-unix { };
33     angstrom-unix = callPackage ../development/ocaml-modules/angstrom-unix { };
35     ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
37     ao = callPackage ../development/ocaml-modules/ao { };
39     apron = callPackage ../development/ocaml-modules/apron { };
41     arp = callPackage ../development/ocaml-modules/arp { };
43     asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
45     astring = callPackage ../development/ocaml-modules/astring { };
47     atd = callPackage ../development/ocaml-modules/atd { };
49     atdgen = callPackage ../development/ocaml-modules/atdgen { };
51     atdgen-codec-runtime = callPackage ../development/ocaml-modules/atdgen/codec-runtime.nix { };
53     atdgen-runtime = callPackage ../development/ocaml-modules/atdgen/runtime.nix { };
55     awa = callPackage ../development/ocaml-modules/awa { };
57     awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { };
59     awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { };
61     base64 = callPackage ../development/ocaml-modules/base64 { };
63     bap = callPackage ../development/ocaml-modules/bap {
64       inherit (pkgs.llvmPackages) llvm;
65     };
67     batteries = callPackage ../development/ocaml-modules/batteries { };
69     bheap = callPackage ../development/ocaml-modules/bheap { };
71     bigarray-compat = callPackage ../development/ocaml-modules/bigarray-compat { };
73     bigarray-overlap = callPackage ../development/ocaml-modules/bigarray-overlap { };
75     bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
77     bigstring = callPackage ../development/ocaml-modules/bigstring { };
79     bindlib = callPackage ../development/ocaml-modules/bindlib { };
81     biocaml = callPackage ../development/ocaml-modules/biocaml { };
83     bistro = callPackage ../development/ocaml-modules/bistro { };
85     bitstring = callPackage ../development/ocaml-modules/bitstring { };
87     bitv = callPackage ../development/ocaml-modules/bitv { };
89     bjack = callPackage ../development/ocaml-modules/bjack { };
91     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
92     bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
93     bls12-381-legacy = callPackage ../development/ocaml-modules/bls12-381/legacy.nix { };
95     bls12-381-signature = callPackage ../development/ocaml-modules/bls12-381-signature { };
97     bos = callPackage ../development/ocaml-modules/bos { };
99     brisk-reconciler = callPackage ../development/ocaml-modules/brisk-reconciler { };
101     bwd = callPackage ../development/ocaml-modules/bwd { };
103     bz2 = callPackage ../development/ocaml-modules/bz2 { };
105     ca-certs = callPackage ../development/ocaml-modules/ca-certs { };
107     ca-certs-nss = callPackage ../development/ocaml-modules/ca-certs-nss { };
109     carton = callPackage ../development/ocaml-modules/carton { };
111     carton-git = callPackage ../development/ocaml-modules/carton/git.nix { };
113     carton-lwt = callPackage ../development/ocaml-modules/carton/lwt.nix {
114       git-binary = pkgs.git;
115     };
117     camlidl = callPackage ../development/tools/ocaml/camlidl { };
119     camlp-streams = callPackage ../development/ocaml-modules/camlp-streams { };
121     camlp4 =
122       if lib.versionOlder "4.02" ocaml.version
123       then callPackage ../development/tools/ocaml/camlp4 { }
124       else null;
126     camlp5 = callPackage ../development/tools/ocaml/camlp5 { };
128     # Compatibility alias
129     camlp5_strict = camlp5;
131     camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
133     calendar = callPackage ../development/ocaml-modules/calendar { };
135     camlzip = callPackage ../development/ocaml-modules/camlzip { };
137     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
138     camomile =
139       if lib.versionOlder "4.02" ocaml.version
140       then callPackage ../development/ocaml-modules/camomile { }
141       else callPackage ../development/ocaml-modules/camomile/0.8.5.nix { };
143     camlimages_4_2_4 = callPackage ../development/ocaml-modules/camlimages/4.2.4.nix { };
145     camlimages = callPackage ../development/ocaml-modules/camlimages { };
147     class_group_vdf = callPackage ../development/ocaml-modules/class_group_vdf { };
149     benchmark = callPackage ../development/ocaml-modules/benchmark { };
151     biniou = callPackage ../development/ocaml-modules/biniou { };
153     bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
155     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
157     cairo2 = callPackage ../development/ocaml-modules/cairo2 {
158       inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
159     };
161     callipyge = callPackage ../development/ocaml-modules/callipyge { };
163     caqti = callPackage ../development/ocaml-modules/caqti { };
165     caqti-async = callPackage ../development/ocaml-modules/caqti/async.nix { };
167     caqti-driver-mariadb = callPackage ../development/ocaml-modules/caqti/driver-mariadb.nix { };
169     caqti-driver-postgresql = callPackage ../development/ocaml-modules/caqti/driver-postgresql.nix { };
171     caqti-driver-sqlite3 = callPackage ../development/ocaml-modules/caqti/driver-sqlite3.nix { };
173     caqti-dynload = callPackage ../development/ocaml-modules/caqti/dynload.nix { };
175     caqti-lwt = callPackage ../development/ocaml-modules/caqti/lwt.nix { };
177     caqti-type-calendar = callPackage ../development/ocaml-modules/caqti/type-calendar.nix { };
179     cfstream = callPackage ../development/ocaml-modules/cfstream { };
181     chacha = callPackage ../development/ocaml-modules/chacha { };
183     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
185     checkseum = callPackage ../development/ocaml-modules/checkseum { };
187     chrome-trace = callPackage ../development/ocaml-modules/chrome-trace { };
189     cil = callPackage ../development/ocaml-modules/cil { };
191     cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
193     cmdliner_1_1 = callPackage ../development/ocaml-modules/cmdliner/1_1.nix { };
195     # The 1.1.0 release broke a lot of packages and is not compatible with
196     # OCaml < 4.08.
197     cmdliner =
198       if lib.versionAtLeast ocaml.version "4.08"
199       then cmdliner_1_1
200       else cmdliner_1_0;
202     cohttp = callPackage ../development/ocaml-modules/cohttp { };
204     cohttp-async = callPackage ../development/ocaml-modules/cohttp/async.nix { };
206     cohttp-lwt = callPackage ../development/ocaml-modules/cohttp/lwt.nix { };
208     cohttp-lwt-unix = callPackage ../development/ocaml-modules/cohttp/lwt-unix.nix { };
210     cohttp-mirage = callPackage ../development/ocaml-modules/cohttp/mirage.nix { };
212     color = callPackage ../development/ocaml-modules/color { };
214     conduit = callPackage ../development/ocaml-modules/conduit { };
216     conduit-async = callPackage ../development/ocaml-modules/conduit/async.nix { };
218     conduit-lwt = callPackage ../development/ocaml-modules/conduit/lwt.nix { };
220     conduit-lwt-unix = callPackage ../development/ocaml-modules/conduit/lwt-unix.nix { };
222     conduit-mirage = callPackage ../development/ocaml-modules/conduit/mirage.nix { };
224     coin =  callPackage ../development/ocaml-modules/coin { };
226     config-file = callPackage ../development/ocaml-modules/config-file { };
228     containers = callPackage ../development/ocaml-modules/containers { };
230     containers-data = callPackage ../development/ocaml-modules/containers/data.nix { };
232     cooltt = callPackage ../development/ocaml-modules/cooltt { };
234     cow = callPackage ../development/ocaml-modules/cow { };
236     cpdf = callPackage ../development/ocaml-modules/cpdf { };
238     cppo = callPackage ../development/tools/ocaml/cppo { };
240     cppo_ocamlbuild = callPackage ../development/tools/ocaml/cppo/ocamlbuild.nix { };
242     cpu = callPackage ../development/ocaml-modules/cpu { };
244     cpuid = callPackage ../development/ocaml-modules/cpuid { };
246     crowbar = callPackage ../development/ocaml-modules/crowbar { };
248     crunch = callPackage ../development/tools/ocaml/crunch { };
250     cry = callPackage ../development/ocaml-modules/cry { };
252     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
254     csexp = callPackage ../development/ocaml-modules/csexp { };
256     cstruct = callPackage ../development/ocaml-modules/cstruct {};
258     cstruct-async = callPackage ../development/ocaml-modules/cstruct/async.nix { };
260     cstruct-lwt = callPackage ../development/ocaml-modules/cstruct/lwt.nix { };
262     cstruct-sexp = callPackage ../development/ocaml-modules/cstruct/sexp.nix {};
264     cstruct-unix = callPackage ../development/ocaml-modules/cstruct/unix.nix {};
266     csv =
267       if lib.versionAtLeast ocaml.version "4.2"
268       then callPackage ../development/ocaml-modules/csv { }
269       else callPackage ../development/ocaml-modules/csv/1.5.nix { };
271     csv-lwt = callPackage ../development/ocaml-modules/csv/lwt.nix { };
273     cudf = callPackage ../development/ocaml-modules/cudf { };
275     curly = callPackage ../development/ocaml-modules/curly {
276       inherit (pkgs) curl;
277     };
279     curses = callPackage ../development/ocaml-modules/curses { };
281     ctypes = callPackage ../development/ocaml-modules/ctypes { };
283     ctypes_stubs_js = callPackage ../development/ocaml-modules/ctypes_stubs_js {
284       inherit (pkgs) nodejs;
285     };
287     dap =  callPackage ../development/ocaml-modules/dap { };
289     data-encoding = callPackage ../development/ocaml-modules/data-encoding { };
291     dbf =  callPackage ../development/ocaml-modules/dbf { };
293     decompress =  callPackage ../development/ocaml-modules/decompress { };
295     dedukti =  callPackage ../development/ocaml-modules/dedukti { };
297     diet =  callPackage ../development/ocaml-modules/diet { };
299     digestif =  callPackage ../development/ocaml-modules/digestif { };
301     directories =  callPackage ../development/ocaml-modules/directories { };
303     dispatch =  callPackage ../development/ocaml-modules/dispatch { };
305     dns =  callPackage ../development/ocaml-modules/dns { };
307     dns-certify =  callPackage ../development/ocaml-modules/dns/certify.nix { };
309     dns-cli =  callPackage ../development/ocaml-modules/dns/cli.nix { };
311     dns-client =  callPackage ../development/ocaml-modules/dns/client.nix { };
313     dns-mirage = callPackage ../development/ocaml-modules/dns/mirage.nix { };
315     dns-resolver = callPackage ../development/ocaml-modules/dns/resolver.nix { };
317     dns-server = callPackage ../development/ocaml-modules/dns/server.nix { };
319     dns-stub = callPackage ../development/ocaml-modules/dns/stub.nix { };
321     dns-tsig = callPackage ../development/ocaml-modules/dns/tsig.nix { };
323     dnssec = callPackage ../development/ocaml-modules/dns/dnssec.nix { };
325     dolmen =  callPackage ../development/ocaml-modules/dolmen { };
327     dolog = callPackage ../development/ocaml-modules/dolog { };
329     domain-name = callPackage ../development/ocaml-modules/domain-name { };
331     dose3 = callPackage ../development/ocaml-modules/dose3 { };
333     dssi = callPackage ../development/ocaml-modules/dssi { };
335     dtoa = callPackage ../development/ocaml-modules/dtoa { };
337     dtools = callPackage ../development/ocaml-modules/dtools { };
339     duff = callPackage ../development/ocaml-modules/duff { };
341     dum = callPackage ../development/ocaml-modules/dum { };
343     dune_1 = callPackage ../development/tools/ocaml/dune/1.nix { };
345     dune_2 =
346       if lib.versionAtLeast ocaml.version "4.08"
347       then callPackage ../development/tools/ocaml/dune/2.nix { }
348       else if lib.versionAtLeast ocaml.version "4.02"
349       then pkgs.dune_2
350       else throw "dune_2 is not available for OCaml ${ocaml.version}";
352     dune_3 = callPackage ../development/tools/ocaml/dune/3.nix { };
354     dune-action-plugin = callPackage ../development/ocaml-modules/dune-action-plugin { };
356     dune-build-info = callPackage ../development/ocaml-modules/dune-build-info { };
358     dune-configurator = callPackage ../development/ocaml-modules/dune-configurator { };
360     dune-glob = callPackage ../development/ocaml-modules/dune-glob { };
362     dune-private-libs = callPackage ../development/ocaml-modules/dune-private-libs { };
364     dune-release = callPackage ../development/tools/ocaml/dune-release {
365       inherit (pkgs) opam git mercurial coreutils gnutar bzip2;
366     };
368     dune-rpc = callPackage ../development/ocaml-modules/dune-rpc { };
370     dune-site = callPackage ../development/ocaml-modules/dune-site { };
372     duppy = callPackage ../development/ocaml-modules/duppy { };
374     duration =  callPackage ../development/ocaml-modules/duration { };
376     dyn =  callPackage ../development/ocaml-modules/dyn { };
378     earley = callPackage ../development/ocaml-modules/earley { };
380     earlybird = callPackage ../development/ocaml-modules/earlybird { };
382     easy-format = callPackage ../development/ocaml-modules/easy-format { };
384     eigen = callPackage ../development/ocaml-modules/eigen { };
386     either = callPackage ../development/ocaml-modules/either { };
388     elina = callPackage ../development/ocaml-modules/elina { };
390     eliom = callPackage ../development/ocaml-modules/eliom { };
392     elpi = callPackage ../development/ocaml-modules/elpi (
393       let ppxlib_0_15 = if lib.versionAtLeast ppxlib.version "0.15"
394         then ppxlib.override { version = "0.15.0"; }
395         else ppxlib; in
396       {
397         ppx_deriving_0_15 = ppx_deriving.override { ppxlib = ppxlib_0_15; };
398         inherit ppxlib_0_15;
399       }
400     );
402     encore = callPackage ../development/ocaml-modules/encore { };
404     emile = callPackage ../development/ocaml-modules/emile { };
406     eqaf = callPackage ../development/ocaml-modules/eqaf { };
408     erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
410     erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
412     ethernet = callPackage ../development/ocaml-modules/ethernet { };
414     ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { };
416     ezxmlm = callPackage ../development/ocaml-modules/ezxmlm { };
418     faad = callPackage ../development/ocaml-modules/faad { };
420     facile = callPackage ../development/ocaml-modules/facile { };
422     faraday = callPackage ../development/ocaml-modules/faraday { };
424     faraday-async = callPackage ../development/ocaml-modules/faraday/async.nix { };
426     faraday-lwt = callPackage ../development/ocaml-modules/faraday/lwt.nix { };
428     faraday-lwt-unix = callPackage ../development/ocaml-modules/faraday/lwt-unix.nix { };
430     farfadet = callPackage ../development/ocaml-modules/farfadet { };
432     fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
434     ff = callPackage ../development/ocaml-modules/ff { };
435     ff-pbt = callPackage ../development/ocaml-modules/ff/pbt.nix { };
436     ff-sig = callPackage ../development/ocaml-modules/ff/sig.nix { };
438     ffmpeg = callPackage ../development/ocaml-modules/ffmpeg { };
439     ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix {
440       inherit (pkgs) ffmpeg;
441     };
442     ffmpeg-avcodec = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix {
443       inherit (pkgs) ffmpeg;
444     };
445     ffmpeg-avfilter = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix {
446       inherit (pkgs) ffmpeg;
447     };
448     ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix {
449       inherit (pkgs) ffmpeg;
450     };
451     ffmpeg-swresample = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix {
452       inherit (pkgs) ffmpeg;
453     };
454     ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix {
455       inherit (pkgs) ffmpeg;
456     };
457     ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
458       inherit (pkgs) ffmpeg;
459     };
461     fiber = callPackage ../development/ocaml-modules/fiber { };
463     fileutils = callPackage ../development/ocaml-modules/fileutils { };
465     findlib = callPackage ../development/tools/ocaml/findlib { };
467     fix = callPackage ../development/ocaml-modules/fix { };
469     flac = callPackage ../development/ocaml-modules/flac {
470       inherit (pkgs) flac;
471     };
473     flex = callPackage ../development/ocaml-modules/flex { };
475     fmt = callPackage ../development/ocaml-modules/fmt { };
477     fontconfig = callPackage ../development/ocaml-modules/fontconfig {
478       inherit (pkgs) fontconfig;
479     };
481     fpath = callPackage ../development/ocaml-modules/fpath { };
483     frei0r = callPackage ../development/ocaml-modules/frei0r {
484       inherit (pkgs) frei0r;
485     };
487     functoria = callPackage ../development/ocaml-modules/functoria { };
489     functoria-runtime = callPackage ../development/ocaml-modules/functoria/runtime.nix { };
491     functory = callPackage ../development/ocaml-modules/functory { };
493     gd4o = callPackage ../development/ocaml-modules/gd4o { };
495     gen = callPackage ../development/ocaml-modules/gen { };
497     genspio = callPackage ../development/ocaml-modules/genspio { };
499     getopt = callPackage ../development/ocaml-modules/getopt { };
501     gluten = callPackage ../development/ocaml-modules/gluten { };
502     gluten-lwt = callPackage ../development/ocaml-modules/gluten/lwt.nix { };
503     gluten-lwt-unix = callPackage ../development/ocaml-modules/gluten/lwt-unix.nix { };
505     gmap = callPackage ../development/ocaml-modules/gmap { };
507     gnuplot = callPackage ../development/ocaml-modules/gnuplot {
508       inherit (pkgs) gnuplot;
509     };
511     gsl = callPackage ../development/ocaml-modules/gsl {
512       inherit (pkgs) gsl;
513     };
515     gstreamer = callPackage ../development/ocaml-modules/gstreamer { };
517     h2 = callPackage ../development/ocaml-modules/h2 { };
519     hack_parallel = callPackage ../development/ocaml-modules/hack_parallel { };
521     hacl-star = callPackage ../development/ocaml-modules/hacl-star { };
522     hacl-star-raw = callPackage ../development/ocaml-modules/hacl-star/raw.nix { };
524     happy-eyeballs = callPackage ../development/ocaml-modules/happy-eyeballs { };
526     happy-eyeballs-lwt = callPackage ../development/ocaml-modules/happy-eyeballs/lwt.nix { };
528     happy-eyeballs-mirage = callPackage ../development/ocaml-modules/happy-eyeballs/mirage.nix { };
530     hashcons = callPackage ../development/ocaml-modules/hashcons { };
532     hidapi = callPackage ../development/ocaml-modules/hidapi { };
534     higlo = callPackage ../development/ocaml-modules/higlo { };
536     hkdf = callPackage ../development/ocaml-modules/hkdf { };
538     hmap = callPackage ../development/ocaml-modules/hmap { };
540     hpack = callPackage ../development/ocaml-modules/hpack { };
542     hxd = callPackage ../development/ocaml-modules/hxd { };
544     imagelib = callPackage ../development/ocaml-modules/imagelib { };
546     inotify = callPackage ../development/ocaml-modules/inotify { };
548     integers = callPackage ../development/ocaml-modules/integers { };
550     integers_stubs_js = callPackage ../development/ocaml-modules/integers_stubs_js { };
552     io-page = callPackage ../development/ocaml-modules/io-page { };
554     ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
556     ipaddr-cstruct = callPackage ../development/ocaml-modules/ipaddr/cstruct.nix { };
558     ipaddr-sexp = callPackage ../development/ocaml-modules/ipaddr/sexp.nix { };
560     iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
562     iter = callPackage ../development/ocaml-modules/iter { };
564     javalib = callPackage ../development/ocaml-modules/javalib {
565       extlib = ocaml_extlib;
566     };
568     dypgen = callPackage ../development/ocaml-modules/dypgen { };
570     gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
572     gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };
574     gg = callPackage ../development/ocaml-modules/gg { };
576     git = callPackage ../development/ocaml-modules/git {
577       git-binary = pkgs.git;
578     };
580     git-mirage = callPackage ../development/ocaml-modules/git/mirage.nix { };
582     git-paf = callPackage ../development/ocaml-modules/git/paf.nix { };
584     git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
585       git-binary = pkgs.git;
586     };
588     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
590     graphics =
591     if lib.versionOlder "4.09" ocaml.version
592     then callPackage ../development/ocaml-modules/graphics { }
593     else null;
595     graphql = callPackage ../development/ocaml-modules/graphql { };
597     graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
599     graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
601     graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
603     graphql_ppx = callPackage ../development/ocaml-modules/graphql_ppx { };
605     hex = callPackage ../development/ocaml-modules/hex { };
607     httpaf = callPackage ../development/ocaml-modules/httpaf { };
609     index = callPackage ../development/ocaml-modules/index { };
611     inifiles = callPackage ../development/ocaml-modules/inifiles { };
613     iri = callPackage ../development/ocaml-modules/iri { };
615     irmin = callPackage ../development/ocaml-modules/irmin { };
617     irmin-chunk = callPackage ../development/ocaml-modules/irmin/chunk.nix { };
619     irmin-containers = callPackage ../development/ocaml-modules/irmin/containers.nix { };
621     irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
623     irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { };
625     irmin-graphql = callPackage ../development/ocaml-modules/irmin/graphql.nix { };
627     irmin-http = callPackage ../development/ocaml-modules/irmin/http.nix { };
629     irmin-mirage = callPackage ../development/ocaml-modules/irmin/mirage.nix { };
631     irmin-mirage-git = callPackage ../development/ocaml-modules/irmin/mirage-git.nix { };
633     irmin-mirage-graphql = callPackage ../development/ocaml-modules/irmin/mirage-graphql.nix { };
635     irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { };
637     irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { };
639     irmin-tezos = callPackage ../development/ocaml-modules/irmin/tezos.nix { };
641     irmin-watcher = callPackage ../development/ocaml-modules/irmin-watcher { };
643     jingoo = callPackage ../development/ocaml-modules/jingoo { };
645     js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
647     js_of_ocaml-camlp4 = callPackage ../development/tools/ocaml/js_of_ocaml/camlp4.nix {};
649     js_of_ocaml-compiler = callPackage ../development/tools/ocaml/js_of_ocaml/compiler.nix {};
651     js_of_ocaml-lwt = callPackage ../development/tools/ocaml/js_of_ocaml/lwt.nix {};
653     js_of_ocaml-ocamlbuild = callPackage ../development/tools/ocaml/js_of_ocaml/ocamlbuild.nix {};
655     js_of_ocaml-ppx = callPackage ../development/tools/ocaml/js_of_ocaml/ppx.nix {};
657     js_of_ocaml-ppx_deriving_json = callPackage ../development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix { };
659     js_of_ocaml-tyxml = callPackage ../development/tools/ocaml/js_of_ocaml/tyxml.nix {};
661     jsonm = callPackage ../development/ocaml-modules/jsonm { };
663     json-data-encoding = callPackage ../development/ocaml-modules/json-data-encoding { };
665     json-data-encoding-bson = callPackage ../development/ocaml-modules/json-data-encoding/bson.nix { };
667     junit = callPackage ../development/ocaml-modules/junit { };
668     junit_ounit = callPackage ../development/ocaml-modules/junit/ounit.nix { };
669     junit_alcotest = callPackage ../development/ocaml-modules/junit/alcotest.nix { };
671     jwto = callPackage ../development/ocaml-modules/jwto { };
673     kafka = callPackage ../development/ocaml-modules/kafka { };
675     kafka_lwt = callPackage ../development/ocaml-modules/kafka/lwt.nix { };
677     ke = callPackage ../development/ocaml-modules/ke { };
679     kicadsch = callPackage ../development/ocaml-modules/kicadsch { };
681     lablgl = callPackage ../development/ocaml-modules/lablgl { };
683     lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
685     lablgtk3-gtkspell3 = callPackage ../development/ocaml-modules/lablgtk3/gtkspell3.nix { };
687     lablgtk3-sourceview3 = callPackage ../development/ocaml-modules/lablgtk3/sourceview3.nix { };
689     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
690       inherit (pkgs.gnome2) libgnomecanvas gtksourceview;
691     };
693     lablgtk-extras =
694       if lib.versionOlder "4.02" ocaml.version
695       then callPackage ../development/ocaml-modules/lablgtk-extras { }
696       else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
698     labltk = callPackage ../development/ocaml-modules/labltk { };
700     lacaml = callPackage ../development/ocaml-modules/lacaml { };
702     ladspa = callPackage ../development/ocaml-modules/ladspa { };
704     lambdapi = callPackage ../development/ocaml-modules/lambdapi { };
706     lambdasoup = callPackage ../development/ocaml-modules/lambdasoup { };
708     lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
710     lame = callPackage ../development/ocaml-modules/lame {
711       inherit (pkgs) lame;
712     };
714     lastfm = callPackage ../development/ocaml-modules/lastfm { };
716     lens = callPackage ../development/ocaml-modules/lens { };
718     letsencrypt = callPackage ../development/ocaml-modules/letsencrypt { };
720     letsencrypt-app = callPackage ../development/ocaml-modules/letsencrypt/app.nix { };
722     letsencrypt-dns = callPackage ../development/ocaml-modules/letsencrypt/dns.nix { };
724     lilv = callPackage ../development/ocaml-modules/lilv {
725       inherit (pkgs) lilv;
726     };
728     linenoise = callPackage ../development/ocaml-modules/linenoise { };
730     llvm = callPackage ../development/ocaml-modules/llvm {
731       libllvm = pkgs.llvmPackages_10.libllvm;
732     };
734     lo = callPackage ../development/ocaml-modules/lo { };
736     logs = callPackage ../development/ocaml-modules/logs { };
738     lru = callPackage ../development/ocaml-modules/lru { };
740     lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
742     lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { };
744     lutils = callPackage ../development/ocaml-modules/lutils { };
746     luv = callPackage ../development/ocaml-modules/luv {
747       inherit (pkgs) file;
748     };
750     lwt = callPackage ../development/ocaml-modules/lwt { };
752     lwt-canceler = callPackage ../development/ocaml-modules/lwt-canceler { };
754     ocaml_lwt = lwt;
756     lwt_camlp4 = callPackage ../development/ocaml-modules/lwt/camlp4.nix { };
758     lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { };
760     lwt-exit = callPackage ../development/ocaml-modules/lwt-exit { };
762     lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { };
764     lwt_log = callPackage ../development/ocaml-modules/lwt_log { };
766     lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix { };
768     lwt_react = callPackage ../development/ocaml-modules/lwt_react { };
770     lwt_ssl = callPackage ../development/ocaml-modules/lwt_ssl { };
772     macaddr = callPackage ../development/ocaml-modules/macaddr { };
774     macaddr-cstruct = callPackage ../development/ocaml-modules/macaddr/cstruct.nix { };
776     macaddr-sexp = callPackage ../development/ocaml-modules/macaddr/sexp.nix { };
778     macaque = callPackage ../development/ocaml-modules/macaque { };
780     mad = callPackage ../development/ocaml-modules/mad { };
782     magic = callPackage ../development/ocaml-modules/magic { };
784     magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
786     mariadb = callPackage ../development/ocaml-modules/mariadb {
787       inherit (pkgs) mariadb;
788     };
790     markup = callPackage ../development/ocaml-modules/markup { };
792     mccs = callPackage ../development/ocaml-modules/mccs { };
794     mdx = callPackage ../development/ocaml-modules/mdx { };
796     mec = callPackage ../development/ocaml-modules/mec { };
798     menhir = callPackage ../development/ocaml-modules/menhir { };
800     menhirLib = callPackage ../development/ocaml-modules/menhir/lib.nix { };
802     menhirSdk = callPackage ../development/ocaml-modules/menhir/sdk.nix { };
804     merlin =
805       if lib.versionAtLeast ocaml.version "4.12"
806       then callPackage ../development/tools/ocaml/merlin/4.x.nix { }
807       else callPackage ../development/tools/ocaml/merlin { };
809     merlin-extend = callPackage ../development/ocaml-modules/merlin-extend { };
811     merlin-lib = callPackage ../development/tools/ocaml/merlin/lib.nix { };
813     dot-merlin-reader = callPackage ../development/tools/ocaml/merlin/dot-merlin-reader.nix { };
815     metrics = callPackage ../development/ocaml-modules/metrics { };
817     metrics-influx = callPackage ../development/ocaml-modules/metrics/influx.nix { };
819     metrics-lwt = callPackage ../development/ocaml-modules/metrics/lwt.nix { };
821     metrics-rusage = callPackage ../development/ocaml-modules/metrics/rusage.nix { };
823     metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
824       inherit (pkgs) gnuplot;
825     };
827     mew = callPackage ../development/ocaml-modules/mew { };
829     mew_vi = callPackage ../development/ocaml-modules/mew_vi { };
831     mezzo = callPackage ../development/compilers/mezzo { };
833     mimic = callPackage ../development/ocaml-modules/mimic { };
835     mimic-happy-eyeballs = callPackage ../development/ocaml-modules/mimic/happy-eyeballs.nix { };
837     minisat = callPackage ../development/ocaml-modules/minisat { };
839     mirage = callPackage ../development/ocaml-modules/mirage { };
841     mirage-block = callPackage ../development/ocaml-modules/mirage-block { };
843     mirage-block-combinators = callPackage ../development/ocaml-modules/mirage-block/combinators.nix { };
845     mirage-block-ramdisk = callPackage ../development/ocaml-modules/mirage-block-ramdisk { };
847     mirage-block-unix = callPackage ../development/ocaml-modules/mirage-block-unix { };
849     mirage-bootvar-unix = callPackage ../development/ocaml-modules/mirage-bootvar-unix { };
851     mirage-bootvar-xen = callPackage ../development/ocaml-modules/mirage-bootvar-xen { };
853     mirage-channel = callPackage ../development/ocaml-modules/mirage-channel { };
855     mirage-clock = callPackage ../development/ocaml-modules/mirage-clock { };
857     mirage-clock-freestanding = callPackage ../development/ocaml-modules/mirage-clock/freestanding.nix { };
859     mirage-clock-unix = callPackage ../development/ocaml-modules/mirage-clock/unix.nix { };
861     mirage-console = callPackage ../development/ocaml-modules/mirage-console { };
863     mirage-console-unix = callPackage ../development/ocaml-modules/mirage-console/unix.nix { };
865     mirage-crypto = callPackage ../development/ocaml-modules/mirage-crypto { };
867     mirage-crypto-ec = callPackage ../development/ocaml-modules/mirage-crypto/ec.nix { };
869     mirage-crypto-pk = callPackage ../development/ocaml-modules/mirage-crypto/pk.nix { };
871     mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { };
873     mirage-crypto-rng-async = callPackage ../development/ocaml-modules/mirage-crypto/rng-async.nix { };
875     mirage-crypto-rng-mirage = callPackage ../development/ocaml-modules/mirage-crypto/rng-mirage.nix { };
877     mirage-device = callPackage ../development/ocaml-modules/mirage-device { };
879     mirage-flow = callPackage ../development/ocaml-modules/mirage-flow { };
881     mirage-flow-combinators = callPackage ../development/ocaml-modules/mirage-flow/combinators.nix { };
883     mirage-flow-unix = callPackage ../development/ocaml-modules/mirage-flow/unix.nix { };
885     mirage-fs = callPackage ../development/ocaml-modules/mirage-fs { };
887     mirage-kv = callPackage ../development/ocaml-modules/mirage-kv { };
889     mirage-logs = callPackage ../development/ocaml-modules/mirage-logs { };
891     mirage-nat = callPackage ../development/ocaml-modules/mirage-nat { };
893     mirage-net = callPackage ../development/ocaml-modules/mirage-net { };
895     mirage-net-xen = callPackage ../development/ocaml-modules/mirage-net-xen { };
897     mirage-profile = callPackage ../development/ocaml-modules/mirage-profile { };
899     mirage-protocols = callPackage ../development/ocaml-modules/mirage-protocols { };
901     mirage-random = callPackage ../development/ocaml-modules/mirage-random { };
903     mirage-random-test = callPackage ../development/ocaml-modules/mirage-random-test { };
905     mirage-runtime = callPackage ../development/ocaml-modules/mirage/runtime.nix { };
907     mirage-stack = callPackage ../development/ocaml-modules/mirage-stack { };
909     mirage-time = callPackage ../development/ocaml-modules/mirage-time { };
911     mirage-time-unix = callPackage ../development/ocaml-modules/mirage-time/unix.nix { };
913     mirage-unix = callPackage ../development/ocaml-modules/mirage-unix { };
915     mirage-xen = callPackage ../development/ocaml-modules/mirage-xen { };
917     mirage-vnetif = callPackage ../development/ocaml-modules/mirage-vnetif { };
919     mldoc =  callPackage ../development/ocaml-modules/mldoc { };
921     mlgmpidl =  callPackage ../development/ocaml-modules/mlgmpidl { };
923     mm = callPackage ../development/ocaml-modules/mm { };
925     mmap =  callPackage ../development/ocaml-modules/mmap { };
927     mparser =  callPackage ../development/ocaml-modules/mparser { };
929     mparser-pcre =  callPackage ../development/ocaml-modules/mparser/pcre.nix { };
931     mrmime = callPackage ../development/ocaml-modules/mrmime { };
933     mtime =  callPackage ../development/ocaml-modules/mtime { };
935     mustache =  callPackage ../development/ocaml-modules/mustache { };
937     netchannel = callPackage ../development/ocaml-modules/netchannel { };
939     nonstd =  callPackage ../development/ocaml-modules/nonstd { };
941     notty = callPackage ../development/ocaml-modules/notty { };
943     npy = callPackage ../development/ocaml-modules/npy {
944       inherit (pkgs.python3Packages) numpy;
945     };
947     num = if lib.versionOlder "4.06" ocaml.version
948       then callPackage ../development/ocaml-modules/num {}
949       else null;
951     parmap = callPackage ../development/ocaml-modules/parmap { };
953     ocamlbuild =
954     if lib.versionOlder "4.03" ocaml.version then
955     callPackage ../development/tools/ocaml/ocamlbuild { }
956     else
957     null;
959     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
961     ocaml_expat =
962     if lib.versionAtLeast ocaml.version "4.02"
963     then callPackage ../development/ocaml-modules/expat { }
964     else callPackage ../development/ocaml-modules/expat/0.9.nix { };
966     frontc = callPackage ../development/ocaml-modules/frontc { };
968     ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat-rpc-lib { };
970     ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
972     ocaml-freestanding = callPackage ../development/ocaml-modules/ocaml-freestanding { };
974     ocaml_gettext = callPackage ../development/ocaml-modules/ocaml-gettext { };
976     gettext-camomile = callPackage ../development/ocaml-modules/ocaml-gettext/camomile.nix { };
978     gettext-stub = callPackage ../development/ocaml-modules/ocaml-gettext/stub.nix { };
980     ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
981     ocamlgraph_gtk = callPackage ../development/ocaml-modules/ocamlgraph/gtk.nix { };
983     ocaml_libvirt = callPackage ../development/ocaml-modules/ocaml-libvirt { };
985     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
987     ocamline = callPackage ../development/ocaml-modules/ocamline { };
989     jsonrpc = callPackage ../development/ocaml-modules/ocaml-lsp/jsonrpc.nix { };
990     lsp = callPackage ../development/ocaml-modules/ocaml-lsp/lsp.nix { };
991     ocaml-lsp = callPackage ../development/ocaml-modules/ocaml-lsp { };
993     ocaml-migrate-parsetree = ocaml-migrate-parsetree-1-8;
995     ocaml-migrate-parsetree-1-8 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix { };
997     ocaml-migrate-parsetree-2 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix { };
999     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
1001     ocaml-monadic = callPackage ../development/ocaml-modules/ocaml-monadic { };
1003     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
1005     ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
1007     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
1009     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
1011     ocaml-print-intf = callPackage ../development/ocaml-modules/ocaml-print-intf { };
1013     ocaml-recovery-parser = callPackage ../development/tools/ocaml/ocaml-recovery-parser { };
1015     pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
1017     pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
1019     ocaml-r = callPackage ../development/ocaml-modules/ocaml-r { };
1021     ocaml-sat-solvers = callPackage ../development/ocaml-modules/ocaml-sat-solvers { };
1023     ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
1025     ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
1027     ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
1029     ocaml-syntax-shims = callPackage ../development/ocaml-modules/ocaml-syntax-shims { };
1031     ocaml-vdom = callPackage ../development/ocaml-modules/ocaml-vdom { };
1033     syslog = callPackage ../development/ocaml-modules/syslog { };
1035     syslog-message = callPackage ../development/ocaml-modules/syslog-message { };
1037     ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
1039     ocf = callPackage ../development/ocaml-modules/ocf { };
1041     ocf_ppx = callPackage ../development/ocaml-modules/ocf/ppx.nix { };
1043     ocp-build = callPackage ../development/tools/ocaml/ocp-build { };
1045     ocp-indent = callPackage ../development/tools/ocaml/ocp-indent { };
1047     ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
1049     ocp-ocamlres = callPackage ../development/ocaml-modules/ocp-ocamlres { };
1051     ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
1053     ocplib-json-typed = callPackage ../development/ocaml-modules/ocplib-json-typed { };
1055     ocplib-json-typed-browser = callPackage ../development/ocaml-modules/ocplib-json-typed/browser.nix { };
1057     ocplib-json-typed-bson = callPackage ../development/ocaml-modules/ocplib-json-typed/bson.nix { };
1059     ocplib-simplex = callPackage ../development/ocaml-modules/ocplib-simplex { };
1061     ocsigen-ppx-rpc = callPackage ../development/ocaml-modules/ocsigen-ppx-rpc { };
1063     ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
1065     ocsigen-start = callPackage ../development/ocaml-modules/ocsigen-start { };
1067     ocsigen-toolkit = callPackage ../development/ocaml-modules/ocsigen-toolkit { };
1069     ocsipersist = callPackage ../development/ocaml-modules/ocsipersist {};
1071     ocsipersist-lib = callPackage ../development/ocaml-modules/ocsipersist/lib.nix { };
1073     ocsipersist-pgsql = callPackage ../development/ocaml-modules/ocsipersist/pgsql.nix { };
1075     ocsipersist-sqlite = callPackage ../development/ocaml-modules/ocsipersist/sqlite.nix { };
1077     octavius = callPackage ../development/ocaml-modules/octavius { };
1079     odate = callPackage ../development/ocaml-modules/odate { };
1081     odoc = callPackage ../development/ocaml-modules/odoc { };
1083     odoc-parser = callPackage ../development/ocaml-modules/odoc-parser { };
1085     ojs = callPackage ../development/ocaml-modules/gen_js_api/ojs.nix { };
1087     omd = callPackage ../development/ocaml-modules/omd { };
1089     opam-core = callPackage ../development/ocaml-modules/opam-core {
1090       inherit (pkgs) opam unzip;
1091     };
1093     opam-file-format = callPackage ../development/ocaml-modules/opam-file-format { };
1095     opam-format = callPackage ../development/ocaml-modules/opam-format {
1096       inherit (pkgs) unzip;
1097     };
1099     opam-repository = callPackage ../development/ocaml-modules/opam-repository {
1100       inherit (pkgs) unzip;
1101     };
1103     opam-state = callPackage ../development/ocaml-modules/opam-state {
1104       inherit (pkgs) unzip;
1105     };
1107     opium = callPackage ../development/ocaml-modules/opium { };
1109     opium_kernel = callPackage ../development/ocaml-modules/opium_kernel { };
1111     opti = callPackage ../development/ocaml-modules/opti { };
1113     optint = callPackage ../development/ocaml-modules/optint { };
1115     opus = callPackage ../development/ocaml-modules/opus { };
1117     ordering = callPackage ../development/ocaml-modules/ordering { };
1119     otfm = callPackage ../development/ocaml-modules/otfm { };
1121     otoml = callPackage ../development/ocaml-modules/otoml { };
1123     otr = callPackage ../development/ocaml-modules/otr { };
1125     owee = callPackage ../development/ocaml-modules/owee { };
1127     owl-base = callPackage ../development/ocaml-modules/owl-base { };
1129     owl = callPackage ../development/ocaml-modules/owl { };
1131     ounit = callPackage ../development/ocaml-modules/ounit { };
1133     ounit2 = callPackage ../development/ocaml-modules/ounit2 { };
1135     paf = callPackage ../development/ocaml-modules/paf { };
1137     paf-cohttp = callPackage ../development/ocaml-modules/paf/cohttp.nix { };
1139     paf-le = callPackage ../development/ocaml-modules/paf/le.nix { };
1141     parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
1143     path_glob = callPackage ../development/ocaml-modules/path_glob { };
1145     pbkdf = callPackage ../development/ocaml-modules/pbkdf { };
1147     pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
1149     pecu = callPackage ../development/ocaml-modules/pecu { };
1151     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
1153     phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
1155     piaf = callPackage ../development/ocaml-modules/piaf { };
1157     piqi = callPackage ../development/ocaml-modules/piqi { };
1159     piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };
1161     plotkicadsch = callPackage ../development/ocaml-modules/plotkicadsch {
1162       inherit (pkgs) coreutils imagemagick;
1163     };
1165     posix-base = callPackage ../development/ocaml-modules/posix/base.nix { };
1167     posix-socket = callPackage ../development/ocaml-modules/posix/socket.nix { };
1169     posix-time2 = callPackage ../development/ocaml-modules/posix/time2.nix { };
1171     posix-types = callPackage ../development/ocaml-modules/posix/types.nix { };
1173     postgresql = callPackage ../development/ocaml-modules/postgresql {
1174       inherit (pkgs) postgresql;
1175     };
1177     pp = callPackage ../development/ocaml-modules/pp { };
1179     ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { };
1181     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
1183     ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
1185     pratter = callPackage ../development/ocaml-modules/pratter { };
1187     psmt2-frontend = callPackage ../development/ocaml-modules/psmt2-frontend { };
1189     psq = callPackage ../development/ocaml-modules/psq { };
1191     ptime = callPackage ../development/ocaml-modules/ptime { };
1193     pulseaudio = callPackage ../development/ocaml-modules/pulseaudio {
1194       inherit (pkgs) pulseaudio;
1195     };
1197     pure-splitmix = callPackage ../development/ocaml-modules/pure-splitmix { };
1199     resource-pooling = callPackage ../development/ocaml-modules/resource-pooling { };
1201     repr = callPackage ../development/ocaml-modules/repr { };
1203     result = callPackage ../development/ocaml-modules/ocaml-result { };
1205     samplerate = callPackage ../development/ocaml-modules/samplerate { };
1207     secp256k1 = callPackage ../development/ocaml-modules/secp256k1 {
1208       inherit (pkgs) secp256k1;
1209     };
1211     secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
1213     seq = callPackage ../development/ocaml-modules/seq { };
1215     shine = callPackage ../development/ocaml-modules/shine {
1216       inherit (pkgs) shine;
1217     };
1219     sosa = callPackage ../development/ocaml-modules/sosa { };
1221     soundtouch = callPackage ../development/ocaml-modules/soundtouch {
1222       inherit (pkgs) soundtouch;
1223     };
1225     spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
1227     speex = callPackage ../development/ocaml-modules/speex {
1228       inherit (pkgs) speex;
1229     };
1231     tar-unix = callPackage ../development/ocaml-modules/tar/unix.nix { };
1233     tar = callPackage ../development/ocaml-modules/tar { };
1235     tcpip = callPackage ../development/ocaml-modules/tcpip { };
1237     timed = callPackage ../development/ocaml-modules/timed { };
1239     tiny_httpd = callPackage ../development/ocaml-modules/tiny_httpd { };
1241     tsort = callPackage ../development/ocaml-modules/tsort { };
1243     tuntap = callPackage ../development/ocaml-modules/tuntap { };
1245     tyxml = callPackage ../development/ocaml-modules/tyxml { };
1247     ulex = callPackage ../development/ocaml-modules/ulex { };
1249     tls = callPackage ../development/ocaml-modules/tls { };
1251     tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
1253     tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
1255     torch = callPackage ../development/ocaml-modules/torch {
1256       inherit (pkgs.python3Packages) torch;
1257     };
1259     ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
1261     ocaml_extlib = ocaml_extlib-1-7-8;
1263     ocaml_extlib-1-7-8 = callPackage ../development/ocaml-modules/extlib { };
1265     ocaml_extlib-1-7-7 = callPackage ../development/ocaml-modules/extlib/1.7.7.nix { };
1267     ocb-stubblr = callPackage ../development/ocaml-modules/ocb-stubblr { };
1269     ocurl = callPackage ../development/ocaml-modules/ocurl { };
1271     ogg = callPackage ../development/ocaml-modules/ogg { };
1273     parany = callPackage ../development/ocaml-modules/parany { };
1275     portaudio = callPackage ../development/ocaml-modules/portaudio {
1276       inherit (pkgs) portaudio;
1277     };
1279     pprint = callPackage ../development/ocaml-modules/pprint { };
1281     ppx_blob = callPackage ../development/ocaml-modules/ppx_blob { };
1283     ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix { };
1285     ppx_cstubs = callPackage ../development/ocaml-modules/ppx_cstubs { };
1287     ppx_derivers = callPackage ../development/ocaml-modules/ppx_derivers {};
1289     ppx_deriving = callPackage ../development/ocaml-modules/ppx_deriving {};
1291     ppx_deriving_protobuf = callPackage ../development/ocaml-modules/ppx_deriving_protobuf {};
1293     ppx_deriving_rpc = callPackage ../development/ocaml-modules/ppx_deriving_rpc { };
1295     ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {};
1297     ppx_deriving_yaml = callPackage ../development/ocaml-modules/ppx_deriving_yaml {};
1299     ppx_deriving_cmdliner = callPackage ../development/ocaml-modules/ppx_deriving_cmdliner {};
1301     ppx_gen_rec = callPackage ../development/ocaml-modules/ppx_gen_rec {};
1303     ppx_import = callPackage ../development/ocaml-modules/ppx_import {};
1305     ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix {
1306     };
1308     ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { };
1310     ppx_tools =
1311       if lib.versionAtLeast ocaml.version "4.02"
1312       then callPackage ../development/ocaml-modules/ppx_tools {}
1313       else null;
1315     ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { };
1317     ppx_yojson_conv = callPackage ../development/ocaml-modules/ppx_yojson_conv {};
1319     ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {};
1321     prettym = callPackage ../development/ocaml-modules/prettym { };
1323     printbox = callPackage ../development/ocaml-modules/printbox { };
1325     printbox-text = callPackage ../development/ocaml-modules/printbox/text.nix { };
1327     process = callPackage ../development/ocaml-modules/process { };
1329     progress = callPackage ../development/ocaml-modules/progress { };
1331     promise_jsoo = callPackage ../development/ocaml-modules/promise_jsoo { };
1333     ptmap = callPackage ../development/ocaml-modules/ptmap { };
1335     ptset = callPackage ../development/ocaml-modules/ptset { };
1337     pyml = callPackage ../development/ocaml-modules/pyml { };
1339     qcheck-alcotest = callPackage ../development/ocaml-modules/qcheck/alcotest.nix { };
1341     qcheck-core = callPackage ../development/ocaml-modules/qcheck/core.nix { };
1343     qcheck-ounit = callPackage ../development/ocaml-modules/qcheck/ounit.nix { };
1345     qcheck = callPackage ../development/ocaml-modules/qcheck { };
1347     qtest = callPackage ../development/ocaml-modules/qtest { };
1349     randomconv = callPackage ../development/ocaml-modules/randomconv { };
1351     rdbg = callPackage ../development/ocaml-modules/rdbg { };
1353     re = callPackage ../development/ocaml-modules/re { };
1355     react = callPackage ../development/ocaml-modules/react { };
1357     reactivedata = callPackage ../development/ocaml-modules/reactivedata {};
1359     reason = callPackage ../development/compilers/reason { };
1361     reason-native = lib.recurseIntoAttrs (callPackage ../development/ocaml-modules/reason-native { });
1363     rebez = callPackage ../development/ocaml-modules/rebez { };
1365     reperf = callPackage ../development/ocaml-modules/reperf { };
1367     rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
1369     resto = callPackage ../development/ocaml-modules/resto { };
1370     resto-acl = callPackage ../development/ocaml-modules/resto/acl.nix { };
1371     resto-cohttp = callPackage ../development/ocaml-modules/resto/cohttp.nix { };
1372     resto-cohttp-client = callPackage ../development/ocaml-modules/resto/cohttp-client.nix { };
1373     resto-cohttp-self-serving-client = callPackage ../development/ocaml-modules/resto/cohttp-self-serving-client.nix { };
1374     resto-cohttp-server = callPackage ../development/ocaml-modules/resto/cohttp-server.nix { };
1375     resto-directory = callPackage ../development/ocaml-modules/resto/directory.nix { };
1376     resto-json = callPackage ../development/ocaml-modules/resto/json.nix { };
1378     ringo = callPackage ../development/ocaml-modules/ringo { };
1379     ringo-lwt = callPackage ../development/ocaml-modules/ringo/lwt.nix { };
1381     rope = callPackage ../development/ocaml-modules/rope { };
1383     rosetta = callPackage ../development/ocaml-modules/rosetta { };
1385     routes = callPackage ../development/ocaml-modules/routes { };
1387     rpclib = callPackage ../development/ocaml-modules/rpclib { };
1389     rpclib-lwt = callPackage ../development/ocaml-modules/rpclib/lwt.nix { };
1391     rresult = callPackage ../development/ocaml-modules/rresult { };
1393     safepass = callPackage ../development/ocaml-modules/safepass { };
1395     sedlex = callPackage ../development/ocaml-modules/sedlex { };
1397     semaphore-compat = callPackage ../development/ocaml-modules/semaphore-compat { };
1399     semver = callPackage ../development/ocaml-modules/semver { };
1401     sha = callPackage ../development/ocaml-modules/sha { };
1403     shared-memory-ring = callPackage ../development/ocaml-modules/shared-memory-ring { };
1405     shared-memory-ring-lwt = callPackage ../development/ocaml-modules/shared-memory-ring/lwt.nix { };
1407     sodium = callPackage ../development/ocaml-modules/sodium { };
1409     spelll = callPackage ../development/ocaml-modules/spelll { };
1411     srt = callPackage ../development/ocaml-modules/srt {
1412       inherit (pkgs) srt;
1413     };
1415     ssl = callPackage ../development/ocaml-modules/ssl { };
1417     stdcompat = callPackage ../development/ocaml-modules/stdcompat { };
1419     stdlib-shims = callPackage ../development/ocaml-modules/stdlib-shims { };
1421     stdune = callPackage ../development/ocaml-modules/stdune { };
1423     stog = callPackage ../applications/misc/stog { };
1425     stringext = callPackage ../development/ocaml-modules/stringext { };
1427     taglib = callPackage ../development/ocaml-modules/taglib {
1428       inherit (pkgs) taglib;
1429     };
1431     tcslib = callPackage ../development/ocaml-modules/tcslib { };
1433     telegraml = callPackage ../development/ocaml-modules/telegraml { };
1435     terminal = callPackage ../development/ocaml-modules/terminal { };
1437     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
1439     tezos-base58 = callPackage ../development/ocaml-modules/tezos-base58 { };
1441     tezos-bls12-381-polynomial = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial { };
1443     tezos-plompiler = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix { };
1445     tezos-plonk = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix { };
1447     theora = callPackage ../development/ocaml-modules/theora { };
1449     toml = callPackage ../development/ocaml-modules/toml { };
1451     topkg = callPackage ../development/ocaml-modules/topkg { };
1453     trie = callPackage ../development/ocaml-modules/trie { };
1455     tsdl = callPackage ../development/ocaml-modules/tsdl { };
1457     tsdl-image = callPackage ../development/ocaml-modules/tsdl-image { };
1459     tsdl-mixer = callPackage ../development/ocaml-modules/tsdl-mixer { };
1461     tsdl-ttf = callPackage ../development/ocaml-modules/tsdl-ttf { };
1463     twt = callPackage ../development/ocaml-modules/twt { };
1465     uchar = callPackage ../development/ocaml-modules/uchar { };
1467     uecc = callPackage ../development/ocaml-modules/uecc { };
1469     unix-errno = callPackage ../development/ocaml-modules/unix-errno { };
1471     utop = callPackage ../development/tools/ocaml/utop { };
1473     uuidm = callPackage ../development/ocaml-modules/uuidm { };
1475     sawja = callPackage ../development/ocaml-modules/sawja { };
1477     stdint = callPackage ../development/ocaml-modules/stdint { };
1479     unionFind = callPackage ../development/ocaml-modules/unionFind { };
1481     unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { };
1483     uucd = callPackage ../development/ocaml-modules/uucd { };
1484     uucp = callPackage ../development/ocaml-modules/uucp { };
1485     uunf = callPackage ../development/ocaml-modules/uunf { };
1487     uri = callPackage ../development/ocaml-modules/uri { };
1489     uri-sexp = callPackage ../development/ocaml-modules/uri/sexp.nix { };
1491     uuseg = callPackage ../development/ocaml-modules/uuseg { };
1492     uutf = callPackage ../development/ocaml-modules/uutf { };
1494     uuuu = callPackage ../development/ocaml-modules/uuuu { };
1496     vchan = callPackage ../development/ocaml-modules/vchan { };
1498     vector = callPackage ../development/ocaml-modules/vector { };
1500     vg = callPackage ../development/ocaml-modules/vg { };
1502     vlq = callPackage ../development/ocaml-modules/vlq { };
1504     vorbis = callPackage ../development/ocaml-modules/vorbis { };
1506     visitors = callPackage ../development/ocaml-modules/visitors { };
1508     wasm = callPackage ../development/ocaml-modules/wasm { };
1510     wayland = callPackage ../development/ocaml-modules/wayland { };
1512     webbrowser = callPackage ../development/ocaml-modules/webbrowser { };
1514     webmachine = callPackage ../development/ocaml-modules/webmachine { };
1516     wodan = callPackage ../development/ocaml-modules/wodan { };
1518     wodan-irmin = callPackage ../development/ocaml-modules/wodan/irmin.nix { };
1520     wodan-unix = callPackage ../development/ocaml-modules/wodan/unix.nix { };
1522     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
1524     x509 = callPackage ../development/ocaml-modules/x509 { };
1526     xdg = callPackage ../development/ocaml-modules/xdg { };
1528     xenstore = callPackage ../development/ocaml-modules/xenstore { };
1530     xenstore_transport = callPackage ../development/ocaml-modules/xenstore_transport { };
1532     xenstore-tool = callPackage ../development/ocaml-modules/xenstore-tool { };
1534     xmlm = callPackage ../development/ocaml-modules/xmlm { };
1536     xmlplaylist = callPackage ../development/ocaml-modules/xmlplaylist { };
1538     xml-light = callPackage ../development/ocaml-modules/xml-light { };
1540     xtmpl = callPackage ../development/ocaml-modules/xtmpl { };
1542     xtmpl_ppx = callPackage ../development/ocaml-modules/xtmpl/ppx.nix { };
1544     yaml = callPackage ../development/ocaml-modules/yaml { };
1546     yaml-sexp = callPackage ../development/ocaml-modules/yaml/yaml-sexp.nix { };
1548     yojson = callPackage ../development/ocaml-modules/yojson { };
1550     yuscii = callPackage ../development/ocaml-modules/yuscii { };
1552     yuujinchou = callPackage ../development/ocaml-modules/yuujinchou { };
1554     z3 = callPackage ../development/ocaml-modules/z3 {
1555       inherit (pkgs) z3;
1556     };
1558     zarith = callPackage ../development/ocaml-modules/zarith { };
1560     zed = callPackage ../development/ocaml-modules/zed { };
1562     zmq = callPackage ../development/ocaml-modules/zmq { };
1564     zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };
1566     ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving {
1567       oasis = ocaml_oasis;
1568     };
1570     # Jane Street
1572     janePackage =
1573       if lib.versionOlder "4.10.2" ocaml.version
1574       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {}
1575       else if lib.versionOlder "4.08" ocaml.version
1576       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {}
1577       else if lib.versionOlder "4.07" ocaml.version
1578       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
1579       else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
1581     janeStreet =
1582     if lib.versionOlder "4.10.2" ocaml.version
1583     then import ../development/ocaml-modules/janestreet/0.15.nix {
1584       inherit self;
1585       inherit (pkgs) fetchpatch lib openssl zstd;
1586     }
1587     else if lib.versionOlder "4.08" ocaml.version
1588     then import ../development/ocaml-modules/janestreet/0.14.nix {
1589       inherit self;
1590       inherit (pkgs) fetchpatch lib openssl zstd;
1591     }
1592     else if lib.versionOlder "4.07" ocaml.version
1593     then import ../development/ocaml-modules/janestreet/0.12.nix {
1594       self = self // {
1595         ppxlib = ppxlib.override { version = "0.8.1"; };
1596       };
1597       inherit (pkgs) openssl;
1598     }
1599     else import ../development/ocaml-modules/janestreet {
1600       self = self // {
1601         ppxlib = ppxlib.override { version = "0.8.1"; };
1602       };
1603       inherit (pkgs) openssl;
1604     };
1606     janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
1607       self = self.janeStreet_0_9_0;
1608       super = self // {
1609         janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {
1610           defaultVersion = "0.9.0";
1611         };
1612       };
1613       inherit (pkgs) stdenv lib openssl;
1614     };
1616     # Apps / from all-packages
1618     ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
1620     omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
1622     google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse {
1623       # needs Base64 module
1624       ocaml_extlib = ocaml_extlib.override { minimal = false; };
1625     };
1627     hol_light = callPackage ../applications/science/logic/hol_light { };
1629   })).overrideScope' liftJaneStreet;
1631 in let inherit (pkgs) callPackage; in rec
1634   ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { });
1636   ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { });
1638   ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { });
1640   ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { });
1642   ocamlPackages_4_04 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.04.nix { });
1644   ocamlPackages_4_05 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.05.nix { });
1646   ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { });
1648   ocamlPackages_4_07 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.07.nix { });
1650   ocamlPackages_4_08 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.08.nix { });
1652   ocamlPackages_4_09 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.09.nix { });
1654   ocamlPackages_4_10 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.10.nix { });
1656   ocamlPackages_4_11 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.11.nix { });
1658   ocamlPackages_4_12 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.12.nix { });
1660   ocamlPackages_4_13 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.13.nix { });
1662   ocamlPackages_4_14 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix { });
1664   ocamlPackages_5_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.0.nix { });
1666   ocamlPackages_latest = ocamlPackages_4_14;
1668   ocamlPackages = ocamlPackages_4_14;