Skip to content

Commit c39875a

Browse files
talex5nberth
authored andcommitted
[new release] eio (5 packages) (0.14)
CHANGES: New features / API changes: - Add `Eio.Executor_pool` (@SGrondin ocaml-multicore/eio#639, reviewed by @talex5). Provides an easy way to distribute jobs across domains. - Add `Fiber.first ~combine` and `Fiber.n_any` (@SGrondin @talex5 ocaml-multicore/eio#587). Allows keeping both results in the case where multiple fibers succeed. - Add `Eio_mock.Backend.run_full` with auto-advancing mock clock (@talex5 ocaml-multicore/eio#644, reviewed by @SGrondin). Simplifies testing of code using clocks. - Add `Buf_write.printf` (@SGrondin @talex5 ocaml-multicore/eio#655). - Add `Net.listening_addr` (@mefyl ocaml-multicore/eio#555, reviewed by @patricoferris @talex5). Useful to get the socket's address if the OS assigns it. - Add `Promise.try_resolve` (@talex5 ocaml-multicore/eio#646). - Remove `Cancel_hook_failed` exception (@talex5 ocaml-multicore/eio#640). Didn't seem to be used and broke dscheck. Tracing: - Improve tracing (@TheLortex @patricoferris @talex5 ocaml-multicore/eio#656). Trace cancellation contexts and OS operations, and simplify API. - Add labels to switches (@talex5 ocaml-multicore/eio#661, reviewed by @SGrondin). - `Fiber.all`: use the parent fiber (@talex5 ocaml-multicore/eio#665, reviewed by @SGrondin). Cleans up the traces a bit. Performance: - Faster and simpler `Lf_queue` (@talex5 ocaml-multicore/eio#647, based on work by @polytypic). - Optimise `Flow.copy` with `Buf_read.as_flow` (@talex5 ocaml-multicore/eio#663, reviewed by @SGrondin, reported by @leostera). Bug fixes: - Fix handling of very long IO vectors (@talex5 ocaml-multicore/eio#653, reported by @Cjen1). - eio_posix: use `caml_enter_blocking_section` in more places (@talex5 ocaml-multicore/eio#654, reviewed by @SGrondin). - eio_posix: work around `caml_unix_alloc_sockaddr` bug (@talex5 ocaml-multicore/eio#651). - Remove default backtrace from `Switch.fail` (@talex5 ocaml-multicore/eio#664). Documentation: - Organise eio.mli better (@talex5 ocaml-multicore/eio#667). - Fix quoting of quotes in process error messages (@talex5 ocaml-multicore/eio#666, reviewed by @SGrondin). - Mention Path module in File and Fs documentation (@talex5 ocaml-multicore/eio#659, requested by @clecat). - Minor documentation updates (@SGrondin @talex5 ocaml-multicore/eio#670). Build / internals: - Allow closing synchronous streams (@talex5 ocaml-multicore/eio#641, reviewed by @SGrondin). This isn't currently exposed in the public interface. - Fix non-idempotent tests (@SGrondin ocaml-multicore/eio#662). - eio_windows: add explicit fmt dependency (@talex5 ocaml-multicore/eio#643).
1 parent 37716e0 commit c39875a

File tree

5 files changed

+226
-0
lines changed
  • packages
    • eio_linux/eio_linux.0.14
    • eio_main/eio_main.0.14
    • eio_posix/eio_posix.0.14
    • eio_windows/eio_windows.0.14
    • eio/eio.0.14

5 files changed

+226
-0
lines changed

packages/eio/eio.0.14/opam

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
opam-version: "2.0"
2+
synopsis: "Effect-based direct-style IO API for OCaml"
3+
description: "An effect-based IO API for multicore OCaml with fibers."
4+
maintainer: ["[email protected]"]
5+
authors: ["Anil Madhavapeddy" "Thomas Leonard"]
6+
license: "ISC"
7+
homepage: "https://github.com/ocaml-multicore/eio"
8+
doc: "https://ocaml-multicore.github.io/eio/"
9+
bug-reports: "https://github.com/ocaml-multicore/eio/issues"
10+
depends: [
11+
"dune" {>= "3.9"}
12+
"ocaml" {>= "5.1.0"}
13+
"bigstringaf" {>= "0.9.0"}
14+
"cstruct" {>= "6.0.1"}
15+
"lwt-dllist"
16+
"optint" {>= "0.1.0"}
17+
"psq" {>= "0.2.0"}
18+
"fmt" {>= "0.8.9"}
19+
"hmap" {>= "0.8.1"}
20+
"domain-local-await" {>= "0.1.0"}
21+
"crowbar" {>= "0.2" & with-test}
22+
"mtime" {>= "2.0.0"}
23+
"mdx" {>= "2.2.0" & with-test}
24+
"dscheck" {>= "0.1.0" & with-test}
25+
"odoc" {with-doc}
26+
]
27+
conflicts: [
28+
"seq" {< "0.3"}
29+
]
30+
build: [
31+
["dune" "subst"] {dev}
32+
[
33+
"dune"
34+
"build"
35+
"-p"
36+
name
37+
"-j"
38+
jobs
39+
"@install"
40+
"@runtest" {with-test}
41+
"@doc" {with-doc}
42+
]
43+
]
44+
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
45+
url {
46+
src:
47+
"https://github.com/ocaml-multicore/eio/releases/download/v0.14/eio-0.14.tbz"
48+
checksum: [
49+
"sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b"
50+
"sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c"
51+
]
52+
}
53+
x-commit-hash: "c502574915daadafb4f1a0af0d03c1bd1a20b0f4"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
opam-version: "2.0"
2+
synopsis: "Eio implementation for Linux using io-uring"
3+
description: "An Eio implementation for Linux using io-uring."
4+
maintainer: ["[email protected]"]
5+
authors: ["Anil Madhavapeddy" "Thomas Leonard"]
6+
license: "ISC"
7+
homepage: "https://github.com/ocaml-multicore/eio"
8+
doc: "https://ocaml-multicore.github.io/eio/"
9+
bug-reports: "https://github.com/ocaml-multicore/eio/issues"
10+
depends: [
11+
"dune" {>= "3.9"}
12+
"alcotest" {>= "1.7.0" & with-test}
13+
"eio" {= version}
14+
"mdx" {>= "2.2.0" & with-test}
15+
"logs" {>= "0.7.0"}
16+
"fmt" {>= "0.8.9"}
17+
"cmdliner" {>= "1.1.0" & with-test}
18+
"uring" {>= "0.7"}
19+
"odoc" {with-doc}
20+
]
21+
build: [
22+
["dune" "subst"] {dev}
23+
[
24+
"dune"
25+
"build"
26+
"-p"
27+
name
28+
"-j"
29+
jobs
30+
"@install"
31+
"@runtest" {with-test}
32+
"@doc" {with-doc}
33+
]
34+
]
35+
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
36+
available: [os = "linux"]
37+
url {
38+
src:
39+
"https://github.com/ocaml-multicore/eio/releases/download/v0.14/eio-0.14.tbz"
40+
checksum: [
41+
"sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b"
42+
"sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c"
43+
]
44+
}
45+
x-commit-hash: "c502574915daadafb4f1a0af0d03c1bd1a20b0f4"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
opam-version: "2.0"
2+
synopsis: "Effect-based direct-style IO mainloop for OCaml"
3+
description: "Selects an appropriate Eio backend for the current platform."
4+
maintainer: ["[email protected]"]
5+
authors: ["Anil Madhavapeddy" "Thomas Leonard"]
6+
license: "ISC"
7+
homepage: "https://github.com/ocaml-multicore/eio"
8+
doc: "https://ocaml-multicore.github.io/eio/"
9+
bug-reports: "https://github.com/ocaml-multicore/eio/issues"
10+
depends: [
11+
"dune" {>= "3.9"}
12+
"mdx" {>= "2.2.0" & with-test}
13+
"kcas" {>= "0.3.0" & with-test}
14+
"yojson" {>= "2.0.2" & with-test}
15+
"eio_linux"
16+
{= version & os = "linux" &
17+
(os-distribution != "centos" | os-version > "7")}
18+
"eio_posix" {= version & os != "win32"}
19+
"eio_windows" {= version & os = "win32"}
20+
"odoc" {with-doc}
21+
]
22+
build: [
23+
["dune" "subst"] {dev}
24+
[
25+
"dune"
26+
"build"
27+
"-p"
28+
name
29+
"-j"
30+
jobs
31+
"@install"
32+
"@runtest" {with-test}
33+
"@doc" {with-doc}
34+
]
35+
]
36+
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
37+
url {
38+
src:
39+
"https://github.com/ocaml-multicore/eio/releases/download/v0.14/eio-0.14.tbz"
40+
checksum: [
41+
"sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b"
42+
"sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c"
43+
]
44+
}
45+
x-commit-hash: "c502574915daadafb4f1a0af0d03c1bd1a20b0f4"
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
opam-version: "2.0"
2+
synopsis: "Eio implementation for POSIX systems"
3+
description: "An Eio implementation for most Unix-like platforms"
4+
maintainer: ["[email protected]"]
5+
authors: ["Anil Madhavapeddy" "Thomas Leonard"]
6+
license: "ISC"
7+
homepage: "https://github.com/ocaml-multicore/eio"
8+
doc: "https://ocaml-multicore.github.io/eio/"
9+
bug-reports: "https://github.com/ocaml-multicore/eio/issues"
10+
depends: [
11+
"dune" {>= "3.9"}
12+
"eio" {= version}
13+
"iomux" {>= "0.2"}
14+
"mdx" {>= "2.2.0" & with-test}
15+
"fmt" {>= "0.8.9"}
16+
"odoc" {with-doc}
17+
]
18+
build: [
19+
["dune" "subst"] {dev}
20+
[
21+
"dune"
22+
"build"
23+
"-p"
24+
name
25+
"-j"
26+
jobs
27+
"@install"
28+
"@runtest" {with-test}
29+
"@doc" {with-doc}
30+
]
31+
]
32+
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
33+
url {
34+
src:
35+
"https://github.com/ocaml-multicore/eio/releases/download/v0.14/eio-0.14.tbz"
36+
checksum: [
37+
"sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b"
38+
"sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c"
39+
]
40+
}
41+
x-commit-hash: "c502574915daadafb4f1a0af0d03c1bd1a20b0f4"
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
opam-version: "2.0"
2+
synopsis: "Eio implementation for Windows"
3+
description: "An Eio implementation using OCaml's Unix.select"
4+
maintainer: ["[email protected]"]
5+
authors: ["Anil Madhavapeddy" "Thomas Leonard"]
6+
license: "ISC"
7+
homepage: "https://github.com/ocaml-multicore/eio"
8+
doc: "https://ocaml-multicore.github.io/eio/"
9+
bug-reports: "https://github.com/ocaml-multicore/eio/issues"
10+
depends: [
11+
"dune" {>= "3.9"}
12+
"eio" {= version}
13+
"fmt" {>= "0.8.9"}
14+
"kcas" {>= "0.3.0" & with-test}
15+
"alcotest" {>= "1.7.0" & with-test}
16+
"odoc" {with-doc}
17+
]
18+
build: [
19+
["dune" "subst"] {dev}
20+
[
21+
"dune"
22+
"build"
23+
"-p"
24+
name
25+
"-j"
26+
jobs
27+
"@install"
28+
"@runtest" {with-test}
29+
"@doc" {with-doc}
30+
]
31+
]
32+
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
33+
url {
34+
src:
35+
"https://github.com/ocaml-multicore/eio/releases/download/v0.14/eio-0.14.tbz"
36+
checksum: [
37+
"sha256=52f85b947d3e0de70940b5bbaac0d3e78841fea5648e73af7d8a754ab51c871b"
38+
"sha512=944095b1131d2dcc1f0d415fe46fd78b883733e0f95985e3a0feafe73b1703606ec60560abf36c16c364cc60164b7330f236e39569e264c702bb5647e28bfd3c"
39+
]
40+
}
41+
x-commit-hash: "c502574915daadafb4f1a0af0d03c1bd1a20b0f4"
42+
available: [os = "win32"]

0 commit comments

Comments
 (0)