Merge pull request #230270 from toastal/ocaml-eio-init

ocamlPackages.eio: init at 0.10; mtime: 1.4.0 → 2.0.0; iomux init at 0.3; domain-local-await: init at 0.2.0
This commit is contained in:
Ulrik Strid 2023-06-13 10:23:49 +02:00 committed by GitHub
commit af21812289
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 257 additions and 21 deletions

View file

@ -18,7 +18,7 @@ stdenv.mkDerivation {
nativeBuildInputs = with ocamlPackages; [ menhir ocaml findlib dune_3 ];
buildInputs = with ocamlPackages; [
ansiterminal cairo2 cmdliner fmt logs menhirLib mtime sedlex yojson
ansiterminal cairo2 cmdliner fmt logs menhirLib mtime_1 sedlex yojson
];
buildPhase = ''

View file

@ -116,7 +116,7 @@ ocamlPackages.buildDunePackage rec {
bls12-381
bls12-381-signature
ptime
mtime
mtime_1
lwt_log
secp256k1-internal
resto

View file

@ -0,0 +1,34 @@
{ lib
, buildDunePackage
, fetchurl
, mdx
}:
buildDunePackage rec {
pname = "domain-local-await";
version = "0.2.0";
minimalOCamlVersion = "5.0";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/ocaml-multicore/${pname}/releases/download/${version}/${pname}-${version}.tbz";
sha256 = "2DCJsI3nGPtbXnU8jRvzR1iNAkNuekVy4Lid1qnHXDo=";
};
checkInputs = [
mdx
];
nativeCheckInputs = [
mdx.bin
];
meta = {
homepage = "https://github.com/ocaml-multicore/ocaml-${pname}";
changelog = "https://github.com/ocaml-multicore/ocaml-${pname}/raw/v${version}/CHANGES.md";
description = "A scheduler independent blocking mechanism";
license = with lib.licenses; [ bsd0 ];
maintainers = with lib.maintainers; [ toastal ];
};
}

View file

@ -0,0 +1,60 @@
{ lib
, buildDunePackage
, bigstringaf
, cstruct
, domain-local-await
, dune-configurator
, fetchurl
, fmt
, hmap
, lwt-dllist
, mtime
, optint
, psq
, alcotest
, crowbar
, mdx
}:
buildDunePackage rec {
pname = "eio";
version = "0.10";
minimalOCamlVersion = "5.0";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/ocaml-multicore/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
sha256 = "OQ94FFB7gTPWwl46Z6dC1zHHymYlKyh7H7DjrU0Q7sw=";
};
propagatedBuildInputs = [
bigstringaf
cstruct
domain-local-await
fmt
hmap
lwt-dllist
mtime
optint
psq
];
checkInputs = [
alcotest
crowbar
mdx
];
nativeCheckInputs = [
mdx.bin
];
meta = {
homepage = "https://github.com/ocaml-multicore/ocaml-${pname}";
changelog = "https://github.com/ocaml-multicore/ocaml-${pname}/raw/v${version}/CHANGES.md";
description = "Effects-Based Parallel IO for OCaml";
license = with lib.licenses; [ isc ];
maintainers = with lib.maintainers; [ toastal ];
};
}

View file

@ -0,0 +1,23 @@
{ buildDunePackage
, eio
, fmt
, logs
, uring
}:
buildDunePackage {
pname = "eio_linux";
inherit (eio) meta src version;
minimalOCamlVersion = "5.0";
duneVersion = "3";
dontStrip = true;
propagatedBuildInputs = [
eio
fmt
logs
uring
];
}

View file

@ -0,0 +1,23 @@
{ lib
, stdenv
, buildDunePackage
, eio
, eio_posix
, uring
}:
buildDunePackage {
pname = "eio_main";
inherit (eio) meta src version;
minimalOCamlVersion = "5.0";
duneVersion = "3";
dontStrip = true;
propagatedBuildInputs = [
eio_posix
] ++ lib.optionals stdenv.isLinux [
uring
];
}

View file

@ -0,0 +1,28 @@
{ buildDunePackage
, dune-configurator
, eio
, fmt
, logs
, iomux
}:
buildDunePackage {
pname = "eio_posix";
inherit (eio) meta src version;
minimalOCamlVersion = "5.0";
duneVersion = "3";
dontStrip = true;
buildInputs = [
dune-configurator
];
propagatedBuildInputs = [
eio
fmt
logs
iomux
];
}

View file

@ -0,0 +1,34 @@
{ lib
, fetchurl
, buildDunePackage
, dune-configurator
, alcotest
}:
buildDunePackage rec {
pname = "iomux";
version = "0.3";
minimalOCamlVersion = "4.08";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/haesbaert/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
sha256 = "zNJ3vVOv0BEpHLiC8Y610F87uiMlfYNo28ej0H+EU+c=";
};
buildInputs = [
dune-configurator
];
checkInputs = [
alcotest
];
meta = {
homepage = "https://github.com/haesbaert/ocaml-${pname}";
description = "IO Multiplexers for OCaml";
license = with lib.licenses; [ isc ];
maintainers = with lib.maintainers; [ toastal ];
};
}

View file

@ -0,0 +1,22 @@
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, mtime }:
lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
"mtime is not available for OCaml ${ocaml.version}"
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-mtime";
version = "1.4.0";
src = fetchurl {
url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz";
sha256 = "VQyYEk8+57Yq8SUuYossaQUHZKqemHDJtf4LK8qjxvc=";
};
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
inherit (mtime) meta;
}

View file

@ -5,11 +5,11 @@ lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-mtime";
version = "1.4.0";
version = "2.0.0";
src = fetchurl {
url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz";
sha256 = "sha256-VQyYEk8+57Yq8SUuYossaQUHZKqemHDJtf4LK8qjxvc=";
sha256 = "Pz2g6gBts0RlsDCE3npYqxWg8W9HgoxQC+U63fHgROs=";
};
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];

View file

@ -54,11 +54,11 @@ let
atdgen-runtime = callPackage ../development/ocaml-modules/atdgen/runtime.nix { };
awa = callPackage ../development/ocaml-modules/awa { };
awa = callPackage ../development/ocaml-modules/awa { mtime = mtime_1; };
awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { };
awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { mtime = mtime_1; };
awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { };
awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { mtime = mtime_1; };
### B ###
@ -321,11 +321,11 @@ let
dns-certify = callPackage ../development/ocaml-modules/dns/certify.nix { };
dns-cli = callPackage ../development/ocaml-modules/dns/cli.nix { };
dns-cli = callPackage ../development/ocaml-modules/dns/cli.nix { mtime = mtime_1; };
dns-client = callPackage ../development/ocaml-modules/dns/client.nix { };
dns-client = callPackage ../development/ocaml-modules/dns/client.nix { mtime = mtime_1; };
dns-client-lwt = callPackage ../development/ocaml-modules/dns/client-lwt.nix { };
dns-client-lwt = callPackage ../development/ocaml-modules/dns/client-lwt.nix { mtime = mtime_1; };
dns-client-mirage = callPackage ../development/ocaml-modules/dns/client-mirage.nix { };
@ -345,6 +345,8 @@ let
dolog = callPackage ../development/ocaml-modules/dolog { };
domain-local-await = callPackage ../development/ocaml-modules/domain-local-await { };
domain-name = callPackage ../development/ocaml-modules/domain-name { };
domainslib = callPackage ../development/ocaml-modules/domainslib { };
@ -417,6 +419,11 @@ let
eigen = callPackage ../development/ocaml-modules/eigen { };
eio = callPackage ../development/ocaml-modules/eio { };
eio_linux = callPackage ../development/ocaml-modules/eio/linux.nix { };
eio_main = callPackage ../development/ocaml-modules/eio/main.nix { };
eio_posix = callPackage ../development/ocaml-modules/eio/posix.nix { };
either = callPackage ../development/ocaml-modules/either { };
elina = callPackage ../development/ocaml-modules/elina { };
@ -571,6 +578,7 @@ let
git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
git-binary = pkgs.git;
mtime = mtime_1;
};
github = callPackage ../development/ocaml-modules/github { };
@ -622,7 +630,7 @@ let
happy-eyeballs = callPackage ../development/ocaml-modules/happy-eyeballs { };
happy-eyeballs-lwt = callPackage ../development/ocaml-modules/happy-eyeballs/lwt.nix { };
happy-eyeballs-lwt = callPackage ../development/ocaml-modules/happy-eyeballs/lwt.nix { mtime = mtime_1; };
happy-eyeballs-mirage = callPackage ../development/ocaml-modules/happy-eyeballs/mirage.nix { };
@ -652,7 +660,7 @@ let
imagelib = callPackage ../development/ocaml-modules/imagelib { };
index = callPackage ../development/ocaml-modules/index { };
index = callPackage ../development/ocaml-modules/index { mtime = mtime_1; };
inifiles = callPackage ../development/ocaml-modules/inifiles { };
@ -662,6 +670,8 @@ let
integers_stubs_js = callPackage ../development/ocaml-modules/integers_stubs_js { };
iomux = callPackage ../development/ocaml-modules/iomux { };
io-page = callPackage ../development/ocaml-modules/io-page { };
ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
@ -672,15 +682,15 @@ let
iri = callPackage ../development/ocaml-modules/iri { };
irmin = callPackage ../development/ocaml-modules/irmin { };
irmin = callPackage ../development/ocaml-modules/irmin { mtime = mtime_1; };
irmin-chunk = callPackage ../development/ocaml-modules/irmin/chunk.nix { };
irmin-containers = callPackage ../development/ocaml-modules/irmin/containers.nix { };
irmin-containers = callPackage ../development/ocaml-modules/irmin/containers.nix { mtime = mtime_1; };
irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { };
irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { mtime = mtime_1; };
irmin-graphql = callPackage ../development/ocaml-modules/irmin/graphql.nix { };
@ -692,9 +702,9 @@ let
irmin-mirage-graphql = callPackage ../development/ocaml-modules/irmin/mirage-graphql.nix { };
irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { };
irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { mtime = mtime_1; };
irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { };
irmin-test = callPackage ../development/ocaml-modules/irmin/test.nix { mtime = mtime_1; };
irmin-tezos = callPackage ../development/ocaml-modules/irmin/tezos.nix { };
@ -961,6 +971,7 @@ let
metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
inherit (pkgs) gnuplot;
mtime = mtime_1;
};
mew = callPackage ../development/ocaml-modules/mew { };
@ -1007,11 +1018,11 @@ let
mirage-crypto-pk = callPackage ../development/ocaml-modules/mirage-crypto/pk.nix { };
mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { };
mirage-crypto-rng = callPackage ../development/ocaml-modules/mirage-crypto/rng.nix { mtime = mtime_1; };
mirage-crypto-rng-async = callPackage ../development/ocaml-modules/mirage-crypto/rng-async.nix { };
mirage-crypto-rng-lwt = callPackage ../development/ocaml-modules/mirage-crypto/rng-lwt.nix { };
mirage-crypto-rng-lwt = callPackage ../development/ocaml-modules/mirage-crypto/rng-lwt.nix { mtime = mtime_1; };
mirage-crypto-rng-mirage = callPackage ../development/ocaml-modules/mirage-crypto/rng-mirage.nix { };
@ -1073,6 +1084,7 @@ let
mrmime = callPackage ../development/ocaml-modules/mrmime { };
mtime_1 = callPackage ../development/ocaml-modules/mtime/1_x.nix { };
mtime = callPackage ../development/ocaml-modules/mtime { };
multipart-form-data = callPackage ../development/ocaml-modules/multipart-form-data { };
@ -1249,7 +1261,7 @@ let
inherit (pkgs) unzip;
};
opium = callPackage ../development/ocaml-modules/opium { };
opium = callPackage ../development/ocaml-modules/opium { mtime = mtime_1; };
opti = callPackage ../development/ocaml-modules/opti { };
@ -1400,7 +1412,7 @@ let
prometheus = callPackage ../development/ocaml-modules/prometheus { };
progress = callPackage ../development/ocaml-modules/progress { };
progress = callPackage ../development/ocaml-modules/progress { mtime = mtime_1; };
promise_jsoo = callPackage ../development/ocaml-modules/promise_jsoo { };