From 3a0933a030decfc053b612a6a0d4a4ccc0c5f5da Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 25 Jun 2020 23:22:21 +0200 Subject: [PATCH] =?UTF-8?q?ocamlPackages.{ipaddr,macaddr}:=203.1.0=20?= =?UTF-8?q?=E2=86=92=205.0.0=20and=20update=20all=20affected=20packages=20?= =?UTF-8?q?(tuntap,=20conduit,=20cohttp,=20=E2=80=A6)=20(#91350)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ocamlPackages.{ipaddr,macaddr}: 3.1.0 → 5.0.0 * ipaddr-cstruct: new package (since 4.0.0) * ipaddr-sexp: new package (since 4.0.0) * macaddr-cstruct: new package (since 4.0.0) * macaddr-sexp: new package (since 4.0.0) * macaddr: enable tests (don't depend on ipaddr anymore) * ocamlPackages.tuntap: 1.3.0 → 2.0.0 * ocamlPackages.conduit{,-lwt,-lwt-unix}: 1.4.0 → 2.2.2 * ocamlPackages.cohttp{,-lwt,-lwt-unix}: 2.1.3 → 2.5.1 * ocamlPackages: use dune 2 if pkg (indirectly) depends on cohttp-lwt-unix dune refuses to build a package if one of its dependencies uses dune 2. --- .../ocaml-modules/cohttp/default.nix | 20 ++++++------- .../ocaml-modules/cohttp/lwt-unix.nix | 2 ++ pkgs/development/ocaml-modules/cohttp/lwt.nix | 2 ++ .../ocaml-modules/conduit/default.nix | 22 +++++++-------- .../ocaml-modules/conduit/lwt-unix.nix | 20 +++++++------ .../development/ocaml-modules/conduit/lwt.nix | 14 +++++----- .../ocaml-modules/curly/default.nix | 2 ++ .../ocaml-modules/git-unix/default.nix | 2 ++ .../ocaml-modules/graphql/cohttp.nix | 2 ++ .../ocaml-modules/ipaddr/cstruct.nix | 17 +++++++++++ .../ocaml-modules/ipaddr/default.nix | 16 +++++------ .../development/ocaml-modules/ipaddr/sexp.nix | 18 ++++++++++++ pkgs/development/ocaml-modules/irmin/git.nix | 2 ++ .../ocaml-modules/irmin/graphql.nix | 2 ++ pkgs/development/ocaml-modules/irmin/http.nix | 2 ++ pkgs/development/ocaml-modules/irmin/ppx.nix | 2 ++ pkgs/development/ocaml-modules/irmin/unix.nix | 2 ++ .../ocaml-modules/macaddr/cstruct.nix | 17 +++++++++++ .../ocaml-modules/macaddr/default.nix | 11 ++++---- .../ocaml-modules/macaddr/sexp.nix | 18 ++++++++++++ .../ocaml-modules/opium/default.nix | 2 ++ .../ocaml-modules/tuntap/default.nix | 28 ++++++++++--------- pkgs/top-level/ocaml-packages.nix | 8 ++++++ 23 files changed, 166 insertions(+), 65 deletions(-) create mode 100644 pkgs/development/ocaml-modules/ipaddr/cstruct.nix create mode 100644 pkgs/development/ocaml-modules/ipaddr/sexp.nix create mode 100644 pkgs/development/ocaml-modules/macaddr/cstruct.nix create mode 100644 pkgs/development/ocaml-modules/macaddr/sexp.nix diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix index 22a4e6371a9..386afe33d7b 100644 --- a/pkgs/development/ocaml-modules/cohttp/default.nix +++ b/pkgs/development/ocaml-modules/cohttp/default.nix @@ -1,27 +1,25 @@ -{ lib, fetchFromGitHub, buildDunePackage -, ppx_fields_conv, ppx_sexp_conv +{ lib, fetchurl, buildDunePackage +, ppx_fields_conv, ppx_sexp_conv, stdlib-shims , base64, fieldslib, jsonm, re, stringext, uri-sexp }: buildDunePackage rec { - pname = "cohttp"; - version = "2.1.3"; + pname = "cohttp"; + version = "2.5.1"; - src = fetchFromGitHub { - owner = "mirage"; - repo = "ocaml-cohttp"; - rev = "v${version}"; - sha256 = "16k4ldmz6ljryhr139adlma130frb5wh13qswkrwc5gxx6d2wh8d"; + src = fetchurl { + url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-v${version}.tbz"; + sha256 = "0im91mi3nxzqfd7fs5r0zg5gsparfnf5zaz13mpw247hkd3y3396"; }; buildInputs = [ jsonm ppx_fields_conv ppx_sexp_conv ]; - propagatedBuildInputs = [ base64 fieldslib re stringext uri-sexp ]; + propagatedBuildInputs = [ base64 fieldslib re stringext uri-sexp stdlib-shims ]; meta = { description = "HTTP(S) library for Lwt, Async and Mirage"; license = lib.licenses.isc; maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; + homepage = "https://github.com/mirage/ocaml-cohttp"; }; } diff --git a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix index 588ba6711cb..3a99ed9536f 100644 --- a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix @@ -11,6 +11,8 @@ buildDunePackage { pname = "cohttp-lwt-unix"; inherit (cohttp-lwt) version src meta; + useDune2 = true; + buildInputs = [ cmdliner ppx_sexp_conv ]; propagatedBuildInputs = [ cohttp-lwt conduit-lwt-unix fmt magic-mime ]; diff --git a/pkgs/development/ocaml-modules/cohttp/lwt.nix b/pkgs/development/ocaml-modules/cohttp/lwt.nix index 748b970477e..1f261be6202 100644 --- a/pkgs/development/ocaml-modules/cohttp/lwt.nix +++ b/pkgs/development/ocaml-modules/cohttp/lwt.nix @@ -2,6 +2,8 @@ if !stdenv.lib.versionAtLeast cohttp.version "0.99" then cohttp +else if !stdenv.lib.versionAtLeast ppx_sexp_conv.version "0.13" +then throw "cohttp-lwt is not available for ppx_sexp_conv version ${ppx_sexp_conv.version}" else buildDunePackage { diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix index 22538b87f6a..7fbeefb3926 100644 --- a/pkgs/development/ocaml-modules/conduit/default.nix +++ b/pkgs/development/ocaml-modules/conduit/default.nix @@ -1,26 +1,26 @@ -{ stdenv, fetchFromGitHub, buildDunePackage -, ppx_sexp_conv, sexplib -, astring, ipaddr, macaddr, uri, +{ stdenv, fetchurl, buildDunePackage +, ppx_sexp_conv, sexplib, astring, uri, logs +, ipaddr, ipaddr-sexp }: buildDunePackage rec { pname = "conduit"; - version = "1.4.0"; + version = "2.2.2"; - src = fetchFromGitHub { - owner = "mirage"; - repo = "ocaml-conduit"; - rev = "v${version}"; - sha256 = "1qzamqcmf9ywz04bkwrv17mz9j6zq2w9h1xmnjvp11pnwrs2xq8l"; + minimumOCamlVersion = "4.07"; + + src = fetchurl { + url = "https://github.com/mirage/ocaml-conduit/releases/download/v2.2.2/conduit-v2.2.2.tbz"; + sha256 = "1zb83w2pq9c8xrappfxa6y5q93772f5dj22x78camsm77a2c2z55"; }; buildInputs = [ ppx_sexp_conv ]; - propagatedBuildInputs = [ astring ipaddr macaddr sexplib uri ]; + propagatedBuildInputs = [ astring ipaddr ipaddr-sexp sexplib uri ]; meta = { description = "Network connection library for TCP and SSL"; license = stdenv.lib.licenses.isc; maintainers = with stdenv.lib.maintainers; [ alexfmpe vbgl ]; - inherit (src.meta) homepage; + homepage = "https://github.com/mirage/ocaml-conduit"; }; } diff --git a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix index 51fb369e66f..b3c7e7fa86f 100644 --- a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix +++ b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix @@ -1,16 +1,20 @@ -{ stdenv, buildDunePackage, conduit-lwt -, logs, ppx_sexp_conv, lwt_ssl +{ stdenv, buildDunePackage +, conduit-lwt, ppx_sexp_conv, ocaml_lwt, uri, ipaddr, ipaddr-sexp +, lwt_ssl, tls }: -if !stdenv.lib.versionAtLeast conduit-lwt.version "1.0" -then conduit-lwt -else - buildDunePackage { pname = "conduit-lwt-unix"; - inherit (conduit-lwt) version src meta; + inherit (conduit-lwt) version src minimumOCamlVersion; + + useDune2 = true; buildInputs = [ ppx_sexp_conv ]; - propagatedBuildInputs = [ conduit-lwt logs lwt_ssl ]; + propagatedBuildInputs = + [ conduit-lwt ocaml_lwt uri ipaddr ipaddr-sexp tls lwt_ssl ]; + + meta = conduit-lwt.meta // { + description = "A network connection establishment library for Lwt_unix"; + }; } diff --git a/pkgs/development/ocaml-modules/conduit/lwt.nix b/pkgs/development/ocaml-modules/conduit/lwt.nix index 2eb225d88b6..9bcd98e06a4 100644 --- a/pkgs/development/ocaml-modules/conduit/lwt.nix +++ b/pkgs/development/ocaml-modules/conduit/lwt.nix @@ -1,14 +1,14 @@ -{ stdenv, buildDunePackage, ppx_sexp_conv, conduit, ocaml_lwt }: - -if !stdenv.lib.versionAtLeast conduit.version "1.0" -then conduit -else +{ stdenv, buildDunePackage, ppx_sexp_conv, conduit, ocaml_lwt, sexplib }: buildDunePackage { pname = "conduit-lwt"; - inherit (conduit) version src meta; + inherit (conduit) version src minimumOCamlVersion; buildInputs = [ ppx_sexp_conv ]; - propagatedBuildInputs = [ conduit ocaml_lwt ]; + propagatedBuildInputs = [ conduit ocaml_lwt sexplib ]; + + meta = conduit.meta // { + description = "A network connection establishment library for Lwt"; + }; } diff --git a/pkgs/development/ocaml-modules/curly/default.nix b/pkgs/development/ocaml-modules/curly/default.nix index 1d455582b3b..a17ea72140f 100644 --- a/pkgs/development/ocaml-modules/curly/default.nix +++ b/pkgs/development/ocaml-modules/curly/default.nix @@ -7,6 +7,8 @@ buildDunePackage rec { minimumOCamlVersion = "4.02"; + useDune2 = true; + src = fetchFromGitHub { owner = "rgrinberg"; repo = pname; diff --git a/pkgs/development/ocaml-modules/git-unix/default.nix b/pkgs/development/ocaml-modules/git-unix/default.nix index 50e6f1d3bce..072d7fdb5cb 100644 --- a/pkgs/development/ocaml-modules/git-unix/default.nix +++ b/pkgs/development/ocaml-modules/git-unix/default.nix @@ -4,6 +4,8 @@ buildDunePackage { pname = "git-unix"; inherit (git-http) version src; + useDune2 = true; + buildInputs = [ cmdliner mtime ]; propagatedBuildInputs = [ cohttp-lwt-unix git-http tls ]; diff --git a/pkgs/development/ocaml-modules/graphql/cohttp.nix b/pkgs/development/ocaml-modules/graphql/cohttp.nix index c6e85da77f3..09f4757041a 100644 --- a/pkgs/development/ocaml-modules/graphql/cohttp.nix +++ b/pkgs/development/ocaml-modules/graphql/cohttp.nix @@ -8,6 +8,8 @@ buildDunePackage rec { inherit (graphql) version src; + useDune2 = true; + nativeBuildInputs = [ ocaml-crunch ]; propagatedBuildInputs = [ astring cohttp digestif graphql ocplib-endian ]; diff --git a/pkgs/development/ocaml-modules/ipaddr/cstruct.nix b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix new file mode 100644 index 00000000000..b6240d39ebd --- /dev/null +++ b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix @@ -0,0 +1,17 @@ +{ lib, buildDunePackage +, ipaddr, cstruct +}: + +buildDunePackage rec { + pname = "ipaddr-cstruct"; + + inherit (ipaddr) version src minimumOCamlVersion; + + propagatedBuildInputs = [ ipaddr cstruct ]; + + doCheck = true; + + meta = ipaddr.meta // { + description = "A library for manipulation of IP address representations using Cstructs"; + }; +} diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix index d7009fdf553..a4a6f9fc7a1 100644 --- a/pkgs/development/ocaml-modules/ipaddr/default.nix +++ b/pkgs/development/ocaml-modules/ipaddr/default.nix @@ -1,22 +1,20 @@ { lib, buildDunePackage -, macaddr, ounit +, macaddr, domain-name, stdlib-shims +, ounit, ppx_sexp_conv }: buildDunePackage rec { pname = "ipaddr"; - inherit (macaddr) version src; + inherit (macaddr) version src minimumOCamlVersion; - buildInputs = [ ounit ]; - - propagatedBuildInputs = [ macaddr ]; + propagatedBuildInputs = [ macaddr domain-name stdlib-shims ]; + checkInputs = [ ppx_sexp_conv ounit ]; doCheck = true; - meta = with lib; { - homepage = "https://github.com/mirage/ocaml-ipaddr"; + meta = macaddr.meta // { description = "A library for manipulation of IP (and MAC) address representations "; - license = licenses.isc; - maintainers = with maintainers; [ alexfmpe ericbmerritt ]; + maintainers = with lib.maintainers; [ alexfmpe ericbmerritt ]; }; } diff --git a/pkgs/development/ocaml-modules/ipaddr/sexp.nix b/pkgs/development/ocaml-modules/ipaddr/sexp.nix new file mode 100644 index 00000000000..8d6186d6338 --- /dev/null +++ b/pkgs/development/ocaml-modules/ipaddr/sexp.nix @@ -0,0 +1,18 @@ +{ lib, buildDunePackage +, ipaddr, ipaddr-cstruct, ounit, ppx_sexp_conv +}: + +buildDunePackage rec { + pname = "ipaddr-sexp"; + + inherit (ipaddr) version src minimumOCamlVersion; + + propagatedBuildInputs = [ ipaddr ]; + + checkInputs = [ ipaddr-cstruct ounit ppx_sexp_conv ]; + doCheck = true; + + meta = ipaddr.meta // { + description = "A library for manipulation of IP address representations usnig sexp"; + }; +} diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix index bb28042a1f6..b222bc53e3a 100644 --- a/pkgs/development/ocaml-modules/irmin/git.nix +++ b/pkgs/development/ocaml-modules/irmin/git.nix @@ -6,6 +6,8 @@ buildDunePackage rec { inherit (irmin) version src; + useDune2 = true; + propagatedBuildInputs = [ git irmin ]; checkInputs = lib.optionals doCheck [ git-unix irmin-mem irmin-test ]; diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix index abcdc3d58dd..41355fc3986 100644 --- a/pkgs/development/ocaml-modules/irmin/graphql.nix +++ b/pkgs/development/ocaml-modules/irmin/graphql.nix @@ -6,6 +6,8 @@ buildDunePackage rec { inherit (irmin) version src; + useDune2 = true; + propagatedBuildInputs = [ cohttp-lwt graphql-cohttp graphql-lwt irmin ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/irmin/http.nix b/pkgs/development/ocaml-modules/irmin/http.nix index c8db6d563c9..24e9f52aa08 100644 --- a/pkgs/development/ocaml-modules/irmin/http.nix +++ b/pkgs/development/ocaml-modules/irmin/http.nix @@ -8,6 +8,8 @@ buildDunePackage rec { inherit (irmin) version src; + useDune2 = true; + propagatedBuildInputs = [ cohttp-lwt irmin webmachine ]; checkInputs = lib.optionals doCheck [ checkseum git-unix irmin-git irmin-mem irmin-test ]; diff --git a/pkgs/development/ocaml-modules/irmin/ppx.nix b/pkgs/development/ocaml-modules/irmin/ppx.nix index c28532b49a9..5366a04456d 100644 --- a/pkgs/development/ocaml-modules/irmin/ppx.nix +++ b/pkgs/development/ocaml-modules/irmin/ppx.nix @@ -5,6 +5,8 @@ buildDunePackage { inherit (irmin) version src minimumOCamlVersion; + useDune2 = true; + buildInputs = [ ocaml-syntax-shims ]; propagatedBuildInputs = [ ppxlib ]; diff --git a/pkgs/development/ocaml-modules/irmin/unix.nix b/pkgs/development/ocaml-modules/irmin/unix.nix index 5793678bfcf..7a09eaabd3e 100644 --- a/pkgs/development/ocaml-modules/irmin/unix.nix +++ b/pkgs/development/ocaml-modules/irmin/unix.nix @@ -10,6 +10,8 @@ buildDunePackage rec { inherit (irmin) version src; + useDune2 = true; + propagatedBuildInputs = [ checkseum cmdliner git-unix yaml irmin irmin-fs irmin-git irmin-graphql irmin-http irmin-mem irmin-pack irmin-watcher ]; diff --git a/pkgs/development/ocaml-modules/macaddr/cstruct.nix b/pkgs/development/ocaml-modules/macaddr/cstruct.nix new file mode 100644 index 00000000000..991a77a6ba2 --- /dev/null +++ b/pkgs/development/ocaml-modules/macaddr/cstruct.nix @@ -0,0 +1,17 @@ +{ lib, buildDunePackage +, macaddr, cstruct +}: + +buildDunePackage { + pname = "macaddr-cstruct"; + + inherit (macaddr) version src minimumOCamlVersion; + + propagatedBuildInputs = [ macaddr cstruct ]; + + doCheck = true; + + meta = macaddr.meta // { + description = "A library for manipulation of MAC address representations using Cstructs"; + }; +} diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix index 1332c541354..76ced1d753c 100644 --- a/pkgs/development/ocaml-modules/macaddr/default.nix +++ b/pkgs/development/ocaml-modules/macaddr/default.nix @@ -1,21 +1,20 @@ { lib, fetchurl, buildDunePackage -, ppx_sexp_conv +, ppx_sexp_conv, ounit }: buildDunePackage rec { pname = "macaddr"; - version = "3.1.0"; + version = "5.0.0"; minimumOCamlVersion = "4.04"; src = fetchurl { url = "https://github.com/mirage/ocaml-ipaddr/archive/v${version}.tar.gz"; - sha256 = "1hi3v5dzg6h4qb268ch3h6v61gsc8bv21ajhb35z37v5nsdmyzbh"; + sha256 = "1j2m2v64g3d81sixxq3g57j1iyk6042ivsszml18akrqvwfpxy66"; }; - propagatedBuildInputs = [ ppx_sexp_conv ]; - - doCheck = false; # ipaddr and macaddr tests are together, which requires mutual dependency + checkInputs = [ ppx_sexp_conv ounit ]; + doCheck = true; meta = with lib; { homepage = "https://github.com/mirage/ocaml-ipaddr"; diff --git a/pkgs/development/ocaml-modules/macaddr/sexp.nix b/pkgs/development/ocaml-modules/macaddr/sexp.nix new file mode 100644 index 00000000000..3d0305c4be3 --- /dev/null +++ b/pkgs/development/ocaml-modules/macaddr/sexp.nix @@ -0,0 +1,18 @@ +{ lib, buildDunePackage +, macaddr, ppx_sexp_conv, macaddr-cstruct, ounit +}: + +buildDunePackage { + pname = "macaddr-sexp"; + + inherit (macaddr) version src minimumOCamlVersion; + + propagatedBuildInputs = [ ppx_sexp_conv ]; + + checkInputs = [ macaddr-cstruct ounit ]; + doCheck = true; + + meta = macaddr.meta // { + description = "A library for manipulation of MAC address representations using sexp"; + }; +} diff --git a/pkgs/development/ocaml-modules/opium/default.nix b/pkgs/development/ocaml-modules/opium/default.nix index cbd3a14541f..2681cc609d0 100644 --- a/pkgs/development/ocaml-modules/opium/default.nix +++ b/pkgs/development/ocaml-modules/opium/default.nix @@ -17,6 +17,8 @@ buildDunePackage { pname = "opium"; inherit (opium_kernel) version src meta minimumOCamlVersion; + useDune2 = true; + doCheck = true; buildInputs = [ diff --git a/pkgs/development/ocaml-modules/tuntap/default.nix b/pkgs/development/ocaml-modules/tuntap/default.nix index 8e8eaf5fd5e..a4536316ba4 100644 --- a/pkgs/development/ocaml-modules/tuntap/default.nix +++ b/pkgs/development/ocaml-modules/tuntap/default.nix @@ -1,25 +1,27 @@ -{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, ipaddr }: +{ lib, buildDunePackage, fetchurl +, ipaddr, macaddr, cmdliner +}: -assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.01"; +buildDunePackage rec { + pname = "tuntap"; + version = "2.0.0"; -stdenv.mkDerivation { - name = "ocaml-tuntap-1.3.0"; + minimumOCamlVersion = "4.04.2"; - src = fetchzip { - url = "https://github.com/mirage/ocaml-tuntap/archive/v1.3.0.tar.gz"; - sha256 = "1cmd4kky875ks02gm2nb8yr80hmlfcnjdfyc63hvkh49acssy3d5"; + src = fetchurl { + url = "https://github.com/mirage/ocaml-tuntap/releases/download/v${version}/tuntap-v${version}.tbz"; + sha256 = "12wmls28h3jzikwyfw08d5f7ycsc9njwzbhd3qk2l8jnf5rakfsa"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; - propagatedBuildInputs = [ ipaddr ]; + propagatedBuildInputs = [ ipaddr macaddr cmdliner ]; - createFindlibDestdir = true; + # tests manipulate network devices and use network + # also depend on LWT 5 + doCheck = false; meta = { description = "Bindings to the UNIX tuntap facility"; - license = stdenv.lib.licenses.isc; + license = lib.licenses.isc; homepage = "https://github.com/mirage/ocaml-tuntap"; - inherit (ocaml.meta) platforms; }; - } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 194abc496f2..3294099ca5d 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -324,6 +324,10 @@ let ipaddr = callPackage ../development/ocaml-modules/ipaddr { }; + ipaddr-cstruct = callPackage ../development/ocaml-modules/ipaddr/cstruct.nix { }; + + ipaddr-sexp = callPackage ../development/ocaml-modules/ipaddr/sexp.nix { }; + irmin_1 = callPackage ../development/ocaml-modules/irmin/1.4.nix { }; iso8601 = callPackage ../development/ocaml-modules/iso8601 { }; @@ -477,6 +481,10 @@ let macaddr = callPackage ../development/ocaml-modules/macaddr { }; + macaddr-cstruct = callPackage ../development/ocaml-modules/macaddr/cstruct.nix { }; + + macaddr-sexp = callPackage ../development/ocaml-modules/macaddr/sexp.nix { }; + macaque = callPackage ../development/ocaml-modules/macaque { }; magic-mime = callPackage ../development/ocaml-modules/magic-mime { };