[PATCH ocaml-team 1/2] gnu: ocaml: Update to 4.14.1.

  • Done
  • quality assurance status badge
Details
6 participants
  • Josselin Poiret
  • DABY-SEESARAM Arnaud
  • Julien Lepiller
  • Ludovic Courtès
  • pukkamustard
  • Simon Tournier
Owner
unassigned
Submitted by
pukkamustard
Severity
normal
P
P
pukkamustard wrote on 23 Jun 2023 15:43
(address . guix-patches@gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
a06ca6a604f420b4c6a994e4475ab078d1c9c386.1687527699.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ab0aa0574a..6ffde41cc0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification

base-commit: 6e1215fb9c03ccb4a2d4440990aee5a66a935268
--
2.40.1
P
P
pukkamustard wrote on 23 Jun 2023 15:46
[PATCH ocaml-team 2/2] gnu: dune-bootstrap: Update to 3.8.2.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
6e376acaf2b79d5c0c34820275528549da85757d.1687527699.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.8.2.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6ffde41cc0..8d7c0d60a8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1819,7 +1819,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1828,7 +1828,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "02f8wrqhflgvd1gz3y181r9kmlpqmrc8az902ndihyvg58xxi83r"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1845,9 +1845,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 0/7] Attempt to update ocaml, coq, dune and opam.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
cover.1689442089.git.pukkamustard@posteo.net
Hello Guix,

This is a WIP v2 for some updates to the OCaml packages.


Some changes to the v1:

- Update coq to 8.17.1. This fixes a build failure caused by the v1 of this
series.

- Attempt to update opam to 2.1.5. Build fails with `Error: Unbound value
Base64.decode_exn` even though the base64 library seems to be available
properly. When keeping the failed build directory and manually building, build
seems to work. I'm a bit clueless on what is going on and just posting this in
the hope that somebody can spot the issue or provide some clues.

- opam package is split into individual sub-libraries. This reduces the size of
the final `opam` package considerably (tested for 2.1.3).

- The update to `ocaml-dose3` needs to be merged with the opam update commit as
old opam (2.1.3) does not compile with the new ocaml-dose3.

Thanks,
pukkamustard


pukkamustard (7):
gnu: ocaml: Update to 4.14.1.
gnu: coq: Update to 8.17.1.
gnu: dune-bootstrap: Update to 3.9.1.
gnu: ocaml-graph: Update to 2.0.0.
gnu: ocaml-base64: Update to 3.5.1.
gnu: ocaml-dose3: Update to 7.0.0.
WIP: gnu: opam: Update to 2.1.5.

gnu/local.mk | 4 -
gnu/packages/coq.scm | 24 +-
gnu/packages/ocaml.scm | 316 +++++++++++++++---
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 --------
.../ocaml-dose3-add-unix-dependency.patch | 25 --
.../ocaml-dose3-dont-make-printconf.patch | 9 -
7 files changed, 268 insertions(+), 295 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch


base-commit: 01412c6c6a98e4da10676560638640d0f33e1a02
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 1/7] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
3d4419719af956eac5e207468d8f19afccc16a62.1689442089.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
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 ab0aa0574a..6ffde41cc0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 2/7] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
858ebb8d740c7bfd0d55eaaf8a67db2298d4081a.1689442089.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-core, coq-stdlib, coq): Update to 8.17.1 and
remove test-target argument.
---
gnu/packages/coq.scm | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..3332707a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -53,7 +53,7 @@ (define-module (gnu packages coq)
(define-public coq-core
(package
(name "coq-core")
- (version "8.16.1")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,7 +63,7 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths
(list (search-path-specification
@@ -83,8 +83,7 @@ (define-public coq-core
(native-inputs
(list ocaml-ounit2 which))
(arguments
- `(#:package "coq-core"
- #:test-target "."))
+ `(#:package "coq-core"))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -101,19 +100,7 @@ (define-public coq-stdlib
(inherit coq-core)
(name "coq-stdlib")
(arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
+ `(#:package "coq-stdlib"))
(inputs
(list coq-core gmp ocaml-zarith))
(native-inputs '())))
@@ -123,8 +110,7 @@ (define-public coq
(inherit coq-core)
(name "coq")
(arguments
- `(#:package "coq"
- #:test-target "."))
+ `(#:package "coq"))
(propagated-inputs
(list coq-core coq-stdlib))
(native-inputs '())))
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 5/7] gnu: ocaml-base64: Update to 3.5.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
72e1634d2ef135ce44a5b01c3e4a9f2e1e8cc81e.1689442089.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-base64): Update to 3.5.1.
---
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 02c808b599..73c82bf7c7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4325,7 +4325,7 @@ (define-public ocaml-ocurl
(define-public ocaml-base64
(package
(name "ocaml-base64")
- (version "3.5.0")
+ (version "3.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4334,7 +4334,7 @@ (define-public ocaml-base64
(file-name (git-file-name name version))
(sha256
(base32
- "068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
+ "1jq349jp663hq51a941afr2y4yyh34r19zsxla73ks9bywj4mm2q"))))
(build-system dune-build-system)
(native-inputs
(list ocaml-alcotest ocaml-bos ocaml-rresult))
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 3/7] gnu: dune-bootstrap: Update to 3.9.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
78010b3f2b18cb49d9742777ec9ba79b15d137cc.1689442089.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.8.2.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6ffde41cc0..d2bc7cc118 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1819,7 +1819,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1828,7 +1828,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "0bgqsam21ah8piqhnrkfzn8r75w83pkn75751jks2rlppkgx9g3y"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1845,9 +1845,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 6/7] gnu: ocaml-dose3: Update to 7.0.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
4c636e6c328766def8cb6b45e34aa72dcdf9ab51.1689442089.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 48 +++----
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 21 insertions(+), 250 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (335 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 06a376a99a..f28baefdb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1646,10 +1646,6 @@ dist_patch_DATA = \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/oath-toolkit-xmlsec-compat.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 73c82bf7c7..289b86cc27 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,30 +722,17 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
- (home-page "https://www.mancoosi.org/software/")
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
+ (home-page "http://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
managing distribution packages and their dependencies. Though not tied to
@@ -4336,8 +4323,7 @@ (define-public ocaml-base64
(base32
"1jq349jp663hq51a941afr2y4yyh34r19zsxla73ks9bywj4mm2q"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4346,6 +4332,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
--
--
--make printconf
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 4/7] gnu: ocaml-graph: Update to 2.0.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
a10954f8b31cd9434b26630e8cd3e3681a640bb3.1689442089.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-graph): Update to 2.0.0.
---
gnu/packages/ocaml.scm | 29 ++++++++++++-----------------
1 file changed, 12 insertions(+), 17 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d2bc7cc118..02c808b599 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5218,27 +5218,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
--
2.40.1
P
P
pukkamustard wrote on 15 Jul 2023 19:38
[PATCH ocaml-team v2 7/7] WIP: gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
a9855c7df2c1b4abcd4acdac3774c1bae4666848.1689442089.git.pukkamustard@posteo.net
---
gnu/packages/ocaml.scm | 220 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 220 insertions(+)

Toggle diff (241 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 289b86cc27..d96af0ee2d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -833,7 +833,225 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
+(define-public ocaml-opam-core
+ (package
+ (name "ocaml-opam-core")
+ (version "2.1.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/opam")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
+ (build-system dune-build-system)
+ (native-inputs (list ocaml-cppo))
+ (propagated-inputs (list ocaml-graph ocaml-re))
+ (arguments `(#:package "opam-core"
+ ;; tests require the opam-client library that is not yet available
+ #:tests? #f))
+ (home-page "https://opam.ocaml.org/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define-public ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (native-inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests require the opam-client library that is not yet available
+ #:tests? #f))))
+
+(define-public ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (native-inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests require the opam-client library that is not yet available
+ #:tests? #f))))
+
+(define-public ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (native-inputs '())
+ (propagated-inputs (list ocaml-opam-repository))
+ (arguments `(#:package "opam-state"
+ ;; tests require the opam-client library that is not yet available
+ #:tests? #f))))
+
+(define-public ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (native-inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests require the opam-client library that is not yet available
+ #:tests? #f))))
+
+(define-public ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (native-inputs '())
+ (propagated-inputs '())
+ (inputs (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-base64-boot
+ ocaml-opam-repository
+ ocaml-re
+ ocaml-cmdliner))
+ (arguments `(#:package "opam-client"
+ ;; TODO
+ #:tests? #f))))
+
(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (arguments
+ `(#:package "opam"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
+ (add-before 'check 'prepare-checks
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Opam tests need to run an isolated environment from a writable
+ ;; home directory.
+ (mkdir-p "test-home")
+ (setenv "HOME" (string-append (getcwd) "/test-home"))
+ (with-output-to-file (string-append (getcwd) "/test-home/.gitconfig")
+ (lambda _
+ (display "[user]
+email = guix@localhost.none
+name = Guix Builder")
+ (newline)))
+
+ ;; Opam tests require data from opam-repository. Instead of
+ ;; downloading them with wget from the guix environment, copy the
+ ;; content to the expected directory.
+ (substitute* "tests/reftests/dune.inc"
+ (("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
+ (string-append "rmdir %{targets}) (run cp -r "
+ (assoc-ref inputs (string-append "opam-repo-" commit))
+ "/ %{targets}) (run chmod +w -R %{targets}"))
+ (("wget[^)]*") "touch %{targets}")
+ ;; Disable a failing test because it tries to clone a git
+ ;; repository from inside bwrap
+ (("diff upgrade-format.test upgrade-format.out") "run true")
+ ;; Disable a failing test because it tries to figure out which
+ ;; distro this is, and it doesn't know Guix
+ (("diff pin.unix.test pin.unix.out") "run true")
+ ;; Disable a failing test because of a failed expansion
+ (("diff opamroot-versions.test opamroot-versions.out") "run true")
+ ;; Disable a failing test, probably because the repository we
+ ;; replaced is not as expected
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
+ (substitute* "tests/reftests/dune"
+ ;; Because of our changes to the previous file, we cannot check
+ ;; it can be regenerated
+ (("diff dune.inc dune.inc.gen") "run true"))
+ ;; Ensure we can run the generated build.sh (no /bin/sh)
+ (substitute* '("tests/reftests/legacy-local.test"
+ "tests/reftests/legacy-git.test")
+ (("#! ?/bin/sh")
+ (string-append "#!"
+ (search-input-file inputs "/bin/sh"))))
+ (substitute* "tests/reftests/testing-env"
+ (("OPAMSTRICT=1")
+ (string-append "OPAMSTRICT=1\nLIBRARY_PATH="
+ (assoc-ref inputs "libc") "/lib"))))))))
+ (native-inputs
+ (let ((opam-repo (lambda (commit hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml/opam-repository")
+ (commit commit)))
+ (file-name (git-file-name "opam-repo" commit))
+ (sha256 (base32 hash))))))
+ `(;; For tests.
+ ("bubblewrap" ,bubblewrap)
+ ("git" ,git-minimal/pinned)
+ ("openssl" ,openssl)
+ ("python" ,python-wrapper)
+ ("rsync" ,rsync)
+ ("unzip" ,unzip)
+ ("which" ,which)
+
+ ("opam-repo-0070613707" ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
+ ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
+ ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d" ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
+ ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb" ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c" ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916" ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
+ (propagated-inputs '())
+ (inputs (list ocaml-opam-client
+ ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-base64-boot
+ ocaml-opam-repository
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam-2.1.3
(package
(name "opam")
(version "2.1.3")
@@ -941,6 +1159,8 @@ (define-public opam
("which" ,which)
;; Data for tests
+ ("opam-repo-0070613707" ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1wwy0rwrsjf4q10j1rh1dbzk32fbzhzy5f7zl6qmndidx9b1bq7w"))
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
--
2.40.1
L
L
Ludovic Courtès wrote on 18 Jul 2023 13:46
Re: bug#64249: [PATCH ocaml-team 1/2] gnu: ocaml: Update to 4.14.1.
(name . pukkamustard)(address . pukkamustard@posteo.net)
877cqxl9xf.fsf_-_@gnu.org
Hello!

pukkamustard <pukkamustard@posteo.net> skribis:

Toggle quote (2 lines)
> This is a WIP v2 for some updates to the OCaml packages.

There’s a cyclic dependency in here:

Toggle snippet (5 lines)
(exception %exception (non-self-quoting 140736850154944 "#&lt;&amp;package-cyclic-dependency-error package: #&lt;package ocaml4.07-alcotest@1.0.1 gnu/packages/ocaml.scm:2838 7fffde9308f0&gt; cycle: (#&lt;package ocaml4.07-base64@3.2.0 gnu/packages/ocaml.scm:4565 7fffde93f2c0&gt; #&lt;package ocaml4.07-dose3@7.0.0 gnu/packages/ocaml.scm:714 7fffde2bb6e0&gt; #&lt;package ocaml4.07-opam-solver@2.1.5 gnu/packages/ocaml.scm:897 7fffde2aff20&gt; #&lt;package ocaml4.07-opam-client@2.1.5 gnu/packages/ocaml.scm:909 7fffde2a7210&gt; #&lt;package ocaml4.07-opam@2.1.5 gnu/packages/ocaml.scm:925 7fffde2a74d0&gt; #&lt;package ocaml4.07-astring@0.8.5 gnu/packages/ocaml.scm:2759 7fffde2a7b00&gt; #&lt;package ocaml4.07-alcotest@1.0.1 gnu/packages/ocaml.scm:2838 7fffde9308f0&gt;)&gt;"))
builder for `/gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv' failed to produce output path `/gnu/store/gl6n9k7i6xnvkrnyk799y2bxxw51by75-guix-package-cache'
@ build-failed /gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv - 1 builder for `/gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv' failed to produce output path `/gnu/store/gl6n9k7i6xnvkrnyk799y2bxxw51by75-guix-package-cache'


Could you take a look and submit an updated version?

Ludo’.
P
P
pukkamustard wrote on 18 Jul 2023 14:05
(name . Ludovic Courtès)(address . ludo@gnu.org)
86sf9lju74.fsf@posteo.net
Hm, weird. I'm pretty sure this was not the case in my local checkout.

In any case, I have a v3 ready that solves some issues - and should be
cyclic dependency free.

Will send it in asap.

Thanks for having a look!
-pukkamustard

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (17 lines)
> Hello!
>
> pukkamustard <pukkamustard@posteo.net> skribis:
>
>> This is a WIP v2 for some updates to the OCaml packages.
>
> There’s a cyclic dependency in here:
>
> (exception %exception (non-self-quoting 140736850154944 "#&lt;&amp;package-cyclic-dependency-error package: #&lt;package ocaml4.07-alcotest@1.0.1 gnu/packages/ocaml.scm:2838 7fffde9308f0&gt; cycle: (#&lt;package ocaml4.07-base64@3.2.0 gnu/packages/ocaml.scm:4565 7fffde93f2c0&gt; #&lt;package ocaml4.07-dose3@7.0.0 gnu/packages/ocaml.scm:714 7fffde2bb6e0&gt; #&lt;package ocaml4.07-opam-solver@2.1.5 gnu/packages/ocaml.scm:897 7fffde2aff20&gt; #&lt;package ocaml4.07-opam-client@2.1.5 gnu/packages/ocaml.scm:909 7fffde2a7210&gt; #&lt;package ocaml4.07-opam@2.1.5 gnu/packages/ocaml.scm:925 7fffde2a74d0&gt; #&lt;package ocaml4.07-astring@0.8.5 gnu/packages/ocaml.scm:2759 7fffde2a7b00&gt; #&lt;package ocaml4.07-alcotest@1.0.1 gnu/packages/ocaml.scm:2838 7fffde9308f0&gt;)&gt;"))
> builder for `/gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv' failed to produce output path `/gnu/store/gl6n9k7i6xnvkrnyk799y2bxxw51by75-guix-package-cache'
> @ build-failed /gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv - 1 builder for `/gnu/store/qpfyz17ihan78a9cb6ln3c57zs8bwqw9-guix-package-cache.drv' failed to produce output path `/gnu/store/gl6n9k7i6xnvkrnyk799y2bxxw51by75-guix-package-cache'
>
> Via <https://qa.guix.gnu.org/issue/64249>.
>
> Could you take a look and submit an updated version?
>
> Ludo’.
P
P
pukkamustard wrote on 18 Jul 2023 14:23
[PATCH ocaml-team v3 0/6] Update and break opam (but nothing else)
(address . 64249@debbugs.gnu.org)
cover.1689682320.git.pukkamustard@posteo.net
Hello!

Some changes versus v2:

- opam is split into smaller builds before updating. The size of the new opam
package decreases from ~600MiB to ~80MiB (mostly as the OCaml compiler is no
longer referenced).

- We add the `opam-installer` package. This can be used by packages that
require opam for installation (e.g. ocaml-react or ocaml-jsonm). There are no
more packages that require opam as build dependency.

- Update `opam` to 2.1.5 as last step. This still breaks the build of `opam`,
but nothing else as `opam-installer` builds at version 2.1.5.

-pukkamustard

pukkamustard (6):
gnu: ocaml: Update to 4.14.1.
gnu: coq: Update to 8.17.1.
gnu: dune-bootstrap: Update to 3.9.1.
gnu: opam: Split build into smaller sub-packages.
gnu: Add opam-installer.
FIXME: gnu: opam: Update to 2.1.5.

gnu/local.mk | 4 -
gnu/packages/coq.scm | 24 +-
gnu/packages/ocaml.scm | 365 ++++++++++++------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 -------
.../ocaml-dose3-add-unix-dependency.patch | 25 --
.../ocaml-dose3-dont-make-printconf.patch | 9 -
7 files changed, 242 insertions(+), 370 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch


base-commit: 01412c6c6a98e4da10676560638640d0f33e1a02
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:23
[PATCH ocaml-team v3 1/6] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
3d4419719af956eac5e207468d8f19afccc16a62.1689682321.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
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 ab0aa0574a..6ffde41cc0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:23
[PATCH ocaml-team v3 2/6] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
858ebb8d740c7bfd0d55eaaf8a67db2298d4081a.1689682321.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-core, coq-stdlib, coq): Update to 8.17.1 and
remove test-target argument.
---
gnu/packages/coq.scm | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..3332707a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -53,7 +53,7 @@ (define-module (gnu packages coq)
(define-public coq-core
(package
(name "coq-core")
- (version "8.16.1")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,7 +63,7 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths
(list (search-path-specification
@@ -83,8 +83,7 @@ (define-public coq-core
(native-inputs
(list ocaml-ounit2 which))
(arguments
- `(#:package "coq-core"
- #:test-target "."))
+ `(#:package "coq-core"))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -101,19 +100,7 @@ (define-public coq-stdlib
(inherit coq-core)
(name "coq-stdlib")
(arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
+ `(#:package "coq-stdlib"))
(inputs
(list coq-core gmp ocaml-zarith))
(native-inputs '())))
@@ -123,8 +110,7 @@ (define-public coq
(inherit coq-core)
(name "coq")
(arguments
- `(#:package "coq"
- #:test-target "."))
+ `(#:package "coq"))
(propagated-inputs
(list coq-core coq-stdlib))
(native-inputs '())))
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:24
[PATCH ocaml-team v3 3/6] gnu: dune-bootstrap: Update to 3.9.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
78010b3f2b18cb49d9742777ec9ba79b15d137cc.1689682321.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.8.2.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6ffde41cc0..d2bc7cc118 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1819,7 +1819,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1828,7 +1828,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "0bgqsam21ah8piqhnrkfzn8r75w83pkn75751jks2rlppkgx9g3y"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1845,9 +1845,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:24
[PATCH ocaml-team v3 4/6] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
db6b0fdfb6b8c488d849f52bdf0fbe791c8a0475.1689682321.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
---
gnu/packages/ocaml.scm | 164 +++++++++++++++++++++++++++++++----------
1 file changed, 125 insertions(+), 39 deletions(-)

Toggle diff (197 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d2bc7cc118..0d78f4d864 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,129 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1063,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:24
[PATCH ocaml-team v3 5/6] gnu: Add opam-installer.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
829d10a062184b49e0ce970e4c800e72d5415833.1689682321.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam-installer): New variable.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent) [native-inputs]: Replace opam with opam-installer.
---
gnu/packages/ocaml.scm | 90 ++++++++++++++++++++++++++----------------
1 file changed, 55 insertions(+), 35 deletions(-)

Toggle diff (265 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0d78f4d864..90fedc2e88 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -901,6 +901,27 @@ (define ocaml-opam-format
#:tests? #f
#:phases %standard-phases))))
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
(define ocaml-opam-repository
(package
(inherit ocaml-opam-core)
@@ -2325,7 +2346,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2355,7 +2376,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2470,7 +2491,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2600,13 +2621,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2647,9 +2668,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2869,7 +2890,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2993,7 +3014,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3455,7 +3476,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3489,7 +3510,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3519,7 +3540,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3593,7 +3614,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3734,7 +3755,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3760,9 +3781,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3807,7 +3828,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3848,9 +3869,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4268,7 +4289,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5275,7 +5296,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5921,7 +5942,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9641,7 +9662,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9669,7 +9690,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9703,7 +9724,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10164,8 +10185,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.40.1
P
P
pukkamustard wrote on 18 Jul 2023 14:24
[PATCH ocaml-team v3 6/6] FIXME: gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
038aa45a69fa8ec7870ef658bcf4ca809c23eee9.1689682321.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 96 ++++++-------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 49 insertions(+), 270 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (425 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 06a376a99a..f28baefdb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1646,10 +1646,6 @@ dist_patch_DATA = \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/oath-toolkit-xmlsec-compat.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 90fedc2e88..badc898648 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,30 +722,17 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
- (home-page "https://www.mancoosi.org/software/")
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
+ (home-page "http://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
managing distribution packages and their dependencies. Though not tied to
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1072,6 +1059,8 @@ (define-public opam
("which" ,which)
;; Data for tests
+ ("opam-repo-0070613707" ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
@@ -1080,10 +1069,21 @@ (define-public opam
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d" ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb" ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c" ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916" ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4443,8 +4443,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4453,6 +4452,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5325,27 +5332,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
--
--
--make printconf
--
2.40.1
J
J
Julien Lepiller wrote on 19 Jul 2023 20:18
Re: [bug#64249] [PATCH ocaml-team v3 2/6] gnu: coq: Update to 8.17.1.
(name . pukkamustard)(address . pukkamustard@posteo.net)(address . 64249@debbugs.gnu.org)
20230719201843.31b30208@lepiller.eu
Hi,

I'm not sure why, but this is breaking all coq dependents, with
messages similar to:

cannot guess a path for Coq libraries; please use -coqlib option or
ensure you have installed the package containing Coq's stdlib
(coq-stdlib in OPAM) If you intend to use Coq without a standard
library, the -boot -noinit options must be used.

I think this is because coq-stdlib is mostly empty for some reason.


Le Tue, 18 Jul 2023 12:23:59 +0000,
pukkamustard <pukkamustard@posteo.net> a écrit :

Toggle quote (71 lines)
> * gnu/packages/coq.scm (coq-core, coq-stdlib, coq): Update to 8.17.1
> and remove test-target argument.
> ---
> gnu/packages/coq.scm | 24 +++++-------------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
>
> diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
> index 09ca4030ea..3332707a71 100644
> --- a/gnu/packages/coq.scm
> +++ b/gnu/packages/coq.scm
> @@ -53,7 +53,7 @@ (define-module (gnu packages coq)
> (define-public coq-core
> (package
> (name "coq-core")
> - (version "8.16.1")
> + (version "8.17.1")
> (source
> (origin
> (method git-fetch)
> @@ -63,7 +63,7 @@ (define-public coq-core
> (file-name (git-file-name name version))
> (sha256
> (base32
> - "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
> + "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
> (patches (search-patches "coq-fix-envvars.patch"))))
> (native-search-paths
> (list (search-path-specification
> @@ -83,8 +83,7 @@ (define-public coq-core
> (native-inputs
> (list ocaml-ounit2 which))
> (arguments
> - `(#:package "coq-core"
> - #:test-target "."))
> + `(#:package "coq-core"))
> (properties '((upstream-name . "coq"))) ; also for inherited
> packages (home-page "https://coq.inria.fr")
> (synopsis "Proof assistant for higher-order logic")
> @@ -101,19 +100,7 @@ (define-public coq-stdlib
> (inherit coq-core)
> (name "coq-stdlib")
> (arguments
> - `(#:package "coq-stdlib"
> - #:test-target "."
> - #:phases
> - (modify-phases %standard-phases
> - (add-before 'build 'fix-dune
> - (lambda _
> - (substitute* "user-contrib/Ltac2/dune"
> - (("coq-core.plugins.ltac2")
> - (string-join
> - (map (lambda (plugin) (string-append
> "coq-core.plugins." plugin))
> - '("ltac2" "number_string_notation" "tauto"
> "cc"
> - "firstorder"))
> - " "))))))))
> + `(#:package "coq-stdlib"))
> (inputs
> (list coq-core gmp ocaml-zarith))
> (native-inputs '())))
> @@ -123,8 +110,7 @@ (define-public coq
> (inherit coq-core)
> (name "coq")
> (arguments
> - `(#:package "coq"
> - #:test-target "."))
> + `(#:package "coq"))
> (propagated-inputs
> (list coq-core coq-stdlib))
> (native-inputs '())))
P
P
pukkamustard wrote on 24 Jul 2023 16:54
(name . Julien Lepiller)(address . julien@lepiller.eu)
86sf9dny39.fsf@posteo.net
Hi,

Julien Lepiller <julien@lepiller.eu> writes:

Toggle quote (10 lines)
> I'm not sure why, but this is breaking all coq dependents, with
> messages similar to:
>
> cannot guess a path for Coq libraries; please use -coqlib option or
> ensure you have installed the package containing Coq's stdlib
> (coq-stdlib in OPAM) If you intend to use Coq without a standard
> library, the -boot -noinit options must be used.
>
> I think this is because coq-stdlib is mostly empty for some reason.

A couple of build failures later this is where I'm at:

- Coq 8.17.1 includes considerable changes to the build system.

- Some `dune` files are autogenerated with `make dunestrap` (which runs
the OCaml program `tools/dune_rule_gen/gen_rules.ml`.

- In the v3 patches I submitted `make dunestrap` was not being run,
resulting in missing dune files and a quite empty `coq-stdlib`
package.

- The 8.17.1 generated dune files for `coq-stdlib` reference things in
`coq-core` directly with relative paths instead of letting
dune/findlib find them (with entries in the `libraries` stanza in dune
files). This makes building `coq-core` and `coq-stdlib` seperately
more tricky.

I've asked in #coq for ideas on how `coq-stdlib` and `coq-core` can be
built seperately/kept in separate packages. Nothing yet.

What do you think about merging `coq-core`, `coq-stdlib` and `coq` into
a single package? Not as nice as the current situation, but maybe a way
to go without too many custom patches/hacks?

CC: Arnaud and Josselin who might be interested in Coq stuff.

Thanks,
pukkamustard


Toggle quote (71 lines)
>> * gnu/packages/coq.scm (coq-core, coq-stdlib, coq): Update to 8.17.1
>> and remove test-target argument.
>> ---
>> gnu/packages/coq.scm | 24 +++++-------------------
>> 1 file changed, 5 insertions(+), 19 deletions(-)
>>
>> diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
>> index 09ca4030ea..3332707a71 100644
>> --- a/gnu/packages/coq.scm
>> +++ b/gnu/packages/coq.scm
>> @@ -53,7 +53,7 @@ (define-module (gnu packages coq)
>> (define-public coq-core
>> (package
>> (name "coq-core")
>> - (version "8.16.1")
>> + (version "8.17.1")
>> (source
>> (origin
>> (method git-fetch)
>> @@ -63,7 +63,7 @@ (define-public coq-core
>> (file-name (git-file-name name version))
>> (sha256
>> (base32
>> - "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
>> + "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
>> (patches (search-patches "coq-fix-envvars.patch"))))
>> (native-search-paths
>> (list (search-path-specification
>> @@ -83,8 +83,7 @@ (define-public coq-core
>> (native-inputs
>> (list ocaml-ounit2 which))
>> (arguments
>> - `(#:package "coq-core"
>> - #:test-target "."))
>> + `(#:package "coq-core"))
>> (properties '((upstream-name . "coq"))) ; also for inherited
>> packages (home-page "https://coq.inria.fr")
>> (synopsis "Proof assistant for higher-order logic")
>> @@ -101,19 +100,7 @@ (define-public coq-stdlib
>> (inherit coq-core)
>> (name "coq-stdlib")
>> (arguments
>> - `(#:package "coq-stdlib"
>> - #:test-target "."
>> - #:phases
>> - (modify-phases %standard-phases
>> - (add-before 'build 'fix-dune
>> - (lambda _
>> - (substitute* "user-contrib/Ltac2/dune"
>> - (("coq-core.plugins.ltac2")
>> - (string-join
>> - (map (lambda (plugin) (string-append
>> "coq-core.plugins." plugin))
>> - '("ltac2" "number_string_notation" "tauto"
>> "cc"
>> - "firstorder"))
>> - " "))))))))
>> + `(#:package "coq-stdlib"))
>> (inputs
>> (list coq-core gmp ocaml-zarith))
>> (native-inputs '())))
>> @@ -123,8 +110,7 @@ (define-public coq
>> (inherit coq-core)
>> (name "coq")
>> (arguments
>> - `(#:package "coq"
>> - #:test-target "."))
>> + `(#:package "coq"))
>> (propagated-inputs
>> (list coq-core coq-stdlib))
>> (native-inputs '())))
J
J
Julien Lepiller wrote on 24 Jul 2023 17:22
(name . pukkamustard)(address . pukkamustard@posteo.net)
7F0D4C89-4838-4C95-82FA-42A49E4119A9@lepiller.eu
I don't see how one would use coq-core without coq-stdlib and coq-stdlib depends on coq-core, so I think it's fine to merge these packages. It might make the package definition a bit harder, since there isn't a single dune target, but I'm fine with it.

Le 24 juillet 2023 16:54:05 GMT+02:00, pukkamustard <pukkamustard@posteo.net> a écrit :
Toggle quote (117 lines)
>
>Hi,
>
>Julien Lepiller <julien@lepiller.eu> writes:
>
>> I'm not sure why, but this is breaking all coq dependents, with
>> messages similar to:
>>
>> cannot guess a path for Coq libraries; please use -coqlib option or
>> ensure you have installed the package containing Coq's stdlib
>> (coq-stdlib in OPAM) If you intend to use Coq without a standard
>> library, the -boot -noinit options must be used.
>>
>> I think this is because coq-stdlib is mostly empty for some reason.
>
>A couple of build failures later this is where I'm at:
>
>- Coq 8.17.1 includes considerable changes to the build system.
>
>- Some `dune` files are autogenerated with `make dunestrap` (which runs
> the OCaml program `tools/dune_rule_gen/gen_rules.ml`.
>
>- In the v3 patches I submitted `make dunestrap` was not being run,
> resulting in missing dune files and a quite empty `coq-stdlib`
> package.
>
>- The 8.17.1 generated dune files for `coq-stdlib` reference things in
> `coq-core` directly with relative paths instead of letting
> dune/findlib find them (with entries in the `libraries` stanza in dune
> files). This makes building `coq-core` and `coq-stdlib` seperately
> more tricky.
>
>I've asked in #coq for ideas on how `coq-stdlib` and `coq-core` can be
>built seperately/kept in separate packages. Nothing yet.
>
>What do you think about merging `coq-core`, `coq-stdlib` and `coq` into
>a single package? Not as nice as the current situation, but maybe a way
>to go without too many custom patches/hacks?
>
>CC: Arnaud and Josselin who might be interested in Coq stuff.
>
>Thanks,
>pukkamustard
>
>
>>> * gnu/packages/coq.scm (coq-core, coq-stdlib, coq): Update to 8.17.1
>>> and remove test-target argument.
>>> ---
>>> gnu/packages/coq.scm | 24 +++++-------------------
>>> 1 file changed, 5 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
>>> index 09ca4030ea..3332707a71 100644
>>> --- a/gnu/packages/coq.scm
>>> +++ b/gnu/packages/coq.scm
>>> @@ -53,7 +53,7 @@ (define-module (gnu packages coq)
>>> (define-public coq-core
>>> (package
>>> (name "coq-core")
>>> - (version "8.16.1")
>>> + (version "8.17.1")
>>> (source
>>> (origin
>>> (method git-fetch)
>>> @@ -63,7 +63,7 @@ (define-public coq-core
>>> (file-name (git-file-name name version))
>>> (sha256
>>> (base32
>>> - "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
>>> + "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
>>> (patches (search-patches "coq-fix-envvars.patch"))))
>>> (native-search-paths
>>> (list (search-path-specification
>>> @@ -83,8 +83,7 @@ (define-public coq-core
>>> (native-inputs
>>> (list ocaml-ounit2 which))
>>> (arguments
>>> - `(#:package "coq-core"
>>> - #:test-target "."))
>>> + `(#:package "coq-core"))
>>> (properties '((upstream-name . "coq"))) ; also for inherited
>>> packages (home-page "https://coq.inria.fr")
>>> (synopsis "Proof assistant for higher-order logic")
>>> @@ -101,19 +100,7 @@ (define-public coq-stdlib
>>> (inherit coq-core)
>>> (name "coq-stdlib")
>>> (arguments
>>> - `(#:package "coq-stdlib"
>>> - #:test-target "."
>>> - #:phases
>>> - (modify-phases %standard-phases
>>> - (add-before 'build 'fix-dune
>>> - (lambda _
>>> - (substitute* "user-contrib/Ltac2/dune"
>>> - (("coq-core.plugins.ltac2")
>>> - (string-join
>>> - (map (lambda (plugin) (string-append
>>> "coq-core.plugins." plugin))
>>> - '("ltac2" "number_string_notation" "tauto"
>>> "cc"
>>> - "firstorder"))
>>> - " "))))))))
>>> + `(#:package "coq-stdlib"))
>>> (inputs
>>> (list coq-core gmp ocaml-zarith))
>>> (native-inputs '())))
>>> @@ -123,8 +110,7 @@ (define-public coq
>>> (inherit coq-core)
>>> (name "coq")
>>> (arguments
>>> - `(#:package "coq"
>>> - #:test-target "."))
>>> + `(#:package "coq"))
>>> (propagated-inputs
>>> (list coq-core coq-stdlib))
>>> (native-inputs '())))
>
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 0/9]
(address . 64249@debbugs.gnu.org)
cover.1690541801.git.pukkamustard@posteo.net
Hello,

This v4 fixes the previously broken Coq packages.

As mentioned (https://issues.guix.gnu.org/64249#20)this merges coq-core and
coq-stdlib into coq.

It turns out that dune allows multiple package to be built at the same time by
providing a comma-seperated list. Our #:package field can be fed such a
comma-seperated list. With this trick only the 'install phase needs some
tweaking. Eventually it would be nice to allow our #:package field to be a
proper Scheme list.

Some Coq packages need to be updated for 8.17.1 compatibility. I have not
systematically checked all Coq packages. Let's see what CI says.

opam is still broken. Very gracious if another pair of eyes could have a look.

Thanks,
pukkamustard

pukkamustard (9):
gnu: ocaml: Update to 4.14.1.
gnu: Update coq-flocq to 4.1.1.
gnu: Update coq-gappa to 1.5.3.
gnu: Update coq-mathcomp to 1.17.0.
gnu: coq: Update to 8.17.1.
gnu: dune-bootstrap: Update to 3.9.1.
gnu: opam: Split build into smaller sub-packages.
gnu: Add opam-installer.
FIXME: gnu: opam: Update to 2.1.5.

gnu/local.mk | 4 -
gnu/packages/coq.scm | 77 ++--
gnu/packages/ocaml.scm | 365 ++++++++++++------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 -------
.../ocaml-dose3-add-unix-dependency.patch | 25 --
.../ocaml-dose3-dont-make-printconf.patch | 9 -
7 files changed, 267 insertions(+), 398 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch


base-commit: 01412c6c6a98e4da10676560638640d0f33e1a02
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 1/9] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
3d4419719af956eac5e207468d8f19afccc16a62.1690541801.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
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 ab0aa0574a..6ffde41cc0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 2/9] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
5f2cae191723166ffd3f492af6e1cf921a7d2f89.1690541801.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..215e947fd4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -241,7 +241,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -251,7 +251,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 3/9] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
0ecaf2c0a4704a361187d69a696118f54112fbba.1690541801.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 215e947fd4..86a9aef0f4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -288,7 +288,7 @@ (define-public coq-flocq
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -298,7 +298,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 4/9] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
64830fd90936cc3da91187d036887bc6296b165a.1690541801.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 86a9aef0f4..cc914422d4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -348,7 +348,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -357,7 +357,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 5/9] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
97754585bac7132fd7ab70f7c7b5372ddad049c3.1690541801.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-mathcomp-bigenough)[propagated-inputs] Remove coq-core.
---
gnu/packages/coq.scm | 65 ++++++++++++++++----------------------------
1 file changed, 24 insertions(+), 41 deletions(-)

Toggle diff (111 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index cc914422d4..6f9205cfb0 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -50,10 +50,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,7 +63,7 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths
(list (search-path-specification
@@ -78,13 +78,29 @@ (define-public coq-core
(files (list "lib/ocaml/site-lib/coq-core"))
(separator #f))))
(build-system dune-build-system)
+ (arguments
+ `(#:package "coq-core,coq-stdlib,coq"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" libdir))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir
+ "coq-core" "coq-stdlib" "coq")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -96,39 +112,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -761,7 +744,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 6/9] gnu: dune-bootstrap: Update to 3.9.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
54108cad3e6d8ff5a0a6f3071b3e7f61752621c2.1690541801.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.8.2.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6ffde41cc0..d2bc7cc118 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1819,7 +1819,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1828,7 +1828,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "0bgqsam21ah8piqhnrkfzn8r75w83pkn75751jks2rlppkgx9g3y"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1845,9 +1845,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 7/9] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
d91acdcce7c2286983e5e3136f27b44306ce21be.1690541801.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
---
gnu/packages/ocaml.scm | 164 +++++++++++++++++++++++++++++++----------
1 file changed, 125 insertions(+), 39 deletions(-)

Toggle diff (197 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d2bc7cc118..0d78f4d864 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,129 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1063,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 8/9] gnu: Add opam-installer.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
736385d685b5a9b8074265a8e063f9d666680966.1690541801.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam-installer): New variable.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent) [native-inputs]: Replace opam with opam-installer.
---
gnu/packages/ocaml.scm | 90 ++++++++++++++++++++++++++----------------
1 file changed, 55 insertions(+), 35 deletions(-)

Toggle diff (265 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0d78f4d864..90fedc2e88 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -901,6 +901,27 @@ (define ocaml-opam-format
#:tests? #f
#:phases %standard-phases))))
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
(define ocaml-opam-repository
(package
(inherit ocaml-opam-core)
@@ -2325,7 +2346,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2355,7 +2376,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2470,7 +2491,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2600,13 +2621,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2647,9 +2668,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2869,7 +2890,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2993,7 +3014,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3455,7 +3476,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3489,7 +3510,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3519,7 +3540,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3593,7 +3614,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3734,7 +3755,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3760,9 +3781,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3807,7 +3828,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3848,9 +3869,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4268,7 +4289,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5275,7 +5296,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5921,7 +5942,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9641,7 +9662,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9669,7 +9690,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9703,7 +9724,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10164,8 +10185,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.40.1
P
P
pukkamustard wrote on 28 Jul 2023 13:08
[PATCH ocaml-team v4 9/9] FIXME: gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
f0953c1c4c02b458b44bf614f2b74b64454eaf49.1690541801.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 96 ++++++-------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 49 insertions(+), 270 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (425 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 06a376a99a..f28baefdb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1646,10 +1646,6 @@ dist_patch_DATA = \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/oath-toolkit-xmlsec-compat.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 90fedc2e88..badc898648 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,30 +722,17 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
- (home-page "https://www.mancoosi.org/software/")
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
+ (home-page "http://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
managing distribution packages and their dependencies. Though not tied to
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1072,6 +1059,8 @@ (define-public opam
("which" ,which)
;; Data for tests
+ ("opam-repo-0070613707" ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
@@ -1080,10 +1069,21 @@ (define-public opam
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d" ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb" ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c" ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916" ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4443,8 +4443,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4453,6 +4452,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5325,27 +5332,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
--
--
--make printconf
--
2.40.1
J
J
Julien Lepiller wrote on 30 Jul 2023 19:42
Re: [bug#64249] [PATCH ocaml-team v4 0/9]
(name . pukkamustard)(address . pukkamustard@posteo.net)
20230730194221.50deb15c@lepiller.eu
Le Fri, 28 Jul 2023 11:08:22 +0000,
pukkamustard <pukkamustard@posteo.net> a écrit :

Toggle quote (28 lines)
> Hello,
>
> This v4 fixes the previously broken Coq packages.
>
> As mentioned (https://issues.guix.gnu.org/64249#20) this merges
> coq-core and coq-stdlib into coq.
>
> It turns out that dune allows multiple package to be built at the
> same time by providing a comma-seperated list. Our #:package field
> can be fed such a comma-seperated list. With this trick only the
> 'install phase needs some tweaking. Eventually it would be nice to
> allow our #:package field to be a proper Scheme list.
>
> Some Coq packages need to be updated for 8.17.1 compatibility. I have
> not systematically checked all Coq packages. Let's see what CI says.
>
> opam is still broken. Very gracious if another pair of eyes could
> have a look.
>
> Thanks,
> pukkamustard
>
> pukkamustard (9):
> gnu: ocaml: Update to 4.14.1.
> gnu: Update coq-flocq to 4.1.1.
> gnu: Update coq-gappa to 1.5.3.
> gnu: Update coq-mathcomp to 1.17.0.

This patch breaks coq-coquelicot, but it can be updated to 1.4.0, and
that fixes the issue.

Toggle quote (2 lines)
> gnu: coq: Update to 8.17.1.

You've missed a coq-stdlib reference in coq-mathcomp-finmap, but simply
removing it fixes the issue.

coq-autosubst-1, coq-equations, coqstdpp, coq-interval and
coq-mathcomp-bigenough fail to build with the newer coq. coq-ide also
fails, but it used to fail already.

Toggle quote (3 lines)
> gnu: dune-bootstrap: Update to 3.9.1.
> gnu: opam: Split build into smaller sub-packages.

there are quite a few more failures with this patch. For instance,
ocaml-topkg fails because it can't find the opam-installer binary.

Toggle quote (2 lines)
> gnu: Add opam-installer.

And of course this patch fixes the issue. I haven't followed closely
recent changes to policy, but it used to be that, if there were no
other solutions we would prefer to have multiple changes in a single
patch if separating them would break something, even in an intermediate
commit.

ocaml-ocb-stubblr still fails because it has opam instead of
opam-installer. It can be switche to new style inputs too :)

Toggle quote (2 lines)
> FIXME: gnu: opam: Update to 2.1.5.

You replaced the home-page of dose3 with the http version, but the
https version still works.

I looked into the build issue, but I can only see deprecation warnings.
Did I miss something?

Toggle quote (18 lines)
>
> gnu/local.mk | 4 -
> gnu/packages/coq.scm | 77 ++--
> gnu/packages/ocaml.scm | 365
> ++++++++++++------ .../ocaml-dose3-Fix-for-ocaml-4.06.patch |
> 52 --- .../ocaml-dose3-Install-mli-cmx-etc.patch | 133 -------
> .../ocaml-dose3-add-unix-dependency.patch | 25 --
> .../ocaml-dose3-dont-make-printconf.patch | 9 -
> 7 files changed, 267 insertions(+), 398 deletions(-)
> delete mode 100644
> gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch delete mode
> 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
> delete mode 100644
> gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch delete
> mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
>
>
> base-commit: 01412c6c6a98e4da10676560638640d0f33e1a02
P
P
pukkamustard wrote on 6 Aug 2023 16:09
(name . Julien Lepiller)(address . julien@lepiller.eu)
86y1io8ag9.fsf@posteo.net
Hi Julien,

Thanks for your comments! Will send in updated patches as a v5.

Julien Lepiller <julien@lepiller.eu> writes:

Toggle quote (9 lines)
>> pukkamustard (9):
>> gnu: ocaml: Update to 4.14.1.
>> gnu: Update coq-flocq to 4.1.1.
>> gnu: Update coq-gappa to 1.5.3.
>> gnu: Update coq-mathcomp to 1.17.0.
>
> This patch breaks coq-coquelicot, but it can be updated to 1.4.0, and
> that fixes the issue.

Updated coq-coquelicot to 3.4.0.

Toggle quote (5 lines)
>> gnu: coq: Update to 8.17.1.
>
> You've missed a coq-stdlib reference in coq-mathcomp-finmap, but simply
> removing it fixes the issue.

Done.

Toggle quote (4 lines)
> coq-autosubst-1, coq-equations, coqstdpp, coq-interval and
> coq-mathcomp-bigenough fail to build with the newer coq. coq-ide also
> fails, but it used to fail already.

- Fixed coq-ide by adding zlib to propagated-inputs.
- Fixed coq-autosubst by updating to 1.8
- Fixed coq-equations by updating to 1.3-8.17 (I chose to add the
release variant in the version string)
- Fixed coq-stdpp by updating to 1.8.0.
- Fixed coq-interval by updating to 4.8.0.

coq-mathcomp-bigenough is still broken. There is a (to me) cryptic but
seemingly related message on the issue tracker:


Maybe somebody with more insight/interest in Coq could look into this?

Toggle quote (17 lines)
>> gnu: dune-bootstrap: Update to 3.9.1.
>> gnu: opam: Split build into smaller sub-packages.
>
> there are quite a few more failures with this patch. For instance,
> ocaml-topkg fails because it can't find the opam-installer binary.
>
>> gnu: Add opam-installer.
>
> And of course this patch fixes the issue. I haven't followed closely
> recent changes to policy, but it used to be that, if there were no
> other solutions we would prefer to have multiple changes in a single
> patch if separating them would break something, even in an intermediate
> commit.
>
> ocaml-ocb-stubblr still fails because it has opam instead of
> opam-installer. It can be switche to new style inputs too :)

Merged the commit to add opam-installer to the previous commit and fixed
ocaml-ocb-stubblr.

Toggle quote (5 lines)
>> FIXME: gnu: opam: Update to 2.1.5.
>
> You replaced the home-page of dose3 with the http version, but the
> https version still works.

I re-imported dose3 with `guix import opam` and it seems like http is
used in the opam metadata. Fixed to use https.

Toggle quote (3 lines)
> I looked into the build issue, but I can only see deprecation warnings.
> Did I miss something?

Yes, the error is quite hidden:

Toggle snippet (7 lines)
(cd _build/default && /gnu/store/qpbrmd6qaakv0zw3f2w2x2cw4nwy5lsg-ocaml-4.14.1/bin/ocamlc.opt -w -40 -w +a-4-40-42-44-48 -safe-string -g -bin-annot -I src/client/.opam_client.objs/byte -I /gnu/store/1zzqn0z6rkgb1bwh2hn5in1wfjjcr7ik-ocaml-opam-format-2.1.5/lib/ocaml/site-lib/opam-format -I /gnu/store/46q0hi0bzinsp4jl4921rfw2yd2hxyhd-ocaml-opam-repository-2.1.5/lib/ocaml/site-lib/opam-repository -I /gnu/store/4ldlmhrq0nrbh9sf29r17d9y3qndwch4-ocaml-mccs-1.1+14/lib/ocaml/site-lib/mccs -I /gnu/store/4ldlmhrq0nrbh9sf29r17d9y3qndwch4-ocaml-mccs-1.1+14/lib/ocaml/site-lib/mccs/glpk/internal -I /gnu/store/5pj64sfvin4apb2364gnza0srm7jwibd-ocaml-re-1.10.4/lib/ocaml/site-lib/re -I /gnu/store/5pj64sfvin4apb2364gnza0srm7jwibd-ocaml-re-1.10.4/lib/ocaml/site-lib/re/pcre -I /gnu/store/7h1nbgpy8c2vyisq6dyvwww2di2xnx9n-ocaml-graph-2.0.0/lib/ocaml/site-lib/ocamlgraph -I /gnu/store/87njknpz4803bcfvx9flwchqf4l8prcj-ocaml-cudf-0.10/lib/ocaml/site-lib/cudf -I /gnu/store/ai8z8r9ykib00039gq0gylyps6xzs55w-ocaml-opam-file-format-2.1.4/lib/ocaml/site-lib/opam-file-format -I /gnu/store/fz8a8plnh2j7z020jljy66fg4mmbp3hv-ocaml-extlib-1.7.9/lib/ocaml/site-lib/extlib -I /gnu/store/hmsqsalxyda0c0g41rl3znj8lqnbc1cy-ocaml-opam-solver-2.1.5/lib/ocaml/site-lib/opam-solver -I /gnu/store/k51jkvxz1smwl3bvi13yh3myg4av3fva-ocaml-dose3-7.0.0/lib/ocaml/site-lib/dose3/algo -I /gnu/store/k51jkvxz1smwl3bvi13yh3myg4av3fva-ocaml-dose3-7.0.0/lib/ocaml/site-lib/dose3/common -I /gnu/store/lvhm3dnkqbacm7gy2r6ppvng9rq8rqzx-ocaml-seq-0.1/lib/ocaml/site-lib/seq -I /gnu/store/qpxf86c2qkyjwidlf5dhj17jwg5pfwz5-ocaml-opam-core-2.1.5/lib/ocaml/site-lib/opam-core -I /gnu/store/rav2kpix7fb1gj9x609qzrd6a3cla9b1-ocaml-base64-3.5.0/lib/ocaml/site-lib/base64 -I /gnu/store/v63rrnbsq9806s8q0qz0fkrw1napqn0f-ocaml-stdlib-shims-0.3.0/lib/ocaml/site-lib/stdlib-shims -I /gnu/store/vw64xzqqkz8gzg6ikrp4ks5bqdbjash3-ocaml-cmdliner-1.1.1/lib/ocaml/site-lib/cmdliner -I /gnu/store/ylwbjd8fmi6mrk2lxsvh7yrjajh7qbi4-ocaml-opam-state-2.1.5/lib/ocaml/site-lib/opam-state -intf-suffix .ml -no-alias-deps -o src/client/.opam_client.objs/byte/opamSwitchCommand.cmo -c -impl src/client/opamSwitchCommand.ml)
File "src/client/opamSwitchCommand.ml", line 405, characters 18-35:
405 | let value = Base64.decode_exn content in
^^^^^^^^^^^^^^^^^
Error: Unbound value Base64.decode_exn

In the meantime dune 3.10.0 was released and the v5 updates to it. So,
happy recompiling! :)

Thanks,
pukkamustard
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 01/12] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
ccfc0a14ebd75f8c509076c9140bc1c3ce22993e.1691335142.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8ff755aea9..56661b1977 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification

base-commit: c4b9f726e3a1889b92a4b14a2af1c25f10798469
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 02/12] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
73ed93b86a64df74487769342b492c7d46b94661.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..215e947fd4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -241,7 +241,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -251,7 +251,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 03/12] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
752d12d40ab4c114d828c2918dbda39ab3f0615d.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 215e947fd4..86a9aef0f4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -288,7 +288,7 @@ (define-public coq-flocq
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -298,7 +298,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 04/12] gnu: Update coq-coquelicot to 3.4.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
ec7938a4a5f7e706bc4aba5d9e6a3c237ad91cb9.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-coquelicot): Update to 3.4.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 86a9aef0f4..6371084a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -385,7 +385,7 @@ (define-public coq-mathcomp
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.2.0")
+ (version "3.4.0")
(source
(origin
(method git-fetch)
@@ -395,7 +395,7 @@ (define-public coq-coquelicot
(file-name (git-file-name name version))
(sha256
(base32
- "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
+ "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 05/12] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
3d6710d69735a054c6d09477ec6fcb9a7c84e904.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 6371084a71..f9e3d89867 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -348,7 +348,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -357,7 +357,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 06/12] gnu: Update coq-autosubst to 1.8.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
dcfc8636350f2c81ad977283f93b652bf9117b7f.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-autosubst): Update to 1.8.
---
gnu/packages/coq.scm | 50 ++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 27 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f9e3d89867..5ce4880f4b 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -515,35 +515,31 @@ (define-public coq-interval
(license license:cecill-c)))
(define-public coq-autosubst
- ;; Latest commit on that branch, where work on supporting coq 8.6 and
- ;; more recent versions of coq happen.
- (let ((branch "coq86-devel")
- (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
- (package
- (name "coq-autosubst")
- (version (git-version "1" branch commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://github.com/uds-psl/autosubst")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
+ (package
+ (name "coq-autosubst")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coq-community/autosubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list coq))
- (home-page "https://www.ps.uni-saarland.de/autosubst/")
- (synopsis "Coq library for parallel de Bruijn substitutions")
- (description "Formalizing syntactic theories with variable binders is
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ (list coq))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst
@@ -554,7 +550,7 @@ (define-public coq-autosubst
work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public coq-equations
(package
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 07/12] gnu: Update coq-stdpp to 1.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
9e1deab704644c0c63f13516c946b97a03b753c5.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-stdpp): Update to 1.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 5ce4880f4b..4a929c6bed 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -642,7 +642,7 @@ (define-public coq-semantics
(define-public coq-stdpp
(package
(name "coq-stdpp")
- (version "1.7.0")
+ (version "1.8.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@@ -652,7 +652,7 @@ (define-public coq-stdpp
(file-name (git-file-name name version))
(sha256
(base32
- "0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
+ "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system)
(inputs
(list coq))
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 08/12] gnu: Update coq-interval to 4.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
ca1135a74517453d1cb490c132f65b39f68c78c4.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-interval): Update to 4.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 4a929c6bed..663265f5be 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -468,7 +468,7 @@ (define-public coq-bignums
(define-public coq-interval
(package
(name "coq-interval")
- (version "4.5.2")
+ (version "4.8.0")
(source
(origin
(method git-fetch)
@@ -478,7 +478,7 @@ (define-public coq-interval
(file-name (git-file-name name version))
(sha256
(base32
- "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
+ "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 09/12] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
7c82263ece8fff6106930babd4afe2c7a107f3d8.1691335142.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
---
gnu/packages/coq.scm | 76 +++++++++++++++++---------------------------
1 file changed, 30 insertions(+), 46 deletions(-)

Toggle diff (157 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 663265f5be..b63239b99e 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -50,10 +51,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,7 +64,7 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths
(list (search-path-specification
@@ -78,13 +79,29 @@ (define-public coq-core
(files (list "lib/ocaml/site-lib/coq-core"))
(separator #f))))
(build-system dune-build-system)
+ (arguments
+ `(#:package "coq-core,coq-stdlib,coq"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" libdir))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir
+ "coq-core" "coq-stdlib" "coq")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -96,39 +113,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -147,7 +131,7 @@ (define-public coq-ide
`(#:tests? #f
#:package "coqide"))
(propagated-inputs
- (list coq coq-ide-server))
+ (list coq coq-ide-server zlib))
(inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
@@ -555,16 +539,16 @@ (define-public coq-autosubst
(define-public coq-equations
(package
(name "coq-equations")
- (version "1.3")
+ (version "1.3-8.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
- (commit (string-append "v" version "-8.16"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
+ "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml coq camlp5))
@@ -716,7 +700,7 @@ (define-public coq-mathcomp-finmap
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (inputs (list coq coq-stdlib coq-mathcomp which))
+ (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp")
(description
"This library is an extension of coq-mathcomp which supports finite sets
@@ -757,7 +741,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 10/12] gnu: dune-bootstrap: Update to 3.10.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
5cb71a21794085eff5bdf0c9ac355991a644845d.1691335142.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.10.0.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 56661b1977..6646632397 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1818,7 +1818,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1827,7 +1827,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "0zwih4fwwrc8lwi2i4mmps9ng7z6mf46pps2i503lmx0dh8dl606"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1844,9 +1844,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 11/12] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
d1e3db9b0914fb9e85a585b3b13b9e4e7da21fb3.1691335142.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent, ocaml-ocb-stubblr) [native-inputs]: Replace opam with
opam-installer.
---
gnu/packages/ocaml.scm | 262 ++++++++++++++++++++++++++++-------------
1 file changed, 182 insertions(+), 80 deletions(-)

Toggle diff (464 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6646632397..e5b1ea47ba 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,150 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1084,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -2238,7 +2345,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2268,7 +2375,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2383,7 +2490,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2513,13 +2620,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2560,9 +2667,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2782,7 +2889,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2906,7 +3013,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3368,7 +3475,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3402,7 +3509,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3432,7 +3539,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3506,7 +3613,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3647,7 +3754,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3673,9 +3780,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3720,7 +3827,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3761,9 +3868,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4181,7 +4288,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5188,7 +5295,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5801,12 +5908,8 @@ (define-public ocaml-ocb-stubblr
;; Guix doesn't have cc, but it has gcc
(("\"cc\"") "\"gcc\""))
#t)))))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
- (native-inputs
- `(("astring" ,ocaml-astring)
- ("ocamlbuild" ,ocamlbuild)))
+ (inputs (list ocaml-topkg opam-installer))
+ (native-inputs (list ocaml-astring ocamlbuild))
(synopsis "OCamlbuild plugin for C stubs")
(description "Ocb-stubblr is about ten lines of code that you need to
repeat over, over, over and over again if you are using ocamlbuild to build
@@ -5834,7 +5937,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9554,7 +9657,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9582,7 +9685,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9616,7 +9719,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10077,8 +10180,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.41.0
P
P
pukkamustard wrote on 6 Aug 2023 17:20
[PATCH ocaml-team v5 12/12] FIXME: gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20d984b3c59be1e76679da7312e0851a577006e2.1691335142.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 94 +++++++------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 48 insertions(+), 269 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (423 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 77707127a7..efe507905f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1657,10 +1657,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e5b1ea47ba..999b3a3ef2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,29 +722,16 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1072,6 +1059,8 @@ (define-public opam
("which" ,which)
;; Data for tests
+ ("opam-repo-0070613707" ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
@@ -1080,10 +1069,21 @@ (define-public opam
"0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d" ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb" ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c" ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916" ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4442,8 +4442,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4452,6 +4451,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5324,27 +5331,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
--
--
--make printconf
--
2.41.0
L
L
Ludovic Courtès wrote on 15 Aug 2023 23:25
Re: bug#64249: [PATCH ocaml-team 1/2] gnu: ocaml: Update to 4.14.1.
(name . pukkamustard)(address . pukkamustard@posteo.net)
87sf8k6lr3.fsf_-_@gnu.org
Hello!

https://qa.guix.gnu.org/issue/64249 hasn’t caught up yet.

Julien, do you have further reservations or do you think it’s OK to
commit, assuming there’s no build breakage?

Ludo’.
J
J
Julien Lepiller wrote on 17 Aug 2023 21:08
Re: [bug#64249] [PATCH ocaml-team v5 09/12] gnu: coq: Update to 8.17.1.
(name . pukkamustard)(address . pukkamustard@posteo.net)(address . 64249@debbugs.gnu.org)
20230817210824.22f673e2@tachikoma.lepiller.eu
this looks good to me, but there's a new failure in
coq-mathcomp-bigenough after that. Replacing "coq-core" with "coq" in
the configure flags fix the issue.

Le Sun, 6 Aug 2023 15:20:28 +0000,
pukkamustard <pukkamustard@posteo.net> a écrit :

Toggle quote (174 lines)
> * gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with
> coq-core and coq-stdlib. [arguments] Merge with coq-core and
> coq-stdlib. Add pre-build phases and add a custom install phase.
> Remove unnecessary test-target. (coq-core): Remove variable.
> (coq-stdlib): Remove variable.
> (coq-ide)[propagated-inputs]: Add zlib.
> (coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
> (coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
> (coq-equations): Update to 1.3-8.17.
> ---
> gnu/packages/coq.scm | 76
> +++++++++++++++++--------------------------- 1 file changed, 30
> insertions(+), 46 deletions(-)
>
> diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
> index 663265f5be..b63239b99e 100644
> --- a/gnu/packages/coq.scm
> +++ b/gnu/packages/coq.scm
> @@ -31,6 +31,7 @@ (define-module (gnu packages coq)
> #:use-module (gnu packages base)
> #:use-module (gnu packages bison)
> #:use-module (gnu packages boost)
> + #:use-module (gnu packages compression)
> #:use-module (gnu packages emacs)
> #:use-module (gnu packages flex)
> #:use-module (gnu packages gawk)
> @@ -50,10 +51,10 @@ (define-module (gnu packages coq)
> #:use-module (guix utils)
> #:use-module ((srfi srfi-1) #:hide (zip)))
>
> -(define-public coq-core
> +(define-public coq
> (package
> - (name "coq-core")
> - (version "8.16.1")
> + (name "coq")
> + (version "8.17.1")
> (source
> (origin
> (method git-fetch)
> @@ -63,7 +64,7 @@ (define-public coq-core
> (file-name (git-file-name name version))
> (sha256
> (base32
> - "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
> + "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
> (patches (search-patches "coq-fix-envvars.patch"))))
> (native-search-paths
> (list (search-path-specification
> @@ -78,13 +79,29 @@ (define-public coq-core
> (files (list "lib/ocaml/site-lib/coq-core"))
> (separator #f))))
> (build-system dune-build-system)
> + (arguments
> + `(#:package "coq-core,coq-stdlib,coq"
> + #:phases
> + (modify-phases %standard-phases
> + (add-before 'build 'configure
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (libdir (string-append out
> "/lib/ocaml/site-lib")))
> + (invoke "./configure" "-prefix" out
> + "-libdir" libdir))))
> + (add-before 'build 'make-dunestrap
> + (lambda _ (invoke "make" "dunestrap")))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (libdir (string-append out
> "/lib/ocaml/site-lib")))
> + (invoke "dune" "install" "--prefix" out
> + "--libdir" libdir
> + "coq-core" "coq-stdlib" "coq")))))))
> (inputs
> (list gmp ocaml-zarith))
> (native-inputs
> (list ocaml-ounit2 which))
> - (arguments
> - `(#:package "coq-core"
> - #:test-target "."))
> (properties '((upstream-name . "coq"))) ; also for inherited
> packages (home-page "https://coq.inria.fr")
> (synopsis "Proof assistant for higher-order logic")
> @@ -96,39 +113,6 @@ (define-public coq-core
> ;; Some of the documentation is distributed under opl1.0+.
> (license (list license:lgpl2.1 license:opl1.0+))))
>
> -(define-public coq-stdlib
> - (package
> - (inherit coq-core)
> - (name "coq-stdlib")
> - (arguments
> - `(#:package "coq-stdlib"
> - #:test-target "."
> - #:phases
> - (modify-phases %standard-phases
> - (add-before 'build 'fix-dune
> - (lambda _
> - (substitute* "user-contrib/Ltac2/dune"
> - (("coq-core.plugins.ltac2")
> - (string-join
> - (map (lambda (plugin) (string-append
> "coq-core.plugins." plugin))
> - '("ltac2" "number_string_notation" "tauto"
> "cc"
> - "firstorder"))
> - " "))))))))
> - (inputs
> - (list coq-core gmp ocaml-zarith))
> - (native-inputs '())))
> -
> -(define-public coq
> - (package
> - (inherit coq-core)
> - (name "coq")
> - (arguments
> - `(#:package "coq"
> - #:test-target "."))
> - (propagated-inputs
> - (list coq-core coq-stdlib))
> - (native-inputs '())))
> -
> (define-public coq-ide-server
> (package
> (inherit coq)
> @@ -147,7 +131,7 @@ (define-public coq-ide
> `(#:tests? #f
> #:package "coqide"))
> (propagated-inputs
> - (list coq coq-ide-server))
> + (list coq coq-ide-server zlib))
> (inputs
> (list lablgtk3 ocaml-lablgtk3-sourceview3))))
>
> @@ -555,16 +539,16 @@ (define-public coq-autosubst
> (define-public coq-equations
> (package
> (name "coq-equations")
> - (version "1.3")
> + (version "1.3-8.17")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> (url "https://github.com/mattam82/Coq-Equations")
> - (commit (string-append "v" version "-8.16"))))
> + (commit (string-append "v" version))))
> (file-name (git-file-name name version))
> (sha256
> (base32
> -
> "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
> +
> "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
> (build-system gnu-build-system) (native-inputs
> (list ocaml coq camlp5))
> @@ -716,7 +700,7 @@ (define-public coq-mathcomp-finmap
> "/lib/coq/user-contrib"))
> #:phases (modify-phases %standard-phases
> (delete 'configure))))
> - (inputs (list coq coq-stdlib coq-mathcomp which))
> + (inputs (list coq coq coq-mathcomp which))
> (synopsis "Finite sets and finite types for coq-mathcomp")
> (description
> "This library is an extension of coq-mathcomp which supports
> finite sets @@ -757,7 +741,7 @@ (define-public coq-mathcomp-bigenough
> "/lib/coq/user-contrib"))
> #:phases (modify-phases %standard-phases
> (delete 'configure))))
> - (propagated-inputs (list coq coq-core coq-mathcomp which))
> + (propagated-inputs (list coq coq-mathcomp which))
> (home-page "https://math-comp.github.io/")
> (synopsis "Small library to do epsilon - N reasoning")
> (description
J
J
Julien Lepiller wrote on 17 Aug 2023 22:54
Re: [bug#64249] [PATCH ocaml-team v5 12/12] FIXME: gnu: opam: Update to 2.1.5.
(name . pukkamustard)(address . pukkamustard@posteo.net)(address . 64249@debbugs.gnu.org)
20230817225421.35482a31@tachikoma.lepiller.eu
Adding ocaml-base64 to opam-client seems to fix this first issue, but
one test fails in opam:

File "tests/reftests/init.test", line 1, characters 0-0:
/gnu/store/s6nii4iazxdn9i60p39sa2p0k8yc5y4i-git-minimal-2.33.1/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/reftests/init.test _build/default/tests/reftests/init.out
Toggle diff (512 lines)
diff --git a/_build/default/tests/reftests/init.test b/_build/default/tests/reftests/init.out
index 9768567..2defa37 100644
--- a/_build/default/tests/reftests/init.test
+++ b/_build/default/tests/reftests/init.out
@@ -220,6 +220,9 @@ wrap-install-commands: ["%{hooks}%/a-script.sh" "wrap-install" ]
post-session-commands: ["%{hooks}%/a-script.sh" "post-session" ]
### opam init --bypass-checks --bare --no-setup --config opamrc
Configuring from ${BASEDIR}/opamrc and then from built-in defaults.
+[ERROR] Sandboxing is not working on your platform linux:
+ /tmp/guix-build-opam-2.1.5.drv-0/source/_build/default/src/client/opamMain.exe: "create_process" failed on ${BASEDIR}/OPAM/opam-init/hooks/sandbox.sh: No such file or directory
+Do you want to disable it? Note that this will result in less secure package builds, so please ensure that you have some other isolation mechanisms in place (such as running within a container or virtual machine). [y/N] y
<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[norepo] Initialised
@@ -237,9 +240,7 @@ opam-version: "2.0"
post-session-commands: ["%{hooks}%/a-script.sh" "post-session"]
pre-build-commands: ["%{hooks}%/a-script.sh" "pre-build"]
repositories: "norepo"
-wrap-build-commands: ["%{hooks}%/sandbox.sh" "build"] {os = "linux" | os = "macos"}
wrap-install-commands: ["%{hooks}%/a-script.sh" "wrap-install"]
-wrap-remove-commands: ["%{hooks}%/sandbox.sh" "remove"] {os = "linux" | os = "macos"}
### opam-cat $OPAMROOT/repo/repos-config
opam-version: "2.0"
repositories: "norepo" {"file://${BASEDIR}/REPO"}


Le Sun, 6 Aug 2023 15:20:31 +0000,
pukkamustard <pukkamustard@posteo.net> a écrit :

> * gnu/packages/ocaml.scm (opam): Update to 2.1.5.
> [native-inputs]: Add more test data.
> (ocaml-graph): Update to 2.0.0.
> (ocaml-dose3): Update to 7.0.0.
> * gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
> * gnu/local.mk (dist_path_DATA): Unregister removed patches.
> ---
> gnu/local.mk | 4 -
> gnu/packages/ocaml.scm | 94 +++++++------
> .../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
> .../ocaml-dose3-Install-mli-cmx-etc.patch | 133
> ------------------ .../ocaml-dose3-add-unix-dependency.patch |
> 25 ---- .../ocaml-dose3-dont-make-printconf.patch | 9 --
> 6 files changed, 48 insertions(+), 269 deletions(-)
> delete mode 100644
> gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch delete mode
> 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
> delete mode 100644
> gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch delete
> mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 77707127a7..efe507905f 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1657,10 +1657,6 @@ dist_patch_DATA =
> \ %D%/packages/patches/nvi-db4.patch
> \
> %D%/packages/patches/nyacc-binary-literals.patch \
> %D%/packages/patches/obs-modules-location.patch \
> - %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
> - %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
> - %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
> - %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
> %D%/packages/patches/ocaml-multiple-definitions.patch
> \
> %D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch
> \
> %D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch
> \ diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index
> e5b1ea47ba..999b3a3ef2 100644 --- a/gnu/packages/ocaml.scm +++
> b/gnu/packages/ocaml.scm @@ -713,7 +713,7 @@ (define-public ocaml-mccs
> (define-public ocaml-dose3
> (package
> (name "ocaml-dose3")
> - (version "5.0.1")
> + (version "7.0.0")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> @@ -722,29 +722,16 @@ (define-public ocaml-dose3
> (file-name (git-file-name name version))
> (sha256
> (base32
> -
> "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
> - (patches
> - (search-patches
> - "ocaml-dose3-add-unix-dependency.patch"
> - "ocaml-dose3-Fix-for-ocaml-4.06.patch"
> - "ocaml-dose3-dont-make-printconf.patch"
> - "ocaml-dose3-Install-mli-cmx-etc.patch"))))
> - (build-system ocaml-build-system)
> - (arguments
> - `(#:tests? #f ;the test suite requires
> python 2
> - #:configure-flags
> - ,#~(list (string-append "SHELL="
> - #+(file-append (canonical-package
> bash-minimal)
> - "/bin/sh")))
> - #:make-flags
> - ,#~(list (string-append "LIBDIR=" #$output
> "/lib/ocaml/site-lib"))))
> - (propagated-inputs
> - (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
> - (native-inputs
> - (list perl
> - ocaml-extlib
> - ocamlbuild
> - ocaml-cppo))
> +
> "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
> + (build-system dune-build-system)
> + (arguments `(#:package "dose3"))
> + (propagated-inputs (list ocaml-extlib
> + ocaml-base64-boot
> + ocaml-cudf
> + ocaml-graph
> + ocaml-re
> + ocaml-stdlib-shims))
> + (native-inputs (list ocaml-ounit))
> (home-page "https://www.mancoosi.org/software/")
> (synopsis "Package distribution management framework")
> (description "Dose3 is a framework made of several OCaml
> libraries for @@ -849,7 +836,7 @@ (define-public
> ocaml-opam-file-format (define ocaml-opam-core
> (package
> (name "ocaml-opam-core")
> - (version "2.1.3")
> + (version "2.1.5")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> @@ -858,7 +845,7 @@ (define ocaml-opam-core
> (file-name (git-file-name name version))
> (sha256
> (base32
> -
> "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
> +
> "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
> (build-system dune-build-system) (arguments `(#:package "opam-core"
> ;; tests are run with the opam package
> @@ -1072,6 +1059,8 @@ (define-public opam
> ("which" ,which)
>
> ;; Data for tests
> + ("opam-repo-0070613707" ,(opam-repo
> "00706137074d536d2019d2d222fbe1bea929deda"
> +
> "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
> ("opam-repo-009e00fa" ,(opam-repo
> "009e00fa86300d11c311309a2544e5c6c3eb8de2"
> "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
> ("opam-repo-7090735c" ,(opam-repo
> "7090735c9d1dd2dc481c4128c5ef4d3667238f15" @@ -1080,10 +1069,21 @@
> (define-public opam
> "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
> ("opam-repo-ad4dd344" ,(opam-repo
> "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
> "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
> + ("opam-repo-c1842d168d" ,(opam-repo
> "c1842d168de956caf06d7ac8588e65020d7594d8"
> +
> "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
> ("opam-repo-c1d23f0e" ,(opam-repo
> "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
> "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
> ("opam-repo-f372039d" ,(opam-repo
> "f372039db86a970ef3e662adbfe0d4f5cd980701"
> -
> "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
> +
> "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
> + ("opam-repo-11ea1cb" ,(opam-repo
> "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
> +
> "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
> + ("opam-repo-297366c" ,(opam-repo
> "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
> +
> "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
> + ("opam-repo-3235916" ,(opam-repo
> "3235916a162a59d7c82dac3fe24214975d48f1aa"
> +
> "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
> + ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
> + ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
> +
> "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw"))))) (inputs
> (list ocaml-opam-client)) (properties
> ;; OPAM is used as a tool and not as a library, we can use the
> OCaml 4.14 @@ -4442,8 +4442,7 @@ (define-public ocaml-base64
> (base32
> "068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
> (build-system dune-build-system)
> - (native-inputs
> - (list ocaml-alcotest ocaml-bos ocaml-rresult))
> + (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
> (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
> (home-page "https://github.com/mirage/ocaml-base64")
> (synopsis "Base64 encoding for OCaml")
> @@ -4452,6 +4451,14 @@ (define-public ocaml-base64
> radix-64 representation. It is specified in RFC 4648.")
> (license license:isc)))
>
> +;; A variant without tests that is used to prevent a cyclic
> dependency when +;; compiling ocaml-dose3.
> +(define ocaml-base64-boot
> + (package
> + (inherit ocaml-base64)
> + (arguments `(#:tests? #f))
> + (native-inputs '())))
> +
> (define-public ocaml4.07-base64
> (package-with-ocaml4.07
> (package
> @@ -5324,27 +5331,22 @@ (define-public ocaml4.07-uuidm
> (define-public ocaml-graph
> (package
> (name "ocaml-graph")
> - (version "1.8.8")
> + (home-page "https://github.com/backtracking/ocamlgraph/")
> + (version "2.0.0")
> (source (origin
> - (method url-fetch)
> - (uri (string-append
> "http://ocamlgraph.lri.fr/download/"
> - "ocamlgraph-" version ".tar.gz"))
> + (method git-fetch)
> + (uri (git-reference
> + (url home-page)
> + (commit version)))
> + (file-name (git-file-name name version))
> (sha256
> (base32
> -
> "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
> - (build-system ocaml-build-system)
> - (arguments
> - `(#:install-target "install-findlib"
> - #:tests? #f
> - #:phases
> - (modify-phases %standard-phases
> - (add-before 'configure 'set-shell
> - (lambda* (#:key inputs #:allow-other-keys)
> - (setenv "CONFIG_SHELL"
> - (search-input-file inputs "/bin/sh")))))))
> - (inputs (list lablgtk))
> +
> "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
> + (build-system dune-build-system)
> + (arguments `(#:package "ocamlgraph"))
> + (propagated-inputs (list ocaml-stdlib-shims))
> + (native-inputs (list ocaml-graphics))
> (properties `((upstream-name . "ocamlgraph")))
> - (home-page "https://ocamlgraph.lri.fr/")
> (synopsis "Graph library for OCaml")
> (description "OCamlgraph is a generic graph library for OCaml.")
> (license license:lgpl2.1)))
> diff --git
> a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
> b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch deleted
> file mode 100644 index 2c344af821..0000000000 ---
> a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch +++
> /dev/null @@ -1,52 +0,0 @@
> -From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00
> 2001 -From: Louis Gesbert <louis.gesbert@ocamlpro.com>
> -Date: Sat, 2 Dec 2017 12:51:01 +0100
> -Subject: [PATCH] Fix for ocaml 4.06
> -
> ----
> - common/criteria_lexer.mll | 8 ++++----
> - common/util.ml | 2 +-
> - 2 files changed, 5 insertions(+), 5 deletions(-)
> -
> -diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
> -index 71f9178..fc4eae3 100644
> ---- a/common/criteria_lexer.mll
> -+++ b/common/criteria_lexer.mll
> -@@ -18,7 +18,7 @@
> - let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be
> any character *)
> - (* find the terminating delimiter *)
> - let endpos =
> -- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos
> + 3) c with -+ try Bytes.index_from lexbuf.lex_buffer
> (lexbuf.lex_start_pos + 3) c with
> - |Invalid_argument _ ->
> - raise (Format822.Syntax_error (
> - Format822.error lexbuf "String too short"))
> -@@ -27,9 +27,9 @@
> - Format822.error lexbuf (Printf.sprintf "cannot find:
> %c" c)))
> - in
> - let len = endpos - (lexbuf.lex_start_pos + 3) in
> -- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3)
> len in -- lexbuf.Lexing.lex_curr_pos <-
> lexbuf.Lexing.lex_start_pos + ((String.length s)+4); -- s
> -+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3)
> len in -+ lexbuf.Lexing.lex_curr_pos <-
> lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4); -+
> Bytes.to_string s
> -
> - }
> -
> -diff --git a/common/util.ml b/common/util.ml
> -index 598f266..36ca3d1 100644
> ---- a/common/util.ml
> -+++ b/common/util.ml
> -@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string
> end) = struct
> - let clean label =
> - try
> - let s = Filename.chop_extension (Filename.basename label) in
> -- String.capitalize s
> -+ String.capitalize_ascii s
> - with Invalid_argument _ -> label
> -
> - let create ?(enabled=false) label =
> ---
> -2.11.0
> -
> diff --git
> a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
> b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch deleted
> file mode 100644 index 41494e7b3c..0000000000 ---
> a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch +++
> /dev/null @@ -1,133 +0,0 @@
> -From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00
> 2001 -From: Louis Gesbert <louis.gesbert@ocamlpro.com>
> -Date: Thu, 2 Mar 2017 12:19:56 +0100
> -Subject: [PATCH] Install mli, cmx, etc.
> -
> ----
> - Makefile | 26 +++++++++++++-------------
> - 1 file changed, 13 insertions(+), 13 deletions(-)
> -
> -diff --git a/Makefile b/Makefile
> -index 09464ff..5044d7f 100644
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
> - @for i in _build/cudf/cudf.*; do \
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml
> versioning/*.mli
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli
> $(DOSELIBS)/common.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli
> $(DOSELIBS)/pef.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli
> $(DOSELIBS)/pef.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli
> $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml
> $(DOSELIBS)/versioning.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
> -+ rm -f $(DOSELIBS)/*.mlpack ; \
> - fi ; \
> - done
> -
> -@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.%
> $(DOSELIBS)/debian.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ; \
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx
> $(DOSELIBS)/*.ml ; \ -+ rm -f $(DOSELIBS)/*.mlpack
> $(DOSELIBS)/*.ml ; \
> - fi ; \
> - done
> -
> -@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.%
> $(DOSELIBS)/debian.%
> - if [ -e $$i ]; then \
> - cp $$i $(DOSELIBS) ;\
> - rm $$i ;\
> -- rm -f $(DOSELIBS)/*.mlpack
> $(DOSELIBS)/*.cmx ;\ -+ rm -f
> $(DOSELIBS)/*.mlpack ;\
> - fi ; \
> - done
> -
> -@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
> - INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma
> _build/doselibs/*.cmi)
> - INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa
> _build/doselibs/*.cmxs)
> - INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
> --#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
> -+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard
> _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
> - INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
> -
> - exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
> ---
> -2.11.0
> -
> diff --git
> a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
> b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch deleted
> file mode 100644 index d2cc44c784..0000000000 ---
> a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch +++
> /dev/null @@ -1,25 +0,0 @@
> -From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00
> 2001 -From: Louis Gesbert <louis.gesbert@ocamlpro.com>
> -Date: Tue, 6 Feb 2018 10:15:45 +0100
> -Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in
> META.in -
> ----
> - META.in | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/META.in b/META.in
> -index aa2cd8d..0f9d337 100644
> ---- a/META.in
> -+++ b/META.in
> -@@ -8,7 +8,7 @@ package "common" (
> - version = "@PACKAGE_VERSION@"
> - archive(byte) = "common.cma"
> - archive(native) = "common.cmxa"
> --requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
> -+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
> - )
> -
> - package "algo" (
> ---
> -2.11.0
> -
> diff --git
> a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
> b/gnu/packages/patches/ocam
This message was truncated. Download the full message here.
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 00/12] The one where OPAM finally works
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
cover.1694501410.git.pukkamustard@posteo.net
Hello Guix,

Thanks to Julien's help this version finally build OPAM!

I'm currently very slow and it will probably take quite a bit of time for me to
look into the other things that could be updated in Guix's OCaml land (see
to merge this patch series into master instead of having a too long-lived
ocaml-team branch? What do you think?

Cheers,
pukkamustard

pukkamustard (12):
gnu: ocaml: Update to 4.14.1.
gnu: Update coq-flocq to 4.1.1.
gnu: Update coq-gappa to 1.5.3.
gnu: Update coq-coquelicot to 3.4.0.
gnu: Update coq-mathcomp to 1.17.0.
gnu: Update coq-autosubst to 1.8.
gnu: Update coq-stdpp to 1.8.0.
gnu: Update coq-interval to 4.8.0.
gnu: coq: Update to 8.17.1.
gnu: dune-bootstrap: Update to 3.10.0.
gnu: opam: Split build into smaller sub-packages.
gnu: opam: Update to 2.1.5.

gnu/local.mk | 4 -
gnu/packages/coq.scm | 152 +++----
gnu/packages/ocaml.scm | 410 +++++++++++-------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------
.../ocaml-dose3-add-unix-dependency.patch | 25 --
.../ocaml-dose3-dont-make-printconf.patch | 9 -
7 files changed, 331 insertions(+), 454 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch


base-commit: 5db78e7c1b06d1b4892bdb3e153b95b21577271e
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 01/12] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
db35486131c1fa5282168a8f45b38327ab4330a8.1694501410.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
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 8ff755aea9..56661b1977 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 02/12] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
86fe39332cc526337d07afa4d963f584f39cac01.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..215e947fd4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -241,7 +241,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -251,7 +251,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 04/12] gnu: Update coq-coquelicot to 3.4.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
9aec7c4dc4287c1a05fbc2504bace122fa139bbb.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-coquelicot): Update to 3.4.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 86a9aef0f4..6371084a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -385,7 +385,7 @@ (define-public coq-mathcomp
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.2.0")
+ (version "3.4.0")
(source
(origin
(method git-fetch)
@@ -395,7 +395,7 @@ (define-public coq-coquelicot
(file-name (git-file-name name version))
(sha256
(base32
- "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
+ "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 05/12] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
5a5d300c25c0c5f084cdf9a5a04141031e536fbc.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 6371084a71..f9e3d89867 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -348,7 +348,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -357,7 +357,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 06/12] gnu: Update coq-autosubst to 1.8.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
df04ab51ed8b3de3ca9f1aef57d623558dc66532.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-autosubst): Update to 1.8.
---
gnu/packages/coq.scm | 50 ++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 27 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f9e3d89867..5ce4880f4b 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -515,35 +515,31 @@ (define-public coq-interval
(license license:cecill-c)))
(define-public coq-autosubst
- ;; Latest commit on that branch, where work on supporting coq 8.6 and
- ;; more recent versions of coq happen.
- (let ((branch "coq86-devel")
- (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
- (package
- (name "coq-autosubst")
- (version (git-version "1" branch commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://github.com/uds-psl/autosubst")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
+ (package
+ (name "coq-autosubst")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coq-community/autosubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list coq))
- (home-page "https://www.ps.uni-saarland.de/autosubst/")
- (synopsis "Coq library for parallel de Bruijn substitutions")
- (description "Formalizing syntactic theories with variable binders is
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ (list coq))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst
@@ -554,7 +550,7 @@ (define-public coq-autosubst
work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public coq-equations
(package
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 07/12] gnu: Update coq-stdpp to 1.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
b6d3bb689bc6c237d2040a842cad4dd97f136a28.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-stdpp): Update to 1.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 5ce4880f4b..4a929c6bed 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -642,7 +642,7 @@ (define-public coq-semantics
(define-public coq-stdpp
(package
(name "coq-stdpp")
- (version "1.7.0")
+ (version "1.8.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@@ -652,7 +652,7 @@ (define-public coq-stdpp
(file-name (git-file-name name version))
(sha256
(base32
- "0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
+ "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system)
(inputs
(list coq))
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 08/12] gnu: Update coq-interval to 4.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
f39a91d172975393b76b55572e9d1d0519855f75.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-interval): Update to 4.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 4a929c6bed..663265f5be 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -468,7 +468,7 @@ (define-public coq-bignums
(define-public coq-interval
(package
(name "coq-interval")
- (version "4.5.2")
+ (version "4.8.0")
(source
(origin
(method git-fetch)
@@ -478,7 +478,7 @@ (define-public coq-interval
(file-name (git-file-name name version))
(sha256
(base32
- "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
+ "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 09/12] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
11daee2634fa3df963864662c6c3aba35f63d90c.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
---
gnu/packages/coq.scm | 78 ++++++++++++++++++--------------------------
1 file changed, 31 insertions(+), 47 deletions(-)

Toggle diff (166 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 663265f5be..d68f00a63c 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -50,10 +51,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,7 +64,7 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths
(list (search-path-specification
@@ -78,13 +79,29 @@ (define-public coq-core
(files (list "lib/ocaml/site-lib/coq-core"))
(separator #f))))
(build-system dune-build-system)
+ (arguments
+ `(#:package "coq-core,coq-stdlib,coq"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" libdir))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir
+ "coq-core" "coq-stdlib" "coq")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -96,39 +113,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -147,7 +131,7 @@ (define-public coq-ide
`(#:tests? #f
#:package "coqide"))
(propagated-inputs
- (list coq coq-ide-server))
+ (list coq coq-ide-server zlib))
(inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
@@ -555,16 +539,16 @@ (define-public coq-autosubst
(define-public coq-equations
(package
(name "coq-equations")
- (version "1.3")
+ (version "1.3-8.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
- (commit (string-append "v" version "-8.16"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
+ "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml coq camlp5))
@@ -716,7 +700,7 @@ (define-public coq-mathcomp-finmap
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (inputs (list coq coq-stdlib coq-mathcomp which))
+ (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp")
(description
"This library is an extension of coq-mathcomp which supports finite sets
@@ -747,7 +731,7 @@ (define-public coq-mathcomp-bigenough
;; by the packaged project in the future.
#:tests? #f
#:make-flags ,#~(list (string-append "COQBIN="
- #$(this-package-input "coq-core")
+ #$(this-package-input "coq")
"/bin/")
(string-append "COQMF_COQLIB="
(assoc-ref %outputs "out")
@@ -757,7 +741,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:57
[PATCH ocaml-team v6 10/12] gnu: dune-bootstrap: Update to 3.10.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
31b19cdfc460cdbad5ff3d156e6f05580fd7e502.1694501410.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.10.0.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 56661b1977..6646632397 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1818,7 +1818,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1827,7 +1827,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "0zwih4fwwrc8lwi2i4mmps9ng7z6mf46pps2i503lmx0dh8dl606"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1844,9 +1844,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:56
[PATCH ocaml-team v6 03/12] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
dbcf9e11b5bee1b15361b469b51421864432d1a9.1694501410.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 215e947fd4..86a9aef0f4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -288,7 +288,7 @@ (define-public coq-flocq
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -298,7 +298,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:57
[PATCH ocaml-team v6 11/12] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
c26cffdce19812057d426a6f86d1ba1bc8e06a06.1694501410.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent, ocaml-ocb-stubblr) [native-inputs]: Replace opam with
opam-installer.
---
gnu/packages/ocaml.scm | 263 ++++++++++++++++++++++++++++-------------
1 file changed, 183 insertions(+), 80 deletions(-)

Toggle diff (465 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6646632397..81b30aa8ea 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,151 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-base64
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1085,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -2238,7 +2346,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2268,7 +2376,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2383,7 +2491,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2513,13 +2621,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2560,9 +2668,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2782,7 +2890,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2906,7 +3014,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3368,7 +3476,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3402,7 +3510,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3432,7 +3540,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3506,7 +3614,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3647,7 +3755,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3673,9 +3781,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3720,7 +3828,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3761,9 +3869,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4181,7 +4289,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5188,7 +5296,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5801,12 +5909,8 @@ (define-public ocaml-ocb-stubblr
;; Guix doesn't have cc, but it has gcc
(("\"cc\"") "\"gcc\""))
#t)))))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
- (native-inputs
- `(("astring" ,ocaml-astring)
- ("ocamlbuild" ,ocamlbuild)))
+ (inputs (list ocaml-topkg opam-installer))
+ (native-inputs (list ocaml-astring ocamlbuild))
(synopsis "OCamlbuild plugin for C stubs")
(description "Ocb-stubblr is about ten lines of code that you need to
repeat over, over, over and over again if you are using ocamlbuild to build
@@ -5834,7 +5938,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9554,7 +9658,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9582,7 +9686,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9616,7 +9720,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10077,8 +10181,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.41.0
P
P
pukkamustard wrote on 12 Sep 2023 08:57
[PATCH ocaml-team v6 12/12] gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
30fab02e9f44c827616e14c9b349b268a7e5239f.1694501410.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
[arguments]: Disable failing test.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 132 +++++++++--------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 74 insertions(+), 281 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (457 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 4f8637418a..d9b4229729 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1666,10 +1666,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 81b30aa8ea..396c5851e2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,29 +722,16 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1037,7 +1024,10 @@ (define-public opam
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
- (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
+ ;; Disable a failing test because of missing sandboxing
+ ;; functionality
+ (("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
@@ -1073,18 +1063,42 @@ (define-public opam
("which" ,which)
;; Data for tests
- ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
- "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
- ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
- "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
- ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
- "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
- ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
- "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
- ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
- "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
- ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ ("opam-repo-0070613707"
+ ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
+ ("opam-repo-009e00fa"
+ ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c"
+ ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0"
+ ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
+ ("opam-repo-ad4dd344"
+ ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d"
+ ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
+ ("opam-repo-c1d23f0e"
+ ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d"
+ ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb"
+ ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c"
+ ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916"
+ ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4443,8 +4457,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4453,6 +4466,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5325,27 +5346,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac
This message was truncated. Download the full message here.
J
J
Josselin Poiret wrote on 12 Sep 2023 13:31
[PATCH] fixup! gnu: coq: Update to 8.17.1.
4c1fa55b62e1e172f123f18a334575c7c0a4f7a9.1694517929.git.dev@jpoiret.xyz
From: Josselin Poiret <dev@jpoiret.xyz>

---
Hi pukkamustard,

Since we're dropping the coq-core and coq-stdlib separation, why not get rid of
all our custom stuff that came with it? Here's a fixup patch that does
precisely that!

Best,

gnu/local.mk | 1 -
gnu/packages/coq.scm | 49 ++++++++------------
gnu/packages/patches/coq-fix-envvars.patch | 53 ----------------------
3 files changed, 20 insertions(+), 83 deletions(-)
delete mode 100644 gnu/packages/patches/coq-fix-envvars.patch

Toggle diff (152 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index d9b4229729..8925e483b5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1036,7 +1036,6 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
- %D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/cppcheck-disable-char-signedness-test.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index d68f00a63c..6169b5f819 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -64,40 +64,31 @@ (define-public coq
(file-name (git-file-name name version))
(sha256
(base32
- "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))
- (patches (search-patches "coq-fix-envvars.patch"))))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
- (files (list "lib/ocaml/site-lib/coq/user-contrib"
- "lib/coq/user-contrib")))
- (search-path-specification
- (variable "COQLIBPATH")
- (files (list "lib/ocaml/site-lib/coq")))
- (search-path-specification
- (variable "COQCORELIB")
- (files (list "lib/ocaml/site-lib/coq-core"))
- (separator #f))))
+ (files (list "lib/coq/user-contrib")))))
(build-system dune-build-system)
(arguments
- `(#:package "coq-core,coq-stdlib,coq"
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libdir (string-append out "/lib/ocaml/site-lib")))
- (invoke "./configure" "-prefix" out
- "-libdir" libdir))))
- (add-before 'build 'make-dunestrap
- (lambda _ (invoke "make" "dunestrap")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libdir (string-append out "/lib/ocaml/site-lib")))
- (invoke "dune" "install" "--prefix" out
- "--libdir" libdir
- "coq-core" "coq-stdlib" "coq")))))))
+ (list
+ #:package "coq-core,coq-stdlib,coq"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (coqlib (string-append out "/lib/ocaml/site-lib/coq/")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" coqlib))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir "coq" "coq-core" "coq-stdlib")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
diff --git a/gnu/packages/patches/coq-fix-envvars.patch b/gnu/packages/patches/coq-fix-envvars.patch
deleted file mode 100644
index 6c48224c64..0000000000
--- a/gnu/packages/patches/coq-fix-envvars.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0e76cda958a4d3e4bcbb96e171c26b6b3478c6c2 Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Thu, 10 Feb 2022 16:44:10 +0100
-Subject: [PATCH] Fix environment variable usage.
-
----
- boot/env.ml | 26 +++++++++++++++++++-------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
-diff --git a/boot/env.ml b/boot/env.ml
-index e8521e7..d834a3a 100644
---- a/boot/env.ml
-+++ b/boot/env.ml
-@@ -32,17 +32,29 @@ let fail_msg =
-
- let fail s = Format.eprintf "%s@\n%!" fail_msg; exit 1
-
-+let path_to_list p =
-+ let sep = if String.equal Sys.os_type "Win32" then ';' else ':' in
-+ String.split_on_char sep p
-+
- (* This code needs to be refactored, for now it is just what used to be in envvars *)
- let guess_coqlib () =
- Util.getenv_else "COQLIB" (fun () ->
- let prelude = "theories/Init/Prelude.vo" in
-- Util.check_file_else
-- ~dir:Coq_config.coqlibsuffix
-- ~file:prelude
-- (fun () ->
-- if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-- then Coq_config.coqlib
-- else fail ()))
-+ let coqlibpath = Util.getenv_else "COQLIBPATH" (fun () -> Coq_config.coqlibsuffix) in
-+ let paths = path_to_list coqlibpath in
-+ let valid_paths =
-+ List.filter
-+ (fun dir -> (Util.check_file_else ~dir:dir ~file:prelude (fun () -> "")) <> "")
-+ paths in
-+ match valid_paths with
-+ | [] ->
-+ if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-+ then Coq_config.coqlib
-+ else
-+ fail "cannot guess a path for Coq libraries; please use -coqlib option \
-+ or ensure you have installed the package containing Coq's stdlib (coq-stdlib in OPAM) \
-+ If you intend to use Coq without a standard library, the -boot -noinit options must be used."
-+ | p::_ -> p)
-
- (* Build layout uses coqlib = coqcorelib *)
- let guess_coqcorelib lib =
---
-2.34.0
-

base-commit: 9996896dc252a02ba3b17473a685ce8957237546
prerequisite-patch-id: 86064275d4e6973b4c6e0e92928e9f0492f1c1e8
prerequisite-patch-id: 1e373b37413142bb32fa4a3eac0c429cc06aade6
prerequisite-patch-id: 62f9047b558dc9ad8be2415eda1ca5a7f45afbd5
prerequisite-patch-id: f419c33161039acab8d70e190fbcf155ce69c392
prerequisite-patch-id: d03ea10df36ace9b645d943ee867c8ae3837871e
prerequisite-patch-id: fa3b358bf025ea4632af1d04265129af844583c3
prerequisite-patch-id: 30facf29a23518f813ee17eb213c9dda2c9891e9
prerequisite-patch-id: 4dffccb9ce6bc4446f8683035567e06d2dc7c98d
prerequisite-patch-id: d33f5858aa29cc2a674b4bd53170fc3484e6bc2a
prerequisite-patch-id: cde7bed13eeac7d6e836f2d02528885985f0fffb
prerequisite-patch-id: c6b875244504ca1effdd8a81e96dab5f988607be
prerequisite-patch-id: d04a32a675e2c778d3fa96eea636f44ae50b4968
--
2.41.0
P
P
pukkamustard wrote on 20 Sep 2023 08:43
(name . Josselin Poiret)(address . dev@jpoiret.xyz)
86r0mt5obc.fsf@posteo.net
Hi Josselin,

Josselin Poiret <dev@jpoiret.xyz> writes:

Toggle quote (4 lines)
> Since we're dropping the coq-core and coq-stdlib separation, why not get rid of
> all our custom stuff that came with it? Here's a fixup patch that does
> precisely that!

Beautiful, thanks!

I'll refrain from sending in a V7 of the entire series, but this is the
adapted commit message:

Toggle snippet (19 lines)
gnu: coq: Update to 8.17.1.

* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
[source](patches): Remove.
[native-search-paths]: Remove COQLIBPATH and COQCORELIB.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
* gnu/packages/patches/coq-fix-envvars.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>

Cheers,
pukkamustard
S
S
Simon Tournier wrote on 22 Sep 2023 16:21
Re: bug#64249: [PATCH ocaml-team 1/2] gnu: ocaml: Update to 4.14.1.
(name . pukkamustard)(address . pukkamustard@posteo.net)
87msxe8f0t.fsf_-_@gmail.com
Hi,

On Tue, 12 Sep 2023 at 06:57, pukkamustard <pukkamustard@posteo.net> wrote:
Toggle quote (23 lines)
> * gnu/packages/ocaml.scm (opam): Update to 2.1.5.
> [native-inputs]: Add more test data.
> [arguments]: Disable failing test.
> (ocaml-graph): Update to 2.0.0.
> (ocaml-dose3): Update to 7.0.0.
> * gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
> * gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
> * gnu/local.mk (dist_path_DATA): Unregister removed patches.
> ---
> gnu/local.mk | 4 -
> gnu/packages/ocaml.scm | 132 +++++++++--------
> .../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
> .../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
> .../ocaml-dose3-add-unix-dependency.patch | 25 ----
> .../ocaml-dose3-dont-make-printconf.patch | 9 --
> 6 files changed, 74 insertions(+), 281 deletions(-)
> delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

I get:

Toggle snippet (10 lines)
Applying: gnu: opam: Update to 2.1.5.
error: corrupt patch at line 292
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 gnu: opam: Update to 2.1.5.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

And as suggested by

base-commit: 5db78e7c1b06d1b4892bdb3e153b95b21577271e

from the cover letter, I am on the top of it.

What do I miss?

Cheers,
simon
J
J
Julien Lepiller wrote on 22 Sep 2023 21:48
Re: [bug#64249] [PATCH ocaml-team v6 12/12] gnu: opam: Update to 2.1.5.
(name . pukkamustard)(address . pukkamustard@posteo.net)(address . 64249@debbugs.gnu.org)
20230922214828.5fb95e61@lepiller.eu
For some reason this last patch makes why3 fail to build, but the
latest version builds fine. It's only used by frama-c, which fails to
build with this newer why3. Now, updating frama-c would be nice, but it
requires a bit more work, as it switched to dune and has a few more
dependencies.

Otherwise, the whole series LGTM, including the coq fixup.
J
J
Julien Lepiller wrote on 26 Sep 2023 11:34
Re: [bug#64249] [PATCH ocaml-team v 6 12/12] gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)
46D665FB-7145-4D96-BA33-548318863E31@lepiller.eu
If you agree, I could push the first 11 patches to master. Then, we only have to deal with package updates, which I could take over from you.

I was looking at what would be needed for updating frama-c to a compatible version yesterday, and it's only ~5 new packages, so it's not that bad, but they also require an update to at least ppxlib, which could trigger more failures and require more fixes.

I'll work on that for a few days and see if I find a good solution to update everything that's needed.

Le 22 septembre 2023 21:48:28 GMT+02:00, Julien Lepiller <julien@lepiller.eu> a écrit :
Toggle quote (10 lines)
>For some reason this last patch makes why3 fail to build, but the
>latest version builds fine. It's only used by frama-c, which fails to
>build with this newer why3. Now, updating frama-c would be nice, but it
>requires a bit more work, as it switched to dune and has a few more
>dependencies.
>
>Otherwise, the whole series LGTM, including the coq fixup.
>
>
>
J
J
Julien Lepiller wrote on 28 Sep 2023 22:11
Re: [bug#64249] [PATCH ocaml-team v6 12/12] gnu: opam: Update to 2.1.5.
20230928221110.19ee39a7@lepiller.eu
Le Tue, 26 Sep 2023 11:34:43 +0200,
Julien Lepiller <julien@lepiller.eu> a écrit :

Toggle quote (28 lines)
> If you agree, I could push the first 11 patches to master. Then, we
> only have to deal with package updates, which I could take over from
> you.
>
> I was looking at what would be needed for updating frama-c to a
> compatible version yesterday, and it's only ~5 new packages, so it's
> not that bad, but they also require an update to at least ppxlib,
> which could trigger more failures and require more fixes.
>
> I'll work on that for a few days and see if I find a good solution to
> update everything that's needed.
>
> Le 22 septembre 2023 21:48:28 GMT+02:00, Julien Lepiller
> <julien@lepiller.eu> a écrit :
> >For some reason this last patch makes why3 fail to build, but the
> >latest version builds fine. It's only used by frama-c, which fails to
> >build with this newer why3. Now, updating frama-c would be nice, but
> >it requires a bit more work, as it switched to dune and has a few
> >more dependencies.
> >
> >Otherwise, the whole series LGTM, including the coq fixup.
> >
> >
> >
>
>
>

I managed to find all the required package updates and new packages to
get frama-c to build again. I just need to figure out a good order and
I'll send an updated patchset.
P
P
pukkamustard wrote on 12 Oct 2023 11:18
Re: [PATCH ocaml-team v6 00/12] The one where OPAM finally works
86o7h46vhh.fsf@posteo.net
Salut Julien,

I'm afraid your last messages somehow got dropped and I only saw them
now after checking the issue on issues.guix.gnu.org. Sorry for delayed
response.

Toggle quote (2 lines)
> If you agree, I could push the first 11 patches to master.

Sounds good to me!

Only thing is that dune was updated again (dune releases are too fast
for us!). Maybe we can bump it to 3.11.0 before pushing to master?

If you think we should run it trough CI once again I can send in a V7
that bumps dune to 3.11.0 and includes Josselin's coq fixup.

Toggle quote (4 lines)
> I managed to find all the required package updates and new packages to
> get frama-c to build again. I just need to figure out a good order and
> I'll send an updated patchset.

\o/ woohoo, nice!

Let me know if I can help in anyway.

-pukkamustard

pukkamustard <pukkamustard@posteo.net> writes:

Toggle quote (42 lines)
> Hello Guix,
>
> Thanks to Julien's help this version finally build OPAM!
>
> I'm currently very slow and it will probably take quite a bit of time for me to
> look into the other things that could be updated in Guix's OCaml land (see
> https://yhetil.org/guix/86bkhgc7jj.fsf@posteo.net/). Maybe it would make sense
> to merge this patch series into master instead of having a too long-lived
> ocaml-team branch? What do you think?
>
> Cheers,
> pukkamustard
>
> pukkamustard (12):
> gnu: ocaml: Update to 4.14.1.
> gnu: Update coq-flocq to 4.1.1.
> gnu: Update coq-gappa to 1.5.3.
> gnu: Update coq-coquelicot to 3.4.0.
> gnu: Update coq-mathcomp to 1.17.0.
> gnu: Update coq-autosubst to 1.8.
> gnu: Update coq-stdpp to 1.8.0.
> gnu: Update coq-interval to 4.8.0.
> gnu: coq: Update to 8.17.1.
> gnu: dune-bootstrap: Update to 3.10.0.
> gnu: opam: Split build into smaller sub-packages.
> gnu: opam: Update to 2.1.5.
>
> gnu/local.mk | 4 -
> gnu/packages/coq.scm | 152 +++----
> gnu/packages/ocaml.scm | 410 +++++++++++-------
> .../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
> .../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------
> .../ocaml-dose3-add-unix-dependency.patch | 25 --
> .../ocaml-dose3-dont-make-printconf.patch | 9 -
> 7 files changed, 331 insertions(+), 454 deletions(-)
> delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
> delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
>
>
> base-commit: 5db78e7c1b06d1b4892bdb3e153b95b21577271e
J
J
Julien Lepiller wrote on 12 Oct 2023 12:24
6DA64946-F0C1-4C78-9F68-491689CB2BD9@lepiller.eu
Le 12 octobre 2023 11:18:46 GMT+02:00, pukkamustard <pukkamustard@posteo.net> a écrit :
Toggle quote (17 lines)
>
>Salut Julien,
>
>I'm afraid your last messages somehow got dropped and I only saw them
>now after checking the issue on issues.guix.gnu.org. Sorry for delayed
>response.
>
>> If you agree, I could push the first 11 patches to master.
>
>Sounds good to me!
>
>Only thing is that dune was updated again (dune releases are too fast
>for us!). Maybe we can bump it to 3.11.0 before pushing to master?
>
>If you think we should run it trough CI once again I can send in a V7
>that bumps dune to 3.11.0 and includes Josselin's coq fixup.

That would be best

Toggle quote (9 lines)
>
>> I managed to find all the required package updates and new packages to
>> get frama-c to build again. I just need to figure out a good order and
>> I'll send an updated patchset.
>
>\o/ woohoo, nice!
>
>Let me know if I can help in anyway.

Well, I managed to fix frama-c and update it, but the changes then broke other packages. After a few more updates, bap is the only failing package left.

I added a few changes to the recipe that makes it go a bit further, but I still get errors. I'll try updating more packages to see if that's a conflict of versions, but I'm not-very confident about that.

The most important change I needed was updating ppxlib and the janestreet packages, but bap is not compatible with the new version, even on their master branch.

Toggle quote (48 lines)
>
>-pukkamustard
>
>pukkamustard <pukkamustard@posteo.net> writes:
>
>> Hello Guix,
>>
>> Thanks to Julien's help this version finally build OPAM!
>>
>> I'm currently very slow and it will probably take quite a bit of time for me to
>> look into the other things that could be updated in Guix's OCaml land (see
>> https://yhetil.org/guix/86bkhgc7jj.fsf@posteo.net/). Maybe it would make sense
>> to merge this patch series into master instead of having a too long-lived
>> ocaml-team branch? What do you think?
>>
>> Cheers,
>> pukkamustard
>>
>> pukkamustard (12):
>> gnu: ocaml: Update to 4.14.1.
>> gnu: Update coq-flocq to 4.1.1.
>> gnu: Update coq-gappa to 1.5.3.
>> gnu: Update coq-coquelicot to 3.4.0.
>> gnu: Update coq-mathcomp to 1.17.0.
>> gnu: Update coq-autosubst to 1.8.
>> gnu: Update coq-stdpp to 1.8.0.
>> gnu: Update coq-interval to 4.8.0.
>> gnu: coq: Update to 8.17.1.
>> gnu: dune-bootstrap: Update to 3.10.0.
>> gnu: opam: Split build into smaller sub-packages.
>> gnu: opam: Update to 2.1.5.
>>
>> gnu/local.mk | 4 -
>> gnu/packages/coq.scm | 152 +++----
>> gnu/packages/ocaml.scm | 410 +++++++++++-------
>> .../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
>> .../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------
>> .../ocaml-dose3-add-unix-dependency.patch | 25 --
>> .../ocaml-dose3-dont-make-printconf.patch | 9 -
>> 7 files changed, 331 insertions(+), 454 deletions(-)
>> delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
>> delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
>> delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
>> delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
>>
>>
>> base-commit: 5db78e7c1b06d1b4892bdb3e153b95b21577271e
>
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 00/12] gnu: ocaml: Update to 4.14.1 - The one for CI
(address . 64249@debbugs.gnu.org)
cover.1698162760.git.pukkamustard@posteo.net
Hello Guix,
Hello CI,

This is a V7 that bumps dune to 3.11.0, applies the coq fixup provided by
Josselin and rebases on master.

As discussed (https://issues.guix.gnu.org/64249#69)this is mostly for CI to do
its thing.

Julien, sorry for the delay. Your mail again didn't make it to my inbox...will
investigate.

-pukkamustard


pukkamustard (12):
gnu: ocaml: Update to 4.14.1.
gnu: Update coq-flocq to 4.1.1.
gnu: Update coq-gappa to 1.5.3.
gnu: Update coq-coquelicot to 3.4.0.
gnu: Update coq-mathcomp to 1.17.0.
gnu: Update coq-autosubst to 1.8.
gnu: Update coq-stdpp to 1.8.0.
gnu: Update coq-interval to 4.8.0.
gnu: coq: Update to 8.17.1.
gnu: dune-bootstrap: Update to 3.11.0.
gnu: opam: Split build into smaller sub-packages.
gnu: opam: Update to 2.1.5.

gnu/local.mk | 5 -
gnu/packages/coq.scm | 163 +++----
gnu/packages/ocaml.scm | 410 +++++++++++-------
gnu/packages/patches/coq-fix-envvars.patch | 53 ---
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 ---
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------
.../ocaml-dose3-add-unix-dependency.patch | 25 --
.../ocaml-dose3-dont-make-printconf.patch | 9 -
8 files changed, 332 insertions(+), 518 deletions(-)
delete mode 100644 gnu/packages/patches/coq-fix-envvars.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch


base-commit: d22d2a05c389207f8cdcf824be7738b1499a987c
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 01/12] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
3a888c7c72b86684cfd8d22e123304c05a3c71c8.1698162760.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
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 7993dbaa73..face1f9d9c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 03/12] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
4b2dce6f9042beff6ca2110628df59e6dbb020a1.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 215e947fd4..86a9aef0f4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -288,7 +288,7 @@ (define-public coq-flocq
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -298,7 +298,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 04/12] gnu: Update coq-coquelicot to 3.4.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
b7d2fcf468e669fbdc5a2d6bae9dd414d9610959.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-coquelicot): Update to 3.4.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 86a9aef0f4..6371084a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -385,7 +385,7 @@ (define-public coq-mathcomp
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.2.0")
+ (version "3.4.0")
(source
(origin
(method git-fetch)
@@ -395,7 +395,7 @@ (define-public coq-coquelicot
(file-name (git-file-name name version))
(sha256
(base32
- "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
+ "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 02/12] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
52e39ce21d255de604beb0ecd46d0bb8a188fd49.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..215e947fd4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -241,7 +241,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -251,7 +251,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 05/12] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
e5f47334cde8fab6d4248a0054c46be06d3ec48b.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 6371084a71..f9e3d89867 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -348,7 +348,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -357,7 +357,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 11/12] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
96b27aa4aef36a023721c086b087ae194f4fb68a.1698162760.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent, ocaml-ocb-stubblr) [native-inputs]: Replace opam with
opam-installer.
---
gnu/packages/ocaml.scm | 263 ++++++++++++++++++++++++++++-------------
1 file changed, 183 insertions(+), 80 deletions(-)

Toggle diff (465 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c448e64bc7..eccc870c08 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,151 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-base64
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1085,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -2204,7 +2312,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2234,7 +2342,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2349,7 +2457,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2479,13 +2587,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2526,9 +2634,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2748,7 +2856,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2872,7 +2980,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3334,7 +3442,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3368,7 +3476,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3398,7 +3506,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3472,7 +3580,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3613,7 +3721,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3639,9 +3747,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3686,7 +3794,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3727,9 +3835,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4147,7 +4255,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5154,7 +5262,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5771,12 +5879,8 @@ (define-public ocaml-ocb-stubblr
;; Guix doesn't have cc, but it has gcc
(("\"cc\"") "\"gcc\""))
#t)))))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
- (native-inputs
- `(("astring" ,ocaml-astring)
- ("ocamlbuild" ,ocamlbuild)))
+ (inputs (list ocaml-topkg opam-installer))
+ (native-inputs (list ocaml-astring ocamlbuild))
(synopsis "OCamlbuild plugin for C stubs")
(description "Ocb-stubblr is about ten lines of code that you need to
repeat over, over, over and over again if you are using ocamlbuild to build
@@ -5804,7 +5908,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9524,7 +9628,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9552,7 +9656,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9586,7 +9690,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10047,8 +10151,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 07/12] gnu: Update coq-stdpp to 1.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
d46c5cc3c96596d308b7d20ee78e4d616da1b94e.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-stdpp): Update to 1.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 5ce4880f4b..4a929c6bed 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -642,7 +642,7 @@ (define-public coq-semantics
(define-public coq-stdpp
(package
(name "coq-stdpp")
- (version "1.7.0")
+ (version "1.8.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@@ -652,7 +652,7 @@ (define-public coq-stdpp
(file-name (git-file-name name version))
(sha256
(base32
- "0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
+ "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system)
(inputs
(list coq))
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 08/12] gnu: Update coq-interval to 4.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
6da35566e7f9bb4089721168ebcedec8b26f52ed.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-interval): Update to 4.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 4a929c6bed..663265f5be 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -468,7 +468,7 @@ (define-public coq-bignums
(define-public coq-interval
(package
(name "coq-interval")
- (version "4.5.2")
+ (version "4.8.0")
(source
(origin
(method git-fetch)
@@ -478,7 +478,7 @@ (define-public coq-interval
(file-name (git-file-name name version))
(sha256
(base32
- "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
+ "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 06/12] gnu: Update coq-autosubst to 1.8.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
150e501c7bf6946276c6b81585355f8eb198a958.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-autosubst): Update to 1.8.
---
gnu/packages/coq.scm | 50 ++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 27 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f9e3d89867..5ce4880f4b 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -515,35 +515,31 @@ (define-public coq-interval
(license license:cecill-c)))
(define-public coq-autosubst
- ;; Latest commit on that branch, where work on supporting coq 8.6 and
- ;; more recent versions of coq happen.
- (let ((branch "coq86-devel")
- (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
- (package
- (name "coq-autosubst")
- (version (git-version "1" branch commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://github.com/uds-psl/autosubst")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
+ (package
+ (name "coq-autosubst")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coq-community/autosubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list coq))
- (home-page "https://www.ps.uni-saarland.de/autosubst/")
- (synopsis "Coq library for parallel de Bruijn substitutions")
- (description "Formalizing syntactic theories with variable binders is
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ (list coq))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst
@@ -554,7 +550,7 @@ (define-public coq-autosubst
work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public coq-equations
(package
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 09/12] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)
62d7c240a4b580050927739b5814eddfba06ecb9.1698162760.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
[source](patches): Remove.
[native-search-paths]: Remove COQLIBPATH and COQCORELIB.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
* gnu/packages/patches/coq-fix-envvars.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
---
gnu/local.mk | 1 -
gnu/packages/coq.scm | 89 ++++++++--------------
gnu/packages/patches/coq-fix-envvars.patch | 53 -------------
3 files changed, 32 insertions(+), 111 deletions(-)
delete mode 100644 gnu/packages/patches/coq-fix-envvars.patch

Toggle diff (245 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 43145caf80..ffb8082eec 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1040,7 +1040,6 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
- %D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/cppcheck-disable-char-signedness-test.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 663265f5be..6169b5f819 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -50,10 +51,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,28 +64,35 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
- (patches (search-patches "coq-fix-envvars.patch"))))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
- (files (list "lib/ocaml/site-lib/coq/user-contrib"
- "lib/coq/user-contrib")))
- (search-path-specification
- (variable "COQLIBPATH")
- (files (list "lib/ocaml/site-lib/coq")))
- (search-path-specification
- (variable "COQCORELIB")
- (files (list "lib/ocaml/site-lib/coq-core"))
- (separator #f))))
+ (files (list "lib/coq/user-contrib")))))
(build-system dune-build-system)
+ (arguments
+ (list
+ #:package "coq-core,coq-stdlib,coq"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (coqlib (string-append out "/lib/ocaml/site-lib/coq/")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" coqlib))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir "coq" "coq-core" "coq-stdlib")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -96,39 +104,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -147,7 +122,7 @@ (define-public coq-ide
`(#:tests? #f
#:package "coqide"))
(propagated-inputs
- (list coq coq-ide-server))
+ (list coq coq-ide-server zlib))
(inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
@@ -555,16 +530,16 @@ (define-public coq-autosubst
(define-public coq-equations
(package
(name "coq-equations")
- (version "1.3")
+ (version "1.3-8.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
- (commit (string-append "v" version "-8.16"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
+ "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml coq camlp5))
@@ -716,7 +691,7 @@ (define-public coq-mathcomp-finmap
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (inputs (list coq coq-stdlib coq-mathcomp which))
+ (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp")
(description
"This library is an extension of coq-mathcomp which supports finite sets
@@ -747,7 +722,7 @@ (define-public coq-mathcomp-bigenough
;; by the packaged project in the future.
#:tests? #f
#:make-flags ,#~(list (string-append "COQBIN="
- #$(this-package-input "coq-core")
+ #$(this-package-input "coq")
"/bin/")
(string-append "COQMF_COQLIB="
(assoc-ref %outputs "out")
@@ -757,7 +732,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
diff --git a/gnu/packages/patches/coq-fix-envvars.patch b/gnu/packages/patches/coq-fix-envvars.patch
deleted file mode 100644
index 6c48224c64..0000000000
--- a/gnu/packages/patches/coq-fix-envvars.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0e76cda958a4d3e4bcbb96e171c26b6b3478c6c2 Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Thu, 10 Feb 2022 16:44:10 +0100
-Subject: [PATCH] Fix environment variable usage.
-
----
- boot/env.ml | 26 +++++++++++++++++++-------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
-diff --git a/boot/env.ml b/boot/env.ml
-index e8521e7..d834a3a 100644
---- a/boot/env.ml
-+++ b/boot/env.ml
-@@ -32,17 +32,29 @@ let fail_msg =
-
- let fail s = Format.eprintf "%s@\n%!" fail_msg; exit 1
-
-+let path_to_list p =
-+ let sep = if String.equal Sys.os_type "Win32" then ';' else ':' in
-+ String.split_on_char sep p
-+
- (* This code needs to be refactored, for now it is just what used to be in envvars *)
- let guess_coqlib () =
- Util.getenv_else "COQLIB" (fun () ->
- let prelude = "theories/Init/Prelude.vo" in
-- Util.check_file_else
-- ~dir:Coq_config.coqlibsuffix
-- ~file:prelude
-- (fun () ->
-- if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-- then Coq_config.coqlib
-- else fail ()))
-+ let coqlibpath = Util.getenv_else "COQLIBPATH" (fun () -> Coq_config.coqlibsuffix) in
-+ let paths = path_to_list coqlibpath in
-+ let valid_paths =
-+ List.filter
-+ (fun dir -> (Util.check_file_else ~dir:dir ~file:prelude (fun () -> "")) <> "")
-+ paths in
-+ match valid_paths with
-+ | [] ->
-+ if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-+ then Coq_config.coqlib
-+ else
-+ fail "cannot guess a path for Coq libraries; please use -coqlib option \
-+ or ensure you have installed the package containing Coq's stdlib (coq-stdlib in OPAM) \
-+ If you intend to use Coq without a standard library, the -boot -noinit options must be used."
-+ | p::_ -> p)
-
- (* Build layout uses coqlib = coqcorelib *)
- let guess_coqcorelib lib =
---
-2.34.0
-
--
2.41.0
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 12/12] gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
c5308ad9a879f1728489d4b1c85857b64fbb8e3b.1698162760.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
[arguments]: Disable failing test.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 132 +++++++++--------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 74 insertions(+), 281 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (457 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ffb8082eec..508be95479 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1689,10 +1689,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index eccc870c08..0500ab5693 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,29 +722,16 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1037,7 +1024,10 @@ (define-public opam
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
- (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
+ ;; Disable a failing test because of missing sandboxing
+ ;; functionality
+ (("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
@@ -1073,18 +1063,42 @@ (define-public opam
("which" ,which)
;; Data for tests
- ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
- "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
- ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
- "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
- ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
- "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
- ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
- "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
- ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
- "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
- ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ ("opam-repo-0070613707"
+ ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
+ ("opam-repo-009e00fa"
+ ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c"
+ ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0"
+ ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
+ ("opam-repo-ad4dd344"
+ ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d"
+ ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
+ ("opam-repo-c1d23f0e"
+ ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d"
+ ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb"
+ ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c"
+ ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916"
+ ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4409,8 +4423,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4419,6 +4432,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5291,27 +5312,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac
This message was truncated. Download the full message here.
P
P
pukkamustard wrote on 24 Oct 2023 18:00
[PATCH v7 10/12] gnu: dune-bootstrap: Update to 3.11.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
29833648582d28fc3a7e5b96588d6ab561416599.1698162760.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.10.0.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index face1f9d9c..c448e64bc7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1784,7 +1784,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1793,7 +1793,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "12k8k2964s1z05mj71f9imwyvk0jyh5h6mpw4hpyr2d73iw53ink"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1810,9 +1810,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.41.0
D
D
DABY-SEESARAM Arnaud wrote on 29 Oct 2023 10:24
Re: [bug#64249] [PATCH ocaml-team v4 0/9]
(name . pukkamustard)(address . pukkamustard@posteo.net)
ZT4kz0SNGPyUlRup@Arnaud
Attachment: file
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEMgqfJ4U0fby1t860ojLKXoMTiAwFAmU+JM4ACgkQojLKXoMT
iAx5Tg/9Hudcy9Ey6XeaBaSqz/fIksVF/1tcVKpPIsi2WDffZT3WoR76GZx2KA3z
8J39/gHPl5Mm3aPtWfnksB6CSHIhvrPDMcmJPhal1cLofu2sz4IpGw+mh1Z4FZo9
HiA0IykwPLZvgeq4NIkifCfrrYba23hrDScyML/3EaAnJ0l94nSGYrAamC4/9to4
eIg8EQEcdWmhyBVR4CKWxHZ/J2d1hf9Kke73MA98cxaJg+Pca0WAY0K/DGCjNXnE
6aXhtOzt526Fd+Y+OBn0v5m+50GU7kkpCLAUVwFZtfaKl9L+Dr+dOWF5FU152TV8
ltUoWjErvIojs5tgclcQCMonSFAOAlpM9PZHR/O+P37s+F/MMSrr4m9uV5Cy1rQ8
jiOl9G926H/E7V9yzFuexXWhWYp+yLeuqktk8SBlJTHhogslEPpyzbDogXPLDnoY
lEyPrGwr7LTYIgq4i8cFBrJ3u9Xdib1I2LW+nIfdTT8XQ09HKzH5Q1ZOyRf1FTSs
JN+9yl018UVg/bm/OsboxaiVoArhfvqIay2IUihntEur3JqIM1mZf3rX55ErhLVY
jyFSwDJvBQ8qurCDja+ZyRIt+DpW5F1D4YPUNBPGxags3fkFBr8jHdGrml02m1iV
IbeTCji2jwaQ4LntSMMdw+iF1Jlsfts/Te+gfsF3j2liVUlgFps=
=sr7c
-----END PGP SIGNATURE-----


P
P
pukkamustard wrote on 3 Nov 2023 12:11
(name . DABY-SEESARAM Arnaud)(address . ds-ac@nanein.fr)
86msvvcb4f.fsf@posteo.net
Hi,

Thanks for the report!

DABY-SEESARAM Arnaud <ds-ac@nanein.fr> writes:

Toggle quote (4 lines)
> It seems that in the recent patch series (number 19770), the package
> ocaml-opam-file-format was not upgraded from version 2.1.4 to 2.1.5.
> Is there a reason for this choice?

No particular reason. I was unaware that opam 2.1.5 requires an updated
ocaml-opam-file-format. I think the v6 of the series built with
ocaml-opam-file-format at 2.1.4? Did updating dune mess up something?

In any case, I can confirm your findings that opam was not building in
the v7 (patchwork series 19770) and updating ocaml-opam-file-format to
2.1.6 fixes it.

Hold on for v8!

Cheers,
pukka
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 02/13] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
21ad36c9a819c21d5979b35261ef5b81e10ba72d.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..215e947fd4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -241,7 +241,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -251,7 +251,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 01/13] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
a6de8e6b0a2b2cca1316b75bf05f26b4378e8cad.1699012157.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7993dbaa73..face1f9d9c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification

base-commit: 28ebbe2be8829a4767b9789c6353ad5e826d1164
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 03/13] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
7563c243df77c1aa7603a2bfec9a762f51141a9d.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 215e947fd4..86a9aef0f4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -288,7 +288,7 @@ (define-public coq-flocq
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -298,7 +298,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 04/13] gnu: Update coq-coquelicot to 3.4.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
6997b83e29aa835e16030d13c82609df1f5e7df9.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-coquelicot): Update to 3.4.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 86a9aef0f4..6371084a71 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -385,7 +385,7 @@ (define-public coq-mathcomp
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.2.0")
+ (version "3.4.0")
(source
(origin
(method git-fetch)
@@ -395,7 +395,7 @@ (define-public coq-coquelicot
(file-name (git-file-name name version))
(sha256
(base32
- "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
+ "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 05/13] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
f26adcd97165d02e582f829f8c519506c5fc362f.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 6371084a71..f9e3d89867 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -348,7 +348,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -357,7 +357,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 07/13] gnu: Update coq-stdpp to 1.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
0dcfa507073fd429a3120964f893234b7d71002b.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-stdpp): Update to 1.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 5ce4880f4b..4a929c6bed 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -642,7 +642,7 @@ (define-public coq-semantics
(define-public coq-stdpp
(package
(name "coq-stdpp")
- (version "1.7.0")
+ (version "1.8.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@@ -652,7 +652,7 @@ (define-public coq-stdpp
(file-name (git-file-name name version))
(sha256
(base32
- "0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
+ "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system)
(inputs
(list coq))
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 06/13] gnu: Update coq-autosubst to 1.8.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
e889d5df0cac018b20b68cf82855d2d7bd515950.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-autosubst): Update to 1.8.
---
gnu/packages/coq.scm | 50 ++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 27 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f9e3d89867..5ce4880f4b 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -515,35 +515,31 @@ (define-public coq-interval
(license license:cecill-c)))
(define-public coq-autosubst
- ;; Latest commit on that branch, where work on supporting coq 8.6 and
- ;; more recent versions of coq happen.
- (let ((branch "coq86-devel")
- (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
- (package
- (name "coq-autosubst")
- (version (git-version "1" branch commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://github.com/uds-psl/autosubst")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
+ (package
+ (name "coq-autosubst")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coq-community/autosubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list coq))
- (home-page "https://www.ps.uni-saarland.de/autosubst/")
- (synopsis "Coq library for parallel de Bruijn substitutions")
- (description "Formalizing syntactic theories with variable binders is
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ (list coq))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst
@@ -554,7 +550,7 @@ (define-public coq-autosubst
work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public coq-equations
(package
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 08/13] gnu: Update coq-interval to 4.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
9e225106621432067baacb0c46dd89188e25b6d4.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq-interval): Update to 4.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 4a929c6bed..663265f5be 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -468,7 +468,7 @@ (define-public coq-bignums
(define-public coq-interval
(package
(name "coq-interval")
- (version "4.5.2")
+ (version "4.8.0")
(source
(origin
(method git-fetch)
@@ -478,7 +478,7 @@ (define-public coq-interval
(file-name (git-file-name name version))
(sha256
(base32
- "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
+ "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 10/13] gnu: dune-bootstrap: Update to 3.11.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
4c322edfe5a5fcd5e3d7da267a4ac05b160bdf03.1699012157.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.10.0.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index face1f9d9c..c448e64bc7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1784,7 +1784,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1793,7 +1793,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "12k8k2964s1z05mj71f9imwyvk0jyh5h6mpw4hpyr2d73iw53ink"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1810,9 +1810,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 12/13] gnu: ocaml-opam-file-format: Update to 2.1.6.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
5a2639c81a538d36cd7bf5f348e9ab200d038918.1699012157.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (ocaml-opam-file-format): Update to 2.1.6.
---
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 eccc870c08..8fd2f2a3cf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -821,7 +821,7 @@ (define-public ocaml-down
(define-public ocaml-opam-file-format
(package
(name "ocaml-opam-file-format")
- (version "2.1.4")
+ (version "2.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -830,7 +830,7 @@ (define-public ocaml-opam-file-format
(file-name (git-file-name name version))
(sha256
(base32
- "0dmnb1mqdy4913f9ma446hi5m99q7hfibj6j0m8x2wsfnfy2fw62"))))
+ "0s2wv92664prpsgc3fcrif72n1fyfp8pzw3ywlz47xkxh0qnkbr9"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; No tests
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 09/13] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)
ff3ea083cb54883812aac5545aae0fb663645574.1699012157.git.pukkamustard@posteo.net
* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
[source](patches): Remove.
[native-search-paths]: Remove COQLIBPATH and COQCORELIB.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
* gnu/packages/patches/coq-fix-envvars.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
---
gnu/local.mk | 1 -
gnu/packages/coq.scm | 89 ++++++++--------------
gnu/packages/patches/coq-fix-envvars.patch | 53 -------------
3 files changed, 32 insertions(+), 111 deletions(-)
delete mode 100644 gnu/packages/patches/coq-fix-envvars.patch

Toggle diff (245 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8d817379a7..22aeebc0b6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1041,7 +1041,6 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
- %D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/cppcheck-disable-char-signedness-test.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 663265f5be..6169b5f819 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -50,10 +51,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -63,28 +64,35 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
- (patches (search-patches "coq-fix-envvars.patch"))))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
- (files (list "lib/ocaml/site-lib/coq/user-contrib"
- "lib/coq/user-contrib")))
- (search-path-specification
- (variable "COQLIBPATH")
- (files (list "lib/ocaml/site-lib/coq")))
- (search-path-specification
- (variable "COQCORELIB")
- (files (list "lib/ocaml/site-lib/coq-core"))
- (separator #f))))
+ (files (list "lib/coq/user-contrib")))))
(build-system dune-build-system)
+ (arguments
+ (list
+ #:package "coq-core,coq-stdlib,coq"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (coqlib (string-append out "/lib/ocaml/site-lib/coq/")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" coqlib))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir "coq" "coq-core" "coq-stdlib")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -96,39 +104,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -147,7 +122,7 @@ (define-public coq-ide
`(#:tests? #f
#:package "coqide"))
(propagated-inputs
- (list coq coq-ide-server))
+ (list coq coq-ide-server zlib))
(inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
@@ -555,16 +530,16 @@ (define-public coq-autosubst
(define-public coq-equations
(package
(name "coq-equations")
- (version "1.3")
+ (version "1.3-8.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
- (commit (string-append "v" version "-8.16"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
+ "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml coq camlp5))
@@ -716,7 +691,7 @@ (define-public coq-mathcomp-finmap
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (inputs (list coq coq-stdlib coq-mathcomp which))
+ (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp")
(description
"This library is an extension of coq-mathcomp which supports finite sets
@@ -747,7 +722,7 @@ (define-public coq-mathcomp-bigenough
;; by the packaged project in the future.
#:tests? #f
#:make-flags ,#~(list (string-append "COQBIN="
- #$(this-package-input "coq-core")
+ #$(this-package-input "coq")
"/bin/")
(string-append "COQMF_COQLIB="
(assoc-ref %outputs "out")
@@ -757,7 +732,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
diff --git a/gnu/packages/patches/coq-fix-envvars.patch b/gnu/packages/patches/coq-fix-envvars.patch
deleted file mode 100644
index 6c48224c64..0000000000
--- a/gnu/packages/patches/coq-fix-envvars.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0e76cda958a4d3e4bcbb96e171c26b6b3478c6c2 Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Thu, 10 Feb 2022 16:44:10 +0100
-Subject: [PATCH] Fix environment variable usage.
-
----
- boot/env.ml | 26 +++++++++++++++++++-------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
-diff --git a/boot/env.ml b/boot/env.ml
-index e8521e7..d834a3a 100644
---- a/boot/env.ml
-+++ b/boot/env.ml
-@@ -32,17 +32,29 @@ let fail_msg =
-
- let fail s = Format.eprintf "%s@\n%!" fail_msg; exit 1
-
-+let path_to_list p =
-+ let sep = if String.equal Sys.os_type "Win32" then ';' else ':' in
-+ String.split_on_char sep p
-+
- (* This code needs to be refactored, for now it is just what used to be in envvars *)
- let guess_coqlib () =
- Util.getenv_else "COQLIB" (fun () ->
- let prelude = "theories/Init/Prelude.vo" in
-- Util.check_file_else
-- ~dir:Coq_config.coqlibsuffix
-- ~file:prelude
-- (fun () ->
-- if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-- then Coq_config.coqlib
-- else fail ()))
-+ let coqlibpath = Util.getenv_else "COQLIBPATH" (fun () -> Coq_config.coqlibsuffix) in
-+ let paths = path_to_list coqlibpath in
-+ let valid_paths =
-+ List.filter
-+ (fun dir -> (Util.check_file_else ~dir:dir ~file:prelude (fun () -> "")) <> "")
-+ paths in
-+ match valid_paths with
-+ | [] ->
-+ if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-+ then Coq_config.coqlib
-+ else
-+ fail "cannot guess a path for Coq libraries; please use -coqlib option \
-+ or ensure you have installed the package containing Coq's stdlib (coq-stdlib in OPAM) \
-+ If you intend to use Coq without a standard library, the -boot -noinit options must be used."
-+ | p::_ -> p)
-
- (* Build layout uses coqlib = coqcorelib *)
- let guess_coqcorelib lib =
---
-2.34.0
-
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 11/13] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
d85d9487c101b99106e01d28ac02c0de2bc85336.1699012157.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent, ocaml-ocb-stubblr) [native-inputs]: Replace opam with
opam-installer.
---
gnu/packages/ocaml.scm | 263 ++++++++++++++++++++++++++++-------------
1 file changed, 183 insertions(+), 80 deletions(-)

Toggle diff (465 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c448e64bc7..eccc870c08 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,151 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-base64
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1085,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -2204,7 +2312,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2234,7 +2342,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2349,7 +2457,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2479,13 +2587,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2526,9 +2634,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2748,7 +2856,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2872,7 +2980,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3334,7 +3442,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3368,7 +3476,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3398,7 +3506,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3472,7 +3580,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3613,7 +3721,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3639,9 +3747,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3686,7 +3794,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3727,9 +3835,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -4147,7 +4255,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -5154,7 +5262,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5771,12 +5879,8 @@ (define-public ocaml-ocb-stubblr
;; Guix doesn't have cc, but it has gcc
(("\"cc\"") "\"gcc\""))
#t)))))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
- (native-inputs
- `(("astring" ,ocaml-astring)
- ("ocamlbuild" ,ocamlbuild)))
+ (inputs (list ocaml-topkg opam-installer))
+ (native-inputs (list ocaml-astring ocamlbuild))
(synopsis "OCamlbuild plugin for C stubs")
(description "Ocb-stubblr is about ten lines of code that you need to
repeat over, over, over and over again if you are using ocamlbuild to build
@@ -5804,7 +5908,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -9524,7 +9628,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -9552,7 +9656,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -9586,7 +9690,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -10047,8 +10151,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.41.0
P
P
pukkamustard wrote on 3 Nov 2023 12:50
[PATCH v8 13/13] gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
bbefbc5c9f9d83028dd2f63570a8e8753532fd00.1699012157.git.pukkamustard@posteo.net
* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
[arguments]: Disable failing test.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 132 +++++++++--------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 74 insertions(+), 281 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (457 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 22aeebc0b6..5e5c948e68 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1691,10 +1691,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8fd2f2a3cf..12c8d5c27d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -713,7 +713,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -722,29 +722,16 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
@@ -849,7 +836,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -858,7 +845,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1037,7 +1024,10 @@ (define-public opam
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
- (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
+ ;; Disable a failing test because of missing sandboxing
+ ;; functionality
+ (("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
@@ -1073,18 +1063,42 @@ (define-public opam
("which" ,which)
;; Data for tests
- ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
- "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
- ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
- "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
- ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
- "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
- ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
- "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
- ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
- "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
- ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ ("opam-repo-0070613707"
+ ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
+ ("opam-repo-009e00fa"
+ ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c"
+ ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0"
+ ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
+ ("opam-repo-ad4dd344"
+ ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d"
+ ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
+ ("opam-repo-c1d23f0e"
+ ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d"
+ ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb"
+ ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c"
+ ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916"
+ ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4409,8 +4423,7 @@ (define-public ocaml-base64
(base32
"068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
@@ -4419,6 +4432,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocaml4.07-base64
(package-with-ocaml4.07
(package
@@ -5291,27 +5312,22 @@ (define-public ocaml4.07-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
+ (version "2.0.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- $as_echo "$as_me: WARNING: unrecognized options: $ac
This message was truncated. Download the full message here.
D
D
DABY-SEESARAM Arnaud wrote on 8 Nov 2023 20:14
(name . pukkamustard)(address . pukkamustard@posteo.net)
ZUvc377A6LFAlFCG@Arnaud
Attachment: file
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEMgqfJ4U0fby1t860ojLKXoMTiAwFAmVL3i0ACgkQojLKXoMT
iAwm2Q//STwE8RsxllEcIpV/BEl+Pp6rGqURCLyqwil7Bhcf0f8ks8tygC+3yhVX
TRgwHGMD9GfSUUU6e/QlFzaF8DxDEion0zLOYm3aBXtXy9Yo7kQf2RkG6pgJyMVZ
CEYq0V34c1L7aKRvjvxg63e6CMUmiGmo7hOoXTPZLEqYCRKjRucdWOsBgkMV5pA6
LB6UPkUliiFaUUJX1H/JYpAaiA3TpxykrmT0twGnIWUBPsOvd0r5dbchOzxL2dp3
6BZsJ/kLFfHeriKt3mH6BGEnvIDgEhd2k4MmKyN/dM1+QK3zseWrROqG+Fx9YbVt
hm4o7NDFFnKN84bLkmG+cR7KbPPzLLeO/UNyZ9yXOhUg8X5LNeDNWt8xZwn8Id/x
bHz/8KpCMXC5biT8nipAA2ht7QRH+z3BlBQrH5yjGinCe1HVaSov/IBimya0Nbcq
7hO0WctAWFw/GoW4tvGi5/zah02NsLGGHhIl1AjzJ4qsua9nM+NA2vkps8TydODb
ktzDkT39/OE7X/9BEzz4jv7RTgQf9m6YiMJ9HQV/jQK1mSq5Nhqrppn2jkchogMW
+nOqW0+TcFAyswGMQtgNzK9X+Qf3VjrPt7GNkZFSHPZ/7P0abDZUT32V7VDAVbB+
HefIAUzi/f5R3TwK+8Ell5B2y2eB4IdV2ufe4gQaqNdSiZv3aSE=
=/U7Y
-----END PGP SIGNATURE-----


A
A
Arnaud Daby-Seesaram wrote on 23 Dec 2023 18:53
OCaml-related updates
(address . 64249@debbugs.gnu.org)
ZYcdk1KEauscQ_ZO@Arnaud
Hi,

Just a gentle ping to get your opinions on ocaml4.07. Should Guix keep
support for it? (With current Guix, (at least some) ocaml4.07 packages
are already broken.)

If not, is it possible to move forward with pukkamustard's patch series
(optionally after updating why3 and frama-c to limit broken packages)?
This would also enable other ocaml-related contributions, such as 67495,
66119, 64209, ... which might need adjustments after the update of
dune.


Best regards,

--
ds-ac
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEMgqfJ4U0fby1t860ojLKXoMTiAwFAmWHHn4ACgkQojLKXoMT
iAxkLw//aAY+LWQURSuSqkk0LPcHDjKxZtQSPceFmZulLdPgIL5AAhM5mVsqY0ad
b19++MvoWrlT49O3FY3fMxjvv23P4kEnpooux19Ce7i9IYplsfwowK0gXZhnBOuD
kv7nlYjIAwyS35G4AiAIWzlMVhBYPWORw+aLaZmwfnMi01ihkW/hxISNi0zYhx/P
UgBq9MtM+9wIMQja7WR0zTBBv53KQHtCoDc37YOlHJDqV4ozv9Xl7+A0dPuXLWWU
lxR6gMyY7VTf2B0+5QAMAI5Z6Ubac2azv3/fHUnWbKK3/d2EyIQPGtqkTCK5gIPb
W6ryIWZw+aC6b2EQ9ZFp+7DljatUcfapHYPfAxB1KxsdWSs+klj3nyvqqlSpE8t5
6/Kq1JH+/w9vqL54wO/tcpovjqog4QTrS5ANst2OSr58eP/lkF00X7KhEUILGgJp
pCxZnpFxhDPxJVpq70kq4SiXnIRL0/pXNNrAOX2be22T2J3FY3Lol1f/3LHTszkV
QKRr0uY6LtjOCVy8ENIAo65ardo7Xe5OeuwlvaydxLPM553cxzBA+kY+ljYyWuRG
gklZlm8qTrQAfLccSWJN4UGkPd1hnsx1+iE8sxKlF4H28GNbqh8P8wgJUIE01rVW
D2Ae6B6f+a8ontLGC9E1Cjfl8I7LVGn4mxeaRBvLetRylxmmNv8=
=8mjm
-----END PGP SIGNATURE-----


J
J
Julien Lepiller wrote on 24 Dec 2023 14:07
(name . Arnaud Daby-Seesaram)(address . ds-ac@nanein.fr)
20231224140732.4467c1fa@tachikoma.lepiller.eu
Le Sat, 23 Dec 2023 18:53:03 +0100,
Arnaud Daby-Seesaram <ds-ac@nanein.fr> a écrit :

Toggle quote (6 lines)
> Hi,
>
> Just a gentle ping to get your opinions on ocaml4.07. Should Guix
> keep support for it? (With current Guix, (at least some) ocaml4.07
> packages are already broken.)

We plan to remove ocaml4.07* packages (except ocaml itself since it
represents the first step for a future bootstrap). Since most of them
are already failing, we shouldn't care too much about that. At laest,
we're not breaking them *more* ;)

Toggle quote (7 lines)
>
> If not, is it possible to move forward with pukkamustard's patch
> series (optionally after updating why3 and frama-c to limit broken
> packages)? This would also enable other ocaml-related contributions,
> such as 67495, 66119, 64209, ... which might need adjustments after
> the update of dune.

Please send your patches to prevent frama-c breakage. I have already
done some work to fix other packages, but it' on another computer. I'll
be able to send a (final?) version early January.

In the meantime, I will send a series to remove ocaml4.07 packages,
since they're no longer of any use, obsolete and mostly broken anyway.
It should be independent of this series.

Note that the right way to discover impacted packages is with `guix
refresh -l ocaml@4`.

Toggle quote (4 lines)
>
>
> Best regards,
>
D
[PATCH 0/9] Fix frama-c
(address . 64249@debbugs.gnu.org)
cover.1703436224.git.ds-ac@nanein.fr
From: Arnaud Daby-Seesaram <ds-ac@nanein.fr>


This patch series is built on top of 8b5b9fc21ea504eb5d226546884db2ebc6287b7d

It:
- updates Why3 (the non-trivial diff comes from `guix style` changes).

- adds new dependencies of frama-c.
These definitions come from the Guix importer for opam, with small edits.
I had to disable checks for two of them.
Note: tests are disabled for similar Guix packages and are not run by opam.

- updates frama-c to its latest stable version.
I switched the package to dune-build-system.

Arnaud DABY-SEESARAM (9):
gnu: why3: Update to 1.6.0.
gnu: Add ocaml-ppx-deriving-yojson.
gnu: Add ocaml-junit
gnu: Add ocaml-junit-alcotest
gnu: Add ocaml-yaml
gnu: Add ocaml-ppx-deriving-yaml.
gnu: Add ocaml-ppx-import.
gnu: Add ocaml-dune-site.
gnu: update frama-c to 27.1-Cobalt.

gnu/packages/maths.scm | 145 +++++++++++++++++++-------------------
gnu/packages/ocaml.scm | 154 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 229 insertions(+), 70 deletions(-)


base-commit: 8b5b9fc21ea504eb5d226546884db2ebc6287b7d
--
2.41.0
D
[PATCH 4/9] gnu: Add ocaml-junit-alcotest
(address . 64249@debbugs.gnu.org)
0fc595423dec08344ea74a378141c2a68af48487.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-junit-alcotest): New variable.

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

Toggle diff (31 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f664f6db81b..b14f69cae1d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1666,6 +1666,24 @@ (define-public ocaml-junit
(description "JUnit XML reports generation library")
(license #f)))
+(define-public ocaml-junit-alcotest
+ (package
+ (inherit ocaml-junit)
+ (name "ocaml-junit-alcotest")
+ (propagated-inputs (list ocaml-odoc ocaml-alcotest ocaml-junit))
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "junit_alcotest"
+ #:tests? #f ;Check fails
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'dune-subst
+ (lambda _
+ (invoke "dune" "subst") #t)))))
+ (properties `((upstream-name . "junit_alcotest")))
+ (synopsis "JUnit XML reports generation for alcotest tests")
+ (description "JUnit XML reports generation for alcotest tests")
+ (license #f)))
+
(define-public camlzip
(package
(name "camlzip")
--
2.41.0
D
[PATCH 2/9] gnu: Add ocaml-ppx-deriving-yojson.
(address . 64249@debbugs.gnu.org)
4e55d427dcd30dc164b996abc3c9b78e05469026.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yojson): New variable.

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

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 12c8d5c27de..38bf7b2a7d4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6823,6 +6823,28 @@ (define-public ocaml-ppx-derivers
as part of the same ocaml-migrate-parsetree driver.")
(license license:bsd-3)))
+(define-public ocaml-ppx-deriving-yojson
+ (package
+ (name "ocaml-ppx-deriving-yojson")
+ (version "3.6.1")
+ (home-page "https://github.com/ocaml-ppx/ppx_deriving_yojson")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "1ds3hfcrwyhkal3y5ychzy79r0kpfvn68n492jww70rbii48nz03"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-yojson ocaml-result ocaml-ppx-deriving
+ ocaml-ppxlib))
+ (native-inputs (list ocaml-ounit))
+ (properties `((upstream-name . "ppx_deriving_yojson")))
+ (synopsis "JSON codec generator for OCaml")
+ (description
+ "ppx_deriving_yojson is a ppx_deriving plugin that provides a JSON codec
+ generator.")
+ (license license:expat)))
+
(define-public ocaml-cinaps
;; The commit removes the unused dependency of ocaml-ppx-jane. We need to
;; use this as we would otherwise have a dependency loop between
--
2.41.0
D
[PATCH 7/9] gnu: Add ocaml-ppx-import.
(address . 64249@debbugs.gnu.org)
aa91eebcaa0b705893b2ffed2c53a1544edf93e5.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-import): New variable.

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

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7f80052c079..f21285171c3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6940,6 +6940,28 @@ (define-public ocaml-ppx-deriving-yaml
"Deriving conversion functions to and from yaml for your OCaml types.")
(license license:isc)))
+(define-public ocaml-ppx-import
+ (package
+ (name "ocaml-ppx-import")
+ (version "1.9.1")
+ (home-page "https://github.com/ocaml-ppx/ppx_import")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/" version ".tar.gz"))
+ (sha256
+ (base32 "1yj2gjhnasarcsk8s0i8njww4rs6ny3nr246psxdilsm5g8yraps"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppx-deriving ocaml-ppxlib
+ ocaml-ppx-sexp-conv))
+ (native-inputs (list ocaml-ounit ocaml-sexplib0))
+ (properties `((upstream-name . "ppx_import")))
+ (synopsis "Extension for importing declarations from interface files.")
+ (description
+ "ppx_import is a syntax extension for importing declarations from
+ interface files.")
+ (license license:expat)))
+
(define-public ocaml-cinaps
;; The commit removes the unused dependency of ocaml-ppx-jane. We need to
;; use this as we would otherwise have a dependency loop between
--
2.41.0
D
[PATCH 9/9] gnu: update frama-c to 27.1-Cobalt.
(address . 64249@debbugs.gnu.org)
93766019c37d07b5742943971944ebf0fc502736.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/maths.scm (frama-c): Update to 27.1-Cobalt.
[build-system] switch from ocaml-build-system to dune-build-system.
add new dependencies

Change-Id: Iaf48692db5af281636e2907be4d681b8d94353fa
---
gnu/packages/maths.scm | 64 ++++++++++++++++++++++--------------------
1 file changed, 34 insertions(+), 30 deletions(-)

Toggle diff (92 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7d17ee58ae6..99326c2f5c8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,6 +96,7 @@ (define-module (gnu packages maths)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system ocaml)
+ #:use-module (guix build-system dune)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
@@ -9259,36 +9260,38 @@ (define-public why3
(define-public frama-c
(package
(name "frama-c")
- (version "24.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://frama-c.com/download/frama-c-"
- version "-Chromium.tar.gz"))
- (sha256
- (base32
- "0x1xgip50jdz1phsb9rzwf2ra8lshn1hmd9g967xia402wrg3sjf"))))
- (build-system ocaml-build-system)
+ (version "27.1-Cobalt")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://frama-c.com/download/frama-c-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "1lirkvhf5m53d33l0aw5jzc1fyzkwx5fkgh9g71732d52r55f4sv"))))
+ (build-system dune-build-system)
(arguments
- `(#:tests? #f; no test target in Makefile
- #:configure-flags
- (list "--enable-verbosemake") ; to aid debugging
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'export-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs
- (list gmp zlib))
- (propagated-inputs
- (list ocaml-biniou
- ocaml-easy-format
- ocaml-graph
- ocaml-yojson
- ocaml-zarith
- ocaml-lablgtk3-sourceview3
- lablgtk3
- why3))
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'build 'set-environment-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" "gcc"))))))
+ (inputs (list python
+ perl
+ gcc
+ dune
+ gmp
+ zlib))
+ (propagated-inputs (list ocaml-biniou
+ ocaml-easy-format
+ ocaml-graph
+ ocaml-yojson
+ ocaml-dune-site
+ ocaml-ppx-deriving-yaml
+ ocaml-zarith
+ ocaml-ppx-deriving-yojson
+ ocaml-ppx-import
+ ocaml-lablgtk3-sourceview3
+ lablgtk3
+ why3))
(native-search-paths
(list (search-path-specification
(variable "FRAMAC_SHARE")
@@ -9300,7 +9303,8 @@ (define-public frama-c
(separator #f))))
(home-page "https://frama-c.com")
(synopsis "C source code analysis platform")
- (description "Frama-C is an extensible and collaborative platform dedicated
+ (description
+ "Frama-C is an extensible and collaborative platform dedicated
to source-code analysis of C software. The Frama-C analyzers assist you in
various source-code-related activities, from the navigation through unfamiliar
projects up to the certification of critical software.")
--
2.41.0
D
[PATCH 3/9] gnu: Add ocaml-junit
(address . 64249@debbugs.gnu.org)
42a243a1221f340d3a6151e28ae72c873c2a4e7d.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

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

Change-Id: I69fd4302b0a178765a79a72801eed694b3bd3ebd
---
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 38bf7b2a7d4..f664f6db81b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1642,6 +1642,30 @@ (define-public ocaml-ounit
other XUnit testing frameworks.")
(license license:expat)))
+(define-public ocaml-junit
+ (package
+ (name "ocaml-junit")
+ (version "2.0.2")
+ (home-page "https://github.com/Khady/ocaml-junit")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "00bbx5j8vsy9fqbc04xa3lsalaxicirmbczr65bllfk1afv43agx"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "junit"
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'dune-subst
+ (lambda _
+ (invoke "dune" "subst") #t)))))
+ (properties `((upstream-name . "junit")))
+ (propagated-inputs (list ocaml-ounit ocaml-ptime ocaml-tyxml ocaml-odoc))
+ (synopsis "JUnit XML reports generation library")
+ (description "JUnit XML reports generation library")
+ (license #f)))
+
(define-public camlzip
(package
(name "camlzip")
--
2.41.0
D
[PATCH 6/9] gnu: Add ocaml-ppx-deriving-yaml.
(address . 64249@debbugs.gnu.org)
41e9bcba6db5a3eb93045b927df561f10137cb76.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yaml): New variable.

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

Toggle diff (34 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 4c01af75d84..7f80052c079 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6919,6 +6919,27 @@ (define-public ocaml-ppx-deriving-yojson
generator.")
(license license:expat)))
+(define-public ocaml-ppx-deriving-yaml
+ (package
+ (name "ocaml-ppx-deriving-yaml")
+ (version "0.2.1")
+ (home-page "https://github.com/patricoferris/ppx_deriving_yaml")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "1h5jbd5l4i6l656avjwxl1cp6p4nl91wbpfqzkqr8r03q89qqm0c"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppxlib ocaml-ppx-deriving ocaml-yaml
+ ocaml-odoc))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-mdx ocaml-ezjsonm))
+ (properties `((upstream-name . "ppx_deriving_yaml")))
+ (synopsis "Yaml PPX Deriver")
+ (description
+ "Deriving conversion functions to and from yaml for your OCaml types.")
+ (license license:isc)))
+
(define-public ocaml-cinaps
;; The commit removes the unused dependency of ocaml-ppx-jane. We need to
;; use this as we would otherwise have a dependency loop between
--
2.41.0
D
[PATCH 5/9] gnu: Add ocaml-yaml
(address . 64249@debbugs.gnu.org)
0b7f4fd08392068e3f88c9c4dde91e81db53b96b.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

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

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

Toggle diff (45 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b14f69cae1d..4c01af75d84 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2829,6 +2829,38 @@ (define-public ocaml-ppx-tools
syntactic tools.")
(license license:expat)))
+(define-public ocaml-yaml
+ (package
+ (name "ocaml-yaml")
+ (version "3.2.0")
+ (home-page "https://github.com/avsm/ocaml-yaml")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "054ca6071bfkdbm5vlmnk6ic43561xl9igv87zgkbq4qry16a7s7"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppx-sexp-conv ocaml-ctypes ocaml-bos))
+ (native-inputs (list ocaml-fmt
+ ocaml-sexplib
+ ocaml-logs
+ ocaml-mdx
+ ocaml-alcotest
+ ocaml-crowbar
+ ocaml-junit-alcotest
+ ocaml-ezjsonm))
+ (synopsis "Parse and generate YAML 1.1/1.2 files")
+ (description
+ "This is an OCaml library to parse and generate the YAML file format. It is
+ intended to interoperable with the [Ezjsonm](https://github.com/mirage/ezjsonm)
+ JSON handling library, if the simple common subset of Yaml is used. Anchors and
+ other advanced Yaml features are not implemented in the JSON compatibility
+ layer. The [Yaml module
+ docs](http://anil-code.recoil.org/ocaml-yaml/yaml/Yaml/index.html) are
+ browseable online.")
+ (license license:isc)))
+
(define-public ocaml-parmap
(package
(name "ocaml-parmap")
--
2.41.0
D
[PATCH 8/9] gnu: Add ocaml-dune-site.
(address . 64249@debbugs.gnu.org)
6820ccff3650d19308b587859099f5f2152dbe7c.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-dune-site): New variable.

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

Toggle diff (28 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f21285171c3..e222b6f27f0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2020,6 +2020,21 @@ (define-public dune-configurator
@item generate config.h file
@end itemize")))
+(define-public ocaml-dune-site
+ (package
+ (inherit dune-bootstrap)
+ (name "ocaml-dune-site")
+ (build-system dune-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ ;; Tests fail.
+ (delete 'check))))
+ (propagated-inputs (list dune-common ocaml-odoc ocaml-lwt))
+ (home-page "https://github.com/ocaml/dune")
+ (synopsis "Embed locations information inside executable and libraries")
+ (description #f)
+ (license license:expat)))
+
(define-public ocaml4.09-dune-configurator
(package
(inherit dune-configurator)
--
2.41.0
D
[PATCH 1/9] gnu: why3: Update to 1.6.0.
(address . 64249@debbugs.gnu.org)
3bb1fdf1696f86080333f71d8b41aaa4b242a154.1703436224.git.ds-ac@nanein.fr
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/maths.scm (why3): Update to 1.6.0.

Change-Id: I4d6e0e2224f1ffe85b84493f1834114bc8687d1b
---
gnu/packages/maths.scm | 81 +++++++++++++++++++++---------------------
1 file changed, 41 insertions(+), 40 deletions(-)

Toggle diff (98 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ed1708c77b1..7d17ee58ae6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -9201,50 +9201,51 @@ (define-public numdiff
(define-public why3
(package
(name "why3")
- (version "1.4.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.inria.fr/why3/why3")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yca6mx8bjm8x0i594ivh31aw45s6fbimmwfj8g2v9zwrgmr1i4s"))))
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.inria.fr/why3/why3")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k3y98xzhrl44vwzq2m6k4nrllrwp3ll69lc2gfl8d77w0wg7gkp"))))
(build-system ocaml-build-system)
- (native-inputs
- (list autoconf automake coq ocaml which))
- (propagated-inputs
- (list camlzip ocaml-graph ocaml-menhir ocaml-num ocaml-zarith))
- (inputs
- (list coq-flocq emacs-minimal zlib))
+ (native-inputs (list autoconf automake coq ocaml which))
+ (propagated-inputs (list camlzip ocaml-graph ocaml-menhir ocaml-num
+ ocaml-zarith))
+ (inputs (list coq-flocq emacs-minimal zlib))
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'bootstrap
- (lambda _
- (invoke "./autogen.sh")
- (setenv "CONFIG_SHELL" (which "sh"))
- (substitute* "configure"
- (("#! /bin/sh") (string-append "#!" (which "sh")))
- ;; find ocaml-num in the correct directory
- (("\\$DIR/nums.cma") "$DIR/num.cma")
- (("\\$DIR/num.cmi") "$DIR/core/num.cmi"))
- #t))
- (add-after 'configure 'fix-makefile
- (lambda _
- (substitute* "Makefile"
- ;; find ocaml-num in the correct directory
- (("site-lib/num") "site-lib"))
- #t))
- (add-after 'install 'install-lib
- (lambda _
- (invoke "make" "byte")
- (invoke "make" "install-lib")
- #t)))))
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (invoke "./autogen.sh")
+ (setenv "CONFIG_SHELL"
+ (which "sh"))
+ (substitute* "configure"
+ (("#! /bin/sh")
+ (string-append "#!"
+ (which "sh")))
+ ;; find ocaml-num in the correct directory
+ (("\\$DIR/nums.cma")
+ "$DIR/num.cma")
+ (("\\$DIR/num.cmi")
+ "$DIR/core/num.cmi")) #t))
+ (add-after 'configure 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ ;; find ocaml-num in the correct directory
+ (("site-lib/num")
+ "site-lib")) #t))
+ (add-after 'install 'install-lib
+ (lambda _
+ (invoke "make" "byte")
+ (invoke "make" "install-lib") #t)))))
(home-page "https://why3.lri.fr")
(synopsis "Deductive program verification")
- (description "Why3 provides a language for specification and programming,
+ (description
+ "Why3 provides a language for specification and programming,
called WhyML, and relies on external theorem provers, both automated and
interactive, to discharge verification conditions. Why3 comes with a standard
library of logical theories (integer and real arithmetic, Boolean operations,
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:34 +0100
Re: [PATCH 0/9] Fix frama-c
(address . ds-ac@nanein.fr)
20240110083404.1ce4f833@lepiller.eu
Le Sun, 24 Dec 2023 17:43:35 +0100,
ds-ac@nanein.fr a écrit :

Toggle quote (38 lines)
> From: Arnaud Daby-Seesaram <ds-ac@nanein.fr>
>
>
> This patch series is built on top of
> 8b5b9fc21ea504eb5d226546884db2ebc6287b7d from
> https://git.guix-patches.cbaines.net/guix-patches/.
>
> It:
> - updates Why3 (the non-trivial diff comes from `guix style` changes).
>
> - adds new dependencies of frama-c.
> These definitions come from the Guix importer for opam, with small
> edits. I had to disable checks for two of them.
> Note: tests are disabled for similar Guix packages and are not run
> by opam.
>
> - updates frama-c to its latest stable version.
> I switched the package to dune-build-system.
>
> Arnaud DABY-SEESARAM (9):
> gnu: why3: Update to 1.6.0.
> gnu: Add ocaml-ppx-deriving-yojson.
> gnu: Add ocaml-junit
> gnu: Add ocaml-junit-alcotest
> gnu: Add ocaml-yaml
> gnu: Add ocaml-ppx-deriving-yaml.
> gnu: Add ocaml-ppx-import.
> gnu: Add ocaml-dune-site.
> gnu: update frama-c to 27.1-Cobalt.
>
> gnu/packages/maths.scm | 145 +++++++++++++++++++-------------------
> gnu/packages/ocaml.scm | 154
> +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 229
> insertions(+), 70 deletions(-)
>
>
> base-commit: 8b5b9fc21ea504eb5d226546884db2ebc6287b7d

I managed to perform the complete update without breaking a single
dependent of ocaml@4!

I used the first 12 patches from pukkamustard, added a few updates of
my own (including a more recent ocaml-ppxlib, but not the latest, to
ensure compatibility with both janestreet 0.15 and 0.16), added your
patches (I reworked the order a bit and merged the first and last one),
fixing descriptions, license, source and adding a copyright header for
you. I also extended the dune-site definition to run the tests by
adding a few more packages. Lastly, I included pukkamustard's last
patch, and everything seems to be working now.

In total, we get 34 patches, and I checked that each intermediate
commit still builds and doesn't break any package. I'm sending them
momentarily, so QA can have a chance to build them.
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 01/34] gnu: ocaml: Update to 4.14.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-1-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/ocaml.scm (ocaml): Update to 4.14.1.
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a8c497da95..ddedbf3dc2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -253,7 +253,7 @@ (define-public ocaml-5.0
(define-public ocaml-4.14
(package
(name "ocaml")
- (version "4.14.0")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -262,7 +262,7 @@ (define-public ocaml-4.14
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn"))))
+ "0vxvwxxycpc3r5p7ys59d86vw5vdr2lhmck1f3s6qms2096rf9y1"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification

base-commit: e541f9593f8bfc84b6140c2408b393243289fae6
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 02/34] gnu: Update coq-flocq to 4.1.1.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-2-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-flocq): Update to 4.1.1.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index f30f231f3b..26216ab323 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -242,7 +242,7 @@ (define-public proof-general
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method git-fetch)
@@ -252,7 +252,7 @@ (define-public coq-flocq
(file-name (git-file-name name version))
(sha256
(base32
- "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
+ "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 03/34] gnu: Update coq-gappa to 1.5.3.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-3-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-gappa): Update to 1.5.3.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 26216ab323..0903b6e9aa 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -315,7 +315,7 @@ (define-public coq-for-coqtail
(define-public coq-gappa
(package
(name "coq-gappa")
- (version "1.5.2")
+ (version "1.5.3")
(source
(origin
(method git-fetch)
@@ -325,7 +325,7 @@ (define-public coq-gappa
(file-name (git-file-name name version))
(sha256
(base32
- "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
+ "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 04/34] gnu: Update coq-coquelicot to 3.4.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-4-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-coquelicot): Update to 3.4.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 0903b6e9aa..b2b97a42f3 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -412,7 +412,7 @@ (define-public coq-mathcomp
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.2.0")
+ (version "3.4.0")
(source
(origin
(method git-fetch)
@@ -422,7 +422,7 @@ (define-public coq-coquelicot
(file-name (git-file-name name version))
(sha256
(base32
- "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
+ "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 05/34] gnu: Update coq-mathcomp to 1.17.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-5-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-mathcomp): Update to 1.17.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index b2b97a42f3..473ce014a6 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -375,7 +375,7 @@ (define-public coq-gappa
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
- (version "1.15.0")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -384,7 +384,7 @@ (define-public coq-mathcomp
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
+ (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml which coq))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 07/34] gnu: Update coq-stdpp to 1.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-7-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-stdpp): Update to 1.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index bfd55306a4..68a61c4b21 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -669,7 +669,7 @@ (define-public coq-semantics
(define-public coq-stdpp
(package
(name "coq-stdpp")
- (version "1.7.0")
+ (version "1.8.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@@ -679,7 +679,7 @@ (define-public coq-stdpp
(file-name (git-file-name name version))
(sha256
(base32
- "0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
+ "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system)
(inputs
(list coq))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 06/34] gnu: Update coq-autosubst to 1.8.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-6-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-autosubst): Update to 1.8.
---
gnu/packages/coq.scm | 50 ++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 27 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 473ce014a6..bfd55306a4 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -542,35 +542,31 @@ (define-public coq-interval
(license license:cecill-c)))
(define-public coq-autosubst
- ;; Latest commit on that branch, where work on supporting coq 8.6 and
- ;; more recent versions of coq happen.
- (let ((branch "coq86-devel")
- (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
- (package
- (name "coq-autosubst")
- (version (git-version "1" branch commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://github.com/uds-psl/autosubst")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
+ (package
+ (name "coq-autosubst")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coq-community/autosubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
- (native-inputs
- (list coq))
- (home-page "https://www.ps.uni-saarland.de/autosubst/")
- (synopsis "Coq library for parallel de Bruijn substitutions")
- (description "Formalizing syntactic theories with variable binders is
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ (list coq))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst
@@ -581,7 +577,7 @@ (define-public coq-autosubst
work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public coq-equations
(package
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 08/34] gnu: Update coq-interval to 4.8.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-8-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq-interval): Update to 4.8.0.
---
gnu/packages/coq.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 68a61c4b21..57f8489a18 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -495,7 +495,7 @@ (define-public coq-bignums
(define-public coq-interval
(package
(name "coq-interval")
- (version "4.5.2")
+ (version "4.8.0")
(source
(origin
(method git-fetch)
@@ -505,7 +505,7 @@ (define-public coq-interval
(file-name (git-file-name name version))
(sha256
(base32
- "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
+ "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake ocaml which coq))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 10/34] gnu: dune-bootstrap: Update to 3.11.0.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-10-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/ocaml.scm (dune-bootstrap): Update to 3.10.0.
[description]: Revise and de-emphasize historic origin.
---
gnu/packages/ocaml.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ddedbf3dc2..62ec570af2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1716,7 +1716,7 @@ (define-public ocaml-stringext
(define dune-bootstrap
(package
(name "dune")
- (version "3.6.1")
+ (version "3.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1725,7 +1725,7 @@ (define dune-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "0gv851wxbv5ln20429nj7p92spzxgw8vngg9z94q39aawn6q8lx6"))))
+ "12k8k2964s1z05mj71f9imwyvk0jyh5h6mpw4hpyr2d73iw53ink"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1742,9 +1742,10 @@ (define dune-bootstrap
#t)))))
(home-page "https://github.com/ocaml/dune")
(synopsis "OCaml build system")
- (description "Dune is a build system that was designed to simplify the
-release of Jane Street packages. It reads metadata from @file{dune} files
-following a very simple s-expression syntax.")
+ (description "Dune is a build system for OCaml. It provides a consistent
+experience and takes care of the low-level details of OCaml compilation.
+Descriptions of projects, libraries and executables are provided in
+@file{dune} files following a s-expression syntax.")
(license license:expat)))
(define ocaml4.09-dune-bootstrap
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 12/34] gnu: ocaml-alcotest: Update to 1.7.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-12-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-alcotest): Update to 1.7.0.

Change-Id: I87bb7eec4a8b36c499448685df3e11c2edaba31b
---
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 e890dec566..6bd42db9ae 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2467,7 +2467,7 @@ (define-public ocaml-astring
(define-public ocaml-alcotest
(package
(name "ocaml-alcotest")
- (version "1.6.0")
+ (version "1.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2476,7 +2476,7 @@ (define-public ocaml-alcotest
(file-name (git-file-name name version))
(sha256
(base32
- "195612n7p8y5ba6n19glql7qffl8n3aqkl9nrlln5lb9739gpv4w"))))
+ "0v01vciihd12r30pc4dai70s15p38gy990b4842sn16pvl0ab1az"))))
(build-system dune-build-system)
(arguments
`(#:package "alcotest"
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 09/34] gnu: coq: Update to 8.17.1.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-9-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/coq.scm (coq): Update to 8.17.1 and merge with coq-core and coq-stdlib.
[arguments] Merge with coq-core and coq-stdlib. Add pre-build phases and
add a custom install phase. Remove unnecessary test-target.
[source](patches): Remove.
[native-search-paths]: Remove COQLIBPATH and COQCORELIB.
(coq-core): Remove variable.
(coq-stdlib): Remove variable.
(coq-ide)[propagated-inputs]: Add zlib.
(coq-mathcomp-bigenough)[propagated-inputs]: Remove coq-core.
(coq-mathcomp-finmap)[inputs]: Remove coq-stdlib.
(coq-equations): Update to 1.3-8.17.
* gnu/packages/patches/coq-fix-envvars.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
---
gnu/local.mk | 1 -
gnu/packages/coq.scm | 89 ++++++++--------------
gnu/packages/patches/coq-fix-envvars.patch | 53 -------------
3 files changed, 32 insertions(+), 111 deletions(-)
delete mode 100644 gnu/packages/patches/coq-fix-envvars.patch

Toggle diff (245 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 62242d8c62..c5b9ef6338 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1051,7 +1051,6 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
- %D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/cppcheck-disable-char-signedness-test.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 57f8489a18..105b942ad3 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages coq)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -51,10 +52,10 @@ (define-module (gnu packages coq)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
-(define-public coq-core
+(define-public coq
(package
- (name "coq-core")
- (version "8.16.1")
+ (name "coq")
+ (version "8.17.1")
(source
(origin
(method git-fetch)
@@ -64,28 +65,35 @@ (define-public coq-core
(file-name (git-file-name name version))
(sha256
(base32
- "0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
- (patches (search-patches "coq-fix-envvars.patch"))))
+ "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
- (files (list "lib/ocaml/site-lib/coq/user-contrib"
- "lib/coq/user-contrib")))
- (search-path-specification
- (variable "COQLIBPATH")
- (files (list "lib/ocaml/site-lib/coq")))
- (search-path-specification
- (variable "COQCORELIB")
- (files (list "lib/ocaml/site-lib/coq-core"))
- (separator #f))))
+ (files (list "lib/coq/user-contrib")))))
(build-system dune-build-system)
+ (arguments
+ (list
+ #:package "coq-core,coq-stdlib,coq"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (coqlib (string-append out "/lib/ocaml/site-lib/coq/")))
+ (invoke "./configure" "-prefix" out
+ "-libdir" coqlib))))
+ (add-before 'build 'make-dunestrap
+ (lambda _ (invoke "make" "dunestrap")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out
+ "--libdir" libdir "coq" "coq-core" "coq-stdlib")))))))
(inputs
(list gmp ocaml-zarith))
(native-inputs
(list ocaml-ounit2 which))
- (arguments
- `(#:package "coq-core"
- #:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
@@ -97,39 +105,6 @@ (define-public coq-core
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
-(define-public coq-stdlib
- (package
- (inherit coq-core)
- (name "coq-stdlib")
- (arguments
- `(#:package "coq-stdlib"
- #:test-target "."
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-dune
- (lambda _
- (substitute* "user-contrib/Ltac2/dune"
- (("coq-core.plugins.ltac2")
- (string-join
- (map (lambda (plugin) (string-append "coq-core.plugins." plugin))
- '("ltac2" "number_string_notation" "tauto" "cc"
- "firstorder"))
- " "))))))))
- (inputs
- (list coq-core gmp ocaml-zarith))
- (native-inputs '())))
-
-(define-public coq
- (package
- (inherit coq-core)
- (name "coq")
- (arguments
- `(#:package "coq"
- #:test-target "."))
- (propagated-inputs
- (list coq-core coq-stdlib))
- (native-inputs '())))
-
(define-public coq-ide-server
(package
(inherit coq)
@@ -148,7 +123,7 @@ (define-public coq-ide
`(#:tests? #f
#:package "coqide"))
(propagated-inputs
- (list coq coq-ide-server))
+ (list coq coq-ide-server zlib))
(inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
@@ -582,16 +557,16 @@ (define-public coq-autosubst
(define-public coq-equations
(package
(name "coq-equations")
- (version "1.3")
+ (version "1.3-8.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
- (commit (string-append "v" version "-8.16"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
+ "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system)
(native-inputs
(list ocaml coq camlp5))
@@ -743,7 +718,7 @@ (define-public coq-mathcomp-finmap
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (inputs (list coq coq-stdlib coq-mathcomp which))
+ (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp")
(description
"This library is an extension of coq-mathcomp which supports finite sets
@@ -774,7 +749,7 @@ (define-public coq-mathcomp-bigenough
;; by the packaged project in the future.
#:tests? #f
#:make-flags ,#~(list (string-append "COQBIN="
- #$(this-package-input "coq-core")
+ #$(this-package-input "coq")
"/bin/")
(string-append "COQMF_COQLIB="
(assoc-ref %outputs "out")
@@ -784,7 +759,7 @@ (define-public coq-mathcomp-bigenough
"/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list coq coq-core coq-mathcomp which))
+ (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning")
(description
diff --git a/gnu/packages/patches/coq-fix-envvars.patch b/gnu/packages/patches/coq-fix-envvars.patch
deleted file mode 100644
index 6c48224c64..0000000000
--- a/gnu/packages/patches/coq-fix-envvars.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 0e76cda958a4d3e4bcbb96e171c26b6b3478c6c2 Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Thu, 10 Feb 2022 16:44:10 +0100
-Subject: [PATCH] Fix environment variable usage.
-
----
- boot/env.ml | 26 +++++++++++++++++++-------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
-diff --git a/boot/env.ml b/boot/env.ml
-index e8521e7..d834a3a 100644
---- a/boot/env.ml
-+++ b/boot/env.ml
-@@ -32,17 +32,29 @@ let fail_msg =
-
- let fail s = Format.eprintf "%s@\n%!" fail_msg; exit 1
-
-+let path_to_list p =
-+ let sep = if String.equal Sys.os_type "Win32" then ';' else ':' in
-+ String.split_on_char sep p
-+
- (* This code needs to be refactored, for now it is just what used to be in envvars *)
- let guess_coqlib () =
- Util.getenv_else "COQLIB" (fun () ->
- let prelude = "theories/Init/Prelude.vo" in
-- Util.check_file_else
-- ~dir:Coq_config.coqlibsuffix
-- ~file:prelude
-- (fun () ->
-- if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-- then Coq_config.coqlib
-- else fail ()))
-+ let coqlibpath = Util.getenv_else "COQLIBPATH" (fun () -> Coq_config.coqlibsuffix) in
-+ let paths = path_to_list coqlibpath in
-+ let valid_paths =
-+ List.filter
-+ (fun dir -> (Util.check_file_else ~dir:dir ~file:prelude (fun () -> "")) <> "")
-+ paths in
-+ match valid_paths with
-+ | [] ->
-+ if Sys.file_exists (Filename.concat Coq_config.coqlib prelude)
-+ then Coq_config.coqlib
-+ else
-+ fail "cannot guess a path for Coq libraries; please use -coqlib option \
-+ or ensure you have installed the package containing Coq's stdlib (coq-stdlib in OPAM) \
-+ If you intend to use Coq without a standard library, the -boot -noinit options must be used."
-+ | p::_ -> p)
-
- (* Build layout uses coqlib = coqcorelib *)
- let guess_coqcorelib lib =
---
-2.34.0
-
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 13/34] gnu: ocaml-sexplib: Update to 0.16.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-13-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-sexplib): Update to 0.16.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 6bd42db9ae..c3095df3a2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6009,7 +6009,7 @@ (define-public ocaml-parsexp
(define-public ocaml-sexplib
(package
(name "ocaml-sexplib")
- (version "0.15.1")
+ (version "0.16.0")
(home-page "https://github.com/janestreet/sexplib")
(source (origin
(method git-fetch)
@@ -6019,7 +6019,7 @@ (define-public ocaml-sexplib
(file-name (git-file-name name version))
(sha256
(base32
- "1gcvcc0jw6pb69wwfjnaqz1jk5simap2kdb7g43v7v7mksg8sh9f"))))
+ "0hl0zf2cgjivvlsrf85f5lg4xprcgbz7qg2z51k838y7k2121k78"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-base ocaml-num ocaml-parsexp ocaml-sexplib0))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 14/34] gnu: ocaml-ppxlib: Update to 0.28.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-14-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppxlib): Update to 0.28.
(ocaml-sedlex): Update to 2.6.
(ocaml-ppx-sexp-conv): Update to 0.15.1.
(ocaml-bisect-ppx): Update to 2.8.3.
---
gnu/packages/ocaml.scm | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c3095df3a2..56ef2abcfe 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3390,7 +3390,7 @@ (define-public ocaml-gen
(define-public ocaml-sedlex
(package
(name "ocaml-sedlex")
- (version "2.5")
+ (version "2.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3399,7 +3399,7 @@ (define-public ocaml-sedlex
(file-name (git-file-name name version))
(sha256
(base32
- "062a5dvrzvb81l3a9phljrhxfw9nlb61q341q0a6xn65hll3z2wy"))))
+ "1z8mmk1idh9hjhh2b9rp5b1h8kmzcxhagqkw0pvxn6ykx1brskq1"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -6238,7 +6238,7 @@ (define-public ocaml-cinaps
(define-public ocaml-ppxlib
(package
(name "ocaml-ppxlib")
- (version "0.25.1")
+ (version "0.28.0")
(home-page "https://github.com/ocaml-ppx/ppxlib")
(source
(origin
@@ -6249,7 +6249,7 @@ (define-public ocaml-ppxlib
(file-name (git-file-name name version))
(sha256
(base32
- "1402fzv5mg5grf3hb82fqsdkzxk07yfp9hvjh33dzjwjsqfhx3wi"))))
+ "0alwn1bnc228z6ivj7dpcszrylbg1z3img8vrcihaa9crbx3xxcb"))))
(build-system dune-build-system)
(arguments
`(#:phases
@@ -6393,7 +6393,7 @@ (define-public ocaml-ppx-fields-conv
(define-public ocaml-ppx-sexp-conv
(package
(name "ocaml-ppx-sexp-conv")
- (version "0.15.0")
+ (version "0.15.1")
(home-page "https://github.com/janestreet/ppx_sexp_conv")
(source
(origin
@@ -6404,7 +6404,7 @@ (define-public ocaml-ppx-sexp-conv
(file-name (git-file-name name version))
(sha256
(base32
- "1fyf7hgxprn7pj58rmmrfpv938a0avpzvvk6wzihpmfm6whgbdm8"))))
+ "163kn5gv1va84s1ysa1fm40fw3hm9xm3788qsvxmm4l3gij2g29m"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-base ocaml-ppxlib))
@@ -7768,7 +7768,7 @@ (define-public ocaml-tyxml
(define-public ocaml-bisect-ppx
(package
(name "ocaml-bisect-ppx")
- (version "2.8.1")
+ (version "2.8.3")
(source
(origin
(method git-fetch)
@@ -7778,7 +7778,7 @@ (define-public ocaml-bisect-ppx
(file-name (git-file-name name version))
(sha256
(base32
- "0562rwwnhqlf5alxl1wd1n0xs0k4aamxafrh8bbmh5yl3i5rxrx4"))))
+ "1albx01qvr4fax4wkdmy0dd21q0fd9ixsgsvnr1z32ngj9nyi9fy"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-ppxlib ocaml-cmdliner))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 15/34] gnu: Add ocaml-ppx-stable-witness.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-15-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-stable-witness): 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 56ef2abcfe..062bef401a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6467,6 +6467,30 @@ (define-public ocaml-ppx-custom-printf
string conversion.")
(license license:asl2.0)))
+(define-public ocaml-ppx-stable-witness
+ (package
+ (name "ocaml-ppx-stable-witness")
+ (version "0.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_stable_witness")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ppmazy1vw0j44z1p60ln6fddz414zmyrqkpi54w6cr93giqsl2v"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-base ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_stable_witness")))
+ (home-page "https://github.com/janestreet/ppx_stable_witness")
+ (synopsis "Mark a type as stable across versions")
+ (description "This ppx extension is used for deriving a witness that a
+type is intended to be stable. In this context, stable means that the
+serialization format will never change. This allows programs running at
+different versions of the code to safely communicate.")
+ (license license:expat)))
+
(define-public ocaml-bin-prot
(package
(name "ocaml-bin-prot")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 11/34] gnu: opam: Split build into smaller sub-packages.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-11-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/ocaml.scm (opam): Split build into smaller sub-packages.
(ocaml-down, ocaml-topkg, ocaml-rresult, ocaml-mtime, ocaml-fmt,
ocaml-astring, ocaml-react, ocaml-hmap, ocaml-logs, ocaml-fpath, ocaml-bos,
ocaml-xmlm, ocaml-uchar, ocaml-uutf, ocaml-uunf, ocaml-jsonm, ocaml-ptime,
ocaml-uuidm, ocaml-tsdl, ocaml-uucp, ocaml-uucd, ocaml-uuseg,
ocaml-afl-persistent, ocaml-ocb-stubblr) [native-inputs]: Replace opam with
opam-installer.
---
gnu/packages/ocaml.scm | 263 ++++++++++++++++++++++++++++-------------
1 file changed, 183 insertions(+), 80 deletions(-)

Toggle diff (465 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 62ec570af2..e890dec566 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -780,7 +780,7 @@ (define-public ocaml-down
,#~(list "build" "--lib-dir"
(string-append #$output "/lib/ocaml/site-lib"))))
(native-inputs
- (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/down")
(synopsis "OCaml toplevel (REPL) upgrade")
(description "Down is an unintrusive user experience upgrade for the
@@ -846,9 +846,9 @@ (define-public ocaml-opam-file-format
;; With static-linking exception
(license license:lgpl2.1+)))
-(define-public opam
+(define ocaml-opam-core
(package
- (name "opam")
+ (name "ocaml-opam-core")
(version "2.1.3")
(source (origin
(method git-fetch)
@@ -860,32 +860,151 @@ (define-public opam
(base32
"1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
(build-system dune-build-system)
+ (arguments `(#:package "opam-core"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bash (assoc-ref inputs "bash"))
+ (bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/core/opamSystem.ml"
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\""))
+ (("getconf")
+ (which "getconf")))))))))
+ (propagated-inputs
+ (list ocaml-graph
+ ocaml-re
+ ocaml-cppo))
+ (inputs (list bubblewrap))
+ (home-page "https://opam.ocamlpro.com/")
+ (synopsis "Package manager for OCaml")
+ (description
+ "OPAM is a tool to manage OCaml packages. It supports multiple
+simultaneous compiler installations, flexible package constraints, and a
+Git-friendly development workflow.")
+ ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
+ (license license:lgpl3)))
+
+(define ocaml-opam-format
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-format")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-core
+ ocaml-opam-file-format
+ ocaml-re))
+ (arguments `(#:package "opam-format"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define-public opam-installer
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam-installer")
+ (native-inputs (list ocaml-opam-format
+ ocaml-cmdliner))
+ (inputs '())
+ (propagated-inputs '())
+ (arguments `(#:package "opam-installer"
+ ;; requires all of opam
+ #:tests? #f))
+ (synopsis "Tool for installing OCaml packages")
+ (description "@var{opam-installer} is a tool for installing OCaml packages
+based on @code{.install} files defined by the OPAM package manager. It is
+useful for installing OCaml packages without requiring the entirety of
+OPAM.")
+ (properties
+ ;; opam-installer is used as a tool and not as a library, we can use the
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
+ `((ocaml5.0-variant . ,(delay opam-installer))))))
+
+(define ocaml-opam-repository
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-repository")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format))
+ (arguments `(#:package "opam-repository"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-state
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-state")
+ (arguments `(#:package "opam-state"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ ;; Use bwrap from the store directly.
+ (substitute* "src/state/shellscripts/bwrap.sh"
+ (("-v bwrap") (string-append "-v " bwrap))
+ (("exec bwrap") (string-append "exec " bwrap))
+ ;; Mount /gnu and /run/current-system in the
+ ;; isolated environment when building with opam.
+ ;; This is necessary for packages to find external
+ ;; dependencies, such as a C compiler, make, etc...
+ (("^add_sys_mounts /usr")
+ (string-append "add_sys_mounts "
+ (%store-directory)
+ " /run/current-system /usr")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs (list ocaml-opam-repository))))
+
+(define ocaml-opam-solver
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-solver")
+ (inputs '())
+ (propagated-inputs (list ocaml-opam-format
+ ocaml-mccs
+ ocaml-dose3))
+ (arguments `(#:package "opam-solver"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases %standard-phases))))
+
+(define ocaml-opam-client
+ (package
+ (inherit ocaml-opam-core)
+ (name "ocaml-opam-client")
+ (arguments `(#:package "opam-client"
+ ;; tests are run with the opam package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (let ((bwrap (search-input-file inputs "/bin/bwrap")))
+ (substitute* "src/client/opamInitDefaults.ml"
+ (("\"bwrap\"") (string-append "\"" bwrap "\"")))))))))
+ (inputs (list bubblewrap))
+ (propagated-inputs
+ (list ocaml-opam-state
+ ocaml-opam-solver
+ ocaml-opam-repository
+ ocaml-base64
+ ocaml-re
+ ocaml-cmdliner))))
+
+(define-public opam
+ (package
+ (inherit ocaml-opam-core)
+ (name "opam")
+ (build-system dune-build-system)
(arguments
- `(#:phases
+ `(#:package "opam"
+ #:phases
(modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda* (#:key inputs make-flags #:allow-other-keys)
- (let ((bash (assoc-ref inputs "bash"))
- (bwrap (search-input-file inputs "/bin/bwrap")))
- (substitute* "src/core/opamSystem.ml"
- (("\"/bin/sh\"")
- (string-append "\"" bash "/bin/sh\""))
- (("getconf")
- (which "getconf")))
- ;; Use bwrap from the store directly.
- (substitute* "src/state/shellscripts/bwrap.sh"
- (("-v bwrap") (string-append "-v " bwrap))
- (("exec bwrap") (string-append "exec " bwrap))
- ;; Mount /gnu and /run/current-system in the
- ;; isolated environment when building with opam.
- ;; This is necessary for packages to find external
- ;; dependencies, such as a C compiler, make, etc...
- (("^add_sys_mounts /usr")
- (string-append "add_sys_mounts "
- (%store-directory)
- " /run/current-system /usr")))
- (substitute* "src/client/opamInitDefaults.ml"
- (("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
@@ -966,22 +1085,11 @@ (define-public opam
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
- (inputs
- (list ocaml ncurses curl bubblewrap ocaml-cmdliner ocaml-dose3
- ocaml-mccs ocaml-opam-file-format ocaml-re))
+ (inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))
- (home-page "https://opam.ocamlpro.com/")
- (synopsis "Package manager for OCaml")
- (description
- "OPAM is a tool to manage OCaml packages. It supports multiple
-simultaneous compiler installations, flexible package constraints, and a
-Git-friendly development workflow.")
-
- ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
- (license license:lgpl3)))
+ `((ocaml5.0-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -2071,7 +2179,7 @@ (define-public ocaml-topkg
"11ycfk0prqvifm9jca2308gw8a6cjb1hqlgfslbji2cqpan09kpq"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("result" ,ocaml-result)))
(arguments
@@ -2101,7 +2209,7 @@ (define-public ocaml-rresult
"0h2mjyzhay1p4k7n0mzaa7hlc7875kiy6m1i3r1n03j6hddpzahi"))))
(build-system ocaml-build-system)
(native-inputs
- (list opam ocamlbuild))
+ (list opam-installer ocamlbuild))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2189,7 +2297,7 @@ (define-public ocaml-mtime
"1ss4w3qxsfp51d88r0j7dzqs05dbb1xdx11hn1jl9cvd03ma0g9z"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)))
(arguments
@@ -2304,13 +2412,13 @@ (define-public ocaml-fmt
"0q8j2in2473xh7k4hfgnppv9qy77f2ih89yp6yhpbp92ba021yzi"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
- `(("cmdliner" ,ocaml-cmdliner)
- ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
- ("ocaml-uchar" ,ocaml-uchar)))
+ (list ocaml-cmdliner
+ ocaml-stdlib-shims
+ ocaml-uchar))
(arguments `(#:tests? #f
#:build-flags (list "build" "--with-base-unix" "true"
"--with-cmdliner" "true")
@@ -2336,9 +2444,9 @@ (define-public ocaml-astring
"1ykhg9gd3iy7zsgyiy2p9b1wkpqg9irw5pvcqs3sphq71iir4ml6"))))
(build-system ocaml-build-system)
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2539,7 +2647,7 @@ (define-public ocaml-react
"16cg4byj8lfbbw96dhh8sks5y9n1c3fshz7f2p8m7wgisqax7bf4"))))
(build-system ocaml-build-system)
(native-inputs
- (list ocamlbuild opam ocaml-topkg))
+ (list ocamlbuild opam-installer ocaml-topkg))
(arguments
`(#:tests? #f
#:build-flags (list "build")
@@ -2663,7 +2771,7 @@ (define-public ocaml-hmap
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (native-inputs (list ocaml-topkg ocamlbuild opam))
+ (native-inputs (list ocaml-topkg ocamlbuild opam-installer))
(home-page "https://erratique.ch/software/hmap")
(synopsis "Heterogeneous value maps for OCaml")
(description
@@ -3107,7 +3215,7 @@ (define-public ocaml-logs
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("fmt" ,ocaml-fmt)
("lwt" ,ocaml-lwt)
@@ -3141,7 +3249,7 @@ (define-public ocaml-fpath
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)))
@@ -3171,7 +3279,7 @@ (define-public ocaml-bos
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("topkg" ,ocaml-topkg)
("astring" ,ocaml-astring)
@@ -3245,7 +3353,7 @@ (define-public ocaml-xmlm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-topkg opam))
+ (list ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/xmlm")
(synopsis "Streaming XML codec for OCaml")
(description "Xmlm is a streaming codec to decode and encode the XML data
@@ -3365,7 +3473,7 @@ (define-public ocaml-uchar
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(home-page "https://github.com/ocaml/uchar")
(synopsis "Compatibility library for OCaml's Uchar module")
(description "The uchar package provides a compatibility library for the
@@ -3391,9 +3499,9 @@ (define-public ocaml-uutf
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uchar" ,ocaml-uchar)
("cmdliner" ,ocaml-cmdliner)))
@@ -3438,7 +3546,7 @@ (define-public ocaml-uunf
#t)))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
+ ("opam-installer" ,opam-installer)
("topkg" ,ocaml-topkg)
;; Test data is otherwise downloaded with curl
("NormalizationTest.txt"
@@ -3479,9 +3587,9 @@ (define-public ocaml-jsonm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)
- ("opam" ,opam)
- ("topkg" ,ocaml-topkg)))
+ (list ocamlbuild
+ opam-installer
+ ocaml-topkg))
(propagated-inputs
`(("uutf" ,ocaml-uutf)
("cmdliner" ,ocaml-cmdliner)))
@@ -3899,7 +4007,7 @@ (define-public ocaml-ptime
#:phases (modify-phases %standard-phases
(delete 'configure))))
(propagated-inputs (list ocaml-result js-of-ocaml))
- (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam))
+ (native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
(description
@@ -4769,7 +4877,7 @@ (define-public ocaml-uuidm
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild opam))
+ (list ocamlbuild opam-installer))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
@@ -5305,12 +5413,8 @@ (define-public ocaml-ocb-stubblr
;; Guix doesn't have cc, but it has gcc
(("\"cc\"") "\"gcc\""))
#t)))))
- (inputs
- `(("topkg" ,ocaml-topkg)
- ("opam" ,opam)))
- (native-inputs
- `(("astring" ,ocaml-astring)
- ("ocamlbuild" ,ocamlbuild)))
+ (inputs (list ocaml-topkg opam-installer))
+ (native-inputs (list ocaml-astring ocamlbuild))
(synopsis "OCamlbuild plugin for C stubs")
(description "Ocb-stubblr is about ten lines of code that you need to
repeat over, over, over and over again if you are using ocamlbuild to build
@@ -5338,7 +5442,7 @@ (define-public ocaml-tsdl
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list ocamlbuild ocaml-astring opam pkg-config))
+ (list ocamlbuild ocaml-astring opam-installer pkg-config))
(inputs
`(("topkg" ,ocaml-topkg)
("sdl2" ,sdl2)
@@ -8105,7 +8209,7 @@ (define-public ocaml-uucd
(propagated-inputs
(list ocaml-xmlm))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uucd")
(synopsis "Unicode character database decoder for OCaml")
(description "Uucd is an OCaml module to decode the data of the Unicode
@@ -8133,7 +8237,7 @@ (define-public ocaml-uucp
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
- (list opam
+ (list opam-installer
ocaml-findlib
ocamlbuild
ocaml-topkg
@@ -8167,7 +8271,7 @@ (define-public ocaml-uuseg
(propagated-inputs
(list ocaml-uucp ocaml-uutf ocaml-cmdliner))
(native-inputs
- (list opam ocaml-findlib ocamlbuild ocaml-topkg))
+ (list opam-installer ocaml-findlib ocamlbuild ocaml-topkg))
(home-page "https://erratique.ch/software/uuseg")
(synopsis "Unicode text segmentation for OCaml")
(description "Uuseg is an OCaml library for segmenting Unicode text. It
@@ -8628,8 +8732,7 @@ (define-public ocaml-afl-persistent
(invoke "./build.sh")))
;; XXX: The tests are already run in the build.sh script.
(delete 'check))))
- (native-inputs
- `(("opam" ,opam)))
+ (native-inputs (list opam-installer))
(home-page "https://github.com/stedolan/ocaml-afl-persistent")
(synopsis "Use afl-fuzz in persistent mode")
(description
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 16/34] gnu: ocaml-bin-prot: Update to 0.16.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-16-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocam-bin-prot): Update to 0.16.0.
(bap)[arguments]: Fix code after ocaml-bin-prot changes.
---
gnu/packages/ocaml.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 062bef401a..dcb66d7f59 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5036,6 +5036,11 @@ (define-public bap
;; We don't have a monolithic llvm
(substitute* "oasis/llvm.setup.ml.in"
(("llvm_static = \"true\"") "true"))
+ ;; Package update removed Make_binable, which was an alias
+ ;; for Make_binable_without_uuid
+ (substitute* (find-files "." ".")
+ (("Utils.Make_binable1\\(") "Utils.Make_binable1_without_uuid(")
+ (("Utils.Make_binable\\(") "Utils.Make_binable_without_uuid("))
(invoke "./configure" "--prefix"
(assoc-ref outputs "out")
"--libdir"
@@ -6494,7 +6499,7 @@ (define-public ocaml-ppx-stable-witness
(define-public ocaml-bin-prot
(package
(name "ocaml-bin-prot")
- (version "0.15.0")
+ (version "0.16.0")
(source
(origin
(method git-fetch)
@@ -6503,7 +6508,7 @@ (define-public ocaml-bin-prot
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1qfqglscc25wwnjx7byqmjcnjww1msnr8940gyg8h93wdq43fjnh"))))
+ (base32 "1ybs0152ilgr8sa1hqnc2jj0gbvg855ixl3c5b2pjbnk7blhqnd8"))))
(build-system dune-build-system)
(propagated-inputs
(list ocaml-base
@@ -6512,6 +6517,7 @@ (define-public ocaml-bin-prot
ocaml-ppx-fields-conv
ocaml-ppx-optcomp
ocaml-ppx-sexp-conv
+ ocaml-ppx-stable-witness
ocaml-ppx-variants-conv))
(properties `((upstream-name . "bin_prot")))
(home-page "https://github.com/janestreet/bin_prot")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 17/34] gnu: ocaml-ppx-bin-prot: Update to 0.16.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-17-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-bin-prot): Update to 0.16.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 dcb66d7f59..64cf9eef0d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7141,7 +7141,7 @@ (define-public ocaml-ppx-base
(define-public ocaml-ppx-bin-prot
(package
(name "ocaml-ppx-bin-prot")
- (version "0.15.0")
+ (version "0.16.0")
(source
(origin
(method git-fetch)
@@ -7150,7 +7150,7 @@ (define-public ocaml-ppx-bin-prot
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1280wsls061fmvmdysjqn3lv4mnkyg400jnjf4jyfr14s33h1ad5"))))
+ (base32 "091l1gvgbibrqzy9a31vz03wzfs7z5zmk5ldl5yvg742x7idmmwj"))))
(build-system dune-build-system)
(arguments
;; Cyclic dependency with ocaml-ppx-jane
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 18/34] gnu: ocaml-jst-config: Update to 0.16.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-18-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-jst-config): Update to 0.16.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 64cf9eef0d..76ae9af6ac 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5489,7 +5489,7 @@ (define-public dedukti
(define-public ocaml-jst-config
(package
(name "ocaml-jst-config")
- (version "0.15.1")
+ (version "0.16.0")
(source
(origin
(method git-fetch)
@@ -5499,7 +5499,7 @@ (define-public ocaml-jst-config
(file-name (git-file-name name version))
(sha256
(base32
- "1yp5p63clvaxmkf7vlasgyapxc31x29c154pyq63n0fvi2fpf4y3"))))
+ "01419gk2w2r1xqz11rw1glngi8fi6gq9sh79c06vasrk6vxriy0s"))))
(build-system dune-build-system)
(arguments '(#:tests? #f)) ; no tests
(propagated-inputs
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 19/34] gnu: ocaml-ppx-bench: Update to 0.16.0.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-19-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-bench): Update to 0.16.0.

Change-Id: If65570f4baff82200bf30c0277f2dccad9e23732
---
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 76ae9af6ac..cba67159ac 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6649,7 +6649,7 @@ (define-public ocaml-ppx-enumerate
(define-public ocaml-ppx-bench
(package
(name "ocaml-ppx-bench")
- (version "0.15.0")
+ (version "0.16.0")
(source
(origin
(method git-fetch)
@@ -6658,7 +6658,7 @@ (define-public ocaml-ppx-bench
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bc0gbm922417wqisafxh35jslcp7xy1s0h0a1q32rhx0ivxx3g6"))))
+ (base32 "0pry0vgi1ilwdi5viqydyf9n7y289c17s8wfn16wyzzfr887769m"))))
(build-system dune-build-system)
(arguments
;; No tests
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 20/34] gnu: Add ocaml-ppx-deriving-yojson.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-20-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yojson): New variable.

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

Toggle diff (46 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cba67159ac..49d6ea9f4d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2023 Csepp <raingloom@riseup.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2023 Arnaud DABY-SEESARAM <ds-ac@nanein.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -6210,6 +6211,31 @@ (define-public ocaml-ppx-derivers
as part of the same ocaml-migrate-parsetree driver.")
(license license:bsd-3)))
+(define-public ocaml-ppx-deriving-yojson
+ (package
+ (name "ocaml-ppx-deriving-yojson")
+ (version "3.7.0")
+ (home-page "https://github.com/ocaml-ppx/ppx_deriving_yojson")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "1h7vz7lhvsgn6nl68g3dhhghlm884xpa1xawm6wm54pjc57gc6xx"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-yojson
+ ocaml-result
+ ocaml-ppx-deriving
+ ocaml-ppxlib))
+ (native-inputs (list ocaml-ounit))
+ (properties `((upstream-name . "ppx_deriving_yojson")))
+ (synopsis "JSON codec generator for OCaml")
+ (description
+ "ppx_deriving_yojson is a ppx_deriving plugin that provides a JSON codec
+generator.")
+ (license license:expat)))
+
(define-public ocaml-cinaps
;; The commit removes the unused dependency of ocaml-ppx-jane. We need to
;; use this as we would otherwise have a dependency loop between
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 21/34] gnu: Add ocaml-junit.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-21-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

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

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

Toggle diff (43 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 49d6ea9f4d..93da7dab2c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1618,6 +1618,36 @@ (define-public ocaml-ounit
other XUnit testing frameworks.")
(license license:expat)))
+(define-public ocaml-junit
+ (package
+ (name "ocaml-junit")
+ (version "2.0.2")
+ (home-page "https://github.com/Khady/ocaml-junit")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cam7zzarrh9p1l5m3ba3h5rkh9mhark8j37rjgw35a66qd0gds1"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "junit"
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'dune-subst
+ (lambda _
+ (invoke "dune" "subst") #t)))))
+ (properties `((upstream-name . "junit")))
+ (propagated-inputs (list ocaml-ounit ocaml-ptime ocaml-tyxml ocaml-odoc))
+ (synopsis "JUnit XML reports generation library")
+ (description "Ocaml-junit is a package for the creation of JUnit XML
+reports. It provides a typed API to produce valid reports. They are supposed
+to be accepted by Jenkins.")
+ ;; with OCaml linking exception
+ (license license:gpl3+)))
+
(define-public camlzip
(package
(name "camlzip")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 22/34] gnu: Add ocaml-junit-alcotest.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-22-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-junit-alcotest): New variable.

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

Toggle diff (29 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 93da7dab2c..8cfa1ab300 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1648,6 +1648,22 @@ (define-public ocaml-junit
;; with OCaml linking exception
(license license:gpl3+)))
+(define-public ocaml-junit-alcotest
+ (package
+ (inherit ocaml-junit)
+ (name "ocaml-junit-alcotest")
+ (propagated-inputs (list ocaml-odoc ocaml-alcotest ocaml-junit))
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "junit_alcotest"
+ #:tests? #f)); tests fail
+ (properties `((upstream-name . "junit_alcotest")))
+ (synopsis "JUnit XML reports generation for alcotest tests")
+ (description "This package generates JUnit XML reports from ocaml-alcotest
+test suites.")
+ ;; with OCaml linking exception
+ (license license:gpl3+)))
+
(define-public camlzip
(package
(name "camlzip")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 23/34] gnu: Add ocaml-yaml.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-23-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

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

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

Toggle diff (46 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8cfa1ab300..3e7f99407a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2611,6 +2611,39 @@ (define-public ocaml-ppx-tools
syntactic tools.")
(license license:expat)))
+(define-public ocaml-yaml
+ (package
+ (name "ocaml-yaml")
+ (version "3.2.0")
+ (home-page "https://github.com/avsm/ocaml-yaml")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "054ca6071bfkdbm5vlmnk6ic43561xl9igv87zgkbq4qry16a7s7"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppx-sexp-conv ocaml-ctypes ocaml-bos))
+ (native-inputs (list ocaml-fmt
+ ocaml-sexplib
+ ocaml-logs
+ ocaml-mdx
+ ocaml-alcotest
+ ocaml-crowbar
+ ocaml-junit-alcotest
+ ocaml-ezjsonm))
+ (synopsis "Parse and generate YAML 1.1/1.2 files")
+ (description
+ "This package is an OCaml library to parse and generate the YAML file
+format. It is intended to be interoperable with the @code{Ezjsonm}
+JSON handling library, if the simple common subset of Yaml is used. Anchors and
+other advanced Yaml features are not implemented in the JSON compatibility
+layer.")
+ (license license:isc)))
+
(define-public ocaml-parmap
(package
(name "ocaml-parmap")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 24/34] gnu: Add ocaml-ppx-deriving-yaml.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-24-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-deriving-yaml): New variable.

Change-Id: I2677ce5b630b77abdec7743cd25c4193ca7b351e
---
gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3e7f99407a..2a513bf149 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2621,10 +2621,10 @@ (define-public ocaml-yaml
(method git-fetch)
(uri (git-reference
(url home-page)
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "054ca6071bfkdbm5vlmnk6ic43561xl9igv87zgkbq4qry16a7s7"))))
+ (base32 "1m0i9qdazmziswfw1bz4m1x9mlzqyv336vbrss0c21am4im9n6k6"))))
(build-system dune-build-system)
(propagated-inputs (list ocaml-ppx-sexp-conv ocaml-ctypes ocaml-bos))
(native-inputs (list ocaml-fmt
@@ -2644,6 +2644,31 @@ (define-public ocaml-yaml
layer.")
(license license:isc)))
+(define-public ocaml-ppx-deriving-yaml
+ (package
+ (name "ocaml-ppx-deriving-yaml")
+ (version "0.2.1")
+ (home-page "https://github.com/patricoferris/ppx_deriving_yaml")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cxcqgvyl4ykyl86mf2d4ka6frnq51m1yqy0z5v6vdxkixllf9jd"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppxlib ocaml-ppx-deriving ocaml-yaml
+ ocaml-odoc))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-mdx ocaml-ezjsonm))
+ (properties `((upstream-name . "ppx_deriving_yaml")))
+ (synopsis "Yaml PPX Deriver")
+ (description
+ "This package contains @code{deriving} conversion functions to and from
+yaml for OCaml types.")
+ (license license:isc)))
+
(define-public ocaml-parmap
(package
(name "ocaml-parmap")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 25/34] gnu: Add ocaml-ppx-import.
(address . 64249@debbugs.gnu.org)(name . Arnaud DABY-SEESARAM)(address . ds-ac@nanein.fr)
20240110074336.24651-25-julien@lepiller.eu
From: Arnaud DABY-SEESARAM <ds-ac@nanein.fr>

* gnu/packages/ocaml.scm (ocaml-ppx-import): New variable.

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

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2a513bf149..c2927e4f70 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2669,6 +2669,31 @@ (define-public ocaml-ppx-deriving-yaml
yaml for OCaml types.")
(license license:isc)))
+(define-public ocaml-ppx-import
+ (package
+ (name "ocaml-ppx-import")
+ (version "1.10.0")
+ (home-page "https://github.com/ocaml-ppx/ppx_import")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06srfd6whfwkmjvl6m61kvc65fb7j9b25bhfr1mp338zm87smv5p"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppx-deriving ocaml-ppxlib
+ ocaml-ppx-sexp-conv))
+ (native-inputs (list ocaml-ounit ocaml-sexplib0))
+ (properties `((upstream-name . "ppx_import")))
+ (synopsis "Extension for importing declarations from interface files.")
+ (description
+ "Ppx-import is a syntax extension for importing declarations from
+interface files.")
+ (license license:expat)))
+
(define-public ocaml-parmap
(package
(name "ocaml-parmap")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 27/34] gnu: Add dune-ordering.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-27-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune-ordering): New variable.

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

Toggle diff (32 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 070fb4d433..39724a5f1f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2027,6 +2027,25 @@ (define-public ocaml-pp
about.")
(license license:expat)))
+(define-public dune-ordering
+ (package
+ (inherit dune)
+ (name "dune-ordering")
+ (source (origin
+ (inherit (package-source dune))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (delete-file-recursively "vendor/pp")
+ (delete-file-recursively "vendor/csexp")))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "ordering"
+ ;; Tests have a cyclic dependency on stdune
+ #:tests? #f))
+ (synopsis "Dune element ordering")
+ (description "This library represents element ordering in OCaml.")))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 28/34] gnu: Add dune-dyn.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-28-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune-dyn): New variable.

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

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 39724a5f1f..6bbc1d1e94 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2046,6 +2046,19 @@ (define-public dune-ordering
(synopsis "Dune element ordering")
(description "This library represents element ordering in OCaml.")))
+(define-public dune-dyn
+ (package
+ (inherit dune-ordering)
+ (name "dune-dyn")
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "dyn"
+ ;; Tests have a cyclic dependency on stdune
+ #:tests? #f))
+ (propagated-inputs (list ocaml-pp dune-ordering))
+ (synopsis "Dune dynamic types")
+ (description "This library represents dynamic types in OCaml.")))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 29/34] gnu: Add dune-stdune.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-29-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune-stdune): New variable.

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

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6bbc1d1e94..3db709cefa 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2059,6 +2059,19 @@ (define-public dune-dyn
(synopsis "Dune dynamic types")
(description "This library represents dynamic types in OCaml.")))
+(define-public dune-stdune
+ (package
+ (inherit dune-ordering)
+ (name "dune-stdune")
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "stdune"
+ ;; Tests have a cyclic dependency on itself
+ #:tests? #f))
+ (propagated-inputs (list dune-dyn ocaml-pp))
+ (synopsis "Unstable standard library from Dune")
+ (description "This library implements the standard functions used by Dune.")))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 26/34] gnu: Add ocaml-pp.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-26-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-pp): New variable.

Change-Id: Ib97bceddda4b7037667cdb1a1b7152c8dc06acd7
---
gnu/packages/ocaml.scm | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c2927e4f70..070fb4d433 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2018-2020, 2023 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016-2022 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016-2024 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
@@ -2001,6 +2001,32 @@ (define-public ocaml5.0-dune
(propagated-inputs
(list ocaml5.0-dune-configurator))))
+(define-public ocaml-pp
+ (package
+ (name "ocaml-pp")
+ (version "1.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-dune/pp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ylwb8lbjzj1prnal3c5p404dvh7bv4s19cvgrplnd7s46lvnj50"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-odoc))
+ (native-inputs (list ocaml-ppx-expect))
+ (home-page "https://github.com/ocaml-dune/pp")
+ (synopsis "Pretty-printing library")
+ (description
+ "This library provides an alternative to the @code{Format} module of the OCaml
+standard library. Pp uses the same concepts of boxes and break hints, and the
+final rendering is done to formatter from the @code{Format} module. However it
+defines its own algebra which some might find easier to work with and reason
+about.")
+ (license license:expat)))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 30/34] gnu: Add dune-private-libs.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-30-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune-private-libs): New variable.

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

Toggle diff (27 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3db709cefa..f434bdfbbe 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2072,6 +2072,20 @@ (define-public dune-stdune
(synopsis "Unstable standard library from Dune")
(description "This library implements the standard functions used by Dune.")))
+(define-public dune-private-libs
+ (package
+ (inherit dune-ordering)
+ (name "dune-private-libs")
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "dune-private-libs"
+ #:tests? #f))
+ (native-inputs (list dune-stdune ocaml-ppx-expect ocaml-ppx-inline-test))
+ (synopsis "Private libraries of Dune")
+ (description "This package contains code that is shared between various
+dune packages. However, it is not meant for public consumption and provides
+no stability guarantee.")))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 31/34] gnu: Add dune-site.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-31-julien@lepiller.eu
* gnu/packages/ocaml.scm (dune-site): New variable.

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

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f434bdfbbe..92c8fe6119 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2086,6 +2086,19 @@ (define-public dune-private-libs
dune packages. However, it is not meant for public consumption and provides
no stability guarantee.")))
+(define-public dune-site
+ (package
+ (inherit dune-ordering)
+ (name "dune-site")
+ (build-system dune-build-system)
+ (arguments
+ `(#:package "dune-site"
+ #:tests? #f))
+ (propagated-inputs (list dune-private-libs))
+ (synopsis "Location information embedder")
+ (description "This library helps embed location information inside
+executables and libraries")))
+
(define-public ocaml-csexp
(package
(name "ocaml-csexp")
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 33/34] gnu: ocaml-base64: Update to 3.5.1.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-33-julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-base64): Update to 3.5.1.

Change-Id: I4732c7b8711af79e09536adc478d84ca0e29408c
---
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 92c8fe6119..d66af11327 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4378,7 +4378,7 @@ (define-public ocaml-ocurl
(define-public ocaml-base64
(package
(name "ocaml-base64")
- (version "3.5.0")
+ (version "3.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4387,7 +4387,7 @@ (define-public ocaml-base64
(file-name (git-file-name name version))
(sha256
(base32
- "068hwdbpl7vx9jjpxdc6a10zqd8xa55j3xx7ga6fnwrlfsbs2pjj"))))
+ "1jq349jp663hq51a941afr2y4yyh34r19zsxla73ks9bywj4mm2q"))))
(build-system dune-build-system)
(native-inputs
(list ocaml-alcotest ocaml-bos ocaml-rresult))
--
2.41.0
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 34/34] gnu: opam: Update to 2.1.5.
(address . 64249@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20240110074336.24651-34-julien@lepiller.eu
From: pukkamustard <pukkamustard@posteo.net>

* gnu/packages/ocaml.scm (opam): Update to 2.1.5.
[native-inputs]: Add more test data.
[arguments]: Disable failing test.
(ocaml-graph): Update to 2.0.0.
(ocaml-dose3): Update to 7.0.0.
* gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch: Remove.
* gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch: Remove.
* gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch: Remove.
* gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch: Remove.
* gnu/local.mk (dist_path_DATA): Unregister removed patches.

Change-Id: Ie715998a6d7740332187e1fe0742631964ba5a8a
---
gnu/local.mk | 4 -
gnu/packages/ocaml.scm | 132 +++++++++--------
.../ocaml-dose3-Fix-for-ocaml-4.06.patch | 52 -------
.../ocaml-dose3-Install-mli-cmx-etc.patch | 133 ------------------
.../ocaml-dose3-add-unix-dependency.patch | 25 ----
.../ocaml-dose3-dont-make-printconf.patch | 9 --
6 files changed, 74 insertions(+), 281 deletions(-)
delete mode 100644 gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
delete mode 100644 gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch

Toggle diff (456 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index c5b9ef6338..d6542b6cad 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1718,10 +1718,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \
- %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
- %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
- %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
- %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d66af11327..ecd087674e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -714,7 +714,7 @@ (define-public ocaml-mccs
(define-public ocaml-dose3
(package
(name "ocaml-dose3")
- (version "5.0.1")
+ (version "7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -723,29 +723,16 @@ (define-public ocaml-dose3
(file-name (git-file-name name version))
(sha256
(base32
- "0dxkw37gj8z45kd0dnrlfgpj8yycq0dphs8kjm9kvq9xc8rikxp3"))
- (patches
- (search-patches
- "ocaml-dose3-add-unix-dependency.patch"
- "ocaml-dose3-Fix-for-ocaml-4.06.patch"
- "ocaml-dose3-dont-make-printconf.patch"
- "ocaml-dose3-Install-mli-cmx-etc.patch"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:tests? #f ;the test suite requires python 2
- #:configure-flags
- ,#~(list (string-append "SHELL="
- #+(file-append (canonical-package bash-minimal)
- "/bin/sh")))
- #:make-flags
- ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
- (propagated-inputs
- (list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
- (native-inputs
- (list perl
- ocaml-extlib
- ocamlbuild
- ocaml-cppo))
+ "0hcjh68svicap7j9bghgkp49xa12qhxa1pygmrgc9qwm0m4dhirb"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "dose3"))
+ (propagated-inputs (list ocaml-extlib
+ ocaml-base64-boot
+ ocaml-cudf
+ ocaml-graph
+ ocaml-re
+ ocaml-stdlib-shims))
+ (native-inputs (list ocaml-ounit))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for
@@ -850,7 +837,7 @@ (define-public ocaml-opam-file-format
(define ocaml-opam-core
(package
(name "ocaml-opam-core")
- (version "2.1.3")
+ (version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -859,7 +846,7 @@ (define ocaml-opam-core
(file-name (git-file-name name version))
(sha256
(base32
- "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7"))))
+ "0ckd87rcmcz11iyhhm5qnmy27jbdffx6n1fr06hvrqqrzi00jljh"))))
(build-system dune-build-system)
(arguments `(#:package "opam-core"
;; tests are run with the opam package
@@ -1038,7 +1025,10 @@ (define-public opam
(("diff opamroot-versions.test opamroot-versions.out") "run true")
;; Disable a failing test, probably because the repository we
;; replaced is not as expected
- (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true"))
+ (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")
+ ;; Disable a failing test because of missing sandboxing
+ ;; functionality
+ (("diff init.test init.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
@@ -1074,18 +1064,42 @@ (define-public opam
("which" ,which)
;; Data for tests
- ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
- "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
- ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
- "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
- ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
- "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
- ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
- "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
- ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
- "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
- ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
- "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
+ ("opam-repo-0070613707"
+ ,(opam-repo "00706137074d536d2019d2d222fbe1bea929deda"
+ "1gv1vvmfscj7wirfv6qncp8pf81wygnpzjwd0lyqcxm7g8r8lb4w"))
+ ("opam-repo-009e00fa"
+ ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
+ "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
+ ("opam-repo-7090735c"
+ ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15"
+ "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z"))
+ ("opam-repo-a5d7cdc0"
+ ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd"
+ "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369"))
+ ("opam-repo-ad4dd344"
+ ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
+ "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
+ ("opam-repo-c1842d168d"
+ ,(opam-repo "c1842d168de956caf06d7ac8588e65020d7594d8"
+ "142y1ac7sprygyh91shcp0zcyfxjjkshi9g44qgg4rx60rbsbhai"))
+ ("opam-repo-c1d23f0e"
+ ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
+ "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
+ ("opam-repo-f372039d"
+ ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
+ "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))
+ ("opam-repo-11ea1cb"
+ ,(opam-repo "11ea1cb6f2418b1f8a6679e4422771a04c9c3655"
+ "1s4p0wfn3bx97yvm8xvj3yhzv2pz0jwml68g2ybv37hj9mpbrsq0"))
+ ("opam-repo-297366c"
+ ,(opam-repo "297366cd01c3aaf29b967bf0b34ccc7989d4d5b3"
+ "1ysg69gys37nc2cxivs2ikh6xp0gj85if4rcrr874mqb9z12dm0j"))
+ ("opam-repo-3235916"
+ ,(opam-repo "3235916a162a59d7c82dac3fe24214975d48f1aa"
+ "1yf73rv2n740a4s9g7a9k4j91b4k7al88nwnw9cdw0k2ncbmr486"))
+ ("opam-repo-de897adf36c4230dfea812f40c98223b31c4521a"
+ ,(opam-repo "de897adf36c4230dfea812f40c98223b31c4521a"
+ "1m18x9gcwnbar8yv9sbfz8a3qpw412fp9cf4d6fb7syn0p0h96jw")))))
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
@@ -4389,8 +4403,7 @@ (define-public ocaml-base64
(base32
"1jq349jp663hq51a941afr2y4yyh34r19zsxla73ks9bywj4mm2q"))))
(build-system dune-build-system)
- (native-inputs
- (list ocaml-alcotest ocaml-bos ocaml-rresult))
+ (native-inputs (list ocaml-alcotest ocaml-bos ocaml-rresult))
(home-page "https://github.com/mirage/ocaml-base64")
(synopsis "Base64 encoding for OCaml")
(description "Base64 is a group of similar binary-to-text encoding schemes
@@ -4398,6 +4411,14 @@ (define-public ocaml-base64
radix-64 representation. It is specified in RFC 4648.")
(license license:isc)))
+;; A variant without tests that is used to prevent a cyclic dependency when
+;; compiling ocaml-dose3.
+(define ocaml-base64-boot
+ (package
+ (inherit ocaml-base64)
+ (arguments `(#:tests? #f))
+ (native-inputs '())))
+
(define-public ocamlify
(package
(name "ocamlify")
@@ -5119,27 +5140,22 @@ (define-public ocaml-uuidm
(define-public ocaml-graph
(package
(name "ocaml-graph")
- (version "1.8.8")
+ (version "2.0.0")
+ (home-page "https://github.com/backtracking/ocamlgraph/")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ocamlgraph.lri.fr/download/"
- "ocamlgraph-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:install-target "install-findlib"
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
- (inputs (list lablgtk))
+ "1gjrsyyamvvn2rd9n9yjx6hsglhw0dbm4cgazq0dpx0bbr4inwc3"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "ocamlgraph"))
+ (propagated-inputs (list ocaml-stdlib-shims))
+ (native-inputs (list ocaml-graphics))
(properties `((upstream-name . "ocamlgraph")))
- (home-page "https://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
deleted file mode 100644
index 2c344af821..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Sat, 2 Dec 2017 12:51:01 +0100
-Subject: [PATCH] Fix for ocaml 4.06
-
----
- common/criteria_lexer.mll | 8 ++++----
- common/util.ml | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll
-index 71f9178..fc4eae3 100644
---- a/common/criteria_lexer.mll
-+++ b/common/criteria_lexer.mll
-@@ -18,7 +18,7 @@
- let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
- (* find the terminating delimiter *)
- let endpos =
-- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
-+ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
- |Invalid_argument _ ->
- raise (Format822.Syntax_error (
- Format822.error lexbuf "String too short"))
-@@ -27,9 +27,9 @@
- Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
- in
- let len = endpos - (lexbuf.lex_start_pos + 3) in
-- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
-- s
-+ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
-+ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
-+ Bytes.to_string s
-
- }
-
-diff --git a/common/util.ml b/common/util.ml
-index 598f266..36ca3d1 100644
---- a/common/util.ml
-+++ b/common/util.ml
-@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct
- let clean label =
- try
- let s = Filename.chop_extension (Filename.basename label) in
-- String.capitalize s
-+ String.capitalize_ascii s
- with Invalid_argument _ -> label
-
- let create ?(enabled=false) label =
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
deleted file mode 100644
index 41494e7b3c..0000000000
--- a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Thu, 2 Mar 2017 12:19:56 +0100
-Subject: [PATCH] Install mli, cmx, etc.
-
----
- Makefile | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 09464ff..5044d7f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%:
- @for i in _build/cudf/cudf.*; do \
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \
-+ rm -f $(DOSELIBS)/*.mlpack ; \
- fi ; \
- done
-
-@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ; \
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \
-+ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \
- fi ; \
- done
-
-@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.%
- if [ -e $$i ]; then \
- cp $$i $(DOSELIBS) ;\
- rm $$i ;\
-- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\
-+ rm -f $(DOSELIBS)/*.mlpack ;\
- fi ; \
- done
-
-@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs)
- INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a)
--#INSTALL_STUFF_ += $(wildcard _build/*/*.mli)
-+INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx)
- INSTALL_STUFF_ += $(wildcard _build/rpm/*.so)
-
- exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*)
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch b/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
deleted file mode 100644
index d2cc44c784..0000000000
--- a/gnu/packages/patches/ocaml-dose3-add-unix-dependency.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001
-From: Louis Gesbert <louis.gesbert@ocamlpro.com>
-Date: Tue, 6 Feb 2018 10:15:45 +0100
-Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in
-
----
- META.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/META.in b/META.in
-index aa2cd8d..0f9d337 100644
---- a/META.in
-+++ b/META.in
-@@ -8,7 +8,7 @@ package "common" (
- version = "@PACKAGE_VERSION@"
- archive(byte) = "common.cma"
- archive(native) = "common.cmxa"
--requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
-+requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
- )
-
- package "algo" (
---
-2.11.0
-
diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
deleted file mode 100644
index 84b6a3b81b..0000000000
--- a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecogniz
This message was truncated. Download the full message here.
J
J
Julien Lepiller wrote on 10 Jan 08:43 +0100
[PATCH v9 32/34] gnu: frama-c: Update to 27.1.
(address . 64249@debbugs.gnu.org)
20240110074336.24651-32-julien@lepiller.eu
* gnu/packages/maths.scm (frama-c): Update to 27.1.
(why3): Update to 1.6.0.

Change-Id: I74191e4274d58a88a772413875fbf7de4d243fec
---
gnu/packages/maths.scm | 54 +++++++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 25 deletions(-)

Toggle diff (110 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index adc7beb655..400c240577 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
-;;; Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018, 2021, 2024 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019, 2021-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
@@ -93,6 +93,7 @@ (define-module (gnu packages maths)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
+ #:use-module (guix build-system dune)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -183,6 +184,7 @@ (define-module (gnu packages maths)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
+ #:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
@@ -9352,7 +9354,7 @@ (define-public numdiff
(define-public why3
(package
(name "why3")
- (version "1.4.1")
+ (version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9361,7 +9363,7 @@ (define-public why3
(file-name (git-file-name name version))
(sha256
(base32
- "1yca6mx8bjm8x0i594ivh31aw45s6fbimmwfj8g2v9zwrgmr1i4s"))))
+ "0k3y98xzhrl44vwzq2m6k4nrllrwp3ll69lc2gfl8d77w0wg7gkp"))))
(build-system ocaml-build-system)
(native-inputs
(list autoconf automake coq ocaml which))
@@ -9409,36 +9411,38 @@ (define-public why3
(define-public frama-c
(package
(name "frama-c")
- (version "24.0")
+ (version "27.1")
(source (origin
(method url-fetch)
(uri (string-append "http://frama-c.com/download/frama-c-"
- version "-Chromium.tar.gz"))
+ version "-Cobalt.tar.gz"))
(sha256
(base32
- "0x1xgip50jdz1phsb9rzwf2ra8lshn1hmd9g967xia402wrg3sjf"))))
- (build-system ocaml-build-system)
+ "1lirkvhf5m53d33l0aw5jzc1fyzkwx5fkgh9g71732d52r55f4sv"))))
+ (build-system dune-build-system)
(arguments
- `(#:tests? #f; no test target in Makefile
- #:configure-flags
- (list "--enable-verbosemake") ; to aid debugging
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'export-shell
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CONFIG_SHELL"
- (search-input-file inputs "/bin/sh")))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-env
+ (lambda _
+ (setenv "CC" "gcc"))))))
(inputs
(list gmp zlib))
- (propagated-inputs
- (list ocaml-biniou
- ocaml-easy-format
- ocaml-graph
- ocaml-yojson
- ocaml-zarith
- ocaml-lablgtk3-sourceview3
- lablgtk3
- why3))
+ (propagated-inputs (list
+ graphviz
+ lablgtk3
+ ocaml-graph
+ ocaml-odoc
+ ocaml-lablgtk3-sourceview3
+ ocaml-yaml
+ ocaml-yojson
+ ocaml-zarith
+ ocaml-ppx-deriving
+ ocaml-ppx-deriving-yojson
+ ocaml-ppx-deriving-yaml
+ ocaml-ppx-import
+ why3))
+ (native-inputs (list dune-site time ocaml-menhir ocaml-graph))
(native-search-paths
(list (search-path-specification
(variable "FRAMAC_SHARE")
--
2.41.0
D
Gentle ping
(address . 64249@debbugs.gnu.org)
878r49sdxq.fsf@nanein.fr
Hi,

As, ocaml4.07* packages have been removed, do you think that it is time
to apply this patch series on master, or are there checks to perform
first?


Have a nice day,

--
ds-ac
A
A
Arnaud Daby-Seesaram wrote on 8 Feb 21:05 +0100
Re: [bug#64249] [PATCH ocaml-team v4 0/9]
(name . Arnaud Daby-Seesaram)(address . ds-ac@nanein.fr)
8734u23eim.fsf@nanein.fr
Hi,

Here is a new remainder to ask you to push the patch series associated
with bug 64249 upstream. (I realised that I forgot to CC you on my last
email).

I do hope that I do not bother you with these mails. Please do tell me
if it is the case, in which case I will non longer send remainders :).


Best,

--
Arnaud
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCgAuFiEEMgqfJ4U0fby1t860ojLKXoMTiAwFAmXFNMEQHGRzLWFjQG5h
bmVpbi5mcgAKCRCiMspegxOIDCkxD/4trHBpElRRszQqP36VkHMxq6oV3YI1k3Ed
z5ShatQwEstmw283HCCvlW+NyjI2YHNdHFRMJGl2uvnAjd1x2xGWb6deWa+TLHEV
OYse7sJrB6KhcXRR0HrFYbgKS44xsGg3MzzCadz0L5hl4yRVg9fJYt7wyNEfqUxN
/F2PZDzrKZVtTXw+CZc5ca5BU+2d/iZra8q+wX3NYd2WAlsHuEb3dV0ZalkCXcBi
OGhBcjKmA/vQMM474+htSDRt6dC/Kra7IINeNCRKhPzagJyX++4D2qH/FTfkhq0j
lNIqyMMdAHuzjaE6T0EWbFdxoUmMPNSvc1Uoa3owzFheRLNoPZZwY3yFjlQ9ob+B
oDz+gHbiFlsDaEMEPFgkLrM/Mpb6jj7625YvKi0QP57LpiO1CO325vmwbXT++nYP
/Xfwz6AVHnSqPXB6xCi5WRb3nBumhvJb7Ja085ob9h5VHz0jiFxAiqAPXSPRwurP
SlplGg9qiSk6fU5+NanB5ediC9YVnpwgm+d9FwG80mg91VG4ajns0n4buCwPMl9g
Lx1ZqZr7TybVHFz5Kj7zPpSqAS2EEo+8k8Xu+54HD7+vO3wii/X1KCijDZUtEulF
VTghTB4D2CfNCn98evfkg4WynMuQRHR0f2chZQD3xqN4JcsyLnOdomCe6QQ2pEiL
9t8j3Gue3w==
=BcD/
-----END PGP SIGNATURE-----

J
J
Julien Lepiller wrote on 8 Feb 23:27 +0100
Re: [bug#64249] [PATCH v9 34/34] gnu: opam: Update to 2.1.5.
(address . 64249-done@debbugs.gnu.org)
20240208232702.5a1ee4bf@lepiller.eu
Finally pushed to master as fe0c13b1f9f8546525d7e7380fae9d409aebe269 to
01ee39cfee10583402e9fc252ca5c0e8232435db !

Thanks to everyone involved :)
Closed
?