From d9bde24043acca52416580022e826651aab88827 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Tue, 28 May 2024 13:10:09 +0100 Subject: [PATCH] [new release] eio (5 packages) (1.1) CHANGES: New features: - Add `Eio.Path.symlink` (@patricoferris ocaml-multicore/eio#715, reviewed by @talex5). - Add `Eio.Pool.use ~never_block` (@SGrondin ocaml-multicore/eio#657, reviewed by @talex5). - Add `Eio_unix.Net.import_socket_listening` (@alyssais ocaml-multicore/eio#733, reviewed by @talex5). - Add `Eio.Time.Timeout.sleep` (@talex5 ocaml-multicore/eio#726). Documentation: - Add `examples/fs` showing how to walk a directory tree (@talex5 ocaml-multicore/eio#730). - README: explain that `read_all` reads until shutdown (@talex5 ocaml-multicore/eio#717, reported by @Wenke-D). - Use long dash in README title (@lucperkins ocaml-multicore/eio#718). Linux backend: - Require Linux >= 5.15 (@talex5 ocaml-multicore/eio#720, reviewed by @SGrondin and @avsm). Removes a work-around that required checking whether every flow was a tty. - Don't call submit immediately before wait (@talex5 ocaml-multicore/eio#728). This is slightly faster and makes the traces clearer. - Don't record submit events when there's nothing to submit (@talex5 ocaml-multicore/eio#729). Makes the traces a bit clearer. - Split flow into its own file (@talex5 ocaml-multicore/eio#727). - Add work-around for signals race (@talex5 ocaml-multicore/eio#734). POSIX backend: - Add `_BSD_SOURCE` flag to fix build on OpenBSD (@prgbln ocaml-multicore/eio#722). - Fix sandboxed path resolution on OpenBSD (@jebrosen ocaml-multicore/eio#723, reviewed by @talex5). OpenBSD uses `ELOOP` when opening a symlink with `O_NOFOLLOW`. Build and test: - Benchmarks: record uname, Eio backend, and number of cores (@talex5 ocaml-multicore/eio#719). - Update to MDX 2.4.1 for OCaml 5.2 (@talex5 ocaml-multicore/eio#712). --- packages/eio/eio.1.1/opam | 53 +++++++++++++++++++++++ packages/eio_linux/eio_linux.1.1/opam | 45 +++++++++++++++++++ packages/eio_main/eio_main.1.1/opam | 46 ++++++++++++++++++++ packages/eio_posix/eio_posix.1.1/opam | 41 ++++++++++++++++++ packages/eio_windows/eio_windows.1.1/opam | 42 ++++++++++++++++++ 5 files changed, 227 insertions(+) create mode 100644 packages/eio/eio.1.1/opam create mode 100644 packages/eio_linux/eio_linux.1.1/opam create mode 100644 packages/eio_main/eio_main.1.1/opam create mode 100644 packages/eio_posix/eio_posix.1.1/opam create mode 100644 packages/eio_windows/eio_windows.1.1/opam diff --git a/packages/eio/eio.1.1/opam b/packages/eio/eio.1.1/opam new file mode 100644 index 00000000000..5f29fec618e --- /dev/null +++ b/packages/eio/eio.1.1/opam @@ -0,0 +1,53 @@ +opam-version: "2.0" +synopsis: "Effect-based direct-style IO API for OCaml" +description: "An effect-based IO API for multicore OCaml with fibers." +maintainer: ["anil@recoil.org"] +authors: ["Anil Madhavapeddy" "Thomas Leonard"] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/eio" +doc: "https://ocaml-multicore.github.io/eio/" +bug-reports: "https://github.com/ocaml-multicore/eio/issues" +depends: [ + "dune" {>= "3.9"} + "ocaml" {>= "5.1.0"} + "bigstringaf" {>= "0.9.0"} + "cstruct" {>= "6.0.1"} + "lwt-dllist" + "optint" {>= "0.1.0"} + "psq" {>= "0.2.0"} + "fmt" {>= "0.8.9"} + "hmap" {>= "0.8.1"} + "domain-local-await" {>= "0.1.0"} + "crowbar" {>= "0.2" & with-test} + "mtime" {>= "2.0.0"} + "mdx" {>= "2.4.1" & with-test} + "dscheck" {>= "0.1.0" & with-test} + "odoc" {with-doc} +] +conflicts: [ + "seq" {< "0.3"} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/eio.git" +url { + src: + "https://github.com/ocaml-multicore/eio/releases/download/v1.1/eio-1.1.tbz" + checksum: [ + "sha256=346104884077f140b3574e1daccc02212960c6efeb793c803e3e6b8bafea0fab" + "sha512=18abde418c56b1ceed3e8f075cb94e5c951b5cfea967ec4cb5f8e1e4d635b801b3c9e6ec61f89483490dbec143c33b9b76d947bff1183d44e6e0e01d93821dfb" + ] +} +x-commit-hash: "77d881014d0abb3246dda6f7af8178e86f05061a" diff --git a/packages/eio_linux/eio_linux.1.1/opam b/packages/eio_linux/eio_linux.1.1/opam new file mode 100644 index 00000000000..4e14b8588c5 --- /dev/null +++ b/packages/eio_linux/eio_linux.1.1/opam @@ -0,0 +1,45 @@ +opam-version: "2.0" +synopsis: "Eio implementation for Linux using io-uring" +description: "An Eio implementation for Linux using io-uring." +maintainer: ["anil@recoil.org"] +authors: ["Anil Madhavapeddy" "Thomas Leonard"] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/eio" +doc: "https://ocaml-multicore.github.io/eio/" +bug-reports: "https://github.com/ocaml-multicore/eio/issues" +depends: [ + "dune" {>= "3.9"} + "alcotest" {>= "1.7.0" & with-test} + "eio" {= version} + "mdx" {>= "2.4.1" & with-test} + "logs" {>= "0.7.0" & with-test} + "fmt" {>= "0.8.9"} + "cmdliner" {>= "1.1.0" & with-test} + "uring" {>= "0.9"} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/eio.git" +available: [os = "linux"] +url { + src: + "https://github.com/ocaml-multicore/eio/releases/download/v1.1/eio-1.1.tbz" + checksum: [ + "sha256=346104884077f140b3574e1daccc02212960c6efeb793c803e3e6b8bafea0fab" + "sha512=18abde418c56b1ceed3e8f075cb94e5c951b5cfea967ec4cb5f8e1e4d635b801b3c9e6ec61f89483490dbec143c33b9b76d947bff1183d44e6e0e01d93821dfb" + ] +} +x-commit-hash: "77d881014d0abb3246dda6f7af8178e86f05061a" diff --git a/packages/eio_main/eio_main.1.1/opam b/packages/eio_main/eio_main.1.1/opam new file mode 100644 index 00000000000..48c8f80da65 --- /dev/null +++ b/packages/eio_main/eio_main.1.1/opam @@ -0,0 +1,46 @@ +opam-version: "2.0" +synopsis: "Effect-based direct-style IO mainloop for OCaml" +description: "Selects an appropriate Eio backend for the current platform." +maintainer: ["anil@recoil.org"] +authors: ["Anil Madhavapeddy" "Thomas Leonard"] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/eio" +doc: "https://ocaml-multicore.github.io/eio/" +bug-reports: "https://github.com/ocaml-multicore/eio/issues" +depends: [ + "dune" {>= "3.9"} + "mdx" {>= "2.4.1" & with-test} + "kcas" {>= "0.3.0" & with-test} + "yojson" {>= "2.0.2" & with-test} + "eio_linux" + {= version & os = "linux" & + (os-distribution != "centos" | os-version > "7")} + "eio_posix" {= version & os != "win32"} + "eio_windows" {= version & os = "win32"} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/eio.git" +x-ci-accept-failures: ["macos-homebrew"] +url { + src: + "https://github.com/ocaml-multicore/eio/releases/download/v1.1/eio-1.1.tbz" + checksum: [ + "sha256=346104884077f140b3574e1daccc02212960c6efeb793c803e3e6b8bafea0fab" + "sha512=18abde418c56b1ceed3e8f075cb94e5c951b5cfea967ec4cb5f8e1e4d635b801b3c9e6ec61f89483490dbec143c33b9b76d947bff1183d44e6e0e01d93821dfb" + ] +} +x-commit-hash: "77d881014d0abb3246dda6f7af8178e86f05061a" diff --git a/packages/eio_posix/eio_posix.1.1/opam b/packages/eio_posix/eio_posix.1.1/opam new file mode 100644 index 00000000000..6259a0dfbd4 --- /dev/null +++ b/packages/eio_posix/eio_posix.1.1/opam @@ -0,0 +1,41 @@ +opam-version: "2.0" +synopsis: "Eio implementation for POSIX systems" +description: "An Eio implementation for most Unix-like platforms" +maintainer: ["anil@recoil.org"] +authors: ["Anil Madhavapeddy" "Thomas Leonard"] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/eio" +doc: "https://ocaml-multicore.github.io/eio/" +bug-reports: "https://github.com/ocaml-multicore/eio/issues" +depends: [ + "dune" {>= "3.9"} + "eio" {= version} + "iomux" {>= "0.2"} + "mdx" {>= "2.4.1" & with-test} + "fmt" {>= "0.8.9"} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/eio.git" +url { + src: + "https://github.com/ocaml-multicore/eio/releases/download/v1.1/eio-1.1.tbz" + checksum: [ + "sha256=346104884077f140b3574e1daccc02212960c6efeb793c803e3e6b8bafea0fab" + "sha512=18abde418c56b1ceed3e8f075cb94e5c951b5cfea967ec4cb5f8e1e4d635b801b3c9e6ec61f89483490dbec143c33b9b76d947bff1183d44e6e0e01d93821dfb" + ] +} +x-commit-hash: "77d881014d0abb3246dda6f7af8178e86f05061a" diff --git a/packages/eio_windows/eio_windows.1.1/opam b/packages/eio_windows/eio_windows.1.1/opam new file mode 100644 index 00000000000..dbdb6bc8610 --- /dev/null +++ b/packages/eio_windows/eio_windows.1.1/opam @@ -0,0 +1,42 @@ +opam-version: "2.0" +synopsis: "Eio implementation for Windows" +description: "An Eio implementation using OCaml's Unix.select" +maintainer: ["anil@recoil.org"] +authors: ["Anil Madhavapeddy" "Thomas Leonard"] +license: "ISC" +homepage: "https://github.com/ocaml-multicore/eio" +doc: "https://ocaml-multicore.github.io/eio/" +bug-reports: "https://github.com/ocaml-multicore/eio/issues" +depends: [ + "dune" {>= "3.9"} + "eio" {= version} + "fmt" {>= "0.8.9"} + "kcas" {>= "0.3.0" & with-test} + "alcotest" {>= "1.7.0" & with-test} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/ocaml-multicore/eio.git" +url { + src: + "https://github.com/ocaml-multicore/eio/releases/download/v1.1/eio-1.1.tbz" + checksum: [ + "sha256=346104884077f140b3574e1daccc02212960c6efeb793c803e3e6b8bafea0fab" + "sha512=18abde418c56b1ceed3e8f075cb94e5c951b5cfea967ec4cb5f8e1e4d635b801b3c9e6ec61f89483490dbec143c33b9b76d947bff1183d44e6e0e01d93821dfb" + ] +} +x-commit-hash: "77d881014d0abb3246dda6f7af8178e86f05061a" +available: [os = "win32"]