Skip to content

Commit

Permalink
[new release] eio (5 packages) (1.1)
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
talex5 committed May 28, 2024
1 parent 51468f1 commit d9bde24
Show file tree
Hide file tree
Showing 5 changed files with 227 additions and 0 deletions.
53 changes: 53 additions & 0 deletions packages/eio/eio.1.1/opam
Original file line number Diff line number Diff line change
@@ -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: ["[email protected]"]
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"
45 changes: 45 additions & 0 deletions packages/eio_linux/eio_linux.1.1/opam
Original file line number Diff line number Diff line change
@@ -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: ["[email protected]"]
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"
46 changes: 46 additions & 0 deletions packages/eio_main/eio_main.1.1/opam
Original file line number Diff line number Diff line change
@@ -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: ["[email protected]"]
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"
41 changes: 41 additions & 0 deletions packages/eio_posix/eio_posix.1.1/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
opam-version: "2.0"
synopsis: "Eio implementation for POSIX systems"
description: "An Eio implementation for most Unix-like platforms"
maintainer: ["[email protected]"]
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"
42 changes: 42 additions & 0 deletions packages/eio_windows/eio_windows.1.1/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
opam-version: "2.0"
synopsis: "Eio implementation for Windows"
description: "An Eio implementation using OCaml's Unix.select"
maintainer: ["[email protected]"]
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"]

0 comments on commit d9bde24

Please sign in to comment.