[PATCH] gnu: Add ocaml-core.

  • Done
  • quality assurance status badge
Details
5 participants
  • Julien Lepiller
  • Ludovic Courtès
  • Maxime Devos
  • pukkamustard
  • zimoun
Owner
unassigned
Submitted by
Julien Lepiller
Severity
normal
J
J
Julien Lepiller wrote on 8 Feb 2022 21:08
(address . guix-patches@gnu.org)
20220208210815.7ae6484d@tachikoma.lepiller.eu
Hi Guix!

This patch series adds ocaml-core. It's one of the missing dependencies
for bap. Adding this will get us closer to being able to update bap,
and getting rid of its ocaml4.07 dependencies.

The first two patches modify the importer, and I needed them to import
the packages. The following patches are dependencies of ocaml-core.
All of them follow the same principle: add the package and make the
ocaml4.07 variant inherit from it. The derivation for most of these
variants stay the same.
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 01/24] import: opam: Accept tabulations.
(address . 53882@debbugs.gnu.org)
1dcef02fe1f5f25657c6427d09c43bfc41091050.1644350657.git.julien@lepiller.eu
* guix/import/opam.scm (SP, SP2): Accept tabulation as whitespace.
---
guix/import/opam.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (17 lines)
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index f569c921b1..f51d17dea4 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -61,8 +61,8 @@ (define-module (guix import opam)
;; Define a PEG parser for the opam format
(define-peg-pattern comment none (and "#" (* COMMCHR) "\n"))
-(define-peg-pattern SP none (or " " "\n" comment))
-(define-peg-pattern SP2 body (or " " "\n"))
+(define-peg-pattern SP none (or " " "\n" "\t" comment))
+(define-peg-pattern SP2 body (or " " "\n" "\t"))
(define-peg-pattern QUOTE none "\"")
(define-peg-pattern QUOTE2 body "\"")
(define-peg-pattern COLON none ":")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 02/24] import: opam: Factor out source import.
(address . 53882@debbugs.gnu.org)
81d0041fc5805bbb9a23b4c9e1bc59f5be8d5351.1644350657.git.julien@lepiller.eu
This also ensures a package can be imported even when it does not
specify a URL.

* guix/import/opam.scm (opam->guix-source): New procedure.
(opam->guix-package): Use it.
---
guix/import/opam.scm | 81 +++++++++++++++++++++++---------------------
1 file changed, 43 insertions(+), 38 deletions(-)

Toggle diff (108 lines)
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index f51d17dea4..b4b5a6eaad 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -324,6 +324,20 @@ (define* (opam-fetch name #:optional (repositories-specs '("opam")))
(filter-map get-opam-repository repositories-specs))
(warning (G_ "opam: package '~a' not found~%") name)))
+(define (opam->guix-source url-dict)
+ (let ((source-url (and url-dict
+ (or (metadata-ref url-dict "src")
+ (metadata-ref url-dict "archive")))))
+ (if source-url
+ (call-with-temporary-output-file
+ (lambda (temp port)
+ (and (url-fetch source-url temp)
+ `(origin
+ (method url-fetch)
+ (uri ,source-url)
+ (sha256 (base32 ,(guix-hash-url temp)))))))
+ 'no-source-information)))
+
(define* (opam->guix-package name #:key (repo 'opam) version)
"Import OPAM package NAME from REPOSITORY (a directory name) or, if
REPOSITORY is #f, from the official OPAM repository. Return a 'package' sexp
@@ -332,9 +346,7 @@ (define* (opam->guix-package name #:key (repo 'opam) version)
(opam-file (opam-fetch name with-opam))
(version (assoc-ref opam-file "version"))
(opam-content (assoc-ref opam-file "metadata"))
- (url-dict (metadata-ref opam-content "url"))
- (source-url (or (metadata-ref url-dict "src")
- (metadata-ref url-dict "archive")))
+ (source (opam->guix-source (metadata-ref opam-content "url")))
(requirements (metadata-ref opam-content "depends"))
(names (dependency-list->names requirements))
(dependencies (filter-dependencies names))
@@ -348,41 +360,34 @@ (define* (opam->guix-package name #:key (repo 'opam) version)
(not (member name '("dune" "jbuilder"))))
native-dependencies))))
(let ((use-dune? (member "dune" names)))
- (call-with-temporary-output-file
- (lambda (temp port)
- (and (url-fetch source-url temp)
- (values
- `(package
- (name ,(ocaml-name->guix-name name))
- (version ,version)
- (source
- (origin
- (method url-fetch)
- (uri ,source-url)
- (sha256 (base32 ,(guix-hash-url temp)))))
- (build-system ,(if use-dune?
- 'dune-build-system
- 'ocaml-build-system))
- ,@(if (null? inputs)
- '()
- `((propagated-inputs (list ,@inputs))))
- ,@(if (null? native-inputs)
- '()
- `((native-inputs (list ,@native-inputs))))
- ,@(if (equal? name (guix-name->opam-name (ocaml-name->guix-name name)))
- '()
- `((properties
- ,(list 'quasiquote `((upstream-name . ,name))))))
- (home-page ,(metadata-ref opam-content "homepage"))
- (synopsis ,(metadata-ref opam-content "synopsis"))
- (description ,(beautify-description
- (metadata-ref opam-content "description")))
- (license ,(spdx-string->license
- (metadata-ref opam-content "license"))))
- (filter
- (lambda (name)
- (not (member name '("dune" "jbuilder"))))
- dependencies))))))))
+ (values
+ `(package
+ (name ,(ocaml-name->guix-name name))
+ (version ,version)
+ (source ,source)
+ (build-system ,(if use-dune?
+ 'dune-build-system
+ 'ocaml-build-system))
+ ,@(if (null? inputs)
+ '()
+ `((propagated-inputs (list ,@inputs))))
+ ,@(if (null? native-inputs)
+ '()
+ `((native-inputs (list ,@native-inputs))))
+ ,@(if (equal? name (guix-name->opam-name (ocaml-name->guix-name name)))
+ '()
+ `((properties
+ ,(list 'quasiquote `((upstream-name . ,name))))))
+ (home-page ,(metadata-ref opam-content "homepage"))
+ (synopsis ,(metadata-ref opam-content "synopsis"))
+ (description ,(beautify-description
+ (metadata-ref opam-content "description")))
+ (license ,(spdx-string->license
+ (metadata-ref opam-content "license"))))
+ (filter
+ (lambda (name)
+ (not (member name '("dune" "jbuilder"))))
+ dependencies)))))
(define* (opam-recursive-import package-name #:key repo)
(recursive-import package-name
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 04/24] gnu: Add ocaml-typerep.
(address . 53882@debbugs.gnu.org)
9b8b11fe1c21aa453a62a6f6b010349387bac11e.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-typerep): New variable.
(ocaml4.07-typerep): Inherit from it.
---
gnu/packages/ocaml.scm | 50 +++++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 18 deletions(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ad2e5fc158..d88fea9804 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5788,29 +5788,43 @@ (define-public ocaml4.07-ppx-here
"0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))
(properties `((upstream-name . "ppx_here"))))))
-(define-public ocaml4.07-typerep
+(define-public ocaml-typerep
(package
- (name "ocaml4.07-typerep")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/typerep-v" version ".tar.gz"))
- (sha256
- (base32
- "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+ (name "ocaml-typerep")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/typerep")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wc7h853ka3s3lxxgm61ypidl0lzgc9abdkil6f72anl0c417y90"))))
(build-system dune-build-system)
- (arguments
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))))
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-base))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-typerep))))
(home-page "https://github.com/janestreet/typerep")
(synopsis "Typerep is a library for runtime types")
(description "Typerep is a library for runtime types.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-typerep
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-typerep)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/typerep-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-sexp-value
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 03/24] gnu: Add ocaml-spawn.
(address . 53882@debbugs.gnu.org)
7cf7c54676b6caea71a2b9f6654f6ac32ecc3bcd.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-spawn): New variable.
(ocaml4.07-spawn): Inherit from it.
---
gnu/packages/ocaml.scm | 55 ++++++++++++++++++++++++++++--------------
1 file changed, 37 insertions(+), 18 deletions(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d0cfafbab4..ad2e5fc158 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6448,10 +6448,10 @@ (define-public ocaml4.07-configurator
@end itemize")
(license license:asl2.0)))
-(define-public ocaml4.07-spawn
+(define-public ocaml-spawn
(package
- (name "ocaml4.07-spawn")
- (version "0.13.0")
+ (name "ocaml-spawn")
+ (version "0.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6460,22 +6460,12 @@ (define-public ocaml4.07-spawn
(file-name (git-file-name name version))
(sha256
(base32
- "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+ "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p"))))
(build-system dune-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'fix-tests
- (lambda _
- (substitute* "test/tests.ml"
- (("/bin/pwd") (which "pwd"))
- (("/bin/echo") (which "echo")))
- #t)))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (native-inputs
- `(("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))))
+ (propagated-inputs (list ocaml-odoc))
+ (native-inputs (list ocaml-ppx-expect))
+ (properties
+ `((ocaml4.07-variant . ,(delay ocaml4.07-spawn))))
(home-page "https://github.com/janestreet/spawn")
(synopsis "Spawning sub-processes")
(description
@@ -6497,6 +6487,35 @@ (define-public ocaml4.07-spawn
@end itemize")
(license license:asl2.0)))
+(define-public ocaml4.07-spawn
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-spawn)
+ (version "0.13.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/spawn")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-spawn" version))
+ (sha256
+ (base32
+ "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (substitute* "test/tests.ml"
+ (("/bin/pwd") (which "pwd"))
+ (("/bin/echo") (which "echo")))
+ #t)))
+ #:ocaml ,ocaml-4.07
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
+ (propagated-inputs '())
+ (properties '()))))
+
(define-public ocaml4.07-core
(package
(name "ocaml4.07-core")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 05/24] gnu: Add ocaml-ppx-typerep-conv.
(address . 53882@debbugs.gnu.org)
811562283fa707e56679de1da9e6d8c7e941f76b.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-typerep-conv): New variable.
(ocaml4.07-ppx-typerep-conv): Inherit from it.
---
gnu/packages/ocaml.scm | 57 ++++++++++++++++++++++++------------------
1 file changed, 33 insertions(+), 24 deletions(-)

Toggle diff (77 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d88fea9804..43b26b32da 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6205,37 +6205,46 @@ (define-public ocaml4.07-ppx-js-style
"0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))
(properties `((upstream-name . "ppx_js_style"))))))
-(define-public ocaml4.07-ppx-typerep-conv
+(define-public ocaml-ppx-typerep-conv
(package
- (name "ocaml4.07-ppx-typerep-conv")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_typerep_conv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+ (name "ocaml-ppx-typerep-conv")
+ (version "0.14.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/janestreet/ppx_typerep_conv/archive/v0.14.2.tar.gz")
+ (sha256
+ (base32 "1g1sb3prscpa7jwnk08f50idcgyiiv0b9amkl0kymj5cghkdqw0n"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-typerep" ,ocaml4.07-typerep)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_typerep_conv")))
+ `(#:test-target "."))
+ (propagated-inputs (list ocaml-base ocaml-typerep ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_typerep_conv")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-typerep-conv))))
(home-page "https://github.com/janestreet/ppx_typerep_conv")
(synopsis "Generation of runtime types from type declarations")
(description "This package can automatically generate runtime types
from type definitions.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-typerep-conv
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-typerep-conv)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_typerep_conv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-ppx-typerep-conv" version))
+ (sha256
+ (base32
+ "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+ (properties '())
+ (propagated-inputs
+ (list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
+ (license license:asl2.0))))
(define-public ocaml-ppx-base
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 06/24] gnu: Add ocaml-ppx-string.
(address . 53882@debbugs.gnu.org)
141aa5b5e6c7e31afd43eb087bd856fc52c3b379.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-string): New variable.
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 43b26b32da..44db4c0b12 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6246,6 +6246,29 @@ (define-public ocaml4.07-ppx-typerep-conv
(list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
(license license:asl2.0))))
+(define-public ocaml-ppx-string
+ (package
+ (name "ocaml-ppx-string")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_string")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4"))))
+ (build-system dune-build-system)
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_string")))
+ (home-page "https://github.com/janestreet/ppx_string")
+ (synopsis "Ppx extension for string interpolation")
+ (description "This extension provides a syntax for string interpolation.")
+ (license license:expat)))
+
(define-public ocaml-ppx-base
(package
(name "ocaml-ppx-base")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 07/24] gnu: Add ocaml-ppx-stable.
(address . 53882@debbugs.gnu.org)
be81757eacaa67fb99e123fdcba99b6eb9858efe.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-stable): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 44db4c0b12..1c87a35886 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6269,6 +6269,31 @@ (define-public ocaml-ppx-string
(description "This extension provides a syntax for string interpolation.")
(license license:expat)))
+(define-public ocaml-ppx-stable
+ (package
+ (name "ocaml-ppx-stable")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_stable")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sp1kn23qr0pfypa4ilvhqq5y11y13xpfygfl582ra9kik5xqfa1"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "tests"))
+ (propagated-inputs (list ocaml-base ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_stable")))
+ (home-page "https://github.com/janestreet/ppx_stable")
+ (synopsis "Stable types conversions generator")
+ (description
+ "ppx_stable is a ppx extension for easier implementation of conversion
+functions between almost identical types.")
+ (license license:expat)))
+
(define-public ocaml-ppx-base
(package
(name "ocaml-ppx-base")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 08/24] gnu: Add ocmal-ppx-pipebang.
(address . 53882@debbugs.gnu.org)
3ee64b46a6035d96b8401a278ec31a482c935595.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-pipebang): New variable.
(ocaml4.07-ppx-pipebang): Inherit from it.
---
gnu/packages/ocaml.scm | 57 +++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 23 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1c87a35886..c2ee95a263 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5890,35 +5890,46 @@ (define-public ocaml4.07-ppx-sexp-message
context such as function arguments.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-pipebang
+(define-public ocaml-ppx-pipebang
(package
- (name "ocaml4.07-ppx-pipebang")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_pipebang-v" version ".tar.gz"))
- (sha256
- (base32
- "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+ (name "ocaml-ppx-pipebang")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_pipebang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0450b3p2rpnnn5yyvbkcd3c33jr2z0dp8blwxddaj2lv7nzl5dzf"))))
(build-system dune-build-system)
- (arguments
- ;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_pipebang")))
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_pipebang")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-pipebang))))
(home-page "https://github.com/janestreet/ppx_pipebang")
(synopsis "Inline reverse application operators `|>` and `|!`")
(description "A ppx rewriter that inlines reverse application operators
@code{|>} and @code{|!}.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-pipebang
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-pipebang)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_pipebang-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+ (propagated-inputs (list ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-optional
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 10/24] gnu: Add ocaml-ppx-fixed-literal.
(address . 53882@debbugs.gnu.org)
cf04cefe1b3a60ef89af6144a6b7744b4d15ce0e.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-fixed-literal): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b638f59544..b1d9b73b90 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5956,6 +5956,31 @@ (define-public ocaml-ppx-module-timer
to record their startup time.")
(license license:expat)))
+(define-public ocaml-ppx-fixed-literal
+ (package
+ (name "ocaml-ppx-fixed-literal")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_fixed_literal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s7rb4dhz4ibhh42a9sfxjj3zbwfyfmaihr92hpdv5j9xqn3n8mi"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-base ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_fixed_literal")))
+ (home-page "https://github.com/janestreet/ppx_fixed_literal")
+ (synopsis "Simpler notation for fixed point literals")
+ (description
+ "@samp{ppx-fixed-literal} is a ppx rewriter that rewrites fixed point
+literal of the form 1.0v to conversion functions currently in scope.")
+ (license license:expat)))
+
(define-public ocaml-ppx-optional
(package
(name "ocaml-ppx-optional")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 09/24] gnu: Add ocaml-ppx-module-timer.
(address . 53882@debbugs.gnu.org)
78b2d7e4ea74487d224db536b2dc8862683fb8ac.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-module-timer): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c2ee95a263..b638f59544 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5931,6 +5931,31 @@ (define-public ocaml4.07-ppx-pipebang
(properties '())
(license license:asl2.0))))
+(define-public ocaml-ppx-module-timer
+ (package
+ (name "ocaml-ppx-module-timer")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_module_timer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)); no tests
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-time-now ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_module_timer")))
+ (home-page "https://github.com/janestreet/ppx_module_timer")
+ (synopsis "Ppx rewriter that records top-level module startup times")
+ (description "Modules using @samp{ppx_module_timer} have instrumentation
+to record their startup time.")
+ (license license:expat)))
+
(define-public ocaml-ppx-optional
(package
(name "ocaml-ppx-optional")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 11/24] gnu: Add ocaml-bin-prot.
(address . 53882@debbugs.gnu.org)
c1e173cb9ea2c995527f5b3c461ed61f971c07c4.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-bin-prot): New variable.
(ocaml4.07-bin-prot): Inherit from it.
---
gnu/packages/ocaml.scm | 75 ++++++++++++++++++++++++++----------------
1 file changed, 47 insertions(+), 28 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b1d9b73b90..cc2b05266a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5582,33 +5582,30 @@ (define-public ocaml4.07-ppx-custom-printf
"11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))
(properties `((upstream-name . "ppx_custom_printf"))))))
-(define-public ocaml4.07-bin-prot
+(define-public ocaml-bin-prot
(package
- (name "ocaml4.07-bin-prot")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/bin_prot-v" version ".tar.gz"))
- (sha256
- (base32
- "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+ (name "ocaml-bin-prot")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr"))))
(build-system dune-build-system)
- (inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
- ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "bin_prot")))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-compare
+ ocaml-ppx-custom-printf
+ ocaml-ppx-fields-conv
+ ocaml-ppx-optcomp
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-variants-conv))
+ (properties `((upstream-name . "bin_prot")
+ (ocaml4.07-variant . ,(delay ocaml4.07-bin-prot))))
(home-page "https://github.com/janestreet/bin_prot")
(synopsis "Binary protocol generator")
(description "This library contains functionality for reading and writing
@@ -5617,9 +5614,31 @@ (define-public ocaml4.07-bin-prot
structured values at speeds sufficient to saturate a gigabit connection. The
protocol is also heavily optimized for size, making it ideal for long-term
storage of large amounts of data.")
- (license (list
- license:asl2.0
- license:bsd-3))))
+ (license license:expat)))
+
+(define-public ocaml4.07-bin-prot
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-bin-prot)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/bin_prot-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+ (propagated-inputs (list ocaml-base
+ ocaml-ppx-compare
+ ocaml-ppx-custom-printf
+ ocaml-ppx-fields-conv
+ ocaml-ppx-variants-conv
+ ocaml-migrate-parsetree))
+ (properties '())
+ (license (list
+ license:asl2.0
+ license:bsd-3)))))
(define-public ocaml-octavius
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 12/24] gnu: Add ocaml-ppx-bin-prot.
(address . 53882@debbugs.gnu.org)
39cb1fe9d5b089a9bfad82f1ce032b0064f84ee3.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-bin-prot): New variable.
(ocaml4.07-ppx-bin-prot): Inherit from it.
---
gnu/packages/ocaml.scm | 64 ++++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 24 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cc2b05266a..1fa229486d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6423,39 +6423,55 @@ (define-public ocaml4.07-ppx-base
("ocaml-ppxlib" ,ocaml-ppxlib)))
(properties `((upstream-name . "ppx_base"))))))
-(define-public ocaml4.07-ppx-bin-prot
+(define-public ocaml-ppx-bin-prot
(package
- (name "ocaml4.07-ppx-bin-prot")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_bin_prot")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+ (name "ocaml-ppx-bin-prot")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg"))))
(build-system dune-build-system)
(arguments
;; Cyclic dependency with ocaml-ppx-jane
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_bin_prot")))
+ (list ocaml-base ocaml-bin-prot ocaml-ppx-here ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_bin_prot")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bin-prot))))
(home-page "https://github.com/janestreet/ppx_bin_prot")
(synopsis "Generation of bin_prot readers and writers from types")
(description "Generation of binary serialization and deserialization
functions from type definitions.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-bin-prot
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-bin-prot)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-ppx-bin-prot" version))
+ (sha256
+ (base32
+ "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-bin-prot
+ ocaml-ppx-here
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-jane
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 13/24] gnu: Add ocaml-ppx-bench.
(address . 53882@debbugs.gnu.org)
3a01e4d0f5ea613832347e709e4c02aad7e44476.1644350657.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-bench): New variable.
(ocaml4.07-ppx-bench): Inherit from it.
---
gnu/packages/ocaml.scm | 57 ++++++++++++++++++++++++++----------------
1 file changed, 35 insertions(+), 22 deletions(-)

Toggle diff (77 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1fa229486d..8f8b4ca32f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5746,35 +5746,48 @@ (define-public ocaml4.07-ppx-enumerate
"0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
(properties `((upstream-name . "ppx_enumerate"))))))
-(define-public ocaml4.07-ppx-bench
+(define-public ocaml-ppx-bench
(package
- (name "ocaml4.07-ppx-bench")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_bench-v" version ".tar.gz"))
- (sha256
- (base32
- "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+ (name "ocaml-ppx-bench")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bench")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12r7jgqgpb4i4cry3rgyl2nmxcscs5w7mmk06diz7i49r27p96im"))))
(build-system dune-build-system)
(arguments
;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_bench")))
+ `(#:tests? #f))
+ (propagated-inputs (list ocaml-ppx-inline-test ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_bench")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bench))))
(home-page "https://github.com/janestreet/ppx_bench")
(synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
(description "Syntax extension for writing in-line benchmarks in ocaml code.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-bench
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-bench)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_bench-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+ (propagated-inputs
+ (list ocaml-ppx-inline-test ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-here
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 14/24] gnu: Add ocaml-ppx-sexp-value.
(address . 53882@debbugs.gnu.org)
48e71696a6d1549da42ee156e746867741c8ffa6.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-sexp-value): New variable.
(ocaml4.07-ppx-sexp-value): Inherit from it.
---
gnu/packages/ocaml.scm | 65 ++++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 25 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8f8b4ca32f..bb29f3334d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5858,36 +5858,51 @@ (define-public ocaml4.07-typerep
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-sexp-value
+(define-public ocaml-ppx-sexp-value
(package
- (name "ocaml4.07-ppx-sexp-value")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_sexp_value-v" version ".tar.gz"))
- (sha256
- (base32
- "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+ (name "ocaml-ppx-sexp-value")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_value")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_sexp_value")))
+ (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_sexp_value")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-value))))
(home-page "https://github.com/janestreet/ppx_sexp_value")
(synopsis "Simplify building s-expressions from ocaml values")
- (description "A ppx rewriter that simplifies building s-expressions from
-ocaml values.")
- (license license:asl2.0)))
+ (description "@samp{ppx-sexp-value} is a ppx rewriter that simplifies
+building s-expressions from ocaml values.")
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-sexp-value
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-sexp-value)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_value-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-here
+ ocaml-ppx-sexp-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-sexp-message
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 15/24] gnu: Add ocaml-ppx-sexp-message.
(address . 53882@debbugs.gnu.org)
af28d81f1b5e273d318ecf849776ebdcbcc1677d.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-sexp-message): New variable.
(ocaml4.07-ppx-sexp-message): Inherit from it.
---
gnu/packages/ocaml.scm | 61 ++++++++++++++++++++++++++----------------
1 file changed, 38 insertions(+), 23 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bb29f3334d..7888f21cd8 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5904,38 +5904,53 @@ (define-public ocaml4.07-ppx-sexp-value
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-sexp-message
+(define-public ocaml-ppx-sexp-message
(package
- (name "ocaml4.07-ppx-sexp-message")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_sexp_message-v" version ".tar.gz"))
- (sha256
- (base32
- "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+ (name "ocaml-ppx-sexp-message")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_message")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_sexp_message")))
+ (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_sexp_message")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-message))))
(home-page "https://github.com/janestreet/ppx_sexp_message")
(synopsis "Ppx rewriter for easy construction of s-expressions")
(description "Ppx_sexp_message aims to ease the creation of s-expressions
in OCaml. This is mainly motivated by writing error and debugging messages,
where one needs to construct a s-expression based on various element of the
context such as function arguments.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-sexp-message
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-sexp-message)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_message-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-here
+ ocaml-ppx-sexp-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-pipebang
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 16/24] gnu: Add ocaml-splittable-random.
(address . 53882@debbugs.gnu.org)
7a0f1d4d46a0fe84b016fd108bd5b160eaf8ebc8.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-splittable-random): New variable.
(ocaml4.07-splittable-random): Inherit from it.
---
gnu/packages/ocaml.scm | 59 +++++++++++++++++++++++++++---------------
1 file changed, 38 insertions(+), 21 deletions(-)

Toggle diff (82 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7888f21cd8..901f54c864 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6563,29 +6563,28 @@ (define-public ocaml4.07-ppx-jane
driver including all standard Jane Street ppx rewriters.")
(license license:asl2.0)))
-(define-public ocaml4.07-splittable-random
+(define-public ocaml-splittable-random
(package
- (name "ocaml4.07-splittable-random")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/splittable_random-v" version ".tar.gz"))
- (sha256
- (base32
- "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+ (name "ocaml-splittable-random")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/splittable_random")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (properties `((upstream-name . "splittable_random")))
+ (list ocaml-base
+ ocaml-ppx-assert
+ ocaml-ppx-bench
+ ocaml-ppx-inline-test
+ ocaml-ppx-sexp-message))
+ (properties `((upstream-name . "splittable_random")
+ (ocaml-4.07-variant . ,(delay ocaml4.07-splittable-random))))
(home-page "https://github.com/janestreet/splittable_random")
(synopsis "PRNG that can be split into independent streams")
(description "This package provides a splittable
@@ -6595,7 +6594,25 @@ (define-public ocaml4.07-splittable-random
This library implements a splittable pseudo-random number generator that sacrifices
cryptographic-quality randomness in favor of performance.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-splittable-random
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-splittable-random)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/splittable_random-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+ (propagated-inputs
+ (list ocaml-base ocaml4.07-ppx-jane ocaml-migrate-parsetree))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-jane-street-headers
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 17/24] gnu: Add ocaml-base-quickcheck.
(address . 53882@debbugs.gnu.org)
59d494d0fe94a539d032e2a9fbadff07d96e6aec.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-base-quickcheck): New variable.
---
gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 901f54c864..d969e69384 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6614,6 +6614,39 @@ (define-public ocaml4.07-splittable-random
(properties '())
(license license:asl2.0))))
+(define-public ocaml-base-quickcheck
+ (package
+ (name "ocaml-base-quickcheck")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/base_quickcheck")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-base
+ ocaml-ppx-fields-conv
+ ocaml-ppx-let
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-splittable-random
+ ocaml-ppxlib))
+ (properties `((upstream-name . "base_quickcheck")))
+ (home-page "https://github.com/janestreet/base_quickcheck")
+ (synopsis
+ "Randomized testing framework, designed for compatibility with Base")
+ (description
+ "@samp{base-quickcheck} provides randomized testing in the style of
+Haskell's Quickcheck library, with support for built-in types as well as
+types provided by Base.")
+ (license license:expat)))
+
(define-public ocaml4.07-jane-street-headers
(package
(name "ocaml4.07-jane-street-headers")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 18/24] gnu: Add ocaml-ppx-fail.
(address . 53882@debbugs.gnu.org)
88f1724d45da07d7314aa3d7f3e0f4811b81d52a.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-fail): New variable.
(ocaml4.07-ppx-fail): Inherit from it.
---
gnu/packages/ocaml.scm | 57 +++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 23 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d969e69384..ec05987e2c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6141,35 +6141,46 @@ (define-public ocaml4.07-ppx-let
(properties `((upstream-name . "ppx_let"))))))
-(define-public ocaml4.07-ppx-fail
+(define-public ocaml-ppx-fail
(package
- (name "ocaml4.07-ppx-fail")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_fail-v" version ".tar.gz"))
- (sha256
- (base32
- "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+ (name "ocaml-ppx-fail")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_fail")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "012p9gv7w4sk3b4x0sdmqrmr2856w8xc424waxb6vrybid7qjs95"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_fail")))
+ (propagated-inputs (list ocaml-base ocaml-ppx-here ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_fail")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fail))))
(home-page "https://github.com/janestreet/ppx_fail")
(synopsis "Add location to calls to failwiths")
(description "Syntax extension that makes [failwiths] always include a
position.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-fail
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-fail)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_fail-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-here ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-cold
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 19/24] gnu: Add ocmal-ppx-jane.
(address . 53882@debbugs.gnu.org)
34da3833791425a6168fdcf79c91381ecf469af1.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable.
(ocaml4.07-ppx-jane): Inherit from it.
---
gnu/packages/ocaml.scm | 116 +++++++++++++++++++++++++++--------------
1 file changed, 77 insertions(+), 39 deletions(-)

Toggle diff (144 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ec05987e2c..259b6551f2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6527,52 +6527,90 @@ (define-public ocaml4.07-ppx-bin-prot
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-jane
+(define-public ocaml-ppx-jane
(package
- (name "ocaml4.07-ppx-jane")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_jane-v" version ".tar.gz"))
- (sha256
- (base32
- "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+ (name "ocaml-ppx-jane")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_jane")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:test-target "."))
(propagated-inputs
- `(("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
- ("ocaml-ppx-bench" ,ocaml4.07-ppx-bench)
- ("ocaml-ppx-bin-prot" ,ocaml4.07-ppx-bin-prot)
- ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
- ("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))
- ("ocaml-ppx-fail" ,ocaml4.07-ppx-fail)
- ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-ppx-let" ,(package-with-ocaml4.07 ocaml-ppx-let))
- ("ocaml-ppx-optcomp" ,(package-with-ocaml4.07 ocaml-ppx-optcomp))
- ("ocaml-ppx-optional" ,(package-with-ocaml4.07 ocaml-ppx-optional))
- ("ocaml-ppx-pipebang" ,ocaml4.07-ppx-pipebang)
- ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
- ("ocaml-ppx-sexp-value" ,ocaml4.07-ppx-sexp-value)
- ("ocaml-ppx-typerep-conv" ,ocaml4.07-ppx-typerep-conv)
- ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_jane")))
+ (list ocaml-base-quickcheck
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-bench
+ ocaml-ppx-bin-prot
+ ocaml-ppx-custom-printf
+ ocaml-ppx-expect
+ ocaml-ppx-fields-conv
+ ocaml-ppx-fixed-literal
+ ocaml-ppx-here
+ ocaml-ppx-inline-test
+ ocaml-ppx-let
+ ocaml-ppx-module-timer
+ ocaml-ppx-optcomp
+ ocaml-ppx-optional
+ ocaml-ppx-pipebang
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-ppx-stable
+ ocaml-ppx-string
+ ocaml-ppx-typerep-conv
+ ocaml-ppx-variants-conv
+ ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_jane")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-jane))))
(home-page "https://github.com/janestreet/ppx_jane")
(synopsis "Standard Jane Street ppx rewriters")
(description "This package installs a ppx-jane executable, which is a ppx
driver including all standard Jane Street ppx rewriters.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-jane
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-jane)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_jane-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+ (propagated-inputs
+ (list ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-bench
+ ocaml-ppx-bin-prot
+ ocaml-ppx-custom-printf
+ ocaml-ppx-expect
+ ocaml-ppx-fail
+ ocaml-ppx-fields-conv
+ ocaml-ppx-here
+ ocaml-ppx-inline-test
+ ocaml-ppx-let
+ ocaml-ppx-optcomp
+ ocaml-ppx-optional
+ ocaml-ppx-pipebang
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-ppx-typerep-conv
+ ocaml-ppx-variants-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-splittable-random
(package
@@ -6621,7 +6659,7 @@ (define-public ocaml4.07-splittable-random
(base32
"0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
(propagated-inputs
- (list ocaml-base ocaml4.07-ppx-jane ocaml-migrate-parsetree))
+ (list ocaml-base ocaml-ppx-jane ocaml-migrate-parsetree))
(properties '())
(license license:asl2.0))))
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 20/24] gnu: Add ocaml-base-bigstring.
(address . 53882@debbugs.gnu.org)
d277beffae954115f0dc275975980ca8c9fb3304.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-base-bigstring): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 259b6551f2..6493613bfa 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6612,6 +6612,28 @@ (define-public ocaml4.07-ppx-jane
(properties '())
(license license:asl2.0))))
+(define-public ocaml-base-bigstring
+ (package
+ (name "ocaml-base-bigstring")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/base_bigstring")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ald2m7qywhxbygv58dzpgaj54p38zn0aiqd1z7i95kf3bsnsjqa"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-base ocaml-ppx-jane))
+ (properties `((upstream-name . "base_bigstring")))
+ (home-page "https://github.com/janestreet/base_bigstring")
+ (synopsis "String type based on [Bigarray], for use in I/O and C-bindings")
+ (description
+ " String type based on [Bigarray], for use in I/O and C-bindings.")
+ (license license:expat)))
+
(define-public ocaml-splittable-random
(package
(name "ocaml-splittable-random")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 21/24] gnu: Add ocaml-core-kernel.
(address . 53882@debbugs.gnu.org)
84b05a81d6e195a11a234750e8f26a2711c0cbef.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-core-kernel): New variable.
(ocaml4.07-core-kernel): Inherit from it.
---
gnu/packages/ocaml.scm | 118 +++++++++++++++++++++++++++--------------
1 file changed, 77 insertions(+), 41 deletions(-)

Toggle diff (142 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6493613bfa..040c91e440 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6887,58 +6887,94 @@ (define-public ocaml4.07-core
;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
(license license:asl2.0)))
-(define-public ocaml4.07-core-kernel
+(define-public ocaml-core-kernel
(package
- (name "ocaml4.07-core-kernel")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/core_kernel")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+ (name "ocaml-core-kernel")
+ (version "0.14.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core_kernel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vxv9rq6m52n60gprm4sqjj1i1p4dd4sgns068hkp9g558d8zdjx"))))
(build-system dune-build-system)
(arguments
;; Cyclic dependency with ocaml-core
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
- ("ocaml-configurator" ,ocaml4.07-configurator)
- ("ocaml-fieldslib" ,(package-with-ocaml4.07 ocaml-fieldslib))
- ("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
- ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
- ("ocaml-ppx-hash" ,(package-with-ocaml4.07 ocaml-ppx-hash))
- ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
- ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
- ("ocaml-splittable-random" ,ocaml4.07-splittable-random)
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-typerep" ,ocaml4.07-typerep)
- ("ocaml-variantslib" ,(package-with-ocaml4.07 ocaml-variantslib))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (properties `((upstream-name . "core_kernel")))
+ (list ocaml-base
+ ocaml-base-bigstring
+ ocaml-base-quickcheck
+ ocaml-bin-prot
+ ocaml-fieldslib
+ ocaml-jane-street-headers
+ ocaml-jst-config
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-hash
+ ocaml-ppx-inline-test
+ ocaml-ppx-jane
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-sexp-message
+ ocaml-sexplib
+ ocaml-splittable-random
+ ocaml-stdio
+ ocaml-time-now
+ ocaml-typerep
+ ocaml-variantslib
+ ocaml-ppx-optcomp))
+ (properties `((upstream-name . "core_kernel")
+ (ocaml4.07-variant . ,(delay ocaml4.07-core-kernel))))
(home-page "https://github.com/janestreet/core_kernel")
(synopsis "Portable standard library for OCaml")
(description "Core is an alternative to the OCaml standard library.
Core_kernel is the system-independent part of Core. It is aimed for cases when
the full Core is not available, such as in Javascript.")
- (license (list
- ;; this package and parts of OCaml, relicensed by janestreet
- license:asl2.0
- ;; MLton and sjs
- license:expat))))
+ (license license:expat)))
+
+(define-public ocaml4.07-core-kernel
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-core-kernel)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core_kernel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-core-kernel" version))
+ (sha256
+ (base32
+ "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-bin-prot
+ ocaml4.07-configurator
+ ocaml-fieldslib
+ ocaml-jane-street-headers
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-hash
+ ocaml-ppx-inline-test
+ ocaml-ppx-jane
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-sexp-message
+ ocaml-sexplib
+ ocaml-splittable-random
+ ocaml-stdio
+ ocaml-typerep
+ ocaml-variantslib
+ ocaml-migrate-parsetree))
+ (properties '())
+ (license (list
+ ;; this package and parts of OCaml, relicensed by janestreet
+ license:asl2.0
+ ;; MLton and sjs
+ license:expat)))))
(define-public ocaml-markup
(package
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 22/24] gnu: Add ocaml-timezone.
(address . 53882@debbugs.gnu.org)
314b9e476c3040de08a665dbc61146f9c1fd0d96.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-timezone): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 040c91e440..f9fc02474a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6976,6 +6976,28 @@ (define-public ocaml4.07-core-kernel
;; MLton and sjs
license:expat)))))
+(define-public ocaml-timezone
+ (package
+ (name "ocaml-timezone")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/timezone")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zf075k94nk2wxnzpxia7pnm655damwp1b58xf2s9disia1ydxg7"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-core-kernel ocaml-ppx-jane))
+ (home-page "https://github.com/janestreet/timezone")
+ (synopsis "Time-zone handling")
+ (description
+ "Timezone handles parsing timezone data and create @code{Timezone.t}
+that can later be used to manipulate time in core_kernel or core.")
+ (license license:expat)))
+
(define-public ocaml-markup
(package
(name "ocaml-markup")
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 23/24] gnu: ocaml-jane-street-headers: Add variant.
(address . 53882@debbugs.gnu.org)
9943824f0b6543d8ab9caa71a19ff54972a985d7.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-jane-street-heaers)[properties]: Add
ocaml4.07 variant.
---
gnu/packages/ocaml.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f9fc02474a..b01b598f5f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4468,6 +4468,7 @@ (define-public ocaml-jane-street-headers
"028yxb4h3iy025iy89v8653m5brh7flrjshghs4x99pd690pmfs7"))
(build-system dune-build-system)
(arguments '(#:tests? #f)) ; no tests
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-jane-street-headers))))
(home-page "https://github.com/janestreet/jane-street-headers")
(synopsis "Jane Street C header files")
(description "C header files shared between the various Jane Street
--
2.34.0
J
J
Julien Lepiller wrote on 8 Feb 2022 21:14
[PATCH 24/24] gnu: Add ocaml-core.
(address . 53882@debbugs.gnu.org)
80dbbdafe5be728aa5387fb9937a959095a4ffd0.1644350658.git.julien@lepiller.eu
* gnu/packages/ocaml.scm (ocaml-core): New variable.
(ocaml4.07-core): Inherit from it.
---
gnu/packages/ocaml.scm | 79 ++++++++++++++++++++++++++----------------
1 file changed, 50 insertions(+), 29 deletions(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b01b598f5f..d829b1e2cd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6848,45 +6848,66 @@ (define-public ocaml4.07-spawn
(propagated-inputs '())
(properties '()))))
-(define-public ocaml4.07-core
+(define-public ocaml-core
(package
- (name "ocaml4.07-core")
- (version "0.11.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/core")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+ (name "ocaml-core")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82"))))
(build-system dune-build-system)
(arguments
`(#:package "core"
- #:tests? #f; Require a cyclic dependency: core_extended
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ #:tests? #f)); Require a cyclic dependency: core_extended
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-configurator" ,ocaml4.07-configurator)
- ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
- ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
- ("ocaml-spawn" ,ocaml4.07-spawn)
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
+ (list ocaml-core-kernel
+ ocaml-jst-config
+ ocaml-ppx-jane
+ ocaml-sexplib
+ ocaml-timezone
+ ocaml-spawn))
(home-page "https://github.com/janestreet/core")
(synopsis "Alternative to OCaml's standard library")
(description "The Core suite of libraries is an alternative to OCaml's
standard library that was developed by Jane Street.")
- ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+ ;; Also contains parts of OCaml, relicensed to expat, as permitted
;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-core
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-core)
+ (version "0.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-core" version))
+ (sha256
+ (base32
+ "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml4.07-configurator
+ ocaml-core-kernel
+ ocaml-ppx-assert
+ ocaml-ppx-jane
+ ocaml-sexplib
+ ocaml-spawn
+ ocaml-stdio
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+ ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
+ (license license:asl2.0))))
(define-public ocaml-core-kernel
(package
--
2.34.0
Z
Z
zimoun wrote on 23 Feb 2022 17:12
Re: bug#53882 [PATCH 19/24] gnu: Add ocmal-ppx-jane.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 53882@debbugs.gnu.org)
87h78pblzx.fsf_-_@gmail.com
Hi Julien,

On mar., 08 févr. 2022 at 21:14, Julien Lepiller <julien@lepiller.eu> wrote:
Toggle quote (17 lines)
> * gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable.
> (ocaml4.07-ppx-jane): Inherit from it.
> ---
> gnu/packages/ocaml.scm | 116 +++++++++++++++++++++++++++--------------
> 1 file changed, 77 insertions(+), 39 deletions(-)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index ec05987e2c..259b6551f2 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -6527,52 +6527,90 @@ (define-public ocaml4.07-ppx-bin-prot
> (properties '())
> (license license:asl2.0))))
>
> -(define-public ocaml4.07-ppx-jane
> +(define-public ocaml-ppx-jane

[...]

Toggle quote (2 lines)
> + (list ocaml-base-quickcheck

[...]

Toggle quote (2 lines)
> + ocaml-ppx-fixed-literal

As far I see, this is not defined, i.e., missing.

Toggle snippet (5 lines)
[ 78%] GUILEC gnu/packages/ocaml.go
<unknown-location>: warning: possibly unbound variable `ocaml-ppx-fixed-literal'


Cheers,
simon
M
M
Maxime Devos wrote on 23 Feb 2022 19:09
Re: [bug#53882] [PATCH 01/24] import: opam: Accept tabulations.
edd547c5ec6007e3ceb93b7fd7255a80a155216f.camel@telenet.be
Julien Lepiller schreef op di 08-02-2022 om 21:14 [+0100]:
Toggle quote (7 lines)
>  ;; Define a PEG parser for the opam format
>  (define-peg-pattern comment none (and "#" (* COMMCHR) "\n"))
> -(define-peg-pattern SP none (or " " "\n" comment))
> -(define-peg-pattern SP2 body (or " " "\n"))
> +(define-peg-pattern SP none (or " " "\n" "\t" comment))
> +(define-peg-pattern SP2 body (or " " "\n" "\t"))

To test this, perhaps a few spaces can be replaced by tabs
in 'test-opam-file' in tests/opam.scm?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhZ4UBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gcJAP4kD43uzLVfqxuG8/OiMdn4xIB0
zqYHpdI51+3vT4tr4AD+J9JPs+ppy2DcwbVgGWMGP9ShywhH66oRBVdIyyAf5Qk=
=aTBV
-----END PGP SIGNATURE-----


Z
Z
zimoun wrote on 15 Mar 2022 15:14
Re: bug#53882: [PATCH] gnu: Add ocaml-core.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 53882@debbugs.gnu.org)
87k0cv8fqo.fsf_-_@gmail.com
Hi Julien,

Toggle quote (2 lines)
>> * gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable.

[...]

Toggle quote (3 lines)
> [ 78%] GUILEC gnu/packages/ocaml.go
> <unknown-location>: warning: possibly unbound variable `ocaml-ppx-fixed-literal'

Did you have a chance to look into it?


Cheers,
simon
L
L
Ludovic Courtès wrote on 5 Apr 2022 18:07
(name . Julien Lepiller)(address . julien@lepiller.eu)
877d83ms37.fsf_-_@gnu.org
Ping! :-)

zimoun <zimon.toutoune@gmail.com> skribis:

Toggle quote (15 lines)
> Hi Julien,
>
>>> * gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable.
>
> [...]
>
>> [ 78%] GUILEC gnu/packages/ocaml.go
>> <unknown-location>: warning: possibly unbound variable `ocaml-ppx-fixed-literal'
>
> Did you have a chance to look into it?
>
> <http://issues.guix.gnu.org/issue/53882>
>
> Cheers,
> simon
Z
Z
zimoun wrote on 6 Apr 2022 21:00
(name . Ludovic Courtès)(address . ludo@gnu.org)
8735iqqbpq.fsf_-_@gmail.com
Hi Ludo,

I have v2 which fixes minor things (typo, indent etc.). The other one
about ocaml-ppx-jane seems an error an my side.

I will send this v2 on this Friday Apr. 8th.

However, the series will be broken because of ocaml-odoc broken [1] by:

Toggle snippet (15 lines)
commit bd9eb9ef27496e951c070f5b206c164c0c998483
Author: Julien Lepiller <julien@lepiller.eu>
Date: Sun Mar 13 14:48:53 2022 +0100

gnu: dune: Update to 3.0.3.

* gnu/packages/ocaml.scm (dune): Update to 3.0.3.
(dune-configurator)[arguments]: Remove vendored dependencies.
(ocaml4.09-dune-configurator)[arguments]: Extend from dune-configurator.

gnu/packages/ocaml.scm | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)


This series is independant of the failure but it would be cool to shave
the yak. ;-) I will give a look on this Friday if no one beats me.




Cheers,
simon
P
P
pukkamustard wrote on 7 Apr 2022 12:04
Re: [bug#53882] [PATCH] gnu: Add ocaml-core.
(name . zimoun)(address . zimon.toutoune@gmail.com)
86h775p5q6.fsf@posteo.net
zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (19 lines)
> However, the series will be broken because of ocaml-odoc broken [1] by:
>
> commit bd9eb9ef27496e951c070f5b206c164c0c998483
> Author: Julien Lepiller <julien@lepiller.eu>
> Date: Sun Mar 13 14:48:53 2022 +0100
>
> gnu: dune: Update to 3.0.3.
>
> * gnu/packages/ocaml.scm (dune): Update to 3.0.3.
> (dune-configurator)[arguments]: Remove vendored dependencies.
> (ocaml4.09-dune-configurator)[arguments]: Extend from dune-configurator.
>
> gnu/packages/ocaml.scm | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> This series is independant of the failure but it would be cool to shave
> the yak. ;-) I will give a look on this Friday if no one beats me.


I've already tried shaving the yak (:


- pukkamustard
Z
Z
zimoun wrote on 8 Apr 2022 15:21
[PATCH v2 00/25] Add ocaml-core
(address . 53882@debbugs.gnu.org)
20220408132148.3300884-1-zimon.toutoune@gmail.com
Hi,

The aim of this series is:

This patch series adds ocaml-core. It's one of the missing
dependencies for bap. Adding this will get us closer to being able to
update bap, and getting rid of its ocaml4.07 dependencies.

The first two patches modify the importer, and I needed them to import
the packages. The following patches are dependencies of ocaml-core.
All of them follow the same principle: add the package and make the
ocaml4.07 variant inherit from it. The derivation for most of these
variants stay the same.

and the first patch comes from #54596 fixing ocaml-odoc broken by the recent
change about dune.


All LTGM! I fixed minor typos and lint. Some descriptions would need a
better wording but hey. :-)


Cheers,
simon


Julien Lepiller (24):
import: opam: Accept tabulations.
import: opam: Factor out source import.
gnu: Add ocaml-spawn.
gnu: Add ocaml-typerep.
gnu: Add ocaml-ppx-typerep-conv.
gnu: Add ocaml-ppx-string.
gnu: Add ocaml-ppx-stable.
gnu: Add ocaml-ppx-pipebang.
gnu: Add ocaml-ppx-module-timer.
gnu: Add ocaml-ppx-fixed-literal.
gnu: Add ocaml-bin-prot.
gnu: Add ocaml-ppx-bin-prot.
gnu: Add ocaml-ppx-bench.
gnu: Add ocaml-ppx-sexp-value.
gnu: Add ocaml-ppx-sexp-message.
gnu: Add ocaml-splittable-random.
gnu: Add ocaml-base-quickcheck.
gnu: Add ocaml-ppx-fail.
gnu: Add ocaml-ppx-jane.
gnu: Add ocaml-base-bigstring.
gnu: Add ocaml-core-kernel.
gnu: Add ocaml-timezone.
gnu: ocaml-jane-street-headers: Add variant.
gnu: Add ocaml-core.

pukkamustard (1):
gnu: ocaml-odoc: Update to 2.2.0-alpha.

gnu/packages/ocaml.scm | 1154 +++++++++++++++++++++++++++-------------
guix/import/opam.scm | 85 +--
2 files changed, 839 insertions(+), 400 deletions(-)


base-commit: e3e3381fdbc56f351063d9b4a49e99645b20d7d3
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 01/25] gnu: ocaml-odoc: Update to 2.2.0-alpha.
(address . 53882@debbugs.gnu.org)(name . pukkamustard)(address . pukkamustard@posteo.net)
20220408132305.3301350-1-zimon.toutoune@gmail.com
From: pukkamustard <pukkamustard@posteo.net>

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

Toggle diff (26 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 78eab203de..cb461bf257 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6766,7 +6766,9 @@ (define-public ocaml4.07-bisect-ppx
(define-public ocaml-odoc
(package
(name "ocaml-odoc")
- (version "2.1.0")
+ ;; 2.2.0-alpha contains fixes for Dune 3.0 compatibility
+ ;; (https://github.com/ocaml/odoc/commit/6ac97f3148f7791ec7451785ef4dbd9ca0daf2d1)
+ (version "2.2.0-alpha")
(source
(origin
(method git-fetch)
@@ -6775,7 +6777,7 @@ (define-public ocaml-odoc
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ycb468pc6vsvqj176j99bmbkrr9saxvyn9qhpazi01abbcq5d90"))))
+ (base32 "07zjkk455l51i29lcayzrc1q8j5bvbv97sscv8yhcj7x6h6q2nag"))))
(build-system dune-build-system)
(arguments
`(#:phases
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 02/25] import: opam: Accept tabulations.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-2-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* guix/import/opam.scm (SP, SP2): Accept tabulation as whitespace.
---
guix/import/opam.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (17 lines)
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index f569c921b1..f51d17dea4 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -61,8 +61,8 @@ (define-module (guix import opam)
;; Define a PEG parser for the opam format
(define-peg-pattern comment none (and "#" (* COMMCHR) "\n"))
-(define-peg-pattern SP none (or " " "\n" comment))
-(define-peg-pattern SP2 body (or " " "\n"))
+(define-peg-pattern SP none (or " " "\n" "\t" comment))
+(define-peg-pattern SP2 body (or " " "\n" "\t"))
(define-peg-pattern QUOTE none "\"")
(define-peg-pattern QUOTE2 body "\"")
(define-peg-pattern COLON none ":")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 03/25] import: opam: Factor out source import.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-3-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

This also ensures a package can be imported even when it does not
specify a URL.

* guix/import/opam.scm (opam->guix-source): New procedure.
(opam->guix-package): Use it.
---
guix/import/opam.scm | 81 +++++++++++++++++++++++---------------------
1 file changed, 43 insertions(+), 38 deletions(-)

Toggle diff (108 lines)
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index f51d17dea4..b4b5a6eaad 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -324,6 +324,20 @@ (define* (opam-fetch name #:optional (repositories-specs '("opam")))
(filter-map get-opam-repository repositories-specs))
(warning (G_ "opam: package '~a' not found~%") name)))
+(define (opam->guix-source url-dict)
+ (let ((source-url (and url-dict
+ (or (metadata-ref url-dict "src")
+ (metadata-ref url-dict "archive")))))
+ (if source-url
+ (call-with-temporary-output-file
+ (lambda (temp port)
+ (and (url-fetch source-url temp)
+ `(origin
+ (method url-fetch)
+ (uri ,source-url)
+ (sha256 (base32 ,(guix-hash-url temp)))))))
+ 'no-source-information)))
+
(define* (opam->guix-package name #:key (repo 'opam) version)
"Import OPAM package NAME from REPOSITORY (a directory name) or, if
REPOSITORY is #f, from the official OPAM repository. Return a 'package' sexp
@@ -332,9 +346,7 @@ (define* (opam->guix-package name #:key (repo 'opam) version)
(opam-file (opam-fetch name with-opam))
(version (assoc-ref opam-file "version"))
(opam-content (assoc-ref opam-file "metadata"))
- (url-dict (metadata-ref opam-content "url"))
- (source-url (or (metadata-ref url-dict "src")
- (metadata-ref url-dict "archive")))
+ (source (opam->guix-source (metadata-ref opam-content "url")))
(requirements (metadata-ref opam-content "depends"))
(names (dependency-list->names requirements))
(dependencies (filter-dependencies names))
@@ -348,41 +360,34 @@ (define* (opam->guix-package name #:key (repo 'opam) version)
(not (member name '("dune" "jbuilder"))))
native-dependencies))))
(let ((use-dune? (member "dune" names)))
- (call-with-temporary-output-file
- (lambda (temp port)
- (and (url-fetch source-url temp)
- (values
- `(package
- (name ,(ocaml-name->guix-name name))
- (version ,version)
- (source
- (origin
- (method url-fetch)
- (uri ,source-url)
- (sha256 (base32 ,(guix-hash-url temp)))))
- (build-system ,(if use-dune?
- 'dune-build-system
- 'ocaml-build-system))
- ,@(if (null? inputs)
- '()
- `((propagated-inputs (list ,@inputs))))
- ,@(if (null? native-inputs)
- '()
- `((native-inputs (list ,@native-inputs))))
- ,@(if (equal? name (guix-name->opam-name (ocaml-name->guix-name name)))
- '()
- `((properties
- ,(list 'quasiquote `((upstream-name . ,name))))))
- (home-page ,(metadata-ref opam-content "homepage"))
- (synopsis ,(metadata-ref opam-content "synopsis"))
- (description ,(beautify-description
- (metadata-ref opam-content "description")))
- (license ,(spdx-string->license
- (metadata-ref opam-content "license"))))
- (filter
- (lambda (name)
- (not (member name '("dune" "jbuilder"))))
- dependencies))))))))
+ (values
+ `(package
+ (name ,(ocaml-name->guix-name name))
+ (version ,version)
+ (source ,source)
+ (build-system ,(if use-dune?
+ 'dune-build-system
+ 'ocaml-build-system))
+ ,@(if (null? inputs)
+ '()
+ `((propagated-inputs (list ,@inputs))))
+ ,@(if (null? native-inputs)
+ '()
+ `((native-inputs (list ,@native-inputs))))
+ ,@(if (equal? name (guix-name->opam-name (ocaml-name->guix-name name)))
+ '()
+ `((properties
+ ,(list 'quasiquote `((upstream-name . ,name))))))
+ (home-page ,(metadata-ref opam-content "homepage"))
+ (synopsis ,(metadata-ref opam-content "synopsis"))
+ (description ,(beautify-description
+ (metadata-ref opam-content "description")))
+ (license ,(spdx-string->license
+ (metadata-ref opam-content "license"))))
+ (filter
+ (lambda (name)
+ (not (member name '("dune" "jbuilder"))))
+ dependencies)))))
(define* (opam-recursive-import package-name #:key repo)
(recursive-import package-name
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 05/25] gnu: Add ocaml-typerep.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-5-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-typerep): New variable.
(ocaml4.07-typerep): Inherit from it.
---
gnu/packages/ocaml.scm | 50 +++++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 18 deletions(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6690fab76d..8c464147f5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5786,29 +5786,43 @@ (define-public ocaml4.07-ppx-here
"0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))
(properties `((upstream-name . "ppx_here"))))))
-(define-public ocaml4.07-typerep
+(define-public ocaml-typerep
(package
- (name "ocaml4.07-typerep")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/typerep-v" version ".tar.gz"))
- (sha256
- (base32
- "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+ (name "ocaml-typerep")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/typerep")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wc7h853ka3s3lxxgm61ypidl0lzgc9abdkil6f72anl0c417y90"))))
(build-system dune-build-system)
- (arguments
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))))
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-base))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-typerep))))
(home-page "https://github.com/janestreet/typerep")
(synopsis "Typerep is a library for runtime types")
(description "Typerep is a library for runtime types.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-typerep
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-typerep)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/typerep-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-sexp-value
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 04/25] gnu: Add ocaml-spawn.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-4-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-spawn): New variable.
(ocaml4.07-spawn): Inherit from it.
---
gnu/packages/ocaml.scm | 55 ++++++++++++++++++++++++++++--------------
1 file changed, 37 insertions(+), 18 deletions(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cb461bf257..6690fab76d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6446,10 +6446,10 @@ (define-public ocaml4.07-configurator
@end itemize")
(license license:asl2.0)))
-(define-public ocaml4.07-spawn
+(define-public ocaml-spawn
(package
- (name "ocaml4.07-spawn")
- (version "0.13.0")
+ (name "ocaml-spawn")
+ (version "0.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6458,22 +6458,12 @@ (define-public ocaml4.07-spawn
(file-name (git-file-name name version))
(sha256
(base32
- "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+ "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p"))))
(build-system dune-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'fix-tests
- (lambda _
- (substitute* "test/tests.ml"
- (("/bin/pwd") (which "pwd"))
- (("/bin/echo") (which "echo")))
- #t)))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (native-inputs
- `(("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))))
+ (propagated-inputs (list ocaml-odoc))
+ (native-inputs (list ocaml-ppx-expect))
+ (properties
+ `((ocaml4.07-variant . ,(delay ocaml4.07-spawn))))
(home-page "https://github.com/janestreet/spawn")
(synopsis "Spawning sub-processes")
(description
@@ -6495,6 +6485,35 @@ (define-public ocaml4.07-spawn
@end itemize")
(license license:asl2.0)))
+(define-public ocaml4.07-spawn
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-spawn)
+ (version "0.13.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/spawn")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-spawn" version))
+ (sha256
+ (base32
+ "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (substitute* "test/tests.ml"
+ (("/bin/pwd") (which "pwd"))
+ (("/bin/echo") (which "echo")))
+ #t)))
+ #:ocaml ,ocaml-4.07
+ #:findlib ,ocaml4.07-findlib
+ #:dune ,ocaml4.07-dune))
+ (propagated-inputs '())
+ (properties '()))))
+
(define-public ocaml4.07-core
(package
(name "ocaml4.07-core")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 07/25] gnu: Add ocaml-ppx-string.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-7-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-string): New variable.
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8ec5953730..f8f815b358 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6247,6 +6247,29 @@ (define-public ocaml4.07-ppx-typerep-conv
(list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
(license license:asl2.0))))
+(define-public ocaml-ppx-string
+ (package
+ (name "ocaml-ppx-string")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_string")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4"))))
+ (build-system dune-build-system)
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_string")))
+ (home-page "https://github.com/janestreet/ppx_string")
+ (synopsis "Ppx extension for string interpolation")
+ (description "This extension provides a syntax for string interpolation.")
+ (license license:expat)))
+
(define-public ocaml-ppx-base
(package
(name "ocaml-ppx-base")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 06/25] gnu: Add ocaml-ppx-typerep-conv.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-6-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-typerep-conv): New variable.
(ocaml4.07-ppx-typerep-conv): Inherit from it.
---
gnu/packages/ocaml.scm | 60 +++++++++++++++++++++++++-----------------
1 file changed, 36 insertions(+), 24 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8c464147f5..8ec5953730 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6203,37 +6203,49 @@ (define-public ocaml4.07-ppx-js-style
"0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))
(properties `((upstream-name . "ppx_js_style"))))))
-(define-public ocaml4.07-ppx-typerep-conv
+(define-public ocaml-ppx-typerep-conv
(package
- (name "ocaml4.07-ppx-typerep-conv")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_typerep_conv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+ (name "ocaml-ppx-typerep-conv")
+ (version "0.14.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_typerep_conv/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0yk9vkpnwr8labgfncqdi4rfkj88d8mb3cr8m4gdqpi3f2r27hf0"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-typerep" ,ocaml4.07-typerep)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_typerep_conv")))
+ `(#:test-target "."))
+ (propagated-inputs (list ocaml-base ocaml-typerep ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_typerep_conv")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-typerep-conv))))
(home-page "https://github.com/janestreet/ppx_typerep_conv")
(synopsis "Generation of runtime types from type declarations")
(description "This package can automatically generate runtime types
from type definitions.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-typerep-conv
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-typerep-conv)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_typerep_conv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-ppx-typerep-conv" version))
+ (sha256
+ (base32
+ "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+ (properties '())
+ (propagated-inputs
+ (list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
+ (license license:asl2.0))))
(define-public ocaml-ppx-base
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 08/25] gnu: Add ocaml-ppx-stable.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-8-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-stable): New variable.
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f8f815b358..d202d45474 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6270,6 +6270,30 @@ (define-public ocaml-ppx-string
(description "This extension provides a syntax for string interpolation.")
(license license:expat)))
+(define-public ocaml-ppx-stable
+ (package
+ (name "ocaml-ppx-stable")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_stable")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sp1kn23qr0pfypa4ilvhqq5y11y13xpfygfl582ra9kik5xqfa1"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "tests"))
+ (propagated-inputs (list ocaml-base ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_stable")))
+ (home-page "https://github.com/janestreet/ppx_stable")
+ (synopsis "Stable types conversions generator")
+ (description "This package is a ppx extension for easier implementation of
+conversion functions between almost identical types.")
+ (license license:expat)))
+
(define-public ocaml-ppx-base
(package
(name "ocaml-ppx-base")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 09/25] gnu: Add ocaml-ppx-pipebang.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-9-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-pipebang): New variable.
(ocaml4.07-ppx-pipebang): Inherit from it.
---
gnu/packages/ocaml.scm | 57 +++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 23 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d202d45474..c2924fc59d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5888,35 +5888,46 @@ (define-public ocaml4.07-ppx-sexp-message
context such as function arguments.")
(license license:asl2.0)))
-(define-public ocaml4.07-ppx-pipebang
+(define-public ocaml-ppx-pipebang
(package
- (name "ocaml4.07-ppx-pipebang")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_pipebang-v" version ".tar.gz"))
- (sha256
- (base32
- "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+ (name "ocaml-ppx-pipebang")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_pipebang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0450b3p2rpnnn5yyvbkcd3c33jr2z0dp8blwxddaj2lv7nzl5dzf"))))
(build-system dune-build-system)
- (arguments
- ;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_pipebang")))
+ (arguments `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_pipebang")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-pipebang))))
(home-page "https://github.com/janestreet/ppx_pipebang")
(synopsis "Inline reverse application operators `|>` and `|!`")
(description "A ppx rewriter that inlines reverse application operators
@code{|>} and @code{|!}.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-pipebang
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-pipebang)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_pipebang-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+ (propagated-inputs (list ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-optional
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 10/25] gnu: Add ocaml-ppx-module-timer.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-10-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-module-timer): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c2924fc59d..a5f57fe36f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5929,6 +5929,31 @@ (define-public ocaml4.07-ppx-pipebang
(properties '())
(license license:asl2.0))))
+(define-public ocaml-ppx-module-timer
+ (package
+ (name "ocaml-ppx-module-timer")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_module_timer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)); no tests
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-time-now ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_module_timer")))
+ (home-page "https://github.com/janestreet/ppx_module_timer")
+ (synopsis "Ppx rewriter that records top-level module startup times")
+ (description "Modules using @samp{ppx_module_timer} have instrumentation
+to record their startup time.")
+ (license license:expat)))
+
(define-public ocaml-ppx-optional
(package
(name "ocaml-ppx-optional")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 11/25] gnu: Add ocaml-ppx-fixed-literal.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-11-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-fixed-literal): New variable.
---
gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a5f57fe36f..67902f58b3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5954,6 +5954,31 @@ (define-public ocaml-ppx-module-timer
to record their startup time.")
(license license:expat)))
+(define-public ocaml-ppx-fixed-literal
+ (package
+ (name "ocaml-ppx-fixed-literal")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_fixed_literal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s7rb4dhz4ibhh42a9sfxjj3zbwfyfmaihr92hpdv5j9xqn3n8mi"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f)); no tests
+ (propagated-inputs (list ocaml-base ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_fixed_literal")))
+ (home-page "https://github.com/janestreet/ppx_fixed_literal")
+ (synopsis "Simpler notation for fixed point literals")
+ (description
+ "@samp{ppx-fixed-literal} is a ppx rewriter that rewrites fixed point
+literal of the form 1.0v to conversion functions currently in scope.")
+ (license license:expat)))
+
(define-public ocaml-ppx-optional
(package
(name "ocaml-ppx-optional")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 12/25] gnu: Add ocaml-bin-prot.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-12-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-bin-prot): New variable.
(ocaml4.07-bin-prot): Inherit from it.
---
gnu/packages/ocaml.scm | 75 ++++++++++++++++++++++++++----------------
1 file changed, 47 insertions(+), 28 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 67902f58b3..fbe07fbb21 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5580,33 +5580,30 @@ (define-public ocaml4.07-ppx-custom-printf
"11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))
(properties `((upstream-name . "ppx_custom_printf"))))))
-(define-public ocaml4.07-bin-prot
+(define-public ocaml-bin-prot
(package
- (name "ocaml4.07-bin-prot")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/bin_prot-v" version ".tar.gz"))
- (sha256
- (base32
- "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+ (name "ocaml-bin-prot")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr"))))
(build-system dune-build-system)
- (inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
- ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
- ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (properties `((upstream-name . "bin_prot")))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-compare
+ ocaml-ppx-custom-printf
+ ocaml-ppx-fields-conv
+ ocaml-ppx-optcomp
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-variants-conv))
+ (properties `((upstream-name . "bin_prot")
+ (ocaml4.07-variant . ,(delay ocaml4.07-bin-prot))))
(home-page "https://github.com/janestreet/bin_prot")
(synopsis "Binary protocol generator")
(description "This library contains functionality for reading and writing
@@ -5615,9 +5612,31 @@ (define-public ocaml4.07-bin-prot
structured values at speeds sufficient to saturate a gigabit connection. The
protocol is also heavily optimized for size, making it ideal for long-term
storage of large amounts of data.")
- (license (list
- license:asl2.0
- license:bsd-3))))
+ (license license:expat)))
+
+(define-public ocaml4.07-bin-prot
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-bin-prot)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/bin_prot-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+ (propagated-inputs (list ocaml-base
+ ocaml-ppx-compare
+ ocaml-ppx-custom-printf
+ ocaml-ppx-fields-conv
+ ocaml-ppx-variants-conv
+ ocaml-migrate-parsetree))
+ (properties '())
+ (license (list
+ license:asl2.0
+ license:bsd-3)))))
(define-public ocaml-octavius
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 13/25] gnu: Add ocaml-ppx-bin-prot.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-13-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-bin-prot): New variable.
(ocaml4.07-ppx-bin-prot): Inherit from it.
---
gnu/packages/ocaml.scm | 64 ++++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 24 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fbe07fbb21..14e945df56 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6423,39 +6423,55 @@ (define-public ocaml4.07-ppx-base
("ocaml-ppxlib" ,ocaml-ppxlib)))
(properties `((upstream-name . "ppx_base"))))))
-(define-public ocaml4.07-ppx-bin-prot
+(define-public ocaml-ppx-bin-prot
(package
- (name "ocaml4.07-ppx-bin-prot")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/ppx_bin_prot")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+ (name "ocaml-ppx-bin-prot")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg"))))
(build-system dune-build-system)
(arguments
;; Cyclic dependency with ocaml-ppx-jane
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_bin_prot")))
+ (list ocaml-base ocaml-bin-prot ocaml-ppx-here ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_bin_prot")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bin-prot))))
(home-page "https://github.com/janestreet/ppx_bin_prot")
(synopsis "Generation of bin_prot readers and writers from types")
(description "Generation of binary serialization and deserialization
functions from type definitions.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-bin-prot
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-bin-prot)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bin_prot")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-ppx-bin-prot" version))
+ (sha256
+ (base32
+ "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-bin-prot
+ ocaml-ppx-here
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-jane
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 14/25] gnu: Add ocaml-ppx-bench.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-14-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-bench): New variable.
(ocaml4.07-ppx-bench): Inherit from it.
---
gnu/packages/ocaml.scm | 57 ++++++++++++++++++++++++++----------------
1 file changed, 35 insertions(+), 22 deletions(-)

Toggle diff (77 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 14e945df56..baa269c8ce 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5744,35 +5744,48 @@ (define-public ocaml4.07-ppx-enumerate
"0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
(properties `((upstream-name . "ppx_enumerate"))))))
-(define-public ocaml4.07-ppx-bench
+(define-public ocaml-ppx-bench
(package
- (name "ocaml4.07-ppx-bench")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_bench-v" version ".tar.gz"))
- (sha256
- (base32
- "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+ (name "ocaml-ppx-bench")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bench")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12r7jgqgpb4i4cry3rgyl2nmxcscs5w7mmk06diz7i49r27p96im"))))
(build-system dune-build-system)
(arguments
;; No tests
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_bench")))
+ `(#:tests? #f))
+ (propagated-inputs (list ocaml-ppx-inline-test ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_bench")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bench))))
(home-page "https://github.com/janestreet/ppx_bench")
(synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
(description "Syntax extension for writing in-line benchmarks in ocaml code.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-bench
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-bench)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_bench-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+ (propagated-inputs
+ (list ocaml-ppx-inline-test ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-here
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 16/25] gnu: Add ocaml-ppx-sexp-message.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-16-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-sexp-message): New variable.
(ocaml4.07-ppx-sexp-message): Inherit from it.
---
gnu/packages/ocaml.scm | 61 ++++++++++++++++++++++++++----------------
1 file changed, 38 insertions(+), 23 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ab97ee27d6..942bcab4ad 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5902,38 +5902,53 @@ (define-public ocaml4.07-ppx-sexp-value
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-sexp-message
+(define-public ocaml-ppx-sexp-message
(package
- (name "ocaml4.07-ppx-sexp-message")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_sexp_message-v" version ".tar.gz"))
- (sha256
- (base32
- "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+ (name "ocaml-ppx-sexp-message")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_message")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_sexp_message")))
+ (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_sexp_message")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-message))))
(home-page "https://github.com/janestreet/ppx_sexp_message")
(synopsis "Ppx rewriter for easy construction of s-expressions")
(description "Ppx_sexp_message aims to ease the creation of s-expressions
in OCaml. This is mainly motivated by writing error and debugging messages,
where one needs to construct a s-expression based on various element of the
context such as function arguments.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-sexp-message
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-sexp-message)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_message-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-here
+ ocaml-ppx-sexp-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-pipebang
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 15/25] gnu: Add ocaml-ppx-sexp-value.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-15-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-sexp-value): New variable.
(ocaml4.07-ppx-sexp-value): Inherit from it.
---
gnu/packages/ocaml.scm | 65 ++++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 25 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index baa269c8ce..ab97ee27d6 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5856,36 +5856,51 @@ (define-public ocaml4.07-typerep
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-sexp-value
+(define-public ocaml-ppx-sexp-value
(package
- (name "ocaml4.07-ppx-sexp-value")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_sexp_value-v" version ".tar.gz"))
- (sha256
- (base32
- "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+ (name "ocaml-ppx-sexp-value")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_value")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_sexp_value")))
+ (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_sexp_value")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-value))))
(home-page "https://github.com/janestreet/ppx_sexp_value")
(synopsis "Simplify building s-expressions from ocaml values")
- (description "A ppx rewriter that simplifies building s-expressions from
-ocaml values.")
- (license license:asl2.0)))
+ (description "@samp{ppx-sexp-value} is a ppx rewriter that simplifies
+building s-expressions from ocaml values.")
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-sexp-value
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-sexp-value)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_value-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-here
+ ocaml-ppx-sexp-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-ppx-sexp-message
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 17/25] gnu: Add ocaml-splittable-random.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-17-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-splittable-random): New variable.
(ocaml4.07-splittable-random): Inherit from it.
---
gnu/packages/ocaml.scm | 59 +++++++++++++++++++++++++++---------------
1 file changed, 38 insertions(+), 21 deletions(-)

Toggle diff (82 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 942bcab4ad..ec2d8ab12e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6563,29 +6563,28 @@ (define-public ocaml4.07-ppx-jane
driver including all standard Jane Street ppx rewriters.")
(license license:asl2.0)))
-(define-public ocaml4.07-splittable-random
+(define-public ocaml-splittable-random
(package
- (name "ocaml4.07-splittable-random")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/splittable_random-v" version ".tar.gz"))
- (sha256
- (base32
- "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+ (name "ocaml-splittable-random")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/splittable_random")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (properties `((upstream-name . "splittable_random")))
+ (list ocaml-base
+ ocaml-ppx-assert
+ ocaml-ppx-bench
+ ocaml-ppx-inline-test
+ ocaml-ppx-sexp-message))
+ (properties `((upstream-name . "splittable_random")
+ (ocaml-4.07-variant . ,(delay ocaml4.07-splittable-random))))
(home-page "https://github.com/janestreet/splittable_random")
(synopsis "PRNG that can be split into independent streams")
(description "This package provides a splittable
@@ -6595,7 +6594,25 @@ (define-public ocaml4.07-splittable-random
This library implements a splittable pseudo-random number generator that sacrifices
cryptographic-quality randomness in favor of performance.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-splittable-random
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-splittable-random)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/splittable_random-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+ (propagated-inputs
+ (list ocaml-base ocaml4.07-ppx-jane ocaml-migrate-parsetree))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml4.07-jane-street-headers
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 18/25] gnu: Add ocaml-base-quickcheck.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-18-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-base-quickcheck): New variable.
---
gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ec2d8ab12e..a57ec2b05f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6614,6 +6614,39 @@ (define-public ocaml4.07-splittable-random
(properties '())
(license license:asl2.0))))
+(define-public ocaml-base-quickcheck
+ (package
+ (name "ocaml-base-quickcheck")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/base_quickcheck")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-ppx-base
+ ocaml-ppx-fields-conv
+ ocaml-ppx-let
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-splittable-random
+ ocaml-ppxlib))
+ (properties `((upstream-name . "base_quickcheck")))
+ (home-page "https://github.com/janestreet/base_quickcheck")
+ (synopsis
+ "Randomized testing framework, designed for compatibility with Base")
+ (description
+ "@samp{base-quickcheck} provides randomized testing in the style of
+Haskell's Quickcheck library, with support for built-in types as well as
+types provided by Base.")
+ (license license:expat)))
+
(define-public ocaml4.07-jane-street-headers
(package
(name "ocaml4.07-jane-street-headers")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 21/25] gnu: Add ocaml-base-bigstring.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-21-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-base-bigstring): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3e5c7e8bf2..ba21f76759 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6612,6 +6612,28 @@ (define-public ocaml4.07-ppx-jane
(properties '())
(license license:asl2.0))))
+(define-public ocaml-base-bigstring
+ (package
+ (name "ocaml-base-bigstring")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/base_bigstring")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ald2m7qywhxbygv58dzpgaj54p38zn0aiqd1z7i95kf3bsnsjqa"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-base ocaml-ppx-jane))
+ (properties `((upstream-name . "base_bigstring")))
+ (home-page "https://github.com/janestreet/base_bigstring")
+ (synopsis "String type based on [Bigarray], for use in I/O and C-bindings")
+ (description "This package provides string type based on [Bigarray], for
+use in I/O and C-bindings.")
+ (license license:expat)))
+
(define-public ocaml-splittable-random
(package
(name "ocaml-splittable-random")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 20/25] gnu: Add ocaml-ppx-jane.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-20-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-jane): New variable.
(ocaml4.07-ppx-jane): Inherit from it.
---
gnu/packages/ocaml.scm | 116 +++++++++++++++++++++++++++--------------
1 file changed, 77 insertions(+), 39 deletions(-)

Toggle diff (144 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1c81f2de1c..3e5c7e8bf2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6527,52 +6527,90 @@ (define-public ocaml4.07-ppx-bin-prot
(properties '())
(license license:asl2.0))))
-(define-public ocaml4.07-ppx-jane
+(define-public ocaml-ppx-jane
(package
- (name "ocaml4.07-ppx-jane")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_jane-v" version ".tar.gz"))
- (sha256
- (base32
- "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+ (name "ocaml-ppx-jane")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_jane")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:test-target "."))
(propagated-inputs
- `(("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
- ("ocaml-ppx-bench" ,ocaml4.07-ppx-bench)
- ("ocaml-ppx-bin-prot" ,ocaml4.07-ppx-bin-prot)
- ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
- ("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))
- ("ocaml-ppx-fail" ,ocaml4.07-ppx-fail)
- ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-ppx-let" ,(package-with-ocaml4.07 ocaml-ppx-let))
- ("ocaml-ppx-optcomp" ,(package-with-ocaml4.07 ocaml-ppx-optcomp))
- ("ocaml-ppx-optional" ,(package-with-ocaml4.07 ocaml-ppx-optional))
- ("ocaml-ppx-pipebang" ,ocaml4.07-ppx-pipebang)
- ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
- ("ocaml-ppx-sexp-value" ,ocaml4.07-ppx-sexp-value)
- ("ocaml-ppx-typerep-conv" ,ocaml4.07-ppx-typerep-conv)
- ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_jane")))
+ (list ocaml-base-quickcheck
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-bench
+ ocaml-ppx-bin-prot
+ ocaml-ppx-custom-printf
+ ocaml-ppx-expect
+ ocaml-ppx-fields-conv
+ ocaml-ppx-fixed-literal
+ ocaml-ppx-here
+ ocaml-ppx-inline-test
+ ocaml-ppx-let
+ ocaml-ppx-module-timer
+ ocaml-ppx-optcomp
+ ocaml-ppx-optional
+ ocaml-ppx-pipebang
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-ppx-stable
+ ocaml-ppx-string
+ ocaml-ppx-typerep-conv
+ ocaml-ppx-variants-conv
+ ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_jane")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-jane))))
(home-page "https://github.com/janestreet/ppx_jane")
(synopsis "Standard Jane Street ppx rewriters")
(description "This package installs a ppx-jane executable, which is a ppx
driver including all standard Jane Street ppx rewriters.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-jane
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-jane)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_jane-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+ (propagated-inputs
+ (list ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-bench
+ ocaml-ppx-bin-prot
+ ocaml-ppx-custom-printf
+ ocaml-ppx-expect
+ ocaml-ppx-fail
+ ocaml-ppx-fields-conv
+ ocaml-ppx-here
+ ocaml-ppx-inline-test
+ ocaml-ppx-let
+ ocaml-ppx-optcomp
+ ocaml-ppx-optional
+ ocaml-ppx-pipebang
+ ocaml-ppx-sexp-message
+ ocaml-ppx-sexp-value
+ ocaml-ppx-typerep-conv
+ ocaml-ppx-variants-conv
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-splittable-random
(package
@@ -6621,7 +6659,7 @@ (define-public ocaml4.07-splittable-random
(base32
"0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
(propagated-inputs
- (list ocaml-base ocaml4.07-ppx-jane ocaml-migrate-parsetree))
+ (list ocaml-base ocaml-ppx-jane ocaml-migrate-parsetree))
(properties '())
(license license:asl2.0))))
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:22
[PATCH v2 19/25] gnu: Add ocaml-ppx-fail.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-19-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-ppx-fail): New variable.
(ocaml4.07-ppx-fail): Inherit from it.
---
gnu/packages/ocaml.scm | 57 +++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 23 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a57ec2b05f..1c81f2de1c 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6139,35 +6139,46 @@ (define-public ocaml4.07-ppx-let
(properties `((upstream-name . "ppx_let"))))))
-(define-public ocaml4.07-ppx-fail
+(define-public ocaml-ppx-fail
(package
- (name "ocaml4.07-ppx-fail")
- (version "0.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
- (version-major+minor version)
- "/files/ppx_fail-v" version ".tar.gz"))
- (sha256
- (base32
- "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+ (name "ocaml-ppx-fail")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_fail")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "012p9gv7w4sk3b4x0sdmqrmr2856w8xc424waxb6vrybid7qjs95"))))
(build-system dune-build-system)
- (arguments
- `(#:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
- (propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
- (properties `((upstream-name . "ppx_fail")))
+ (propagated-inputs (list ocaml-base ocaml-ppx-here ocaml-ppxlib))
+ (properties `((upstream-name . "ppx_fail")
+ (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fail))))
(home-page "https://github.com/janestreet/ppx_fail")
(synopsis "Add location to calls to failwiths")
(description "Syntax extension that makes [failwiths] always include a
position.")
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-ppx-fail
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-ppx-fail)
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_fail-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+ (propagated-inputs
+ (list ocaml-base ocaml-ppx-here ocaml-migrate-parsetree ocaml-ppxlib))
+ (properties '())
+ (license license:asl2.0))))
(define-public ocaml-ppx-cold
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 23/25] gnu: Add ocaml-timezone.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-23-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-timezone): New variable.
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index be6477edbe..c1e30ba88f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6976,6 +6976,28 @@ (define-public ocaml4.07-core-kernel
;; MLton and sjs
license:expat)))))
+(define-public ocaml-timezone
+ (package
+ (name "ocaml-timezone")
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/timezone")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zf075k94nk2wxnzpxia7pnm655damwp1b58xf2s9disia1ydxg7"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-core-kernel ocaml-ppx-jane))
+ (home-page "https://github.com/janestreet/timezone")
+ (synopsis "Time-zone handling")
+ (description
+ "Timezone handles parsing timezone data and create @code{Timezone.t}
+that can later be used to manipulate time in core_kernel or core.")
+ (license license:expat)))
+
(define-public ocaml-markup
(package
(name "ocaml-markup")
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 22/25] gnu: Add ocaml-core-kernel.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-22-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-core-kernel): New variable.
(ocaml4.07-core-kernel): Inherit from it.
---
gnu/packages/ocaml.scm | 118 +++++++++++++++++++++++++++--------------
1 file changed, 77 insertions(+), 41 deletions(-)

Toggle diff (142 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index ba21f76759..be6477edbe 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6887,58 +6887,94 @@ (define-public ocaml4.07-core
;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
(license license:asl2.0)))
-(define-public ocaml4.07-core-kernel
+(define-public ocaml-core-kernel
(package
- (name "ocaml4.07-core-kernel")
- (version "0.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/core_kernel")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+ (name "ocaml-core-kernel")
+ (version "0.14.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core_kernel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vxv9rq6m52n60gprm4sqjj1i1p4dd4sgns068hkp9g558d8zdjx"))))
(build-system dune-build-system)
(arguments
;; Cyclic dependency with ocaml-core
- `(#:tests? #f
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
- ("ocaml-configurator" ,ocaml4.07-configurator)
- ("ocaml-fieldslib" ,(package-with-ocaml4.07 ocaml-fieldslib))
- ("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
- ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
- ("ocaml-ppx-hash" ,(package-with-ocaml4.07 ocaml-ppx-hash))
- ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
- ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
- ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
- ("ocaml-splittable-random" ,ocaml4.07-splittable-random)
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-typerep" ,ocaml4.07-typerep)
- ("ocaml-variantslib" ,(package-with-ocaml4.07 ocaml-variantslib))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
- (properties `((upstream-name . "core_kernel")))
+ (list ocaml-base
+ ocaml-base-bigstring
+ ocaml-base-quickcheck
+ ocaml-bin-prot
+ ocaml-fieldslib
+ ocaml-jane-street-headers
+ ocaml-jst-config
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-hash
+ ocaml-ppx-inline-test
+ ocaml-ppx-jane
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-sexp-message
+ ocaml-sexplib
+ ocaml-splittable-random
+ ocaml-stdio
+ ocaml-time-now
+ ocaml-typerep
+ ocaml-variantslib
+ ocaml-ppx-optcomp))
+ (properties `((upstream-name . "core_kernel")
+ (ocaml4.07-variant . ,(delay ocaml4.07-core-kernel))))
(home-page "https://github.com/janestreet/core_kernel")
(synopsis "Portable standard library for OCaml")
(description "Core is an alternative to the OCaml standard library.
Core_kernel is the system-independent part of Core. It is aimed for cases when
the full Core is not available, such as in Javascript.")
- (license (list
- ;; this package and parts of OCaml, relicensed by janestreet
- license:asl2.0
- ;; MLton and sjs
- license:expat))))
+ (license license:expat)))
+
+(define-public ocaml4.07-core-kernel
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-core-kernel)
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core_kernel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-core-kernel" version))
+ (sha256
+ (base32
+ "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml-bin-prot
+ ocaml4.07-configurator
+ ocaml-fieldslib
+ ocaml-jane-street-headers
+ ocaml-ppx-assert
+ ocaml-ppx-base
+ ocaml-ppx-hash
+ ocaml-ppx-inline-test
+ ocaml-ppx-jane
+ ocaml-ppx-sexp-conv
+ ocaml-ppx-sexp-message
+ ocaml-sexplib
+ ocaml-splittable-random
+ ocaml-stdio
+ ocaml-typerep
+ ocaml-variantslib
+ ocaml-migrate-parsetree))
+ (properties '())
+ (license (list
+ ;; this package and parts of OCaml, relicensed by janestreet
+ license:asl2.0
+ ;; MLton and sjs
+ license:expat)))))
(define-public ocaml-markup
(package
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 24/25] gnu: ocaml-jane-street-headers: Add variant.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-24-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-jane-street-heaers)[properties]: Add
ocaml4.07 variant.
---
gnu/packages/ocaml.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c1e30ba88f..e3092e8434 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4476,6 +4476,7 @@ (define-public ocaml-jane-street-headers
"028yxb4h3iy025iy89v8653m5brh7flrjshghs4x99pd690pmfs7"))
(build-system dune-build-system)
(arguments '(#:tests? #f)) ; no tests
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-jane-street-headers))))
(home-page "https://github.com/janestreet/jane-street-headers")
(synopsis "Jane Street C header files")
(description "C header files shared between the various Jane Street
--
2.34.0
Z
Z
zimoun wrote on 8 Apr 2022 15:23
[PATCH v2 25/25] gnu: Add ocaml-core.
(address . 53882@debbugs.gnu.org)(name . Julien Lepiller)(address . julien@lepiller.eu)
20220408132305.3301350-25-zimon.toutoune@gmail.com
From: Julien Lepiller <julien@lepiller.eu>

* gnu/packages/ocaml.scm (ocaml-core): New variable.
(ocaml4.07-core): Inherit from it.
---
gnu/packages/ocaml.scm | 79 ++++++++++++++++++++++++++----------------
1 file changed, 50 insertions(+), 29 deletions(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e3092e8434..2cfe94106d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6848,45 +6848,66 @@ (define-public ocaml4.07-spawn
(propagated-inputs '())
(properties '()))))
-(define-public ocaml4.07-core
+(define-public ocaml-core
(package
- (name "ocaml4.07-core")
- (version "0.11.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/janestreet/core")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+ (name "ocaml-core")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82"))))
(build-system dune-build-system)
(arguments
`(#:package "core"
- #:tests? #f; Require a cyclic dependency: core_extended
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib
- #:dune ,ocaml4.07-dune))
+ #:tests? #f)); Require a cyclic dependency: core_extended
(propagated-inputs
- `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
- ("ocaml-configurator" ,ocaml4.07-configurator)
- ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
- ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
- ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
- ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
- ("ocaml-spawn" ,ocaml4.07-spawn)
- ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
- ("ocaml-migrate-parsetree"
- ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
- ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
+ (list ocaml-core-kernel
+ ocaml-jst-config
+ ocaml-ppx-jane
+ ocaml-sexplib
+ ocaml-timezone
+ ocaml-spawn))
(home-page "https://github.com/janestreet/core")
(synopsis "Alternative to OCaml's standard library")
(description "The Core suite of libraries is an alternative to OCaml's
standard library that was developed by Jane Street.")
- ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+ ;; Also contains parts of OCaml, relicensed to expat, as permitted
;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
- (license license:asl2.0)))
+ (license license:expat)))
+
+(define-public ocaml4.07-core
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-core)
+ (version "0.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "ocaml4.07-core" version))
+ (sha256
+ (base32
+ "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+ (propagated-inputs
+ (list ocaml-base
+ ocaml4.07-configurator
+ ocaml-core-kernel
+ ocaml-ppx-assert
+ ocaml-ppx-jane
+ ocaml-sexplib
+ ocaml-spawn
+ ocaml-stdio
+ ocaml-migrate-parsetree
+ ocaml-ppxlib))
+ ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+ ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
+ (license license:asl2.0))))
(define-public ocaml-core-kernel
(package
--
2.34.0
L
L
Ludovic Courtès wrote on 11 Apr 2022 12:19
Re: bug#53882: [PATCH] gnu: Add ocaml-core.
(name . zimoun)(address . zimon.toutoune@gmail.com)
87v8vfkjlj.fsf_-_@gnu.org
Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

Toggle quote (19 lines)
> The aim of this series is:
>
> This patch series adds ocaml-core. It's one of the missing
> dependencies for bap. Adding this will get us closer to being able to
> update bap, and getting rid of its ocaml4.07 dependencies.
>
> The first two patches modify the importer, and I needed them to import
> the packages. The following patches are dependencies of ocaml-core.
> All of them follow the same principle: add the package and make the
> ocaml4.07 variant inherit from it. The derivation for most of these
> variants stay the same.
>
> and the first patch comes from #54596 fixing ocaml-odoc broken by the recent
> change about dune.
>
>
> All LTGM! I fixed minor typos and lint. Some descriptions would need a
> better wording but hey. :-)

Pushed the whole thing as 24851bf6f9afa29074b4b88f990704b2f386e202.

Thanks to the three of you!

Ludo’.
Closed
?