[PATCH] gnu: dune: Update to 2.7.1.

  • Done
  • quality assurance status badge
Details
3 participants
  • Brett Gilio
  • Julien Lepiller
  • zimoun
Owner
unassigned
Submitted by
Julien Lepiller
Severity
normal
J
J
Julien Lepiller wrote on 1 Oct 2020 15:39
(address . guix-patches@gnu.org)
20201001153909.296c8d3e@tachikoma.lepiller.eu
Hi Guix!

This patch series updates dune to 2.7.1. The first patch is unrelated,
but reduces the number of dependents of ocaml-4.07, which I'd like to
remove in the future, by building unison with 4.09.

Then, 4 updates that are required, or they fail to build with the newer
dune. Since dune 2 removed jbuilder entirely, we need to get rid of
every use of the #:jbuild argument, which I do in the following patches.

I add stdlib-shims, which is required for other updates later in the
series. I then update 6 more packages, that fail in their current
version with dune 2, but whose updated version work well with dune 1
and 2.

I add csexp, which is a dependency of dune-configurator 2, convert
compiler-libs and jane-street-headers to ocaml-4.07 only (so they don't
need to be updated for now, as that would create all sorts of issues).
The penultimate patch ensures we build all ocaml4.07- packages with
ocaml4.07-dune, which was not a problem before but...

The last patch updates dune to 2.7.1, and keeps ocaml4.07-dune at its
current version, which causes problems when mixing the two, hence the
previous patch.

The reason for preserving the version of ocaml4.07-dune is that many
dependents were created for jbuilder, so we'd need to change many of
them in order to update ocaml4.07-dune.

In the future, I'd like to add ocaml 4.11, update bap and maybe some
other packages to use ocaml 4.09, and remove 4.07, eliminating dune 1
completely.
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 01/27] gnu: unison: Build with ocaml-4.09.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-1-julien@lepiller.eu
* gnu/packages/ocaml.scm (unison)[sources]: Add an upstream patch.
[native-inputs]: Use ocaml-4.09.
* gnu/packages/patches/unison-fix-ocaml-4.08.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
gnu/local.mk | 1 +
gnu/packages/ocaml.scm | 5 +-
.../patches/unison-fix-ocaml-4.08.patch | 76 +++++++++++++++++++
3 files changed, 80 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/unison-fix-ocaml-4.08.patch

Toggle diff (116 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index a278c83553..2a1a0ae059 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1633,6 +1633,7 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
+ %D%/packages/patches/unison-fix-ocaml-4.08.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d61948afc3..394db50150 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -861,12 +861,13 @@ libpanel, librsvg and quartz.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))))
+ "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))
+ (patches (search-patches "unison-fix-ocaml-4.08.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.9 MiB of documentation
(native-inputs
- `(("ocaml" ,ocaml-4.07)
+ `(("ocaml" ,ocaml-4.09)
;; For documentation
("ghostscript" ,ghostscript)
("texlive" ,texlive-tiny)
diff --git a/gnu/packages/patches/unison-fix-ocaml-4.08.patch b/gnu/packages/patches/unison-fix-ocaml-4.08.patch
new file mode 100644
index 0000000000..4b6e6b6564
--- /dev/null
+++ b/gnu/packages/patches/unison-fix-ocaml-4.08.patch
@@ -0,0 +1,76 @@
+diff --git a/src/Makefile.OCaml b/src/Makefile.OCaml
+index 7cefa2e..378fc8b 100644
+--- a/src/Makefile.OCaml
++++ b/src/Makefile.OCaml
+@@ -272,7 +272,7 @@ endif
+
+ # Gtk GUI
+ ifeq ($(UISTYLE), gtk)
+- CAMLFLAGS+=-I +lablgtk
++ CAMLFLAGS+=-I $(LABLGTKLIB)
+ OCAMLOBJS+=pixmaps.cmo uigtk.cmo linkgtk.cmo
+ OCAMLLIBS+=lablgtk.cma
+ endif
+@@ -282,7 +282,7 @@ OCAMLFIND := $(shell command -v ocamlfind 2> /dev/null)
+
+ ifeq ($(UISTYLE), gtk2)
+ ifndef OCAMLFIND
+- CAMLFLAGS+=-I +lablgtk2
++ CAMLFLAGS+=-I $(LABLGTK2LIB)
+ else
+ CAMLFLAGS+=$(shell $(OCAMLFIND) query -i-format lablgtk2 )
+ endif
+diff --git a/src/files.ml b/src/files.ml
+index 5ff1881..1d1fbcc 100644
+--- a/src/files.ml
++++ b/src/files.ml
+@@ -734,7 +734,7 @@ let get_files_in_directory dir =
+ with End_of_file ->
+ dirh.System.closedir ()
+ end;
+- Sort.list (<) !files
++ List.sort String.compare !files
+
+ let ls dir pattern =
+ Util.convertUnixErrorsToTransient
+diff --git a/src/recon.ml b/src/recon.ml
+index 2c619bb..2412c18 100644
+--- a/src/recon.ml
++++ b/src/recon.ml
+@@ -661,8 +661,8 @@ let rec reconcile
+
+ (* Sorts the paths so that they will be displayed in order *)
+ let sortPaths pathUpdatesList =
+- Sort.list
+- (fun (p1, _) (p2, _) -> Path.compare p1 p2 <= 0)
++ List.sort
++ Path.compare
+ pathUpdatesList
+
+ let rec enterPath p1 p2 t =
+diff --git a/src/system/system_generic.ml b/src/system/system_generic.ml
+index 453027d..c2288b8 100755
+--- a/src/system/system_generic.ml
++++ b/src/system/system_generic.ml
+@@ -47,7 +47,7 @@ let open_out_gen = open_out_gen
+ let chmod = Unix.chmod
+ let chown = Unix.chown
+ let utimes = Unix.utimes
+-let link = Unix.link
++let link s d = Unix.link s d
+ let openfile = Unix.openfile
+ let opendir f =
+ let h = Unix.opendir f in
+diff --git a/src/uigtk2.ml b/src/uigtk2.ml
+index fbc5d8f..4e82cc2 100644
+--- a/src/uigtk2.ml
++++ b/src/uigtk2.ml
+@@ -94,7 +94,7 @@ let icon =
+ let icon =
+ let p = GdkPixbuf.create ~width:48 ~height:48 ~has_alpha:true () in
+ Gpointer.blit
+- (Gpointer.region_of_string Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
++ (Gpointer.region_of_bytes Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
+ p
+
+ let leftPtrWatch =
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 02/27] gnu: camlp5: Update to 7.13.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-2-julien@lepiller.eu
* gnu/packages/ocaml.scm (camlp5): Update to 7.13.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 394db50150..f5d7799ae5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -541,7 +541,7 @@ Git-friendly development workflow.")
(define-public camlp5
(package
(name "camlp5")
- (version "7.12")
+ (version "7.13")
(source
(origin
(method git-fetch)
@@ -550,7 +550,7 @@ Git-friendly development workflow.")
(commit (string-append "rel" (string-delete #\. version)))))
(file-name (git-file-name name version))
(sha256
- (base32 "12ix5g15bys932hyf9gs637iz76m0ji9075d83jfdmx85q30llgf"))))
+ (base32 "1d9spy3f5ahixm8nxxk086kpslzva669a5scn49am0s7vx4i71kp"))))
(build-system gnu-build-system)
(inputs
`(("ocaml" ,ocaml)))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 03/27] gnu: ocaml-mccs: Update to 1.1+11.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-3-julien@lepiller.eu
* gnu/packages/ocaml-mccs: Update to 1.1+11.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f5d7799ae5..521df69d59 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -329,7 +329,7 @@ Software distribution.")
(define-public ocaml-mccs
(package
(name "ocaml-mccs")
- (version "1.1+9")
+ (version "1.1+11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -338,7 +338,7 @@ Software distribution.")
(file-name (git-file-name name version))
(sha256
(base32
- "1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc"))))
+ "1gsad5cj03256i36wdjqk5pg51pyd48rpjazf0gfaakrn8lk438g"))))
(build-system dune-build-system)
(propagated-inputs `(("ocaml-cudf" ,ocaml-cudf)))
(home-page "https://www.i3s.unice.fr/~cpjm/misc/")
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 04/27] gnu: ocaml-migrate-parsetree: Update to 1.7.3.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-4-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-migrate-parsetree): Update to 1.7.3.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 521df69d59..ed692230bc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1292,7 +1292,7 @@ following a very simple s-expression syntax.")
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
- (version "1.4.0")
+ (version "1.7.3")
(home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
(source
(origin
@@ -1303,7 +1303,7 @@ following a very simple s-expression syntax.")
(file-name (git-file-name name version))
(sha256
(base32
- "0sv1p4615l8gpbah4ya2c40yr6fbvahvv3ks7zhrsgcwcq2ljyr2"))))
+ "0336vz0galjnsazbmkxjwdv1qvdqsx2rgrvp778xgq2fzasz45cx"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 05/27] gnu: ocaml-ppx-tools-versioned: Update to 5.4.0.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-5-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-tools-versioned): Update to 5.4.0.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ed692230bc..9ec9c82b16 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1321,7 +1321,7 @@ functions to the next and/or previous version.")
(define-public ocaml-ppx-tools-versioned
(package
(name "ocaml-ppx-tools-versioned")
- (version "5.2.3")
+ (version "5.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1330,7 +1330,7 @@ functions to the next and/or previous version.")
(file-name (git-file-name name version))
(sha256
(base32
- "1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y"))))
+ "07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 06/27] gnu: ocaml-qtest: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-6-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-qtest): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9ec9c82b16..97b5b26c70 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1213,8 +1213,7 @@ instances and printing them.")
"0gddzan4vzs0vklsxhirdjrvx3rp7hhh2yr20vi13nq8rwkn9w29"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
- #:test-target "tests"))
+ `(#:test-target "tests"))
(propagated-inputs
`(("ounit" ,ocaml-ounit)
("qcheck" ,ocaml-qcheck)))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 07/27] gnu: ocaml-bitstring: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-7-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-bitstring): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (17 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 97b5b26c70..e85a73365d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1362,8 +1362,8 @@ ocaml-migrate-parsetree")
(propagated-inputs
`(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
(arguments
- `(#:tests? #f; Tests fail to build
- #:jbuild? #t))
+ `(#:package "bitstring"
+ #:tests? #f)); Tests fail to build
(home-page "https://github.com/xguerin/bitstring")
(synopsis "Bitstrings and bitstring matching for OCaml")
(description "Adds Erlang-style bitstrings and matching over bitstrings as
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 08/27] gnu: ocaml-lwt-log: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-8-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-lwt-log): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e85a73365d..13c31ef939 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1866,8 +1866,7 @@ locks or other synchronization primitives.")
"1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f; require lwt_ppx
- #:jbuild? #t))
+ `(#:tests? #f)); require lwt_ppx
(propagated-inputs
`(("lwt" ,ocaml-lwt)))
(properties `((upstream-name . "lwt_log")))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 09/27] gnu: ocaml-easy-format: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-9-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-easy-format): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 13c31ef939..5aa95bf569 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2817,7 +2817,7 @@ JSON.")
"1fc95q2ypck6m6rv3kiawwilh5ac93v2hcp823mj608d5kj79xkb"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
+ `(#:package "easy-format"
#:phases
(modify-phases %standard-phases
(add-before 'build 'make-writable
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 10/27] gnu: ocaml4.07-zed: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-10-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-zed): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5aa95bf569..bad755516d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3146,8 +3146,7 @@ function that follows the prototype of POSIX's wcwidth.")
(base32 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
- #:test-target "."
+ `(#:test-target "."
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(propagated-inputs
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 11/27] gnu: ocaml4.07-utop: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-11-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-utop): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bad755516d..50bfc10fc3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3211,8 +3211,7 @@ instead of bindings to a C library.")
(base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
- #:test-target "."
+ `(#:test-target "."
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(native-inputs
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 12/27] gnu: ocaml4.07-merlin: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-12-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-merlin): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 50bfc10fc3..0515dc097c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3761,7 +3761,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(native-inputs
`(("ocaml-findlib" ,ocaml-findlib)))
(arguments
- `(#:jbuild? #t
+ `(#:package "merlin"
#:tests? #f ;; Errors in tests in version 3.2.2
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 13/27] gnu: ocaml4.07-ppx-expect: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-13-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-ppx-expect): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0515dc097c..4dce8bbe1c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4864,8 +4864,7 @@ useful errors on failure.")
"1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
- #:ocaml ,ocaml-4.07
+ `(#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 14/27] gnu: ocaml4.07-core: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-14-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-core): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 4dce8bbe1c..3910f5c20f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5221,9 +5221,8 @@ thousands of times faster than fork.
"0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
(build-system dune-build-system)
(arguments
- `(#:jbuild? #t
- ;; Require a cyclic dependency: core_extended
- #:tests? #f
+ `(#:package "core"
+ #:tests? #f; Require a cyclic dependency: core_extended
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(propagated-inputs
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 15/27] gnu: ocaml-tyxml: Do not use deprecated jbuilder.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-15-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-tyxml): Remove #:jbuild argument.
---
gnu/packages/ocaml.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3910f5c20f..aa9230cd9e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5370,7 +5370,7 @@ stream, and convert everything to UTF-8.")
("ocaml-markup" ,ocaml-markup)))
(native-inputs
`(("ocaml-alcotest" ,ocaml-alcotest)))
- (arguments `(#:jbuild? #t))
+ (arguments `(#:package "tyxml"))
(home-page "https://github.com/ocsigen/tyxml/")
(synopsis "TyXML is a library for building correct HTML and SVG documents")
(description "TyXML provides a set of convenient combinators that uses the
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 16/27] gnu: Add ocaml-stdlib-shims.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-16-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-stdlib-shims): New variable.
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index aa9230cd9e..7f402e0a47 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -265,6 +265,30 @@ functional, imperative and object-oriented styles of programming.")
for building OCaml library and programs.")
(license license:lgpl2.1+)))
+(define-public ocaml-stdlib-shims
+ (package
+ (name "ocaml-stdlib-shims")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/stdlib-shims")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jv6yb47f66239m7hsz7zzw3i48mjpbvfgpszws48apqx63wjwsk"))))
+ (build-system dune-build-system)
+ (home-page "https://github.com/ocaml/stdlib-shims")
+ (synopsis "Backport of some of the new stdlib features to older OCaml")
+ (description "This package backports some of the new stdlib features to
+older OCaml compiler, such as the Stdlib module.
+
+This allows projects that require compatibility with older compilers to
+use these new features in their code.")
+ ;; Same as the OCaml compiler
+ (license (list license:qpl license:lgpl2.0))))
+
(define-public ocaml-extlib
(package
(name "ocaml-extlib")
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 17/27] gnu: opam: Update to 2.0.7.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-17-julien@lepiller.eu
* gnu/packages/ocaml.scm (opam): Update to 2.0.7.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7f402e0a47..181cd679d4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -460,7 +460,7 @@ the opam file format.")
(define-public opam
(package
(name "opam")
- (version "2.0.6")
+ (version "2.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -469,7 +469,7 @@ the opam file format.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vyga2jllsfsikppxyzljm4isfnnnl8k0rb44h8xaddjzdg1d4m8"))))
+ "1p719ccn9wnzk6impsnwr809yh507h8f37dx9nn64b1hsyb5z8ax"))))
(build-system ocaml-build-system)
(arguments
`(#:configure-flags
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 18/27] gnu: ocaml-base64: Update to 3.4.0.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-18-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-base64): Update to 3.4.0.
---
gnu/packages/ocaml.scm | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 181cd679d4..07270f329d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2257,7 +2257,7 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
(define-public ocaml-base64
(package
(name "ocaml-base64")
- (version "3.2.0")
+ (version "3.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2266,8 +2266,19 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
(file-name (git-file-name name version))
(sha256
(base32
- "1ilw3zj0w6cq7i4pvr8m2kv5l5f2y9aldmv72drlwwns013b1gwy"))))
+ "0aa1m1sr8p1hgc10p96mij7p22r3qcysvzy6fz2jqamfgswchgqc"))))
(build-system dune-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-dune
+ (lambda _
+ ;; This package expects dune 2, which unbundled its configurator
+ ;; module. We still use dune 1, so we need to let it know we need
+ ;; its internal module.
+ (substitute* "config/dune"
+ (("dune-configurator") "dune.configurator"))
+ #t)))))
(native-inputs
`(("ocaml-alcotest" ,ocaml-alcotest)
("ocaml-bos" ,ocaml-bos)
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 20/27] gnu: ocaml-fmt: Update to 0.8.9.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-20-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-fmt): Update to 0.8.9.
---
gnu/packages/ocaml.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cd14f0b578..365c87d8b2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1618,23 +1618,23 @@ most of the POSIX and GNU conventions.")
(define-public ocaml-fmt
(package
(name "ocaml-fmt")
- (version "0.8.5")
+ (version "0.8.9")
(source
(origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/fmt/releases/fmt-"
version ".tbz"))
(sha256 (base32
- "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060"))))
+ "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk"))))
(build-system ocaml-build-system)
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
("opam" ,opam)
("topkg" ,ocaml-topkg)))
(propagated-inputs
- `(("result" ,ocaml-result)
- ("ocaml-uchar" ,ocaml-uchar)
- ("cmdliner" ,ocaml-cmdliner)))
+ `(("cmdliner" ,ocaml-cmdliner)
+ ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+ ("ocaml-uchar" ,ocaml-uchar)))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 19/27] gnu: ocaml-logs: Update to 0.7.0.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-19-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-logs): Update to 0.7.0.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 07270f329d..cd14f0b578 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1903,14 +1903,14 @@ ocaml lwt.")
(define-public ocaml-logs
(package
(name "ocaml-logs")
- (version "0.6.2")
+ (version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/logs/releases/"
"logs-" version ".tbz"))
(sha256
(base32
- "1khbn7jqpid83zn8rvyh1x1sirls7zc878zj4fz985m5xlsfy853"))))
+ "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 21/27] gnu: ocaml-alcotest: Update to 1.0.0.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-21-julien@lepiller.eu
---
gnu/packages/ocaml.scm | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 365c87d8b2..9633dc30fb 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1683,14 +1683,14 @@ immutability.")
(define-public ocaml-alcotest
(package
(name "ocaml-alcotest")
- (version "0.8.5")
+ (version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mirage/alcotest/releases/"
"download/" version "/alcotest-" version ".tbz"))
(sha256
(base32
- "0szwjxvaahgynsx0apj81jxj3ki6yz4is9mh2wkcbx66qy7n6fvb"))))
+ "1a43ilhwnj58pq3bi78ni46l9wh6klmmgfc93i94mvyx48bzzayx"))))
(build-system dune-build-system)
(arguments
`(#:package "alcotest"
@@ -1701,8 +1701,10 @@ immutability.")
`(("ocaml-astring" ,ocaml-astring)
("ocaml-cmdliner" ,ocaml-cmdliner)
("ocaml-fmt" ,ocaml-fmt)
- ("ocaml-result" ,ocaml-result)
- ("ocaml-uuidm" ,ocaml-uuidm)))
+ ("ocaml-re" ,ocaml-re)
+ ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
+ ("ocaml-uuidm" ,ocaml-uuidm)
+ ("ocaml-uutf" ,ocaml-uutf)))
(home-page "https://github.com/mirage/alcotest")
(synopsis "Lightweight OCaml test framework")
(description "Alcotest exposes simple interface to perform unit tests. It
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 22/27] gnu: ocaml-result: Update to 1.5.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-22-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-result): Update to 1.5.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9633dc30fb..ee82f9ca32 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1400,7 +1400,7 @@ powerful.")
(define-public ocaml-result
(package
(name "ocaml-result")
- (version "1.4")
+ (version "1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1409,7 +1409,7 @@ powerful.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hir97k9i72nfkm6kncxnqpyk400wlsxysbldgcvk0fd9pjnsc3p"))))
+ "166laj8qk7466sdl037c6cjs4ac571hglw4l5qpyll6df07h6a7q"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 24/27] gnu: ocaml-compiler-libs: Build only with OCaml 4.07.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-24-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-compiler-libs): Rename to...
(ocaml4.07-compiler-libs): ...to this. Use OCaml 4.07.
---
gnu/packages/ocaml.scm | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 55496f8ca4..96ef6fbd17 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3598,7 +3598,7 @@ syntax checking on dedukti files.")
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs))
+ ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
("ocaml-sexplib0" ,ocaml4.07-sexplib0)
("ocaml-stdio" ,ocaml4.07-stdio)
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4116,9 +4116,9 @@ provided by companion libraries such as
@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
(license license:expat)))
-(define-public ocaml-compiler-libs
+(define-public ocaml4.07-compiler-libs
(package
- (name "ocaml-compiler-libs")
+ (name "ocaml4.07-compiler-libs")
(version "0.11.0")
(home-page "https://github.com/janestreet/ocaml-compiler-libs")
(source
@@ -4133,7 +4133,10 @@ provided by companion libraries such as
"03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s"))))
(build-system dune-build-system)
(arguments
- '(#:tests? #f)) ;no tests
+ `(#:tests? #f ;no tests
+ #:ocaml ,ocaml-4.07
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ocaml-compiler-libs")))
(synopsis "Compiler libraries repackaged")
(description "This package simply repackages the OCaml compiler libraries
@@ -4216,7 +4219,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
- ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs))
+ ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 26/27] gnu: ocaml-4.07: Ensure build with ocaml4.7-dune.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-26-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml4.07-gen, ocaml4.07-sedlex)
(ocaml4.07-ezjsonm, ocaml4.07-uri, ocaml4.07-charinfo-width)
(ocaml4.07-zed, ocaml4.07-lambda-term, ocaml4.07-utop)
(ocaml4.07-ppx-inline-test, ocaml4.07-earley, ocaml4.07-merlin)
(ocaml4.07-sexplib0, ocaml4.07-parsexp, ocaml4.07-sexplib)
(ocaml4.07-base, ocaml4.07-stdio, ocaml4.07-ppxlib, ocaml4.07-ppx-compare)
(ocaml4.07-fieldslib, ocaml4.07-variantslib, ocaml4.07-ppx-fields-conv)
(ocaml4.07-ppx-sexp-conv, ocaml4.07-ppx-variants-conv)
(ocaml4.07-ppx-custom-printf, ocaml4.07-bin-prot, ocaml4.07-ppx-hash)
(ocaml4.07-ppx-enumerate, ocaml4.07-ppx-bench, ocaml4.07-ppx-here)
(ocaml4.07-ppx-typerep, ocaml4.07-ppx-sexp-value, ocaml4.07-ppx-sexp-message)
(ocaml4.07-ppx-pipebang, ocaml4.07-ppx-optional, ocaml4.07-ppx-optcomp)
(ocaml4.07-ppx-let, ocaml4.07-ppx-fail, ocaml4.07-ppx-assert)
(ocaml4.07-ppx-expect, ocaml4.07-ppx-js-style, ocaml4.07-ppx-typerep-conv)
(ocaml4.07-ppx-base, ocaml4.07-ppx-bin-prot, ocaml4.07-ppx-jane)
(ocaml4.07-splittable-random, ocaml4.07-configurator, ocaml4.07-spawn)
(ocaml4.07-core, ocaml4.07-core-kernel)[arguments]: Use ocaml4.07-dune.
---
gnu/packages/ocaml.scm | 147 +++++++++++++++++++++++++++--------------
1 file changed, 98 insertions(+), 49 deletions(-)

Toggle diff (494 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1a08bc9531..d2e2e61863 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2092,7 +2092,8 @@ representation of the data.")
`(#:tests? #f; no tests
#:package "gen"
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-odoc" ,ocaml4.07-odoc)))
(native-inputs
@@ -2137,7 +2138,8 @@ and consumable.")
(for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
#t)))
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(native-inputs
`(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))))
(propagated-inputs
@@ -2829,7 +2831,8 @@ writing to these structures, and they are accessed via the Bigarray module.")
`(#:package "ezjsonm"
#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(native-inputs
`(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))))
(propagated-inputs
@@ -2867,7 +2870,8 @@ JSON.")
(substitute* "lib/uri.ml"
(("Re.get") "Re.Group.get")))))
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(native-inputs
`(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))
("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
@@ -3195,7 +3199,8 @@ library is currently designed for Unicode Standard 3.2.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile))))
@@ -3226,7 +3231,8 @@ function that follows the prototype of POSIX's wcwidth.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile))
("ocaml-charinfo-width" ,ocaml4.07-charinfo-width)
@@ -3256,7 +3262,8 @@ connect an engine to your inputs and rendering functions to get an editor.")
`(#:build-flags (list "--profile" "release")
#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-lwt" ,(package-with-ocaml4.07 ocaml-lwt))
("ocaml-lwt-log" ,(package-with-ocaml4.07 ocaml-lwt-log))
@@ -3291,7 +3298,8 @@ instead of bindings to a C library.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(native-inputs
`(("cppo" ,(package-with-ocaml4.07 ocaml-cppo))))
(propagated-inputs
@@ -3593,7 +3601,8 @@ syntax checking on dedukti files.")
;see home page README for further information
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -3666,7 +3675,8 @@ or quantified formulas.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis "Parsing library based on Earley Algorithm")
(description "Earley is a parser combinator library base on Earley's
algorithm. It is intended to be used in conjunction with an OCaml syntax
@@ -3842,7 +3852,8 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
`(#:package "merlin"
#:tests? #f ;; Errors in tests in version 3.2.2
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
(description "Merlin is an editor service that provides modern IDE
features for OCaml. Emacs and Vim support is provided out-of-the-box.
@@ -3988,7 +3999,8 @@ exclusion algorithms are typical examples of such systems.")
(arguments
`(#:tests? #f ;no tests
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis "Library containing the definition of S-expressions and some
base converters")
(description "Part of Jane Street's Core library The Core suite of
@@ -4014,7 +4026,8 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(inputs
`(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
(synopsis "S-expression parsing library")
@@ -4063,7 +4076,8 @@ parsexp_io.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
("ocaml-parsexp" ,ocaml4.07-parsexp)
@@ -4101,7 +4115,8 @@ functionality for parsing and pretty-printing s-expressions.")
(lambda _
(invoke "dune" "build" "@install" "--profile=release"))))
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis
"Full standard library replacement for OCaml")
(description
@@ -4166,7 +4181,8 @@ is now @code{Ocaml_common.Ast_helper}.")
(arguments
`(#:tests? #f ;no tests
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis "Standard IO library for OCaml")
(description
"Stdio implements simple input/output functionalities for OCaml. It
@@ -4247,7 +4263,8 @@ as part of the same ocaml-migrate-parsetree driver.")
all))))
#t)))
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(synopsis
"Base library and tools for ppx rewriters")
(description
@@ -4286,7 +4303,8 @@ OCaml AST in the OCaml syntax;
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ppx_compare")))
(home-page "https://github.com/janestreet/ppx_compare")
(synopsis "Generation of comparison functions from types")
@@ -4315,7 +4333,8 @@ by making sure that you only compare comparable values.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4346,7 +4365,8 @@ of a record and create new record values.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4380,7 +4400,8 @@ standard library.")
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ppx_fields_conv")))
(home-page "https://github.com/janestreet/ppx_fields_conv")
(synopsis "Generation of accessor and iteration functions for ocaml records")
@@ -4411,7 +4432,8 @@ new record values.")
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ppx_sexp_conv")))
(home-page "https://github.com/janestreet/ppx_sexp_conv")
(synopsis "Generation of S-expression conversion functions from type definitions")
@@ -4441,7 +4463,8 @@ definitions.")
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties
`((upstream-name . "ppx_variants_conv")))
(home-page
@@ -4473,7 +4496,8 @@ variant types.")
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ppx_custom_printf")))
(home-page "https://github.com/janestreet/ppx_custom_printf")
(synopsis "Printf-style format-strings for user-defined string conversion")
@@ -4505,7 +4529,8 @@ string conversion.")
,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "bin_prot")))
(home-page "https://github.com/janestreet/bin_prot")
(synopsis "Binary protocol generator")
@@ -4571,7 +4596,8 @@ storage of large amounts of data.")
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(properties `((upstream-name . "ppx_hash")))
(home-page "https://github.com/janestreet/ppx_hash")
(synopsis "Generation of hash functions from type expressions and definitions")
@@ -4596,7 +4622,8 @@ hash functions from type exrpessions and definitions.")
(arguments
`(#:tests? #f; no test suite
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4627,7 +4654,8 @@ many values).")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
("ocaml-migrate-parsetree"
@@ -4656,7 +4684,8 @@ many values).")
;; broken tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4685,7 +4714,8 @@ many values).")
(arguments
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs `(("ocaml-base" ,ocaml4.07-base)))
(home-page "https://github.com/janestreet/typerep")
(synopsis "Typerep is a library for runtime types")
@@ -4707,7 +4737,8 @@ many values).")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
@@ -4737,7 +4768,8 @@ ocaml values.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
@@ -4771,7 +4803,8 @@ context such as function arguments.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-migrate-parsetree"
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4800,7 +4833,8 @@ context such as function arguments.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4829,7 +4863,8 @@ else expression.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-stdio" ,ocaml4.07-stdio)
@@ -4857,7 +4892,8 @@ size, the version of the compiler, ...")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -4885,7 +4921,8 @@ match expressions, and if expressions.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
@@ -4914,7 +4951,8 @@ position.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
@@ -4946,7 +4984,8 @@ useful errors on failure.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
@@ -4989,7 +5028,8 @@ to denote the expected output.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-migrate-parsetree"
@@ -5021,7 +5061,8 @@ packages.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-typerep" ,ocaml4.07-typerep)
@@ -5051,7 +5092,8 @@ from type definitions.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
("ocaml-ppx-enumerate" ,ocaml4.07-ppx-enumerate)
@@ -5088,7 +5130,8 @@ verification tool.")
;; Cyclic dependency with ocaml-ppx-jane
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
@@ -5119,7 +5162,8 @@ functions from type definitions.")
(arguments
`(#:test-target "."
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
("ocaml-ppx-base" ,ocaml4.07-ppx-base)
@@ -5164,7 +5208,8 @@ driver including all standard Jane Street ppx rewriters.")
(build-system dune-build-system)
(arguments
`(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
@@ -5223,7 +5268,8 @@ various Jane Street packages.")
;; No tests
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-stdio" ,ocaml4.07-stdio)))
@@ -5266,7 +5312,8 @@ Configurator allows one to:
(("/bin/echo") (which "echo")))
#t)))
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(native-inputs
`(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect)))
(home-page "https://github.com/janestreet/spawn")
@@ -5308,7 +5355,8 @@ thousands of times faster than fork.
`(#:package "core"
#:tests? #f; Require a cyclic dependency: core_extended
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-configurator" ,ocaml4.07-configurator)
@@ -5347,7 +5395,8 @@ standard library that was developed by Jane Street.")
;; Cyclic dependency with ocaml-core
`(#:tests? #f
#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(propagated-inputs
`(("ocaml-base" ,ocaml4.07-base)
("ocaml-bin-pr
This message was truncated. Download the full message here.
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 23/27] gnu: Add ocaml-csexp.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-23-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-csexp): New variable.
---
gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ee82f9ca32..55496f8ca4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1312,6 +1312,47 @@ following a very simple s-expression syntax.")
(define-public ocaml4.07-dune
(package-with-ocaml4.07 dune))
+(define-public ocaml-csexp
+ (package
+ (name "ocaml-csexp")
+ (version "1.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-dune/csexp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "190zppgvdjgghmrnx67ayzzk86qdjy3yn5fcrcw08wsh93384pl0"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f; FIXME: needs ppx_expect, but which version?
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'chmod
+ (lambda _
+ (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
+ #t)))))
+ (propagated-inputs
+ `(("dune" ,dune)
+ ("ocaml-result" ,ocaml-result)))
+ (home-page "https://github.com/ocaml-dune/csexp")
+ (synopsis "Parsing and printing of S-expressions in Canonical form")
+ (description "This library provides minimal support for Canonical
+S-expressions. Canonical S-expressions are a binary encoding of
+S-expressions that is super simple and well suited for communication
+between programs.
+
+This library only provides a few helpers for simple applications. If
+you need more advanced support, such as parsing from more fancy input
+sources, you should consider copying the code of this library given
+how simple parsing S-expressions in canonical form is.
+
+To avoid a dependency on a particular S-expression library, the only
+module of this library is parameterised by the type of S-expressions.")
+ (license #f)))
+
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 25/27] gnu: ocaml-jane-street-headers: Build only with OCaml 4.07.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-25-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-jane-street-headers): Rename to...
(ocaml4.07-jane-street-headers): ...to this. Use OCaml 4.07.
---
gnu/packages/ocaml.scm | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 96ef6fbd17..1a08bc9531 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5182,9 +5182,9 @@ This library implements a splittable pseudo-random number generator that sacrifi
cryptographic-quality randomness in favor of performance.")
(license license:asl2.0)))
-(define-public ocaml-jane-street-headers
+(define-public ocaml4.07-jane-street-headers
(package
- (name "ocaml-jane-street-headers")
+ (name "ocaml4.07-jane-street-headers")
(version "0.11.0")
(source (origin
(method url-fetch)
@@ -5196,7 +5196,10 @@ cryptographic-quality randomness in favor of performance.")
"0afhzm08l9v883fhpqqh2lmy7az609pxif40bp7x1sk8c0yszqsh"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."))
+ `(#:test-target "."
+ #:ocaml ,ocaml-4.07
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
(home-page "https://github.com/janestreet/jane-street-headers")
(synopsis "Jane Street C header files")
(description "This package provides C header files shared between the
@@ -5350,8 +5353,7 @@ standard library that was developed by Jane Street.")
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
("ocaml-configurator" ,ocaml4.07-configurator)
("ocaml-fieldslib" ,ocaml4.07-fieldslib)
- ("ocaml-jane-street-headers"
- ,(package-with-ocaml4.07 ocaml-jane-street-headers))
+ ("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
("ocaml-ppx-base" ,ocaml4.07-ppx-base)
("ocaml-ppx-hash" ,ocaml4.07-ppx-hash)
--
2.28.0
J
J
Julien Lepiller wrote on 1 Oct 2020 15:41
[PATCH 27/27] gnu: dune: Update to 2.7.1.
(address . 43745@debbugs.gnu.org)
20201001134133.32105-27-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune): Update to 2.7.1.
(ocaml4.07-dune): Keep version 1.11.3.
(ocaml-result, ocaml-csexp): Use the bootstrap dune on dune
dependencies.
(ocaml-craml, ocaml-bitstring): Run "dune upgrade" before building.
---
gnu/packages/ocaml.scm | 67 ++++++++++++++++++++++++++++++++++++------
1 file changed, 58 insertions(+), 9 deletions(-)

Toggle diff (141 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d2e2e61863..025badb031 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1277,10 +1277,10 @@ full_split, cut, rcut, etc..")
;; where it says `mit'.
(license license:expat)))
-(define-public dune
+(define dune-bootstrap
(package
(name "dune")
- (version "1.11.3")
+ (version "2.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1289,17 +1289,19 @@ full_split, cut, rcut, etc..")
(file-name (git-file-name name version))
(sha256
(base32
- "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))
+ "10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
- #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ #:make-flags (list "release"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "LIBDIR=" (assoc-ref %outputs "out")
"/lib/ocaml/site-lib"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p "src/dune")
(invoke "./configure")
#t)))))
(home-page "https://github.com/ocaml/dune")
@@ -1309,8 +1311,41 @@ release of Jane Street packages. It reads metadata from @file{dune} files
following a very simple s-expression syntax.")
(license license:expat)))
+(define-public dune-configurator
+ (package
+ (inherit dune-bootstrap)
+ (name "dune-configurator")
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "dune-configurator"
+ #:dune ,dune-bootstrap
+ ; require ppx_expect
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-csexp" ,ocaml-csexp)))
+ (synopsis "")
+ (description "")))
+
+(define-public dune
+ (package
+ (inherit dune-bootstrap)
+ (propagated-inputs
+ `(("dune-configurator" ,dune-configurator)))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
+
(define-public ocaml4.07-dune
- (package-with-ocaml4.07 dune))
+ (package
+ (inherit (package-with-ocaml4.07 dune-bootstrap))
+ (version "1.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/dune")
+ (commit version)))
+ (file-name (git-file-name "dune" version))
+ (sha256
+ (base32
+ "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
(define-public ocaml-csexp
(package
@@ -1328,6 +1363,7 @@ following a very simple s-expression syntax.")
(build-system dune-build-system)
(arguments
`(#:tests? #f; FIXME: needs ppx_expect, but which version?
+ #:dune ,dune-bootstrap
#:phases
(modify-phases %standard-phases
(add-before 'build 'chmod
@@ -1335,8 +1371,7 @@ following a very simple s-expression syntax.")
(for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
#t)))))
(propagated-inputs
- `(("dune" ,dune)
- ("ocaml-result" ,ocaml-result)))
+ `(("ocaml-result" ,ocaml-result)))
(home-page "https://github.com/ocaml-dune/csexp")
(synopsis "Parsing and printing of S-expressions in Canonical form")
(description "This library provides minimal support for Canonical
@@ -1428,7 +1463,13 @@ ocaml-migrate-parsetree")
`(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
(arguments
`(#:package "bitstring"
- #:tests? #f)); Tests fail to build
+ #:tests? #f; Tests fail to build
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'upgrade
+ (lambda _
+ (invoke "dune" "upgrade")
+ #t)))))
(home-page "https://github.com/xguerin/bitstring")
(synopsis "Bitstrings and bitstring matching for OCaml")
(description "Adds Erlang-style bitstrings and matching over bitstrings as
@@ -1453,7 +1494,8 @@ powerful.")
"166laj8qk7466sdl037c6cjs4ac571hglw4l5qpyll6df07h6a7q"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."))
+ `(#:test-target "."
+ #:dune ,dune-bootstrap))
(home-page "https://github.com/janestreet/result")
(synopsis "Compatibility Result module")
(description "Uses the new result type defined in OCaml >= 4.03 while
@@ -3813,6 +3855,13 @@ serializers and deserializers from type definitions.")
(base32
"197xjp4vmzdymf2ndinw271ihpf45h04mx8gqj8ypspxdr5fj1a5"))))
(build-system dune-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'upgrade
+ (lambda _
+ (invoke "dune" "upgrade")
+ #t)))))
(inputs
`(("ocaml-fmt" ,ocaml-fmt)
("ocaml-astring" ,ocaml-astring)
--
2.28.0
B
B
Brett Gilio wrote on 2 Oct 2020 04:41
Re: [bug#43745] [PATCH] gnu: dune: Update to 2.7.1.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
87k0w9xsc3.fsf@debian
Julien Lepiller <julien@lepiller.eu> writes:

Toggle quote (33 lines)
> Hi Guix!
>
> This patch series updates dune to 2.7.1. The first patch is unrelated,
> but reduces the number of dependents of ocaml-4.07, which I'd like to
> remove in the future, by building unison with 4.09.
>
> Then, 4 updates that are required, or they fail to build with the newer
> dune. Since dune 2 removed jbuilder entirely, we need to get rid of
> every use of the #:jbuild argument, which I do in the following patches.
>
> I add stdlib-shims, which is required for other updates later in the
> series. I then update 6 more packages, that fail in their current
> version with dune 2, but whose updated version work well with dune 1
> and 2.
>
> I add csexp, which is a dependency of dune-configurator 2, convert
> compiler-libs and jane-street-headers to ocaml-4.07 only (so they don't
> need to be updated for now, as that would create all sorts of issues).
> The penultimate patch ensures we build all ocaml4.07- packages with
> ocaml4.07-dune, which was not a problem before but...
>
> The last patch updates dune to 2.7.1, and keeps ocaml4.07-dune at its
> current version, which causes problems when mixing the two, hence the
> previous patch.
>
> The reason for preserving the version of ocaml4.07-dune is that many
> dependents were created for jbuilder, so we'd need to change many of
> them in order to update ocaml4.07-dune.
>
> In the future, I'd like to add ocaml 4.11, update bap and maybe some
> other packages to use ocaml 4.09, and remove 4.07, eliminating dune 1
> completely.

Wow, tremendous work. I look forward to going through these patches.

Brett Gilio
Z
Z
zimoun wrote on 2 Oct 2020 10:56
Re: [bug#43745] [PATCH 27/27] gnu: dune: Update to 2.7.1.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
CAJ3okZ0Y4dWOfWRmx=7ztVNYA1rRbRo-buW0J4vRsbJfb23Q9A@mail.gmail.com
Hi,

Thank you for all the patch set! :-)


On Thu, 1 Oct 2020 at 16:07, Julien Lepiller <julien@lepiller.eu> wrote:

Toggle quote (32 lines)
> -(define-public dune
> +(define dune-bootstrap
> (package
> (name "dune")
> - (version "1.11.3")
> + (version "2.7.1")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> @@ -1289,17 +1289,19 @@ full_split, cut, rcut, etc..")
> (file-name (git-file-name name version))
> (sha256
> (base32
> - "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))
> + "10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
> (build-system ocaml-build-system)
> (arguments
> `(#:tests? #f; require odoc
> - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
> + #:make-flags (list "release"
> + (string-append "PREFIX=" (assoc-ref %outputs "out"))
> (string-append "LIBDIR=" (assoc-ref %outputs "out")
> "/lib/ocaml/site-lib"))
> #:phases
> (modify-phases %standard-phases
> (replace 'configure
> (lambda* (#:key outputs #:allow-other-keys)
> + (mkdir-p "src/dune")
> (invoke "./configure")
> #t)))))
> (home-page "https://github.com/ocaml/dune")

[...]

Toggle quote (22 lines)
> +(define-public dune
> + (package
> + (inherit dune-bootstrap)
> + (propagated-inputs
> + `(("dune-configurator" ,dune-configurator)))
> + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
> +
> (define-public ocaml4.07-dune
> - (package-with-ocaml4.07 dune))
> + (package
> + (inherit (package-with-ocaml4.07 dune-bootstrap))
> + (version "1.11.3")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/ocaml/dune")
> + (commit version)))
> + (file-name (git-file-name "dune" version))
> + (sha256
> + (base32
> + "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))

Can the v2.7.1 of 'dune-bootstrap' be compiled with OCaml4.07?

All the best,
simon
J
J
Julien Lepiller wrote on 2 Oct 2020 14:42
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
9E953033-A6C1-4FBA-9BEE-8C7F826C4CD1@lepiller.eu
Yes, it's posssible, but as I said, most of our ocaml4.07-* packages will need to be fixed to work with dune 2.

Le 2 octobre 2020 04:56:20 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Toggle quote (74 lines)
>Hi,
>
>Thank you for all the patch set! :-)
>
>
>On Thu, 1 Oct 2020 at 16:07, Julien Lepiller <julien@lepiller.eu>
>wrote:
>
>> -(define-public dune
>> +(define dune-bootstrap
>> (package
>> (name "dune")
>> - (version "1.11.3")
>> + (version "2.7.1")
>> (source (origin
>> (method git-fetch)
>> (uri (git-reference
>> @@ -1289,17 +1289,19 @@ full_split, cut, rcut, etc..")
>> (file-name (git-file-name name version))
>> (sha256
>> (base32
>> -
>"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))
>> +
>"10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
>> (build-system ocaml-build-system)
>> (arguments
>> `(#:tests? #f; require odoc
>> - #:make-flags (list (string-append "PREFIX=" (assoc-ref
>%outputs "out"))
>> + #:make-flags (list "release"
>> + (string-append "PREFIX=" (assoc-ref
>%outputs "out"))
>> (string-append "LIBDIR=" (assoc-ref
>%outputs "out")
>> "/lib/ocaml/site-lib"))
>> #:phases
>> (modify-phases %standard-phases
>> (replace 'configure
>> (lambda* (#:key outputs #:allow-other-keys)
>> + (mkdir-p "src/dune")
>> (invoke "./configure")
>> #t)))))
>> (home-page "https://github.com/ocaml/dune")
>
>[...]
>
>> +(define-public dune
>> + (package
>> + (inherit dune-bootstrap)
>> + (propagated-inputs
>> + `(("dune-configurator" ,dune-configurator)))
>> + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
>> +
>> (define-public ocaml4.07-dune
>> - (package-with-ocaml4.07 dune))
>> + (package
>> + (inherit (package-with-ocaml4.07 dune-bootstrap))
>> + (version "1.11.3")
>> + (source (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/ocaml/dune")
>> + (commit version)))
>> + (file-name (git-file-name "dune" version))
>> + (sha256
>> + (base32
>> +
>"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
>
>Can the v2.7.1 of 'dune-bootstrap' be compiled with OCaml4.07?
>
>All the best,
>simon
Attachment: file
Z
Z
zimoun wrote on 5 Oct 2020 16:55
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
CAJ3okZ3Tm7DTQiZW5HnrQyXcXccw6Nijw5sNGk0=-WyN6AMYOQ@mail.gmail.com
On Fri, 2 Oct 2020 at 14:42, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (3 lines)
>
> Yes, it's posssible, but as I said, most of our ocaml4.07-* packages will need to be fixed to work with dune 2.

Thanks for explaining and sorry I have overlooked your cover letter.

Cheers,
simon
Z
Z
zimoun wrote on 13 Oct 2020 00:47
Re: [bug#43745] [PATCH 01/27] gnu: unison: Build with ocaml-4.09.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
865z7foye0.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (4 lines)
> * gnu/packages/ocaml.scm (unison)[sources]: Add an upstream patch.
> [native-inputs]: Use ocaml-4.09.
> * gnu/packages/patches/unison-fix-ocaml-4.08.patch: New file.

[...]

Toggle quote (2 lines)
> + %D%/packages/patches/unison-fix-ocaml-4.08.patch \

[...]

Toggle quote (2 lines)
> + (patches (search-patches "unison-fix-ocaml-4.08.patch"))))

Why 4.08? Typo? Maybe a comment otherwise?
Z
Z
zimoun wrote on 13 Oct 2020 00:47
Re: [bug#43745] [PATCH 02/27] gnu: camlp5: Update to 7.13.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86362joycy.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (camlp5): Update to 7.13.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 00:50
Re: [bug#43745] [PATCH 03/27] gnu: ocaml-mccs: Update to 1.1+11.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86zh4rnjng.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml-mccs: Update to 1.1+11.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 00:53
Re: [bug#43745] [PATCH 04/27] gnu: ocaml-migrate-parsetree: Update to 1.7.3.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86wnzvnjig.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-migrate-parsetree): Update to 1.7.3.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM but '--check' returns:

Toggle snippet (3 lines)
guix build: error: derivation `/gnu/store/fgkmww5s1srlh8frn1jbzz952mkn4pvi-ocaml-migrate-parsetree-1.7.3.drv' may not be deterministic: output `/gnu/store/3pb3cz6s0p37p4737gm6cj50p1vh02q8-ocaml-migrate-parsetree-1.7.3' differs

Could you open a bug report when you will merge to master?


All the best,
simon
Z
Z
zimoun wrote on 13 Oct 2020 00:56
Re: [bug#43745] [PATCH 05/27] gnu: ocaml-ppx-tools-versioned: Update to 5.4.0.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86tuuznjdl.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-ppx-tools-versioned): Update to 5.4.0.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM. However, '--check' returns:

Toggle snippet (3 lines)
guix build: error: derivation `/gnu/store/147ak35gzjzgri940dq77lwlgqw8dgqw-ocaml-ppx-tools-versioned-5.4.0.drv' may not be deterministic: output `/gnu/store/2972awnn3x72ckpkfcf40x4cn370rs8h-ocaml-ppx-tools-versioned-5.4.0' differs

Could you please open a bug report once you will merge to master?

All the best,
simon
Z
Z
zimoun wrote on 13 Oct 2020 01:05
Re: [bug#43745] [PATCH 06/27] gnu: ocaml-qtest: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86r1q3niy1.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-qtest): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:06
Re: [bug#43745] [PATCH 07/27] gnu: ocaml-bitstring: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86o8l7niwi.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-bitstring): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:09
Re: [bug#43745] [PATCH 08/27] gnu: ocaml-lwt-log: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86lfgbnirx.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-lwt-log): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:11
Re: [bug#43745] [PATCH 09/27] gnu: ocaml-easy-format: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86imbfnio6.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-easy-format): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

LGTM
J
J
Julien Lepiller wrote on 13 Oct 2020 01:14
Re: [bug#43745] [PATCH 01/27] gnu: unison: Build with ocaml-4.09.
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
9F5EAAD5-133D-4330-BF0F-627480A30765@lepiller.eu
Le 12 octobre 2020 18:47:03 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Toggle quote (17 lines)
>On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu>
>wrote:
>> * gnu/packages/ocaml.scm (unison)[sources]: Add an upstream patch.
>> [native-inputs]: Use ocaml-4.09.
>> * gnu/packages/patches/unison-fix-ocaml-4.08.patch: New file.
>
>[...]
>
>> + %D%/packages/patches/unison-fix-ocaml-4.08.patch \
>
>[...]
>
>> + (patches (search-patches
>"unison-fix-ocaml-4.08.patch"))))
>
>Why 4.08? Typo? Maybe a comment otherwise?

Ah right. This patch fixes compatibility with changes introduced in 4.08.
Z
Z
zimoun wrote on 13 Oct 2020 01:18
Re: [bug#43745] [PATCH 10/27] gnu: ocaml4.07-zed: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86ft6jnidz.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-zed): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:20
Re: [bug#43745] [PATCH 11/27] gnu: ocaml4.07-utop: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86d01nniaj.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-utop): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:23
Re: [bug#43745] [PATCH 12/27] gnu: ocaml4.07-merlin: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86a6wrni57.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-merlin): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:24
Re: [bug#43745] [PATCH 13/27] gnu: ocaml4.07-ppx-expect: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
867drvni37.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-ppx-expect): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:33
Re: [bug#43745] [PATCH 14/27] gnu: ocaml4.07-core: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
864kmznhnc.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-core): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:36
Re: [bug#43745] [PATCH 15/27] gnu: ocaml-tyxml: Do not use deprecated jbuilder.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
861ri3nhj2.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-tyxml): Remove #:jbuild argument.
> ---
> gnu/packages/ocaml.scm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

LGTM. However the ’--check’ raises an error:


Toggle snippet (3 lines)
guix build: error: derivation `/gnu/store/laj310615ni831im2s0a3d501wig5rgw-ocaml-tyxml-4.3.0.drv' may not be deterministic: output `/gnu/store/gp0caxy33i1zi4w5zn9xvyyqjgi0gxy0-ocaml-tyxml-4.3.0' differs

Could you please open a bug report once you merge to master?


All the best,
simon
Z
Z
zimoun wrote on 13 Oct 2020 01:40
Re: [bug#43745] [PATCH 16/27] gnu: Add ocaml-stdlib-shims.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86y2kbm2rt.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (41 lines)
> * gnu/packages/ocaml.scm (ocaml-stdlib-shims): New variable.
> ---
> gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index aa9230cd9e..7f402e0a47 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -265,6 +265,30 @@ functional, imperative and object-oriented styles of programming.")
> for building OCaml library and programs.")
> (license license:lgpl2.1+)))
>
> +(define-public ocaml-stdlib-shims
> + (package
> + (name "ocaml-stdlib-shims")
> + (version "0.1.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/ocaml/stdlib-shims")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1jv6yb47f66239m7hsz7zzw3i48mjpbvfgpszws48apqx63wjwsk"))))
> + (build-system dune-build-system)
> + (home-page "https://github.com/ocaml/stdlib-shims")
> + (synopsis "Backport of some of the new stdlib features to older OCaml")
> + (description "This package backports some of the new stdlib features to
> +older OCaml compiler, such as the Stdlib module.
> +
> +This allows projects that require compatibility with older compilers to
> +use these new features in their code.")
> + ;; Same as the OCaml compiler
> + (license (list license:qpl license:lgpl2.0))))
> +
> (define-public ocaml-extlib
> (package
> (name "ocaml-extlib")

Already defined and substitute available. You can drop this commit.


Toggle snippet (31 lines)
(synopsis "Simple implementation of expect")
(description "Help building unitary testing of interactive program. You
can match the question using a regular expression or a timeout.")
(license license:lgpl2.1+))) ; with the OCaml static compilation exception

(define-public ocaml-stdlib-shims
(package
(name "ocaml-stdlib-shims")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/stdlib-shims")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"007dwywsr5285z0np6a9nr0h8iqmyzfrlx6s5xaqcwj69zabsrjm"))))
(build-system dune-build-system)
(home-page "https://github.com/ocaml/stdlib-shims")
(synopsis "OCaml stdlib features backport to older OCaml compilers")
(description "This package backports some of the new stdlib features to
older compilers, such as the Stdlib module. This allows projects that require
compatibility with older compiler to use these new features in their code.")
;; with ocaml-linking exception
(license license:lgpl2.1+)))

(define-public ocaml-fileutils
(package
(name "ocaml-fileutils")
Z
Z
zimoun wrote on 13 Oct 2020 01:43
Re: [bug#43745] [PATCH 17/27] gnu: opam: Update to 2.0.7.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86v9ffm2me.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (opam): Update to 2.0.7.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 01:46
Re: [bug#43745] [PATCH 18/27] gnu: ocaml-base64: Update to 3.4.0.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86sgajm2it.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-base64): Update to 3.4.0.
> ---
> gnu/packages/ocaml.scm | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)

LGTM
J
J
Julien Lepiller wrote on 13 Oct 2020 04:03
Re: [bug#43745] [PATCH 04/27] gnu: ocaml-migrate-parsetree: Update to 1.7.3.
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
20201013040345.73b2367d@tachikoma.lepiller.eu
Le Tue, 13 Oct 2020 00:53:43 +0200,
zimoun <zimon.toutoune@gmail.com> a écrit :

Toggle quote (24 lines)
>
> On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu>
> wrote:
> > * gnu/packages/ocaml.scm (ocaml-migrate-parsetree): Update to 1.7.3.
> > ---
> > gnu/packages/ocaml.scm | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> LGTM but '--check' returns:
>
> --8<---------------cut here---------------start------------->8---
> guix build: error: derivation
> `/gnu/store/fgkmww5s1srlh8frn1jbzz952mkn4pvi-ocaml-migrate-parsetree-1.7.3.drv'
> may not be deterministic: output
> `/gnu/store/3pb3cz6s0p37p4737gm6cj50p1vh02q8-ocaml-migrate-parsetree-1.7.3'
> differs --8<---------------cut
> here---------------end--------------->8---
>
> Could you open a bug report when you will merge to master?
>
>
> All the best,
> simon

Thank you! I've been investigating this, but I don't really understand
what's happening. So, I've created myself an environment in which I
could compile the sources of migrate-parsetree:

cd s1
/my/guix/repo/pre-inst-env guix environment -C ocaml-migrate-parsetree
dune build @install
exit

mv s1 s2
copy sources to s1 again (to prevent issues due to recorded build
paths), and build again.

This allows me to keep and compare all the intermediate build products.
From diffoscope and _build/log, I found the first differing file that
is a cmo file. I note that the build is not in order, but arguments
are always sorted. This is expected, as dune runs with 4 cores.

Next, I've created this very simple file (one line), called test.ml:

module Ast_402 = Migrate_parsetree__Ast_402

(this is the first line of Ast_402.ml-gen, which is the file that
builds the first differing cmo.

Then, I build it using:

OCAMLC=ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40
-strict-sequence -strict-formats-short-paths -keep-locs -w -49
-nopervasives -nostdlib -g -bin-annot -no-alias-deps -opaque -o a.cmo
-c -implem test.ml

using exactly the same options as dune, excluding a -I (include). This
creates a.cmo, a.cmt and a.cmi. Then, using sha256sum, I can see if the
files differ. Removing these files and trying again gives me always
the same result. However, if I instead move them to b.cm{o,t,i}, the
next time I build a.cmo, there is a difference between a.cmo and b.cmo,
as well as the cmt files (but not the cmi files):

${OCAMLC}
sha256sum a.cmo
de1caa8b636e97e3e7c964ea84ea52bc532d80653afd13a5a106687886255861 a.cmo
rm a.cm*
${OCAMLC}
sha256sum a.cmo
de1caa8b636e97e3e7c964ea84ea52bc532d80653afd13a5a106687886255861 a.cmo
...
mv {a,b}.cmo; mv {a,b}.cmt; mv {a,b}.cmi
${OCAMLC}
sha256sum a.cmo
8cfd4b3d214d924f8229bd3697cc3eace58d4e20eb7cb27c27e7b670fa9809e6 a.cmo
rm a.cm*
${OCAMLC}
sha256sum a.cmo
8cfd4b3d214d924f8229bd3697cc3eace58d4e20eb7cb27c27e7b670fa9809e6 a.cmo
...


and with every additional files (c.cmo, d.cmo, ...) I get a different
hash, but as long as I keep the same files there, nothing changes.

The hash also changes if I create additional files, such as:

touch e.cmi (the cmi file seems to be the only one whose presence
changes the content of the cmo and cmt files).


So, my hypothesis is that dune is building files out of order, but lets
ocaml read the generated cmi files. Since the build is not in order,
when it builds the same file in two different builds, the cmi are not
the same and the result is different. Since dune will always use all
my cores, I used a trick I learned from LFS:

echo 0 > /sys/devices/system/cpu/cpu1/online
(and similar for every other core, except cpu0)

This way, I have a single-core machine and, hopefully, dune runs
sequentially. This time, --rounds=2 passed (after removing the existing
store item of course).
Z
Z
zimoun wrote on 13 Oct 2020 13:19
Re: [bug#43745] [PATCH 20/27] gnu: ocaml-fmt: Update to 0.8.9.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86mu0qmkzy.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-fmt): Update to 0.8.9.
> ---
> gnu/packages/ocaml.scm | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 13:20
Re: [bug#43745] [PATCH 19/27] gnu: ocaml-logs: Update to 0.7.0.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86k0vumkyf.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-logs): Update to 0.7.0.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 13:22
Re: [bug#43745] [PATCH 21/27] gnu: ocaml-alcotest: Update to 1.0.0.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86h7qymku2.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (4 lines)
> ---
> gnu/packages/ocaml.scm | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)

Missing:

* gnu/packages/ocaml.scm (ocaml-alcotest): Update to 1.0.0.
and the other modif


BTW,

Toggle snippet (3 lines)
guix build: error: derivation `/gnu/store/2d4wz8ax8f2s3a1g9clcskas7mn07clb-ocaml-alcotest-1.0.0.drv' may not be deterministic: output `/gnu/store/d4z21drbyn5sgsvfmkil0qlpd8zrwxbx-ocaml-alcotest-1.0.0' differs

All the best,
simon
Z
Z
zimoun wrote on 13 Oct 2020 13:23
Re: [bug#43745] [PATCH 22/27] gnu: ocaml-result: Update to 1.5.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86eem2mksl.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
> * gnu/packages/ocaml.scm (ocaml-result): Update to 1.5.
> ---
> gnu/packages/ocaml.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Z
Z
zimoun wrote on 13 Oct 2020 13:27
Re: [bug#43745] [PATCH 24/27] gnu: ocaml-compiler-libs: Build only with OCaml 4.07.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86blh6mkll.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (3 lines)
> * gnu/packages/ocaml.scm (ocaml-compiler-libs): Rename to...
> (ocaml4.07-compiler-libs): ...to this. Use OCaml 4.07.

Missing: the tests argument changes.

Toggle quote (4 lines)
> ---
> gnu/packages/ocaml.scm | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)

Otherwise, LGTM.
Z
Z
zimoun wrote on 13 Oct 2020 13:41
Re: [bug#43745] [PATCH 26/27] gnu: ocaml-4.07: Ensure build with ocaml4.7-dune.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
868scamjym.fsf@gmail.com
Well, the duplicate reported before appears:

Toggle snippet (5 lines)
[100%] GUILEC gnu/packages/ocaml.go
gnu/packages/ocaml.scm:2489:0: warning: shadows previous definition of `ocaml-stdlib-shims' at gnu/packages/ocaml.scm:268:0


On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:

Toggle quote (12 lines)
> * gnu/packages/ocaml.scm (ocaml4.07-gen, ocaml4.07-sedlex)
> (ocaml4.07-ezjsonm, ocaml4.07-uri, ocaml4.07-charinfo-width)
> (ocaml4.07-zed, ocaml4.07-lambda-term, ocaml4.07-utop)
> (ocaml4.07-ppx-inline-test, ocaml4.07-earley, ocaml4.07-merlin)
> (ocaml4.07-sexplib0, ocaml4.07-parsexp, ocaml4.07-sexplib)
> (ocaml4.07-base, ocaml4.07-stdio, ocaml4.07-ppxlib, ocaml4.07-ppx-compare)
> (ocaml4.07-fieldslib, ocaml4.07-variantslib, ocaml4.07-ppx-fields-conv)
> (ocaml4.07-ppx-sexp-conv, ocaml4.07-ppx-variants-conv)
> (ocaml4.07-ppx-custom-printf, ocaml4.07-bin-prot, ocaml4.07-ppx-hash)
> (ocaml4.07-ppx-enumerate, ocaml4.07-ppx-bench, ocaml4.07-ppx-here)
> (ocaml4.07-ppx-typerep, ocaml4.07-ppx-sexp-value,

The package ’ocaml4.07-ppx-typerep’ does not exist. Maybe
’ocaml4.07-typerep’ or ’ocaml4.07-ppx-typerep-conv‘? I have been to
lazy to find the correct one. Sorry.


Toggle quote (11 lines)
> ocaml4.07-ppx-sexp-message)
> (ocaml4.07-ppx-pipebang, ocaml4.07-ppx-optional, ocaml4.07-ppx-optcomp)
> (ocaml4.07-ppx-let, ocaml4.07-ppx-fail, ocaml4.07-ppx-assert)
> (ocaml4.07-ppx-expect, ocaml4.07-ppx-js-style, ocaml4.07-ppx-typerep-conv)
> (ocaml4.07-ppx-base, ocaml4.07-ppx-bin-prot, ocaml4.07-ppx-jane)
> (ocaml4.07-splittable-random, ocaml4.07-configurator, ocaml4.07-spawn)
> (ocaml4.07-core, ocaml4.07-core-kernel)[arguments]: Use ocaml4.07-dune.
> ---
> gnu/packages/ocaml.scm | 147 +++++++++++++++++++++++++++--------------
> 1 file changed, 98 insertions(+), 49 deletions(-)

I am not sure to understand how to use “guix refresh” to check how many
packages are impacted.


Otherwise, LGTM.
Z
Z
zimoun wrote on 13 Oct 2020 13:44
Re: [bug#43745] [PATCH 23/27] gnu: Add ocaml-csexp.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
865z7emjtd.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (17 lines)
> * gnu/packages/ocaml.scm (ocaml-csexp): New variable.
> ---
> gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index ee82f9ca32..55496f8ca4 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -1312,6 +1312,47 @@ following a very simple s-expression syntax.")
> (define-public ocaml4.07-dune
> (package-with-ocaml4.07 dune))
>
> +(define-public ocaml-csexp
> + (package
> + (name "ocaml-csexp")

[...]

Toggle quote (2 lines)
> + (license #f)))

Missing license.

Otherwise, LGTM.


All the best,
simon
Z
Z
zimoun wrote on 13 Oct 2020 13:46
Re: [bug#43745] [PATCH 25/27] gnu: ocaml-jane-street-headers: Build only with OCaml 4.07.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86362imjqg.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (10 lines)
> * gnu/packages/ocaml.scm (ocaml-jane-street-headers): Rename to...
> (ocaml4.07-jane-street-headers): ...to this. Use OCaml 4.07.

> (arguments
> - `(#:test-target "."))
> + `(#:test-target "."
> + #:ocaml ,ocaml-4.07
> + #:findlib ,ocaml4.07-findlib
> + #:dune ,ocaml4.07-dune))

Maybe this is missing in the commit message.

Otherwsie LGTM.


All the best,
simon
J
J
Julien Lepiller wrote on 13 Oct 2020 13:50
Re: [bug#43745] [PATCH 26/27] gnu: ocaml-4.07: Ensure build with ocaml4.7-dune.
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
B13B9516-B0DC-478D-8329-F301E2A0EAAE@lepiller.eu
Well, less than guix refresh -l ocaml@4.07 :)

Le 13 octobre 2020 07:41:37 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Toggle quote (53 lines)
>
>Well, the duplicate reported before appears:
>
>--8<---------------cut here---------------start------------->8---
>[100%] GUILEC gnu/packages/ocaml.go
>gnu/packages/ocaml.scm:2489:0: warning: shadows previous definition of
>`ocaml-stdlib-shims' at gnu/packages/ocaml.scm:268:0
>--8<---------------cut here---------------end--------------->8---
>
>
>On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu>
>wrote:
>
>> * gnu/packages/ocaml.scm (ocaml4.07-gen, ocaml4.07-sedlex)
>> (ocaml4.07-ezjsonm, ocaml4.07-uri, ocaml4.07-charinfo-width)
>> (ocaml4.07-zed, ocaml4.07-lambda-term, ocaml4.07-utop)
>> (ocaml4.07-ppx-inline-test, ocaml4.07-earley, ocaml4.07-merlin)
>> (ocaml4.07-sexplib0, ocaml4.07-parsexp, ocaml4.07-sexplib)
>> (ocaml4.07-base, ocaml4.07-stdio, ocaml4.07-ppxlib,
>ocaml4.07-ppx-compare)
>> (ocaml4.07-fieldslib, ocaml4.07-variantslib,
>ocaml4.07-ppx-fields-conv)
>> (ocaml4.07-ppx-sexp-conv, ocaml4.07-ppx-variants-conv)
>> (ocaml4.07-ppx-custom-printf, ocaml4.07-bin-prot, ocaml4.07-ppx-hash)
>> (ocaml4.07-ppx-enumerate, ocaml4.07-ppx-bench, ocaml4.07-ppx-here)
>> (ocaml4.07-ppx-typerep, ocaml4.07-ppx-sexp-value,
>
>The package ’ocaml4.07-ppx-typerep’ does not exist. Maybe
>’ocaml4.07-typerep’ or ’ocaml4.07-ppx-typerep-conv‘? I have been to
>lazy to find the correct one. Sorry.
>
>
>> ocaml4.07-ppx-sexp-message)
>> (ocaml4.07-ppx-pipebang, ocaml4.07-ppx-optional,
>ocaml4.07-ppx-optcomp)
>> (ocaml4.07-ppx-let, ocaml4.07-ppx-fail, ocaml4.07-ppx-assert)
>> (ocaml4.07-ppx-expect, ocaml4.07-ppx-js-style,
>ocaml4.07-ppx-typerep-conv)
>> (ocaml4.07-ppx-base, ocaml4.07-ppx-bin-prot, ocaml4.07-ppx-jane)
>> (ocaml4.07-splittable-random, ocaml4.07-configurator,
>ocaml4.07-spawn)
>> (ocaml4.07-core, ocaml4.07-core-kernel)[arguments]: Use
>ocaml4.07-dune.
>> ---
>> gnu/packages/ocaml.scm | 147
>+++++++++++++++++++++++++++--------------
>> 1 file changed, 98 insertions(+), 49 deletions(-)
>
>I am not sure to understand how to use “guix refresh” to check how many
>packages are impacted.
>
>
>Otherwise, LGTM.
Attachment: file
Z
Z
zimoun wrote on 13 Oct 2020 13:57
Re: [bug#43745] [PATCH 27/27] gnu: dune: Update to 2.7.1.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86zh4ql4n0.fsf@gmail.com
On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (9 lines)
> * gnu/packages/ocaml.scm (dune): Update to 2.7.1.
> (ocaml4.07-dune): Keep version 1.11.3.
> (ocaml-result, ocaml-csexp): Use the bootstrap dune on dune
> dependencies.
> (ocaml-craml, ocaml-bitstring): Run "dune upgrade" before building.
> ---
> gnu/packages/ocaml.scm | 67 ++++++++++++++++++++++++++++++++++++------
> 1 file changed, 58 insertions(+), 9 deletions(-)

LGTM.

Noticing the ’ocaml-bitstring’ is not reproducible and ’ocaml-craml’
rebuild some dependencies.
Z
Z
zimoun wrote on 13 Oct 2020 14:09
Re: [bug#43745] [PATCH 04/27] gnu: ocaml-migrate-parsetree: Update to 1.7.3.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
86wnzul430.fsf@gmail.com
Hi Julien,

Wow! Thank you for this detailed investigation.


On Tue, 13 Oct 2020 at 04:03, Julien Lepiller <julien@lepiller.eu> wrote:

Toggle quote (13 lines)
> So, my hypothesis is that dune is building files out of order, but lets
> ocaml read the generated cmi files. Since the build is not in order,
> when it builds the same file in two different builds, the cmi are not
> the same and the result is different. Since dune will always use all
> my cores, I used a trick I learned from LFS:
>
> echo 0 > /sys/devices/system/cpu/cpu1/online
> (and similar for every other core, except cpu0)
>
> This way, I have a single-core machine and, hopefully, dune runs
> sequentially. This time, --rounds=2 passed (after removing the existing
> store item of course).

Where do you this “echo 0 > /sys/devices/system/cpu/cpu1/online“ to
disable all except cpu0? Because, I have tried as root on my 4 cpu
machine and then “./pre-inst-env guix build ocaml-migrate-parsetree
–no-grafts –check“ still returns an error.


Cheers,
simon
J
J
Julien Lepiller wrote on 13 Oct 2020 13:51
Re: [bug#43745] [PATCH 25/27] gnu: ocaml-jane-street-headers: Build only with OCaml 4.07.
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
177006E6-E8C5-40B9-8553-C93DEEE18A64@lepiller.eu
Well, I'd say it's included in "build with ocaml 4.07", no?

Le 13 octobre 2020 07:46:31 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Toggle quote (20 lines)
>
>On Thu, 01 Oct 2020 at 15:41, Julien Lepiller <julien@lepiller.eu>
>wrote:
>> * gnu/packages/ocaml.scm (ocaml-jane-street-headers): Rename to...
>> (ocaml4.07-jane-street-headers): ...to this. Use OCaml 4.07.
>
>> (arguments
>> - `(#:test-target "."))
>> + `(#:test-target "."
>> + #:ocaml ,ocaml-4.07
>> + #:findlib ,ocaml4.07-findlib
>> + #:dune ,ocaml4.07-dune))
>
>Maybe this is missing in the commit message.
>
>Otherwsie LGTM.
>
>
>All the best,
>simon
Attachment: file
Z
Z
zimoun wrote on 13 Oct 2020 17:13
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
CAJ3okZ0qWpBhK6feDFqgCdQGiGtvWg9ft-iHETyyHMPywwaCKQ@mail.gmail.com
On Tue, 13 Oct 2020 at 16:46, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (3 lines)
>
> Well, I'd say it's included in "build with ocaml 4.07", no?

Maybe, I do not know. :-)
J
J
Julien Lepiller wrote on 13 Oct 2020 17:24
Re: [bug#43745] [PATCH 04/27] gnu: ocaml-migrate-parsetree: Update to 1.7.3.
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 43745@debbugs.gnu.org)
44429C76-38D5-4C7A-BC41-256095556447@lepiller.eu
Your existing build was built unreproducibly. You need to remove it with guix gc first. Then you can run --rounds=2.

Alternatively add "-j1" as an argument to dune (as #:build-flags). That will change the output, ensuring you don't compare with an unreproducible build.

Le 13 octobre 2020 08:09:55 GMT-04:00, zimoun <zimon.toutoune@gmail.com> a écrit :
Toggle quote (32 lines)
>Hi Julien,
>
>Wow! Thank you for this detailed investigation.
>
>
>On Tue, 13 Oct 2020 at 04:03, Julien Lepiller <julien@lepiller.eu>
>wrote:
>
>> So, my hypothesis is that dune is building files out of order, but
>lets
>> ocaml read the generated cmi files. Since the build is not in order,
>> when it builds the same file in two different builds, the cmi are not
>> the same and the result is different. Since dune will always use all
>> my cores, I used a trick I learned from LFS:
>>
>> echo 0 > /sys/devices/system/cpu/cpu1/online
>> (and similar for every other core, except cpu0)
>>
>> This way, I have a single-core machine and, hopefully, dune runs
>> sequentially. This time, --rounds=2 passed (after removing the
>existing
>> store item of course).
>
>Where do you this “echo 0 > /sys/devices/system/cpu/cpu1/online“ to
>disable all except cpu0? Because, I have tried as root on my 4 cpu
>machine and then “./pre-inst-env guix build ocaml-migrate-parsetree
>–no-grafts –check“ still returns an error.
>
>
>Cheers,
>simon

--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
Attachment: file
Z
Z
zimoun wrote on 13 Oct 2020 17:37
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 43745@debbugs.gnu.org)
CAJ3okZ2429-7kxyoUtO5A_PO8ds=P7b0yudAGhnmAbpxfShO=A@mail.gmail.com
On Tue, 13 Oct 2020 at 17:24, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (5 lines)
>
> Your existing build was built unreproducibly. You need to remove it with guix gc first. Then you can run --rounds=2.
>
> Alternatively add "-j1" as an argument to dune (as #:build-flags). That will change the output, ensuring you don't compare with an unreproducible build.

Yeah, for sure! Sorry.
It works with "echo 0>/sys/devices/system/cpu/cpu1/online" etc. Nice
trick, thanks.

Cheers,
simon
J
J
Julien Lepiller wrote on 15 Oct 2020 18:04
[PATCH] gnu: dune: Update to 2.7.1.
(address . 43745-done@debbugs.gnu.org)
20201015180411.6610971b@tachikoma
Thank you, pushed as aea459a50474b98f31f6ce7da9468a98958ef949 to
339177956affdc471832750a3805b74356487e93 with Simon's remarks.
Closed
?