unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12.
@ 2024-07-14 11:44 Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 1/5] gnu: ocaml-mdx: Update to 2.4.1 Benjamin via Guix-patches via
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:44 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

Hello, this series of patches update eio to version 0.12.

It is not possible to update to the latest version 1.1 because it
depends on ocaml 5.1 [1]

[1]: https://issues.guix.gnu.org/69185#2

Benjamin (5):
  gnu: ocaml-mdx: Update to 2.4.1.
  gnu: Add ocaml-thread-table.
  gnu: Add ocaml-domain-schims.
  gnu: Add ocaml-domain-local-await.
  gnu: ocaml-eio: Update to 0.12.

 gnu/packages/ocaml.scm | 150 +++++++++++++++++++++++++++++------------
 1 file changed, 106 insertions(+), 44 deletions(-)


base-commit: fb11149feaa177a95e1f0d640e4f03881257e83e
-- 
2.45.2





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 1/5] gnu: ocaml-mdx: Update to 2.4.1.
  2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
@ 2024-07-14 11:49 ` Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 2/5] gnu: Add ocaml-thread-table Benjamin via Guix-patches via
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:49 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

* gnu/packages/ocaml.scm (ocaml-mdx): Update to 2.4.1.
[propagated-inputs]: Remove ocaml-odoc and ocaml-odoc-parser; add ocaml-camlp-streams,
ocaml-csexp, and ocaml-cppo.
[native-inputs]: Remove ocaml-cppo; add ocaml-odoc.

Change-Id: I319fc32d958efe0ca5db6d6c4fef9dbf0de97fd1
---
 gnu/packages/ocaml.scm | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1204c78883..fa84ea73a5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8445,7 +8445,7 @@ (define-public ocaml-version
 (define-public ocaml-mdx
   (package
     (name "ocaml-mdx")
-    (version "2.1.0")
+    (version "2.4.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8454,7 +8454,7 @@ (define-public ocaml-mdx
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1w1givvhwv9jzj9zbg4mmlpb35sqi75w83r99p2z50bdr69fdf57"))))
+                "14v4iv0xypvl60y9vsg5rs8xbwxagmz0zr8sxrzchd6xij0nlplv"))))
     (build-system dune-build-system)
     (arguments
      `(#:phases
@@ -8473,17 +8473,18 @@ (define-public ocaml-mdx
              (substitute* "test/bin/mdx-test/expect/padding/test-case.md"
                (("egrep") "grep -E")))))))
     (propagated-inputs
-     (list ocaml-fmt
-           ocaml-astring
-           ocaml-logs
-           ocaml-cmdliner
+     (list ocaml-result
+           ocaml-camlp-streams
+           ocaml-version
            ocaml-re
-           ocaml-result
-           ocaml-odoc
-           ocaml-odoc-parser
-           ocaml-version))
+           ocaml-cmdliner
+           ocaml-logs
+           ocaml-astring
+           ocaml-csexp
+           ocaml-cppo
+           ocaml-fmt))
     (native-inputs
-     (list ocaml-cppo ocaml-lwt ocaml-alcotest))
+     (list ocaml-odoc ocaml-alcotest ocaml-lwt))
     (home-page
      "https://github.com/realworldocaml/mdx")
     (synopsis
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 2/5] gnu: Add ocaml-thread-table.
  2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 1/5] gnu: ocaml-mdx: Update to 2.4.1 Benjamin via Guix-patches via
@ 2024-07-14 11:49 ` Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 3/5] gnu: Add ocaml-domain-schims Benjamin via Guix-patches via
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:49 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

* gnu/packages/ocaml.scm (ocaml-thread-table): New variable.

Change-Id: If0175f44e6959befc539a399bd8bdebdcb41ba1b
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fa84ea73a5..a6fb5af138 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3133,6 +3133,29 @@ (define-public ocaml-hmap
 to which allows adding and looking up bindings in a type safe manner.")
     (license license:isc)))
 
+(define-public ocaml-thread-table
+  (package
+    (name "ocaml-thread-table")
+    (version "1.0.0")
+    (home-page "https://github.com/ocaml-multicore/thread-table")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256 (base32
+                "05sla96m4lbfrnrjczj4xl1zbcwypir6krp4y16x50hz24ai12pc"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "thread-table"))
+    (native-inputs (list ocaml-odoc ocaml-alcotest))
+    (synopsis "A lock-free thread-safe integer keyed hash table")
+    (description "Ocaml library implementing a minimalist lock-free thread-safe
+integer keyed hash table with zero synchronization overhead on lookups designed
+for associating thread specific state with threads within a domain.")
+    (license license:isc)))
+
 (define ocaml-eio
   (package
     (name "ocaml-eio")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 3/5] gnu: Add ocaml-domain-schims.
  2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 1/5] gnu: ocaml-mdx: Update to 2.4.1 Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 2/5] gnu: Add ocaml-thread-table Benjamin via Guix-patches via
@ 2024-07-14 11:49 ` Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 4/5] gnu: Add ocaml-domain-local-await Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 5/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
  4 siblings, 0 replies; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:49 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

* gnu/packages/ocaml.scm (ocaml-domain-schims): New variable.

Change-Id: Ifbf8ade84658862a187f165a1bf7abe17ee1ecb7
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a6fb5af138..fdeec8f2a1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3156,6 +3156,30 @@ (define-public ocaml-thread-table
 for associating thread specific state with threads within a domain.")
     (license license:isc)))
 
+(define-public ocaml-domain-schims
+  (package
+    (name "ocaml-domain-schims")
+    (version "0.1.0")
+    (home-page "https://gitlab.com/gasche/domain-shims")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256 (base32
+                "0mxvzhxgcrvv0l99i4blag52v7g1knycwsh1xv9vkmh0rpwb147z"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "domain_shims"))
+    (native-inputs (list))
+    (synopsis "A self-contained implementation of the Domain module for OCaml 4.")
+    (description "Domain is a new module of the OCaml 5 standard library that exposes
+the Multicore OCaml runtime's ability to run OCaml computations in parallel.
+With domain-shims, you can compile run code that was written for
+OCaml 5 using the Domain module under OCaml 4")
+    (license license:expat)))
+
 (define ocaml-eio
   (package
     (name "ocaml-eio")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 4/5] gnu: Add ocaml-domain-local-await.
  2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
                   ` (2 preceding siblings ...)
  2024-07-14 11:49 ` [bug#72107] [PATCH 3/5] gnu: Add ocaml-domain-schims Benjamin via Guix-patches via
@ 2024-07-14 11:49 ` Benjamin via Guix-patches via
  2024-07-14 11:49 ` [bug#72107] [PATCH 5/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
  4 siblings, 0 replies; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:49 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

* gnu/packages/ocaml.scm (ocaml-domain-local-await): New variable.

Change-Id: I8ae010390f4aacfaa4c82f4ec18cbf5480595120
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fdeec8f2a1..0660c3d3d4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3180,6 +3180,30 @@ (define-public ocaml-domain-schims
 OCaml 5 using the Domain module under OCaml 4")
     (license license:expat)))
 
+(define-public ocaml-domain-local-await
+  (package
+    (name "ocaml-domain-local-await")
+    (version "1.0.1")
+    (home-page "https://github.com/ocaml-multicore/domain-local-await")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256 (base32
+                "0h60sxzd9p14ilpg004d47y3zd89pswffr0wvqa9cykpn8qgdfcm"))))
+    (build-system dune-build-system)
+    (arguments `(#:package "domain-local-await"))
+    (propagated-inputs (list ocaml-thread-table))
+    (native-inputs (list ocaml-odoc ocaml-domain-schims ocaml-version ocaml-mdx ocaml-alcotest))
+    (synopsis "A scheduler independent blocking mechanism")
+    (description "Ocaml library implementing a scheduler independent blocking
+mechanism. It provides a low level mechanism intended for writing higher level
+libraries that need to block in a scheduler friendly manner.")
+    (license license:isc)))
+
 (define ocaml-eio
   (package
     (name "ocaml-eio")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 5/5] gnu: ocaml-eio: Update to 0.12.
  2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
                   ` (3 preceding siblings ...)
  2024-07-14 11:49 ` [bug#72107] [PATCH 4/5] gnu: Add ocaml-domain-local-await Benjamin via Guix-patches via
@ 2024-07-14 11:49 ` Benjamin via Guix-patches via
  2024-07-26 23:58   ` [bug#72107] [PATCH 0/5] " jgart via Guix-patches via
  4 siblings, 1 reply; 7+ messages in thread
From: Benjamin via Guix-patches via @ 2024-07-14 11:49 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin, Julien Lepiller, pukkamustard

* gnu/packages/ocaml.scm (ocaml-eio): Update to 0.12.
[propagated-inputs]: Remove ocaml-lwt, ocaml-logs, and ocaml-odoc; add
ocaml-domain-local-await.
[native-inputs]: Remove ocaml-astring and ocaml-alcotest; add ocaml-odoc.
* gnu/packages/ocaml.scm (ocaml-eio-luv): Remove ocaml-eio-luv.
* gnu/packages/ocaml.scm (ocaml-eio-main): Update to 0.12.

Change-Id: I0445cb1d181deacda827516c9b42104aa77bcad0
---
 gnu/packages/ocaml.scm | 56 +++++++++++++++++-------------------------
 1 file changed, 23 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0660c3d3d4..01f5d57faf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3207,7 +3207,7 @@ (define-public ocaml-domain-local-await
 (define ocaml-eio
   (package
     (name "ocaml-eio")
-    (version "0.8.1")
+    (version "0.12")
     (home-page "https://github.com/ocaml-multicore/eio")
     (source
      (origin
@@ -3217,24 +3217,21 @@ (define ocaml-eio
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256 (base32
-                "02q9i5wbb2497vd4ypc9d9p4zi3lmx0rsv8faiy7h8dnnzbjjf4z"))))
+                "1havn2h3c0748mj8ic7jn32kswb7sigavnbvxdqf37qn7cx91ilr"))))
     (build-system dune-build-system)
     (arguments `(#:package "eio"))
     (propagated-inputs (list ocaml-bigstringaf
                              ocaml-cstruct
-                             ocaml-lwt
+                             ocaml-domain-local-await
                              ocaml-lwt-dllist
-                             ocaml-logs
                              ocaml-optint
                              ocaml-psq
                              ocaml-fmt
                              ocaml-hmap
-                             ocaml-mtime
-                             ocaml-odoc))
-    (native-inputs (list ocaml-astring
-                         ocaml-crowbar
-                         ocaml-alcotest
-                         ocaml-mdx))
+                             ocaml-mtime))
+    (native-inputs (list ocaml-odoc
+                         ocaml-mdx
+                         ocaml-crowbar))
     (synopsis "Effect-based direct-style IO API for OCaml")
     (description "This package provides an effect-based IO API for multicore
 OCaml with fibers.")
@@ -3243,20 +3240,6 @@ (define ocaml-eio
 (define-public ocaml5.0-eio
   (package-with-ocaml5.0 ocaml-eio))
 
-(define ocaml-eio-luv
-  (package
-    (inherit ocaml-eio)
-    (name "ocaml-eio-luv")
-    (arguments `(#:package "eio_luv"))
-    (propagated-inputs (list ocaml-eio ocaml-luv))
-    (native-inputs (list ocaml-mdx))
-    (synopsis "Libuv-based backend for Ocaml Eio")
-    (description "@code{Eio_luv} provides a cross-platform backend for
-@code{Ocaml Eio}'s APIs using luv (libuv)")))
-
-(define-public ocaml5.0-eio-luv
-  (package-with-ocaml5.0 ocaml-eio-luv))
-
 (define-public ocaml-unionfind
   (package
     (name "ocaml-unionfind")
@@ -3320,16 +3303,24 @@ (define ocaml-eio-linux
   (package
     (inherit ocaml-eio)
     (name "ocaml-eio-linux")
-    (arguments `(#:package "eio_linux"))
+    (arguments `(
+       #:package "eio_linux"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-test-path
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (substitute* "lib_eio_linux/tests/spawn.md"
+                                    (("/usr/bin/env") (which "env"))))))))
     (propagated-inputs
-     (list ocaml-eio
-           ocaml-uring
+     (list ocaml-uring
+           ocaml-fmt
            ocaml-logs
-           ocaml-fmt))
+           ocaml-eio))
     (native-inputs
-     (list ocaml-mdx
-           ocaml-alcotest
-           ocaml-mdx))
+     (list ocaml-odoc
+           ocaml-cmdliner
+           ocaml-mdx
+           ocaml-alcotest))
     (synopsis "Linux backend for ocaml-eio")
     (description "@code{Eio_linux} provides a Linux io-uring backend for
 @code{Ocaml Eio} APIs, plus a low-level API that can be used directly
@@ -3347,10 +3338,9 @@ (define ocaml-eio-main
                  #:tests? #f))
     (propagated-inputs
      (list ocaml-eio
-           ocaml-eio-luv
            ocaml-eio-linux))
     (native-inputs
-     (list ocaml-mdx))
+     (list ocaml-odoc))
     (synopsis "Eio backend selector")
     (description "@code{Eio_main} selects an appropriate backend (e.g.
 @samp{eio_linux} or @samp{eio_luv}), depending on your platform.")))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12.
  2024-07-14 11:49 ` [bug#72107] [PATCH 5/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
@ 2024-07-26 23:58   ` jgart via Guix-patches via
  0 siblings, 0 replies; 7+ messages in thread
From: jgart via Guix-patches via @ 2024-07-26 23:58 UTC (permalink / raw)
  To: 72107; +Cc: Benjamin


Hi,

Thanks for your contribution.

See the issues detected by qa here:

https://qa.guix.gnu.org/issue/72107

Could you send v2?
-- 
all the best,
jgart




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-07-26 23:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-14 11:44 [bug#72107] [PATCH 0/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
2024-07-14 11:49 ` [bug#72107] [PATCH 1/5] gnu: ocaml-mdx: Update to 2.4.1 Benjamin via Guix-patches via
2024-07-14 11:49 ` [bug#72107] [PATCH 2/5] gnu: Add ocaml-thread-table Benjamin via Guix-patches via
2024-07-14 11:49 ` [bug#72107] [PATCH 3/5] gnu: Add ocaml-domain-schims Benjamin via Guix-patches via
2024-07-14 11:49 ` [bug#72107] [PATCH 4/5] gnu: Add ocaml-domain-local-await Benjamin via Guix-patches via
2024-07-14 11:49 ` [bug#72107] [PATCH 5/5] gnu: ocaml-eio: Update to 0.12 Benjamin via Guix-patches via
2024-07-26 23:58   ` [bug#72107] [PATCH 0/5] " jgart via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).