Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / top-level / ocaml-packages.nix
blob516db732bc43c4f242882686e57b06ecdd54ed12
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     ### A ###
12     aches = callPackage ../development/ocaml-modules/aches { };
13     aches-lwt = callPackage ../development/ocaml-modules/aches/lwt.nix { };
15     afl-persistent = callPackage ../development/ocaml-modules/afl-persistent { };
17     alcotest = callPackage ../development/ocaml-modules/alcotest {};
19     alcotest-lwt = callPackage ../development/ocaml-modules/alcotest/lwt.nix {};
21     alcotest-mirage = callPackage ../development/ocaml-modules/alcotest/mirage.nix {};
23     algaeff = callPackage ../development/ocaml-modules/algaeff { };
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     asai = callPackage ../development/ocaml-modules/asai { };
45     asetmap = callPackage ../development/ocaml-modules/asetmap { };
47     asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
49     astring = callPackage ../development/ocaml-modules/astring { };
51     atd = callPackage ../development/ocaml-modules/atd { };
53     atdgen = callPackage ../development/ocaml-modules/atdgen { };
55     atdgen-codec-runtime = callPackage ../development/ocaml-modules/atdgen/codec-runtime.nix { };
57     atdgen-runtime = callPackage ../development/ocaml-modules/atdgen/runtime.nix { };
59     awa = callPackage ../development/ocaml-modules/awa { mtime = mtime_1; };
61     awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { mtime = mtime_1; };
63     ### B ###
65     b0 = callPackage ../development/ocaml-modules/b0 { };
67     bap = janeStreet_0_15.bap;
69     base64 = callPackage ../development/ocaml-modules/base64 { };
71     batteries = callPackage ../development/ocaml-modules/batteries { };
73     bdd = callPackage ../development/ocaml-modules/bdd { };
75     benchmark = callPackage ../development/ocaml-modules/benchmark { };
77     bheap = callPackage ../development/ocaml-modules/bheap { };
79     bigarray-compat = callPackage ../development/ocaml-modules/bigarray-compat { };
81     bigarray-overlap = callPackage ../development/ocaml-modules/bigarray-overlap { };
83     bigstring = callPackage ../development/ocaml-modules/bigstring { };
85     bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
87     bindlib = callPackage ../development/ocaml-modules/bindlib { };
89     biniou = callPackage ../development/ocaml-modules/biniou { };
91     biocaml = janeStreet_0_15.biocaml;
93     bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
95     bistro = callPackage ../development/ocaml-modules/bistro { };
97     bitstring = callPackage ../development/ocaml-modules/bitstring { };
99     bitv = callPackage ../development/ocaml-modules/bitv { };
101     bjack = callPackage ../development/ocaml-modules/bjack {
102       inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate CoreAudio;
103     };
105     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
106     bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
108     bls12-381-signature = callPackage ../development/ocaml-modules/bls12-381-signature { };
110     bos = callPackage ../development/ocaml-modules/bos { };
112     brisk-reconciler = callPackage ../development/ocaml-modules/brisk-reconciler { };
114     brr = callPackage ../development/ocaml-modules/brr { };
116     bwd = callPackage ../development/ocaml-modules/bwd { };
118     bz2 = callPackage ../development/ocaml-modules/bz2 { };
120     ### C ###
122     ca-certs = callPackage ../development/ocaml-modules/ca-certs { };
124     ca-certs-nss = callPackage ../development/ocaml-modules/ca-certs-nss { };
126     cairo2 = callPackage ../development/ocaml-modules/cairo2 {
127       inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
128     };
130     calendar = callPackage ../development/ocaml-modules/calendar { };
132     callipyge = callPackage ../development/ocaml-modules/callipyge { };
134     camlidl = callPackage ../development/tools/ocaml/camlidl { };
136     camlimages = callPackage ../development/ocaml-modules/camlimages { };
138     camlp-streams = callPackage ../development/ocaml-modules/camlp-streams { };
140     camlp4 =
141       if lib.versionOlder "4.02" ocaml.version
142       then callPackage ../development/tools/ocaml/camlp4 { }
143       else null;
145     camlp5 = callPackage ../development/tools/ocaml/camlp5 { };
147     # Compatibility alias
148     camlp5_strict = camlp5;
150     camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
152     camlzip = callPackage ../development/ocaml-modules/camlzip { };
154     camomile =
155       if lib.versionOlder "4.02" ocaml.version
156       then callPackage ../development/ocaml-modules/camomile { }
157       else callPackage ../development/ocaml-modules/camomile/0.8.5.nix { };
159     caqti = callPackage ../development/ocaml-modules/caqti { };
161     caqti-async = callPackage ../development/ocaml-modules/caqti/async.nix { };
163     caqti-driver-mariadb = callPackage ../development/ocaml-modules/caqti/driver-mariadb.nix { };
165     caqti-driver-postgresql = callPackage ../development/ocaml-modules/caqti/driver-postgresql.nix { };
167     caqti-driver-sqlite3 = callPackage ../development/ocaml-modules/caqti/driver-sqlite3.nix { };
169     caqti-dynload = callPackage ../development/ocaml-modules/caqti/dynload.nix { };
171     caqti-lwt = callPackage ../development/ocaml-modules/caqti/lwt.nix { };
173     caqti-type-calendar = callPackage ../development/ocaml-modules/caqti/type-calendar.nix { };
175     carton = callPackage ../development/ocaml-modules/carton { };
177     carton-git = callPackage ../development/ocaml-modules/carton/git.nix { };
179     carton-lwt = callPackage ../development/ocaml-modules/carton/lwt.nix {
180       git-binary = pkgs.git;
181     };
183     cfstream = callPackage ../development/ocaml-modules/cfstream { };
185     chacha = callPackage ../development/ocaml-modules/chacha { };
187     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
189     checkseum = callPackage ../development/ocaml-modules/checkseum { };
191     chrome-trace = callPackage ../development/ocaml-modules/chrome-trace { };
193     cil = callPackage ../development/ocaml-modules/cil { };
195     class_group_vdf = callPackage ../development/ocaml-modules/class_group_vdf { };
197     cmarkit = callPackage ../development/ocaml-modules/cmarkit { };
199     # The 1.1.0 release broke a lot of packages and is not compatible with
200     # OCaml < 4.08.
201     cmdliner =
202       if lib.versionAtLeast ocaml.version "4.08"
203       then cmdliner_1_1
204       else cmdliner_1_0;
206     cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
208     cmdliner_1_1 = callPackage ../development/ocaml-modules/cmdliner/1_1.nix { };
210     cohttp = callPackage ../development/ocaml-modules/cohttp { };
212     cohttp-async = callPackage ../development/ocaml-modules/cohttp/async.nix { };
214     cohttp-lwt = callPackage ../development/ocaml-modules/cohttp/lwt.nix { };
216     cohttp-lwt-jsoo = callPackage ../development/ocaml-modules/cohttp/lwt-jsoo.nix { };
218     cohttp-lwt-unix = callPackage ../development/ocaml-modules/cohttp/lwt-unix.nix { };
220     cohttp-mirage = callPackage ../development/ocaml-modules/cohttp/mirage.nix { };
222     cohttp-top = callPackage ../development/ocaml-modules/cohttp/top.nix { };
224     coin =  callPackage ../development/ocaml-modules/coin { };
226     color = callPackage ../development/ocaml-modules/color { };
228     conduit = callPackage ../development/ocaml-modules/conduit { };
230     conduit-async = callPackage ../development/ocaml-modules/conduit/async.nix { };
232     conduit-lwt = callPackage ../development/ocaml-modules/conduit/lwt.nix { };
234     conduit-lwt-unix = callPackage ../development/ocaml-modules/conduit/lwt-unix.nix { };
236     conduit-mirage = callPackage ../development/ocaml-modules/conduit/mirage.nix { };
238     config-file = callPackage ../development/ocaml-modules/config-file { };
240     containers = callPackage ../development/ocaml-modules/containers { };
242     containers-data = callPackage ../development/ocaml-modules/containers/data.nix { };
244     cooltt = callPackage ../development/ocaml-modules/cooltt { };
246     cow = callPackage ../development/ocaml-modules/cow { };
248     cpdf = callPackage ../development/ocaml-modules/cpdf { };
250     cppo = callPackage ../development/tools/ocaml/cppo { };
252     cppo_ocamlbuild = callPackage ../development/tools/ocaml/cppo/ocamlbuild.nix { };
254     cpu = callPackage ../development/ocaml-modules/cpu { };
256     cpuid = callPackage ../development/ocaml-modules/cpuid { };
258     crowbar = callPackage ../development/ocaml-modules/crowbar { };
260     crunch = callPackage ../development/tools/ocaml/crunch { };
262     cry = callPackage ../development/ocaml-modules/cry { };
264     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
266     csexp = callPackage ../development/ocaml-modules/csexp { };
268     cstruct = callPackage ../development/ocaml-modules/cstruct {};
270     cstruct-async = callPackage ../development/ocaml-modules/cstruct/async.nix { };
272     cstruct-lwt = callPackage ../development/ocaml-modules/cstruct/lwt.nix { };
274     cstruct-sexp = callPackage ../development/ocaml-modules/cstruct/sexp.nix {};
276     cstruct-unix = callPackage ../development/ocaml-modules/cstruct/unix.nix {};
278     csv = callPackage ../development/ocaml-modules/csv { };
280     csv-lwt = callPackage ../development/ocaml-modules/csv/lwt.nix { };
282     ctypes = callPackage ../development/ocaml-modules/ctypes { };
284     ctypes_stubs_js = callPackage ../development/ocaml-modules/ctypes_stubs_js {
285       inherit (pkgs) nodejs;
286     };
288     cudf = callPackage ../development/ocaml-modules/cudf { };
290     curly = callPackage ../development/ocaml-modules/curly {
291       inherit (pkgs) curl;
292     };
294     curses = callPackage ../development/ocaml-modules/curses { };
296     ### D ###
298     dap =  callPackage ../development/ocaml-modules/dap { };
300     data-encoding = callPackage ../development/ocaml-modules/data-encoding { };
302     dates_calc = callPackage ../development/ocaml-modules/dates_calc {  };
304     dbf =  callPackage ../development/ocaml-modules/dbf { };
306     decompress =  callPackage ../development/ocaml-modules/decompress { };
308     dedukti =  callPackage ../development/ocaml-modules/dedukti { };
310     diet =  callPackage ../development/ocaml-modules/diet { };
312     digestif =  callPackage ../development/ocaml-modules/digestif { };
314     directories =  callPackage ../development/ocaml-modules/directories { };
316     dispatch =  callPackage ../development/ocaml-modules/dispatch { };
318     dns =  callPackage ../development/ocaml-modules/dns { };
320     dns-certify =  callPackage ../development/ocaml-modules/dns/certify.nix { };
322     dns-cli =  callPackage ../development/ocaml-modules/dns/cli.nix { mtime = mtime_1; };
324     dns-client =  callPackage ../development/ocaml-modules/dns/client.nix { mtime = mtime_1; };
326     dns-client-lwt = callPackage ../development/ocaml-modules/dns/client-lwt.nix { mtime = mtime_1; };
328     dns-client-mirage = callPackage ../development/ocaml-modules/dns/client-mirage.nix { };
330     dns-mirage = callPackage ../development/ocaml-modules/dns/mirage.nix { };
332     dns-resolver = callPackage ../development/ocaml-modules/dns/resolver.nix { };
334     dns-server = callPackage ../development/ocaml-modules/dns/server.nix { };
336     dns-stub = callPackage ../development/ocaml-modules/dns/stub.nix { };
338     dns-tsig = callPackage ../development/ocaml-modules/dns/tsig.nix { };
340     dnssec = callPackage ../development/ocaml-modules/dns/dnssec.nix { };
342     dolmen =  callPackage ../development/ocaml-modules/dolmen { };
344     dolmen_loop =  callPackage ../development/ocaml-modules/dolmen/loop.nix { };
346     dolmen_type =  callPackage ../development/ocaml-modules/dolmen/type.nix { };
348     dolog = callPackage ../development/ocaml-modules/dolog { };
350     domain-local-await = callPackage ../development/ocaml-modules/domain-local-await { };
352     domain-local-timeout = callPackage ../development/ocaml-modules/domain-local-timeout { };
354     domain-name = callPackage ../development/ocaml-modules/domain-name { };
356     domain_shims = callPackage ../development/ocaml-modules/domain_shims { };
358     domainslib = callPackage ../development/ocaml-modules/domainslib { };
360     dose3 = callPackage ../development/ocaml-modules/dose3 { };
362     dot-merlin-reader = callPackage ../development/tools/ocaml/merlin/dot-merlin-reader.nix { };
364     dscheck = callPackage ../development/ocaml-modules/dscheck { };
366     dssi = callPackage ../development/ocaml-modules/dssi { };
368     dtoa = callPackage ../development/ocaml-modules/dtoa { };
370     dtools = callPackage ../development/ocaml-modules/dtools { };
372     duff = callPackage ../development/ocaml-modules/duff { };
374     dum = callPackage ../development/ocaml-modules/dum { };
376     dune_1 = callPackage ../development/tools/ocaml/dune/1.nix { };
378     dune_2 =
379       if lib.versionAtLeast ocaml.version "4.08"
380       then callPackage ../development/tools/ocaml/dune/2.nix { }
381       else if lib.versionAtLeast ocaml.version "4.02"
382       then pkgs.dune_2
383       else throw "dune_2 is not available for OCaml ${ocaml.version}";
385     dune_3 =
386       if lib.versionAtLeast ocaml.version "4.08"
387       then callPackage ../development/tools/ocaml/dune/3.nix { }
388       else if lib.versionAtLeast ocaml.version "4.02"
389       then pkgs.dune_3
390       else throw "dune_3 is not available for OCaml ${ocaml.version}";
392     dune-action-plugin = callPackage ../development/ocaml-modules/dune-action-plugin { };
394     dune-build-info = callPackage ../development/ocaml-modules/dune-build-info { };
396     dune-configurator = callPackage ../development/ocaml-modules/dune-configurator { };
398     dune-glob = callPackage ../development/ocaml-modules/dune-glob { };
400     dune-private-libs = callPackage ../development/ocaml-modules/dune-private-libs { };
402     dune-release = callPackage ../development/tools/ocaml/dune-release {
403       inherit (pkgs) opam git mercurial coreutils gnutar bzip2;
404     };
406     dune-rpc = callPackage ../development/ocaml-modules/dune-rpc { };
408     dune-site = callPackage ../development/ocaml-modules/dune-site { };
410     duppy = callPackage ../development/ocaml-modules/duppy { };
412     duration =  callPackage ../development/ocaml-modules/duration { };
414     dyn =  callPackage ../development/ocaml-modules/dyn { };
416     dypgen = callPackage ../development/ocaml-modules/dypgen { };
418     ### E ###
420     earley = callPackage ../development/ocaml-modules/earley { };
422     earlybird = callPackage ../development/ocaml-modules/earlybird { };
424     easy-format = callPackage ../development/ocaml-modules/easy-format { };
426     eigen = callPackage ../development/ocaml-modules/eigen { };
428     eio = callPackage ../development/ocaml-modules/eio { };
429     eio_linux = callPackage ../development/ocaml-modules/eio/linux.nix { };
430     eio_main = callPackage ../development/ocaml-modules/eio/main.nix { };
431     eio_posix = callPackage ../development/ocaml-modules/eio/posix.nix { };
433     either = callPackage ../development/ocaml-modules/either { };
435     elina = callPackage ../development/ocaml-modules/elina { };
437     eliom = callPackage ../development/ocaml-modules/eliom { };
439     elpi = callPackage ../development/ocaml-modules/elpi (
440       let ppxlib_0_15 = if lib.versionAtLeast ppxlib.version "0.15"
441         then ppxlib.override { version = "0.15.0"; }
442         else ppxlib; in
443       {
444         ppx_deriving_0_15 = ppx_deriving.override { ppxlib = ppxlib_0_15; };
445         inherit ppxlib_0_15;
446       }
447     );
449     emile = callPackage ../development/ocaml-modules/emile { };
451     encore = callPackage ../development/ocaml-modules/encore { };
453     eqaf = callPackage ../development/ocaml-modules/eqaf { };
455     erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
457     erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
459     ethernet = callPackage ../development/ocaml-modules/ethernet { };
461     extlib = extlib-1-7-9;
463     extlib-1-7-9 = callPackage ../development/ocaml-modules/extlib { };
465     extlib-1-7-7 = callPackage ../development/ocaml-modules/extlib/1.7.7.nix { };
467     ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { };
469     ezxmlm = callPackage ../development/ocaml-modules/ezxmlm { };
471     ### F ###
473     faad = callPackage ../development/ocaml-modules/faad { };
475     facile = callPackage ../development/ocaml-modules/facile { };
477     faraday = callPackage ../development/ocaml-modules/faraday { };
479     faraday-async = callPackage ../development/ocaml-modules/faraday/async.nix { };
481     faraday-lwt = callPackage ../development/ocaml-modules/faraday/lwt.nix { };
483     faraday-lwt-unix = callPackage ../development/ocaml-modules/faraday/lwt-unix.nix { };
485     farfadet = callPackage ../development/ocaml-modules/farfadet { };
487     fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
489     ff = callPackage ../development/ocaml-modules/ff { };
490     ff-pbt = callPackage ../development/ocaml-modules/ff/pbt.nix { };
491     ff-sig = callPackage ../development/ocaml-modules/ff/sig.nix { };
493     ffmpeg = callPackage ../development/ocaml-modules/ffmpeg { };
494     ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix {
495       inherit (pkgs) ffmpeg;
496       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
497     };
498     ffmpeg-avcodec = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix {
499       inherit (pkgs) ffmpeg;
500       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
501     };
502     ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
503       inherit (pkgs) ffmpeg;
504       inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox;
505     };
506     ffmpeg-avfilter = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix {
507       inherit (pkgs) ffmpeg;
508       inherit (pkgs.darwin.apple_sdk.frameworks) AppKit CoreImage OpenGL VideoToolbox;
509     };
510     ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix {
511       inherit (pkgs) ffmpeg;
512       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
513     };
514     ffmpeg-swresample = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix {
515       inherit (pkgs) ffmpeg;
516       inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox;
517     };
518     ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix {
519       inherit (pkgs) ffmpeg;
520       inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox;
521     };
523     fiber = callPackage ../development/ocaml-modules/fiber { };
525     fileutils = callPackage ../development/ocaml-modules/fileutils { };
527     findlib = callPackage ../development/tools/ocaml/findlib { };
529     fix = callPackage ../development/ocaml-modules/fix { };
531     flac = callPackage ../development/ocaml-modules/flac {
532       inherit (pkgs) flac;
533     };
535     flex = callPackage ../development/ocaml-modules/flex { };
537     fmt = callPackage ../development/ocaml-modules/fmt { };
539     fontconfig = callPackage ../development/ocaml-modules/fontconfig {
540       inherit (pkgs) fontconfig;
541     };
543     fpath = callPackage ../development/ocaml-modules/fpath { };
545     frei0r = callPackage ../development/ocaml-modules/frei0r {
546       inherit (pkgs) frei0r;
547     };
549     frontc = callPackage ../development/ocaml-modules/frontc { };
551     functoria = callPackage ../development/ocaml-modules/functoria { };
553     functoria-runtime = callPackage ../development/ocaml-modules/functoria/runtime.nix { };
555     functory = callPackage ../development/ocaml-modules/functory { };
557     ### G ###
559     gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
561     gd4o = callPackage ../development/ocaml-modules/gd4o { };
563     gen = callPackage ../development/ocaml-modules/gen { };
565     gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };
567     genspio = callPackage ../development/ocaml-modules/genspio { };
569     getopt = callPackage ../development/ocaml-modules/getopt { };
571     gettext-camomile = callPackage ../development/ocaml-modules/ocaml-gettext/camomile.nix { };
573     gettext-stub = callPackage ../development/ocaml-modules/ocaml-gettext/stub.nix { };
575     gg = callPackage ../development/ocaml-modules/gg { };
577     git = callPackage ../development/ocaml-modules/git {
578       git-binary = pkgs.git;
579     };
581     git-mirage = callPackage ../development/ocaml-modules/git/mirage.nix { };
583     git-paf = callPackage ../development/ocaml-modules/git/paf.nix { };
585     git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
586       git-binary = pkgs.git;
587       mtime = mtime_1;
588     };
590     github = callPackage ../development/ocaml-modules/github {  };
591     github-data = callPackage ../development/ocaml-modules/github/data.nix {  };
592     github-jsoo = callPackage ../development/ocaml-modules/github/jsoo.nix {  };
593     github-unix = callPackage ../development/ocaml-modules/github/unix.nix {  };
595     gluten = callPackage ../development/ocaml-modules/gluten { };
596     gluten-lwt = callPackage ../development/ocaml-modules/gluten/lwt.nix { };
597     gluten-lwt-unix = callPackage ../development/ocaml-modules/gluten/lwt-unix.nix { };
599     gmap = callPackage ../development/ocaml-modules/gmap { };
601     gnuplot = callPackage ../development/ocaml-modules/gnuplot {
602       inherit (pkgs) gnuplot;
603     };
605     graphics =
606     if lib.versionOlder "4.09" ocaml.version
607     then callPackage ../development/ocaml-modules/graphics { }
608     else null;
610     graphql = callPackage ../development/ocaml-modules/graphql { };
612     graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
614     graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
616     graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
618     graphql_ppx = callPackage ../development/ocaml-modules/graphql_ppx { };
620     gsl = callPackage ../development/ocaml-modules/gsl {
621       inherit (pkgs) gsl;
622     };
624     gstreamer = callPackage ../development/ocaml-modules/gstreamer {
625       inherit (pkgs.darwin.apple_sdk.frameworks) AppKit Foundation;
626     };
628     ### H ###
630     h2 = callPackage ../development/ocaml-modules/h2 { };
632     hack_parallel = callPackage ../development/ocaml-modules/hack_parallel { };
634     hacl-star = callPackage ../development/ocaml-modules/hacl-star { };
635     hacl-star-raw = callPackage ../development/ocaml-modules/hacl-star/raw.nix { };
637     happy-eyeballs = callPackage ../development/ocaml-modules/happy-eyeballs { };
639     happy-eyeballs-lwt = callPackage ../development/ocaml-modules/happy-eyeballs/lwt.nix { mtime = mtime_1; };
641     happy-eyeballs-mirage = callPackage ../development/ocaml-modules/happy-eyeballs/mirage.nix { };
643     hashcons = callPackage ../development/ocaml-modules/hashcons { };
645     hex = callPackage ../development/ocaml-modules/hex { };
647     hidapi = callPackage ../development/ocaml-modules/hidapi { };
649     higlo = callPackage ../development/ocaml-modules/higlo { };
651     hkdf = callPackage ../development/ocaml-modules/hkdf { };
653     hmap = callPackage ../development/ocaml-modules/hmap { };
655     hpack = callPackage ../development/ocaml-modules/hpack { };
657     http-mirage-client = callPackage ../development/ocaml-modules/http-mirage-client { };
659     httpaf = callPackage ../development/ocaml-modules/httpaf { };
661     httpaf-lwt-unix = callPackage ../development/ocaml-modules/httpaf/lwt-unix.nix { };
663     hxd = callPackage ../development/ocaml-modules/hxd { };
665     ### I ###
667     imagelib = callPackage ../development/ocaml-modules/imagelib { };
669     index = callPackage ../development/ocaml-modules/index { mtime = mtime_1; };
671     inifiles = callPackage ../development/ocaml-modules/inifiles { };
673     inotify = callPackage ../development/ocaml-modules/inotify { };
675     integers = callPackage ../development/ocaml-modules/integers { };
677     integers_stubs_js = callPackage ../development/ocaml-modules/integers_stubs_js { };
679     iomux = callPackage ../development/ocaml-modules/iomux { };
681     io-page = callPackage ../development/ocaml-modules/io-page { };
683     ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
685     ipaddr-cstruct = callPackage ../development/ocaml-modules/ipaddr/cstruct.nix { };
687     ipaddr-sexp = callPackage ../development/ocaml-modules/ipaddr/sexp.nix { };
689     iri = callPackage ../development/ocaml-modules/iri { };
691     irmin = callPackage ../development/ocaml-modules/irmin { mtime = mtime_1; };
693     irmin-chunk = callPackage ../development/ocaml-modules/irmin/chunk.nix { };
695     irmin-containers = callPackage ../development/ocaml-modules/irmin/containers.nix { mtime = mtime_1; };
697     irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
699     irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { mtime = mtime_1; };
701     irmin-graphql = callPackage ../development/ocaml-modules/irmin/graphql.nix { };
703     irmin-http = callPackage ../development/ocaml-modules/irmin/http.nix { };
705     irmin-mirage = callPackage ../development/ocaml-modules/irmin/mirage.nix { };
707     irmin-mirage-git = callPackage ../development/ocaml-modules/irmin/mirage-git.nix { };
709     irmin-mirage-graphql = callPackage ../development/ocaml-modules/irmin/mirage-graphql.nix { };
711     irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { mtime = mtime_1; };
713     irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { mtime = mtime_1; };
715     irmin-tezos = callPackage ../development/ocaml-modules/irmin/tezos.nix { };
717     irmin-watcher = callPackage ../development/ocaml-modules/irmin-watcher { };
719     iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
721     iter = callPackage ../development/ocaml-modules/iter { };
723     ### J ###
725     # Jane Street
726     janePackage =
727       if lib.versionOlder "4.13.1" ocaml.version
728       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_16.nix {}
729       else if lib.versionOlder "4.10.2" ocaml.version
730       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {}
731       else if lib.versionOlder "4.08" ocaml.version
732       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {}
733       else if lib.versionOlder "4.07" ocaml.version
734       then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
735       else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
737     janeStreet =
738       if lib.versionOlder "4.13.1" ocaml.version
739       then import ../development/ocaml-modules/janestreet/0.16.nix {
740         inherit self;
741         inherit (pkgs) bash fetchpatch fzf lib openssl zstd krb5;
742       }
743       else if lib.versionOlder "4.10.2" ocaml.version
744       then import ../development/ocaml-modules/janestreet/0.15.nix {
745         inherit self ocaml;
746         inherit (pkgs) bash fetchpatch fzf lib openssl zstd;
747       }
748       else if lib.versionOlder "4.08" ocaml.version
749       then import ../development/ocaml-modules/janestreet/0.14.nix {
750         inherit self;
751         inherit (pkgs) fetchpatch lib openssl zstd;
752       }
753       else if lib.versionOlder "4.07" ocaml.version
754       then import ../development/ocaml-modules/janestreet/0.12.nix {
755         self = self // {
756           ppxlib = ppxlib.override { version = "0.8.1"; };
757         };
758         inherit (pkgs) openssl;
759       }
760       else import ../development/ocaml-modules/janestreet {
761         self = self // {
762           ppxlib = ppxlib.override { version = "0.8.1"; };
763         };
764         inherit (pkgs) openssl;
765       };
767     janeStreet_0_15 = (lib.makeScope self.newScope (self': with self'; {
769       # ocamlPackages that janestreet v0.15 packages depend on.
770       jsDeps = let
771         uri-sexp = self.uri-sexp.override { inherit (self') ppx_sexp_conv sexplib0; };
772         cohttp = self.cohttp.override {
773           inherit (self') ppx_sexp_conv;
774           inherit uri-sexp;
775         };
776         ipaddr-sexp = self.ipaddr-sexp.override { inherit (self') ppx_sexp_conv; };
777         conduit = self.conduit.override {
778           inherit (self') ppx_sexp_conv sexplib;
779           inherit ipaddr-sexp;
780         };
781         conduit-async = self.conduit-async.override {
782           inherit (self') async ppx_sexp_conv ppx_here core sexplib async_ssl;
783           inherit conduit ipaddr-sexp;
784         };
785       in {
786         inherit (self) dune-configurator alcotest re num octavius uutf ounit ctypes;
787         ppxlib = self.ppxlib.override { inherit (self') stdio; };
788         cohttp-async = self.cohttp-async.override {
789           inherit (self') ppx_sexp_conv base async async_kernel async_unix core_unix sexplib0 core;
790           inherit uri-sexp cohttp conduit-async;
791         };
792         janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix { };
793       };
795       janeStreet = import ../development/ocaml-modules/janestreet/0.15.nix {
796         self = self' // jsDeps;
797         inherit ocaml;
798         inherit (pkgs) bash fetchpatch fzf lib openssl zstd;
799       };
801       # Packages that are not part of janestreet libraries, but still depend
802       # on v0.15 are kept in this scope, too.
804       bap = let
805         ppxlib = jsDeps.ppxlib;
806         lwt_ppx = self.lwt_ppx.override { inherit ppxlib; };
807         sedlex = self.sedlex.override { inherit ppxlib ppx_expect; };
808         in callPackage ../development/ocaml-modules/bap {
809           inherit (pkgs.llvmPackages) llvm;
810           ezjsonm = self.ezjsonm.override { inherit sexplib0; };
811           ppx_bitstring = self.ppx_bitstring.override { inherit ppxlib; };
812           ocurl = self.ocurl.override { inherit lwt_ppx; };
813           piqi = self.piqi.override { inherit sedlex; };
814           piqi-ocaml = self.piqi-ocaml.override { inherit piqi; };
815         };
817       biocaml = let
818         angstrom = self.angstrom.override { inherit ppx_let; };
819       in callPackage ../development/ocaml-modules/biocaml {
820         uri = self.uri.override { inherit angstrom; };
821         cfstream = self.cfstream.override { inherit core_kernel; };
822       };
824       magic-trace = callPackage ../development/ocaml-modules/magic-trace { };
826       phylogenetics = let
827         angstrom = self.angstrom.override { inherit ppx_let; };
828       in callPackage ../development/ocaml-modules/phylogenetics {
829         inherit biocaml;
830         ppx_deriving = self.ppx_deriving.override { inherit (jsDeps) ppxlib; };
831         angstrom-unix = self.angstrom-unix.override { inherit angstrom; };
832       };
834       ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { };
835     })).overrideScope liftJaneStreet;
837     janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
838       self = self.janeStreet_0_9_0;
839       super = self // {
840         janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {
841           defaultVersion = "0.9.0";
842         };
843       };
844       inherit (pkgs) stdenv lib openssl;
845     };
847     javalib = callPackage ../development/ocaml-modules/javalib { };
849     jingoo = callPackage ../development/ocaml-modules/jingoo { };
851     js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
853     js_of_ocaml-compiler = callPackage ../development/tools/ocaml/js_of_ocaml/compiler.nix {};
855     js_of_ocaml-lwt = callPackage ../development/tools/ocaml/js_of_ocaml/lwt.nix {};
857     js_of_ocaml-ocamlbuild = callPackage ../development/tools/ocaml/js_of_ocaml/ocamlbuild.nix {};
859     js_of_ocaml-ppx = callPackage ../development/tools/ocaml/js_of_ocaml/ppx.nix {};
861     js_of_ocaml-ppx_deriving_json = callPackage ../development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix { };
863     js_of_ocaml-toplevel = callPackage ../development/tools/ocaml/js_of_ocaml/toplevel.nix {};
865     js_of_ocaml-tyxml = callPackage ../development/tools/ocaml/js_of_ocaml/tyxml.nix {};
867     json-data-encoding = callPackage ../development/ocaml-modules/json-data-encoding { };
869     json-data-encoding-bson = callPackage ../development/ocaml-modules/json-data-encoding/bson.nix { };
871     jsonm = callPackage ../development/ocaml-modules/jsonm { };
873     jsonrpc = callPackage ../development/ocaml-modules/ocaml-lsp/jsonrpc.nix { };
875     junit = callPackage ../development/ocaml-modules/junit { };
876     junit_alcotest = callPackage ../development/ocaml-modules/junit/alcotest.nix { };
877     junit_ounit = callPackage ../development/ocaml-modules/junit/ounit.nix { };
879     jwto = callPackage ../development/ocaml-modules/jwto { };
881     ### K ###
883     kafka = callPackage ../development/ocaml-modules/kafka { };
885     kafka_lwt = callPackage ../development/ocaml-modules/kafka/lwt.nix { };
887     kcas = callPackage ../development/ocaml-modules/kcas { };
889     ke = callPackage ../development/ocaml-modules/ke { };
891     kicadsch = callPackage ../development/ocaml-modules/kicadsch { };
893     ### L ###
895     lablgl = callPackage ../development/ocaml-modules/lablgl { };
897     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
898       inherit (pkgs.gnome2) libgnomecanvas gtksourceview;
899     };
901     lablgtk-extras =
902       if lib.versionOlder "4.02" ocaml.version
903       then callPackage ../development/ocaml-modules/lablgtk-extras { }
904       else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
906     lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
908     lablgtk3-gtkspell3 = callPackage ../development/ocaml-modules/lablgtk3/gtkspell3.nix { };
910     lablgtk3-sourceview3 = callPackage ../development/ocaml-modules/lablgtk3/sourceview3.nix { };
912     labltk = callPackage ../development/ocaml-modules/labltk {
913       inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
914     };
916     lacaml = callPackage ../development/ocaml-modules/lacaml { };
918     ladspa = callPackage ../development/ocaml-modules/ladspa { };
920     lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
922     lambdapi = callPackage ../development/ocaml-modules/lambdapi { };
924     lambdasoup = callPackage ../development/ocaml-modules/lambdasoup { };
926     lame = callPackage ../development/ocaml-modules/lame {
927       inherit (pkgs) lame;
928     };
930     lastfm = callPackage ../development/ocaml-modules/lastfm { };
932     lem = callPackage ../development/ocaml-modules/lem { };
934     lens = callPackage ../development/ocaml-modules/lens { };
936     letsencrypt = callPackage ../development/ocaml-modules/letsencrypt { };
938     letsencrypt-app = callPackage ../development/ocaml-modules/letsencrypt/app.nix { };
940     letsencrypt-dns = callPackage ../development/ocaml-modules/letsencrypt/dns.nix { };
942     letsencrypt-mirage = callPackage ../development/ocaml-modules/letsencrypt/mirage.nix { };
944     lilv = callPackage ../development/ocaml-modules/lilv {
945       inherit (pkgs) lilv;
946     };
948     linenoise = callPackage ../development/ocaml-modules/linenoise { };
950     linksem = callPackage ../development/ocaml-modules/linksem { };
952     linol = callPackage ../development/ocaml-modules/linol { };
954     linol-lwt = callPackage ../development/ocaml-modules/linol/lwt.nix { };
956     llvm = callPackage ../development/ocaml-modules/llvm {
957       libllvm = pkgs.llvmPackages_10.libllvm;
958     };
960     lo = callPackage ../development/ocaml-modules/lo { };
962     logs = callPackage ../development/ocaml-modules/logs { };
964     lru = callPackage ../development/ocaml-modules/lru { };
966     lsp = callPackage ../development/ocaml-modules/ocaml-lsp/lsp.nix { };
968     lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
970     lun = callPackage ../development/ocaml-modules/lun { };
972     lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { };
974     lutils = callPackage ../development/ocaml-modules/lutils { };
976     luv = callPackage ../development/ocaml-modules/luv {
977       inherit (pkgs) file;
978     };
980     lwd = callPackage ../development/ocaml-modules/lwd { };
982     lwt = callPackage ../development/ocaml-modules/lwt { };
984     lwt-canceler = callPackage ../development/ocaml-modules/lwt-canceler { };
986     lwt_camlp4 = callPackage ../development/ocaml-modules/lwt/camlp4.nix { };
988     lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { };
990     lwt-exit = callPackage ../development/ocaml-modules/lwt-exit { };
992     lwt_log = callPackage ../development/ocaml-modules/lwt_log { };
994     lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix { };
996     lwt_react = callPackage ../development/ocaml-modules/lwt_react { };
998     lwt_ssl = callPackage ../development/ocaml-modules/lwt_ssl { };
1000     lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { };
1002     ### M ###
1004     macaddr = callPackage ../development/ocaml-modules/macaddr { };
1006     macaddr-cstruct = callPackage ../development/ocaml-modules/macaddr/cstruct.nix { };
1008     macaddr-sexp = callPackage ../development/ocaml-modules/macaddr/sexp.nix { };
1010     macaque = callPackage ../development/ocaml-modules/macaque { };
1012     mad = callPackage ../development/ocaml-modules/mad { };
1014     magic = callPackage ../development/ocaml-modules/magic { };
1016     magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
1018     magic-trace = janeStreet_0_15.magic-trace;
1020     mariadb = callPackage ../development/ocaml-modules/mariadb {
1021       inherit (pkgs) mariadb;
1022     };
1024     markup = callPackage ../development/ocaml-modules/markup { };
1026     mccs = callPackage ../development/ocaml-modules/mccs { };
1028     mdx = callPackage ../development/ocaml-modules/mdx { };
1030     mec = callPackage ../development/ocaml-modules/mec { };
1032     memtrace = callPackage ../development/ocaml-modules/memtrace { };
1034     menhir = callPackage ../development/ocaml-modules/menhir { };
1036     menhirLib = callPackage ../development/ocaml-modules/menhir/lib.nix { };
1038     menhirSdk = callPackage ../development/ocaml-modules/menhir/sdk.nix { };
1040     merlin =
1041       if lib.versionAtLeast ocaml.version "4.12"
1042       then callPackage ../development/tools/ocaml/merlin/4.x.nix { }
1043       else callPackage ../development/tools/ocaml/merlin { };
1045     merlin-extend = callPackage ../development/ocaml-modules/merlin-extend { };
1047     merlin-lib = callPackage ../development/tools/ocaml/merlin/lib.nix { };
1049     metadata = callPackage ../development/ocaml-modules/metadata { };
1051     metrics = callPackage ../development/ocaml-modules/metrics { };
1053     metrics-influx = callPackage ../development/ocaml-modules/metrics/influx.nix { };
1055     metrics-lwt = callPackage ../development/ocaml-modules/metrics/lwt.nix { };
1057     metrics-rusage = callPackage ../development/ocaml-modules/metrics/rusage.nix { };
1059     metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
1060       inherit (pkgs) gnuplot;
1061       mtime = mtime_1;
1062     };
1064     mew = callPackage ../development/ocaml-modules/mew { };
1066     mew_vi = callPackage ../development/ocaml-modules/mew_vi { };
1068     mezzo = callPackage ../development/compilers/mezzo { };
1070     mimic = callPackage ../development/ocaml-modules/mimic { };
1072     mimic-happy-eyeballs = callPackage ../development/ocaml-modules/mimic/happy-eyeballs.nix { };
1074     minisat = callPackage ../development/ocaml-modules/minisat { };
1076     mirage = callPackage ../development/ocaml-modules/mirage { };
1078     mirage-block = callPackage ../development/ocaml-modules/mirage-block { };
1080     mirage-block-combinators = callPackage ../development/ocaml-modules/mirage-block/combinators.nix { };
1082     mirage-block-ramdisk = callPackage ../development/ocaml-modules/mirage-block-ramdisk { };
1084     mirage-block-unix = callPackage ../development/ocaml-modules/mirage-block-unix { };
1086     mirage-bootvar-unix = callPackage ../development/ocaml-modules/mirage-bootvar-unix { };
1088     mirage-bootvar-xen = callPackage ../development/ocaml-modules/mirage-bootvar-xen { };
1090     mirage-channel = callPackage ../development/ocaml-modules/mirage-channel { };
1092     mirage-clock = callPackage ../development/ocaml-modules/mirage-clock { };
1094     mirage-clock-solo5 = callPackage ../development/ocaml-modules/mirage-clock/solo5.nix { };
1096     mirage-clock-unix = callPackage ../development/ocaml-modules/mirage-clock/unix.nix { };
1098     mirage-console = callPackage ../development/ocaml-modules/mirage-console { };
1100     mirage-console-unix = callPackage ../development/ocaml-modules/mirage-console/unix.nix { };
1102     mirage-crypto = callPackage ../development/ocaml-modules/mirage-crypto { };
1104     mirage-crypto-ec = callPackage ../development/ocaml-modules/mirage-crypto/ec.nix { };
1106     mirage-crypto-pk = callPackage ../development/ocaml-modules/mirage-crypto/pk.nix { };
1108     mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { mtime = mtime_1; };
1110     mirage-crypto-rng-async = callPackage ../development/ocaml-modules/mirage-crypto/rng-async.nix { };
1112     mirage-crypto-rng-lwt = callPackage ../development/ocaml-modules/mirage-crypto/rng-lwt.nix { mtime = mtime_1; };
1114     mirage-crypto-rng-mirage = callPackage ../development/ocaml-modules/mirage-crypto/rng-mirage.nix { };
1116     mirage-device = callPackage ../development/ocaml-modules/mirage-device { };
1118     mirage-flow = callPackage ../development/ocaml-modules/mirage-flow { };
1120     mirage-flow-combinators = callPackage ../development/ocaml-modules/mirage-flow/combinators.nix { };
1122     mirage-flow-unix = callPackage ../development/ocaml-modules/mirage-flow/unix.nix { };
1124     mirage-fs = callPackage ../development/ocaml-modules/mirage-fs { };
1126     mirage-kv = callPackage ../development/ocaml-modules/mirage-kv { };
1128     mirage-logs = callPackage ../development/ocaml-modules/mirage-logs { };
1130     mirage-nat = callPackage ../development/ocaml-modules/mirage-nat { };
1132     mirage-net = callPackage ../development/ocaml-modules/mirage-net { };
1134     mirage-net-xen = callPackage ../development/ocaml-modules/mirage-net-xen { };
1136     mirage-profile = callPackage ../development/ocaml-modules/mirage-profile { };
1138     mirage-protocols = callPackage ../development/ocaml-modules/mirage-protocols { };
1140     mirage-random = callPackage ../development/ocaml-modules/mirage-random { };
1142     mirage-random-test = callPackage ../development/ocaml-modules/mirage-random-test { };
1144     mirage-runtime = callPackage ../development/ocaml-modules/mirage/runtime.nix { };
1146     mirage-time = callPackage ../development/ocaml-modules/mirage-time { };
1148     mirage-time-unix = callPackage ../development/ocaml-modules/mirage-time/unix.nix { };
1150     mirage-unix = callPackage ../development/ocaml-modules/mirage-unix { };
1152     mirage-xen = callPackage ../development/ocaml-modules/mirage-xen { };
1154     mirage-vnetif = callPackage ../development/ocaml-modules/mirage-vnetif { };
1156     mldoc =  callPackage ../development/ocaml-modules/mldoc { };
1158     mlgmpidl =  callPackage ../development/ocaml-modules/mlgmpidl { };
1160     mm = callPackage ../development/ocaml-modules/mm { };
1162     mmap =  callPackage ../development/ocaml-modules/mmap { };
1164     morbig = callPackage ../development/ocaml-modules/morbig { };
1166     mparser =  callPackage ../development/ocaml-modules/mparser { };
1168     mparser-pcre =  callPackage ../development/ocaml-modules/mparser/pcre.nix { };
1170     msgpck = callPackage ../development/ocaml-modules/msgpck { };
1172     mrmime = callPackage ../development/ocaml-modules/mrmime { };
1174     mtime_1 =  callPackage ../development/ocaml-modules/mtime/1_x.nix { };
1175     mtime =  callPackage ../development/ocaml-modules/mtime { };
1177     multipart-form-data =  callPackage ../development/ocaml-modules/multipart-form-data { };
1179     mustache =  callPackage ../development/ocaml-modules/mustache { };
1181     ### N ###
1183     netchannel = callPackage ../development/ocaml-modules/netchannel { };
1185     nonstd =  callPackage ../development/ocaml-modules/nonstd { };
1187     note = callPackage ../development/ocaml-modules/note { };
1189     nottui = callPackage ../development/ocaml-modules/lwd/nottui.nix { };
1191     nottui-lwt = callPackage ../development/ocaml-modules/lwd/nottui-lwt.nix { };
1193     nottui-pretty = callPackage ../development/ocaml-modules/lwd/nottui-pretty.nix { };
1195     notty = callPackage ../development/ocaml-modules/notty { };
1197     npy = callPackage ../development/ocaml-modules/npy {
1198       inherit (pkgs.python3Packages) numpy;
1199     };
1201     num = if lib.versionOlder "4.06" ocaml.version
1202       then callPackage ../development/ocaml-modules/num {}
1203       else null;
1205     ### O ###
1207     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
1209     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
1211     ocaml_expat = callPackage ../development/ocaml-modules/expat { };
1213     ocaml-freestanding = callPackage ../development/ocaml-modules/ocaml-freestanding { };
1215     ocaml_gettext = callPackage ../development/ocaml-modules/ocaml-gettext { };
1217     ocaml_libvirt = callPackage ../development/ocaml-modules/ocaml-libvirt {
1218       inherit (pkgs.darwin.apple_sdk.frameworks) Foundation AppKit;
1219     };
1221     ocaml-lsp = callPackage ../development/ocaml-modules/ocaml-lsp { };
1223     ocaml_lwt = lwt;
1225     ocaml-migrate-parsetree = ocaml-migrate-parsetree-1-8;
1227     ocaml-migrate-parsetree-1-8 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix { };
1229     ocaml-migrate-parsetree-2 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix { };
1231     ocaml-monadic = callPackage ../development/ocaml-modules/ocaml-monadic { };
1233     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
1235     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
1237     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
1239     ocaml-print-intf = callPackage ../development/ocaml-modules/ocaml-print-intf { };
1241     ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
1243     ocaml-protoc-plugin = callPackage ../development/ocaml-modules/ocaml-protoc-plugin { };
1245     ocaml-r = callPackage ../development/ocaml-modules/ocaml-r { };
1247     ocaml-recovery-parser = callPackage ../development/tools/ocaml/ocaml-recovery-parser { };
1249     ocaml-sat-solvers = callPackage ../development/ocaml-modules/ocaml-sat-solvers { };
1251     ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
1253     ocaml-syntax-shims = callPackage ../development/ocaml-modules/ocaml-syntax-shims { };
1255     ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
1257     ocaml-vdom = callPackage ../development/ocaml-modules/ocaml-vdom { };
1259     ocamlbuild =
1260       if lib.versionOlder "4.03" ocaml.version
1261         then callPackage ../development/tools/ocaml/ocamlbuild { }
1262         else null;
1264     ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
1266     # Older versions of OCamlformat should be removed when their usage decrease
1267     # This script scraps Github looking for OCamlformat's options and versions usage:
1268     #  https://gist.github.com/Julow/110dc94308d6078225e0665e3eccd433
1269     ocamlformat_0_19_0 = ocamlformat.override { version = "0.19.0"; };
1270     ocamlformat_0_20_0 = ocamlformat.override { version = "0.20.0"; };
1271     ocamlformat_0_20_1 = ocamlformat.override { version = "0.20.1"; };
1272     ocamlformat_0_21_0 = ocamlformat.override { version = "0.21.0"; };
1273     ocamlformat_0_22_4 = ocamlformat.override { version = "0.22.4"; };
1274     ocamlformat_0_23_0 = ocamlformat.override { version = "0.23.0"; };
1275     ocamlformat_0_24_1 = ocamlformat.override { version = "0.24.1"; };
1276     ocamlformat_0_25_1 = ocamlformat.override { version = "0.25.1"; };
1277     ocamlformat_0_26_0 = ocamlformat.override { version = "0.26.0"; };
1278     ocamlformat_0_26_1 = ocamlformat.override { version = "0.26.1"; };
1280     ocamlformat = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat.nix {};
1282     ocamlformat-lib = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat-lib.nix { };
1284     ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix { };
1286     ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
1288     ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
1289     ocamlgraph_gtk = callPackage ../development/ocaml-modules/ocamlgraph/gtk.nix { };
1291     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
1293     ocamline = callPackage ../development/ocaml-modules/ocamline { };
1295     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
1297     ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
1299     ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
1301     ocb-stubblr = callPackage ../development/ocaml-modules/ocb-stubblr { };
1303     ocf = callPackage ../development/ocaml-modules/ocf { };
1305     ocf_ppx = callPackage ../development/ocaml-modules/ocf/ppx.nix { };
1307     ocolor = callPackage ../development/ocaml-modules/ocolor { };
1309     ocp-build = callPackage ../development/tools/ocaml/ocp-build { };
1311     ocp-indent = callPackage ../development/tools/ocaml/ocp-indent { };
1313     ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
1315     ocp-ocamlres = callPackage ../development/ocaml-modules/ocp-ocamlres { };
1317     ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
1319     ocplib-simplex = callPackage ../development/ocaml-modules/ocplib-simplex { };
1321     ocsigen-ppx-rpc = callPackage ../development/ocaml-modules/ocsigen-ppx-rpc { };
1323     ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
1325     ocsigen-start = callPackage ../development/ocaml-modules/ocsigen-start { };
1327     ocsigen-toolkit = callPackage ../development/ocaml-modules/ocsigen-toolkit { };
1329     ocsipersist = callPackage ../development/ocaml-modules/ocsipersist {};
1331     ocsipersist-lib = callPackage ../development/ocaml-modules/ocsipersist/lib.nix { };
1333     ocsipersist-pgsql = callPackage ../development/ocaml-modules/ocsipersist/pgsql.nix { };
1335     ocsipersist-sqlite = callPackage ../development/ocaml-modules/ocsipersist/sqlite.nix { };
1337     octavius = callPackage ../development/ocaml-modules/octavius { };
1339     ocurl = callPackage ../development/ocaml-modules/ocurl { };
1341     odate = callPackage ../development/ocaml-modules/odate { };
1343     odig = callPackage ../development/ocaml-modules/odig { };
1345     odoc = callPackage ../development/ocaml-modules/odoc { };
1347     odoc-parser = callPackage ../development/ocaml-modules/odoc-parser { };
1349     ogg = callPackage ../development/ocaml-modules/ogg { };
1351     ojs = callPackage ../development/ocaml-modules/gen_js_api/ojs.nix { };
1353     omd = callPackage ../development/ocaml-modules/omd { };
1355     opam-core = callPackage ../development/ocaml-modules/opam-core {
1356       inherit (pkgs) opam unzip;
1357     };
1359     opam-file-format = callPackage ../development/ocaml-modules/opam-file-format { };
1361     opam-format = callPackage ../development/ocaml-modules/opam-format {
1362       inherit (pkgs) unzip;
1363     };
1365     opam-repository = callPackage ../development/ocaml-modules/opam-repository {
1366       inherit (pkgs) unzip;
1367     };
1369     opam-state = callPackage ../development/ocaml-modules/opam-state {
1370       inherit (pkgs) unzip;
1371     };
1373     opium = callPackage ../development/ocaml-modules/opium { mtime = mtime_1; };
1375     opti = callPackage ../development/ocaml-modules/opti { };
1377     optint = callPackage ../development/ocaml-modules/optint { };
1379     opus = callPackage ../development/ocaml-modules/opus { };
1381     ordering = callPackage ../development/ocaml-modules/ordering { };
1383     oseq = callPackage ../development/ocaml-modules/oseq { };
1385     otfm = callPackage ../development/ocaml-modules/otfm { };
1387     otoml = callPackage ../development/ocaml-modules/otoml { };
1389     otr = callPackage ../development/ocaml-modules/otr { };
1391     ounit = callPackage ../development/ocaml-modules/ounit { };
1393     ounit2 = callPackage ../development/ocaml-modules/ounit2 { };
1395     owee = callPackage ../development/ocaml-modules/owee { };
1397     owl = callPackage ../development/ocaml-modules/owl { };
1399     owl-base = callPackage ../development/ocaml-modules/owl-base { };
1401     ### P ###
1403     paf = callPackage ../development/ocaml-modules/paf { };
1405     paf-cohttp = callPackage ../development/ocaml-modules/paf/cohttp.nix { };
1407     parany = callPackage ../development/ocaml-modules/parany { };
1409     parmap = callPackage ../development/ocaml-modules/parmap { };
1411     parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
1413     path_glob = callPackage ../development/ocaml-modules/path_glob { };
1415     pbkdf = callPackage ../development/ocaml-modules/pbkdf { };
1417     pbrt = callPackage ../development/ocaml-modules/pbrt { };
1419     pcap-format = callPackage ../development/ocaml-modules/pcap-format { };
1421     pecu = callPackage ../development/ocaml-modules/pecu { };
1423     pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
1425     pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
1427     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
1429     phylogenetics = janeStreet_0_15.phylogenetics;
1431     piaf = callPackage ../development/ocaml-modules/piaf { };
1433     piqi = callPackage ../development/ocaml-modules/piqi { };
1435     piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };
1437     plotkicadsch = callPackage ../development/ocaml-modules/plotkicadsch {
1438       inherit (pkgs) coreutils imagemagick;
1439     };
1441     polynomial = callPackage ../development/ocaml-modules/polynomial { };
1443     portaudio = callPackage ../development/ocaml-modules/portaudio {
1444       inherit (pkgs) portaudio;
1445     };
1447     posix-base = callPackage ../development/ocaml-modules/posix/base.nix { };
1449     posix-socket = callPackage ../development/ocaml-modules/posix/socket.nix { };
1451     posix-time2 = callPackage ../development/ocaml-modules/posix/time2.nix { };
1453     posix-types = callPackage ../development/ocaml-modules/posix/types.nix { };
1455     postgresql = callPackage ../development/ocaml-modules/postgresql {
1456       inherit (pkgs) postgresql;
1457     };
1459     pp = callPackage ../development/ocaml-modules/pp { };
1461     pp_loc = callPackage ../development/ocaml-modules/pp_loc { };
1463     pprint = callPackage ../development/ocaml-modules/pprint { };
1465     ppx_bap = janeStreet_0_15.ppx_bap;
1467     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
1469     ppx_blob = callPackage ../development/ocaml-modules/ppx_blob { };
1471     ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix { };
1473     ppx_cstubs = callPackage ../development/ocaml-modules/ppx_cstubs { };
1475     ppx_derivers = callPackage ../development/ocaml-modules/ppx_derivers {};
1477     ppx_deriving = callPackage ../development/ocaml-modules/ppx_deriving {};
1479     ppx_deriving_cmdliner = callPackage ../development/ocaml-modules/ppx_deriving_cmdliner {};
1481     ppx_deriving_protobuf = callPackage ../development/ocaml-modules/ppx_deriving_protobuf {};
1483     ppx_deriving_qcheck = callPackage ../development/ocaml-modules/qcheck/ppx_deriving_qcheck.nix {};
1485     ppx_deriving_rpc = callPackage ../development/ocaml-modules/ppx_deriving_rpc { };
1487     ppx_deriving_yaml = callPackage ../development/ocaml-modules/ppx_deriving_yaml {};
1489     ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {};
1491     ppx_gen_rec = callPackage ../development/ocaml-modules/ppx_gen_rec {};
1493     ppx_import = callPackage ../development/ocaml-modules/ppx_import {};
1495     ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { };
1497     ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { };
1499     ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { };
1501     ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { };
1503     ppx_show = callPackage ../development/ocaml-modules/ppx_show { };
1505     ppx_tools =
1506       if lib.versionAtLeast ocaml.version "4.02"
1507       then callPackage ../development/ocaml-modules/ppx_tools {}
1508       else null;
1510     ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { };
1512     ppx_yojson_conv = callPackage ../development/ocaml-modules/ppx_yojson_conv {};
1514     ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {};
1516     ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
1518     pratter = callPackage ../development/ocaml-modules/pratter { };
1520     prettym = callPackage ../development/ocaml-modules/prettym { };
1522     printbox = callPackage ../development/ocaml-modules/printbox { };
1524     printbox-text = callPackage ../development/ocaml-modules/printbox/text.nix { };
1526     process = callPackage ../development/ocaml-modules/process { };
1528     prometheus = callPackage ../development/ocaml-modules/prometheus { };
1530     progress = callPackage ../development/ocaml-modules/progress { mtime = mtime_1; };
1532     promise_jsoo = callPackage ../development/ocaml-modules/promise_jsoo { };
1534     psmt2-frontend = callPackage ../development/ocaml-modules/psmt2-frontend { };
1536     psq = callPackage ../development/ocaml-modules/psq { };
1538     ptime = callPackage ../development/ocaml-modules/ptime { };
1540     ptmap = callPackage ../development/ocaml-modules/ptmap { };
1542     ptset = callPackage ../development/ocaml-modules/ptset { };
1544     pulseaudio = callPackage ../development/ocaml-modules/pulseaudio {
1545       inherit (pkgs) pulseaudio;
1546     };
1548     pure-splitmix = callPackage ../development/ocaml-modules/pure-splitmix { };
1550     pyml = callPackage ../development/ocaml-modules/pyml { };
1552     ### Q ###
1554     qcheck = callPackage ../development/ocaml-modules/qcheck { };
1556     qcheck-alcotest = callPackage ../development/ocaml-modules/qcheck/alcotest.nix { };
1558     qcheck-core = callPackage ../development/ocaml-modules/qcheck/core.nix { };
1560     qcheck-lin = callPackage ../development/ocaml-modules/qcheck/lin.nix { };
1562     qcheck-multicoretests-util = callPackage ../development/ocaml-modules/qcheck/multicoretests-util.nix { };
1564     qcheck-ounit = callPackage ../development/ocaml-modules/qcheck/ounit.nix { };
1566     qcheck-stm = callPackage ../development/ocaml-modules/qcheck/stm.nix { };
1568     qtest = callPackage ../development/ocaml-modules/qtest { };
1570     ### R ###
1572     randomconv = callPackage ../development/ocaml-modules/randomconv { };
1574     rdbg = callPackage ../development/ocaml-modules/rdbg { };
1576     re = callPackage ../development/ocaml-modules/re { };
1578     react = callPackage ../development/ocaml-modules/react { };
1580     reactivedata = callPackage ../development/ocaml-modules/reactivedata {};
1582     reason = callPackage ../development/compilers/reason { };
1584     reason-native = lib.recurseIntoAttrs (callPackage ../development/ocaml-modules/reason-native { });
1586     rebez = callPackage ../development/ocaml-modules/rebez { };
1588     reperf = callPackage ../development/ocaml-modules/reperf { };
1590     repr = callPackage ../development/ocaml-modules/repr { };
1592     resource-pooling = callPackage ../development/ocaml-modules/resource-pooling { };
1594     resto = callPackage ../development/ocaml-modules/resto { };
1595     resto-acl = callPackage ../development/ocaml-modules/resto/acl.nix { };
1596     resto-cohttp = callPackage ../development/ocaml-modules/resto/cohttp.nix { };
1597     resto-cohttp-client = callPackage ../development/ocaml-modules/resto/cohttp-client.nix { };
1598     resto-cohttp-self-serving-client = callPackage ../development/ocaml-modules/resto/cohttp-self-serving-client.nix { };
1599     resto-cohttp-server = callPackage ../development/ocaml-modules/resto/cohttp-server.nix { };
1600     resto-directory = callPackage ../development/ocaml-modules/resto/directory.nix { };
1601     resto-json = callPackage ../development/ocaml-modules/resto/json.nix { };
1603     result = callPackage ../development/ocaml-modules/ocaml-result { };
1605     rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
1607     ringo = callPackage ../development/ocaml-modules/ringo { };
1609     riot = callPackage ../development/ocaml-modules/riot { };
1611     rock = callPackage ../development/ocaml-modules/rock { };
1613     rope = callPackage ../development/ocaml-modules/rope { };
1615     rosetta = callPackage ../development/ocaml-modules/rosetta { };
1617     routes = callPackage ../development/ocaml-modules/routes { };
1619     rpclib = callPackage ../development/ocaml-modules/rpclib { };
1621     rpclib-lwt = callPackage ../development/ocaml-modules/rpclib/lwt.nix { };
1623     rresult = callPackage ../development/ocaml-modules/rresult { };
1625     rusage = callPackage ../development/ocaml-modules/rusage { };
1627     ### S ###
1629     safepass = callPackage ../development/ocaml-modules/safepass { };
1631     sail = callPackage ../development/ocaml-modules/sail { };
1633     samplerate = callPackage ../development/ocaml-modules/samplerate { };
1635     saturn = callPackage ../development/ocaml-modules/saturn { };
1637     saturn_lockfree = callPackage ../development/ocaml-modules/saturn/lockfree.nix { };
1639     sawja = callPackage ../development/ocaml-modules/sawja { };
1641     secp256k1 = callPackage ../development/ocaml-modules/secp256k1 {
1642       inherit (pkgs) secp256k1;
1643     };
1645     secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
1647     sedlex = callPackage ../development/ocaml-modules/sedlex { };
1649     sel = callPackage ../development/ocaml-modules/sel {};
1651     semaphore-compat = callPackage ../development/ocaml-modules/semaphore-compat { };
1653     semver = callPackage ../development/ocaml-modules/semver { };
1655     seq = callPackage ../development/ocaml-modules/seq { };
1657     seqes = callPackage ../development/ocaml-modules/seqes { };
1659     sha = callPackage ../development/ocaml-modules/sha { };
1661     shared-memory-ring = callPackage ../development/ocaml-modules/shared-memory-ring { };
1663     shared-memory-ring-lwt = callPackage ../development/ocaml-modules/shared-memory-ring/lwt.nix { };
1665     shine = callPackage ../development/ocaml-modules/shine {
1666       inherit (pkgs) shine;
1667     };
1669     simple-diff = callPackage ../development/ocaml-modules/simple-diff { };
1671     slug = callPackage ../development/ocaml-modules/slug {  };
1673     sodium = callPackage ../development/ocaml-modules/sodium { };
1675     sosa = callPackage ../development/ocaml-modules/sosa { };
1677     soundtouch = callPackage ../development/ocaml-modules/soundtouch {
1678       inherit (pkgs) soundtouch;
1679     };
1681     spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
1683     speex = callPackage ../development/ocaml-modules/speex {
1684       inherit (pkgs) speex;
1685     };
1687     spelll = callPackage ../development/ocaml-modules/spelll { };
1689     srt = callPackage ../development/ocaml-modules/srt {
1690       inherit (pkgs) srt;
1691     };
1693     ssl = callPackage ../development/ocaml-modules/ssl { };
1695     stdcompat = callPackage ../development/ocaml-modules/stdcompat { };
1697     stdint = callPackage ../development/ocaml-modules/stdint { };
1699     stdlib-shims = callPackage ../development/ocaml-modules/stdlib-shims { };
1701     stdune = callPackage ../development/ocaml-modules/stdune { };
1703     stog = callPackage ../applications/misc/stog { };
1705     stringext = callPackage ../development/ocaml-modules/stringext { };
1707     syslog = callPackage ../development/ocaml-modules/syslog { };
1709     syslog-message = callPackage ../development/ocaml-modules/syslog-message { };
1711     ### T ###
1713     taglib = callPackage ../development/ocaml-modules/taglib {
1714       inherit (pkgs) taglib;
1715     };
1717     tar = callPackage ../development/ocaml-modules/tar { };
1719     tar-unix = callPackage ../development/ocaml-modules/tar/unix.nix {
1720       inherit (pkgs) git;
1721     };
1723     tcpip = callPackage ../development/ocaml-modules/tcpip { };
1725     tcslib = callPackage ../development/ocaml-modules/tcslib { };
1727     tdigest = callPackage ../development/ocaml-modules/tdigest { };
1729     telegraml = callPackage ../development/ocaml-modules/telegraml { };
1731     terminal = callPackage ../development/ocaml-modules/terminal { };
1733     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
1735     tezos-base58 = callPackage ../development/ocaml-modules/tezos-base58 { };
1737     theora = callPackage ../development/ocaml-modules/theora { };
1739     thread-table = callPackage ../development/ocaml-modules/thread-table { };
1741     timed = callPackage ../development/ocaml-modules/timed { };
1743     tiny_httpd = callPackage ../development/ocaml-modules/tiny_httpd { };
1745     tls = callPackage ../development/ocaml-modules/tls { };
1747     tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
1749     tls-lwt = callPackage ../development/ocaml-modules/tls/lwt.nix { };
1751     tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
1753     toml = callPackage ../development/ocaml-modules/toml { };
1755     topkg = callPackage ../development/ocaml-modules/topkg { };
1757     torch = callPackage ../development/ocaml-modules/torch {
1758       inherit (pkgs.python3Packages) torch;
1759     };
1761     trace = callPackage ../development/ocaml-modules/trace { };
1763     trace-tef = callPackage ../development/ocaml-modules/trace/tef.nix { };
1765     trie = callPackage ../development/ocaml-modules/trie { };
1767     tsdl = callPackage ../development/ocaml-modules/tsdl {
1768       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox Cocoa CoreAudio CoreVideo ForceFeedback;
1769     };
1771     tsdl-image = callPackage ../development/ocaml-modules/tsdl-image { };
1773     tsdl-mixer = callPackage ../development/ocaml-modules/tsdl-mixer { };
1775     tsdl-ttf = callPackage ../development/ocaml-modules/tsdl-ttf { };
1777     tsort = callPackage ../development/ocaml-modules/tsort { };
1779     tuntap = callPackage ../development/ocaml-modules/tuntap { };
1781     twt = callPackage ../development/ocaml-modules/twt { };
1783     tyxml = callPackage ../development/ocaml-modules/tyxml { };
1785     tyxml-lwd = callPackage ../development/ocaml-modules/lwd/tyxml-lwd.nix { };
1787     ### U ###
1789     uchar = callPackage ../development/ocaml-modules/uchar { };
1791     uecc = callPackage ../development/ocaml-modules/uecc { };
1793     ulex = callPackage ../development/ocaml-modules/ulex { };
1795     unionFind = callPackage ../development/ocaml-modules/unionFind { };
1797     unisim_archisec = callPackage ../development/ocaml-modules/unisim_archisec { };
1799     unix-errno = callPackage ../development/ocaml-modules/unix-errno { };
1801     unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { };
1803     uri = callPackage ../development/ocaml-modules/uri { };
1805     uri-sexp = callPackage ../development/ocaml-modules/uri/sexp.nix { };
1807     uring = callPackage ../development/ocaml-modules/uring { };
1809     utop = callPackage ../development/tools/ocaml/utop { };
1811     uucd = callPackage ../development/ocaml-modules/uucd { };
1813     uucp = callPackage ../development/ocaml-modules/uucp { };
1815     uuidm = callPackage ../development/ocaml-modules/uuidm { };
1817     uunf = callPackage ../development/ocaml-modules/uunf { };
1819     uuseg = callPackage ../development/ocaml-modules/uuseg { };
1821     uutf = callPackage ../development/ocaml-modules/uutf { };
1823     uuuu = callPackage ../development/ocaml-modules/uuuu { };
1825     ### V ###
1827     vchan = callPackage ../development/ocaml-modules/vchan { };
1829     vector = callPackage ../development/ocaml-modules/vector { };
1831     vg = callPackage ../development/ocaml-modules/vg { };
1833     visitors = callPackage ../development/ocaml-modules/visitors { };
1835     vlq = callPackage ../development/ocaml-modules/vlq { };
1837     vorbis = callPackage ../development/ocaml-modules/vorbis { };
1839     ### W ###
1841     wasm = callPackage ../development/ocaml-modules/wasm { };
1843     wayland = callPackage ../development/ocaml-modules/wayland { };
1845     webbrowser = callPackage ../development/ocaml-modules/webbrowser { };
1847     webmachine = callPackage ../development/ocaml-modules/webmachine { };
1849     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
1851     ### X ###
1853     x509 = callPackage ../development/ocaml-modules/x509 { };
1855     xdg = callPackage ../development/ocaml-modules/xdg { };
1857     xenstore = callPackage ../development/ocaml-modules/xenstore { };
1859     xenstore-tool = callPackage ../development/ocaml-modules/xenstore-tool { };
1861     xenstore_transport = callPackage ../development/ocaml-modules/xenstore_transport { };
1863     xml-light = callPackage ../development/ocaml-modules/xml-light { };
1865     xmlm = callPackage ../development/ocaml-modules/xmlm { };
1867     xmlplaylist = callPackage ../development/ocaml-modules/xmlplaylist { };
1869     xtmpl = callPackage ../development/ocaml-modules/xtmpl { };
1871     xtmpl_ppx = callPackage ../development/ocaml-modules/xtmpl/ppx.nix { };
1873     ### Y ###
1875     yaml = callPackage ../development/ocaml-modules/yaml { };
1877     yaml-sexp = callPackage ../development/ocaml-modules/yaml/yaml-sexp.nix { };
1879     yojson = callPackage ../development/ocaml-modules/yojson { };
1881     yuscii = callPackage ../development/ocaml-modules/yuscii { };
1883     yuujinchou = callPackage ../development/ocaml-modules/yuujinchou { };
1885     ### Z ###
1887     z3 = callPackage ../development/ocaml-modules/z3 {
1888       inherit (pkgs) z3;
1889     };
1891     zarith = callPackage ../development/ocaml-modules/zarith { };
1893     zed = callPackage ../development/ocaml-modules/zed { };
1895     zelus = callPackage ../development/ocaml-modules/zelus { };
1897     zelus-gtk = callPackage ../development/ocaml-modules/zelus-gtk { };
1899     zmq = callPackage ../development/ocaml-modules/zmq { };
1901     zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };
1903     ### Exceptional packages kept out of order ###
1905     # Libs
1907     buildDunePackage = callPackage ../build-support/ocaml/dune.nix { };
1909     buildOasisPackage = callPackage ../build-support/ocaml/oasis.nix { };
1911     buildTopkgPackage = callPackage ../build-support/ocaml/topkg.nix { };
1913     # Apps from all-packages, to be eventually removed
1915     google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
1917     hol_light = callPackage ../applications/science/logic/hol_light { };
1919     ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
1921     ### End ###
1923   })).overrideScope liftJaneStreet;
1925 in let inherit (pkgs) callPackage; in rec
1927   inherit mkOcamlPackages;
1929   ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { });
1931   ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { });
1933   ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { });
1935   ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { });
1937   ocamlPackages_4_04 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.04.nix { });
1939   ocamlPackages_4_05 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.05.nix { });
1941   ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { });
1943   ocamlPackages_4_07 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.07.nix { });
1945   ocamlPackages_4_08 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.08.nix { });
1947   ocamlPackages_4_09 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.09.nix { });
1949   ocamlPackages_4_10 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.10.nix { });
1951   ocamlPackages_4_11 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.11.nix { });
1953   ocamlPackages_4_12 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.12.nix { });
1955   ocamlPackages_4_13 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.13.nix { });
1957   ocamlPackages_4_14 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix { });
1959   ocamlPackages_5_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.0.nix { });
1961   ocamlPackages_5_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.1.nix { });
1963   ocamlPackages_latest = ocamlPackages_5_1;
1965   ocamlPackages = ocamlPackages_4_14;
1967   # This is a nasty way to replace toplevel janestreet attributes in the scope,
1968   # so that modules outside of ocamlPackages that depend on JS OCaml libraries
1969   # *and* non-JS OCaml libraries can pull in the same version of JS transitive
1970   # dependencies. Remove this once ligo and stanc can be compiled against
1971   # janestreet 0.16 libraries.
1972   ocamlPackages_4_14_janeStreet_0_15 = ocamlPackages_4_14.overrideScope (self: super: super // super.janeStreet_0_15);
1974   # We still have packages that rely on unsafe-string, which is deprecated in OCaml 4.06.0.
1975   # Below are aliases for porting them to the latest versions of the OCaml 4 series.
1976   ocamlPackages_4_14_unsafe_string = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix {
1977     unsafeStringSupport = true;
1978   });