[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