unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#45498] [PATCH 00/12] Add ocaml-merlin.
@ 2020-12-28 12:40 pukkamustard
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                   ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:40 UTC (permalink / raw)
  To: 45498; +Cc: 34412

Hi Guix,

This adds ocaml-merlin, a development tool for OCaml (and dependencies).

Some notes and questions:

- ocaml4.07-merlin is already available (version 3.2.2). This version has not
  been updated (but changed to inherit from ocaml-merlin).

- There are many ocaml4.07-* packages in Guix. The reason for this is that
  some packages need to be built with OCaml 4.07 but some newer versions of
  libraries do no longer support OCaml 4.07 (or the old version of dune),
  requiring older versions of the same packages. See also commit message
  9ada1555.

  This is quite cumbersome as two trees of OCaml packages need to be
  maintained.

  A nice solution would be to upgrade packages requiring OCaml 4.07 to also
  build with the default OCaml (4.11). Packages that are not dependencies of
  other packages that require OCaml 4.07 seem to be: `bap`, `ocaml-earley` and
  `pplacer`. Maybe this should be opened as an issue?

- Some OCaml libraries have dependencies in `inputs` that seem to be required
  from packages using the libraries.  E.g. `ocaml-yojson` depends on
  `ocaml-biniou`. Packages depending on `ocaml-yojson` need to manually add
  `ocaml-biniou` to their inputs. Would it work/make sense to add
  `ocaml-biniou` to `propagated-inputs` of `ocaml-yojson`?

- Test for ocaml-merlin (version 3.4.2) work. This resolves issue #34412
  (alltough ocaml4.07-merlin still can not run tests).

Thanks!
-pukkamustard

pukkamustard (12):
  gnu: Remove ocaml-js-build-tools.
  gnu: Add ocaml-sexplib.
  gnu: Add ocaml-base.
  gnu: Add ocaml-parsexp.
  gnu: Add ocaml-sexplib.
  gnu: Add ocaml-ounit2.
  gnu: ocaml-tyxml: Update to 4.4.0.
  gnu: ocaml-markup: Update to 1.0.0.
  gnu: Add ocaml-odoc.
  gnu: Add ocaml-version.
  gnu: Add ocaml-mdx.
  gnu: Add ocaml-merlin.

 gnu/packages/ocaml.scm | 527 ++++++++++++++++++++++++++++-------------
 1 file changed, 359 insertions(+), 168 deletions(-)

-- 
2.29.2





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

* [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools.
  2020-12-28 12:40 [bug#45498] [PATCH 00/12] Add ocaml-merlin pukkamustard
@ 2020-12-28 12:47 ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib pukkamustard
                     ` (10 more replies)
  2020-12-28 14:06 ` [bug#34412] [bug#45498] [PATCH 00/12] " Julien Lepiller
  2020-12-30 13:29 ` bug#45498: [PATCH 00/12] " Julien Lepiller
  2 siblings, 11 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

The package is deprecated and no longer maintained. It is recommended
to use dune instead.

* gnu/packages/ocaml.xyz (ocaml-js-build-tools, janestreet-origin,
janestreet-arguments): Remove variable.
---
 gnu/packages/ocaml.scm | 65 +-----------------------------------------
 1 file changed, 1 insertion(+), 64 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2bfda7307e..aa9dfb3dae 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -92,47 +93,6 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
-;; Janestreet packages are found in a similar way and all need the same patch.
-(define (janestreet-origin name version hash)
-  (origin (method url-fetch)
-          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/"
-                              (version-major+minor version) "/files/"
-                              name "-" version ".tar.gz"))
-          (sha256 (base32 hash))
-          (modules '((guix build utils)))
-          (snippet
-           (let ((pattern (string-append "lib/" name)))
-             `(begin
-                ;; install.ml contains an invalid reference to the ppx file and
-                ;; propagates this error to the generated META file.  It
-                ;; looks for it in the "lib" directory, but it is installed in
-                ;; "lib/ocaml/site-lib/package".  This substitute does not change
-                ;; this file for non ppx packages.
-                (substitute* "install.ml"
-                  ((,pattern) (string-append "lib/ocaml/site-lib/" ,name)))
-                ;; The standard Makefile would try to install janestreet modules
-                ;; in OCaml's directory in the store, which is read-only.
-                (substitute* "Makefile"
-                  (("--prefix")
-                   "--libdir $(LIBDIR) --prefix"))
-                #t)))))
-
-;; They also require almost the same set of arguments
-(define janestreet-arguments
-  `(#:use-make? #t
-    #:make-flags
-    (list (string-append "CONFIGUREFLAGS=--prefix "
-                         (assoc-ref %outputs "out")
-                         " --enable-tests")
-          (string-append "LIBDIR="
-                         (assoc-ref %outputs "out")
-                         "/lib/ocaml/site-lib")
-          ;; for ocaml-bin-prot, otherwise ignored
-          (string-append "OCAML_TOPLEVEL_PATH="
-                         (assoc-ref %build-inputs "findlib")
-                         "/lib/ocaml/site-lib"))
-    #:phases (modify-phases %standard-phases (delete 'configure))))
-
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -2715,29 +2675,6 @@ system in your OCaml projects.  It helps to create standard entry points in your
 build system and allows external tools to analyse your project easily.")
     (license license:lgpl2.1+))) ; with ocaml static compilation exception
 
-(define-public ocaml-js-build-tools
-  (package
-    (name "ocaml-js-build-tools")
-    (version "113.33.06")
-    (source (janestreet-origin "js-build-tools" version
-              "0r8z4fz8iy5y6hkdlkpwf6rk4qigcr3dzyv35585xgg2ahf12zy6"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("ocamlbuild" ,ocamlbuild)
-       ("opam" ,opam)))
-    (build-system ocaml-build-system)
-    (arguments janestreet-arguments)
-    (home-page "https://github.com/janestreet/js-build-tools")
-    (synopsis "Collection of tools to help building Jane Street Packages")
-    (description "This package contains tools to help building Jane Street
-packages, but can be used for other purposes.  It contains:
-@enumerate
-@item an @command{oasis2opam-install} tool to produce a @file{.install} file
-from the oasis build log
-@item a @code{js_build_tools} ocamlbuild plugin with various goodies.
-@end enumerate")
-    (license license:asl2.0)))
-
 (define-public ocaml-cppo
   (package
     (name "ocaml-cppo")
-- 
2.29.2





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

* [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 03/12] gnu: Add ocaml-base pukkamustard
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib0): New variable.
  (ocaml4.07-sexplib0): Inherit from ocaml-sexplib0.
  (janestreet-origin): New variable.
---
 gnu/packages/ocaml.scm | 46 +++++++++++++++++++++++++-----------------
 1 file changed, 28 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index aa9dfb3dae..917a82c514 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -93,6 +93,14 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
+(define (janestreet-origin name version hash)
+  (origin (method url-fetch)
+          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                              (version-major+minor version) "/files/"
+                              name "-v" (version-major+minor+point version)
+                              ".tar.gz"))
+          (sha256 (base32 hash))))
+
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -4027,33 +4035,35 @@ an arbitrary number of processes.  Cache coherence protocols and mutual
 exclusion algorithms are typical examples of such systems.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-sexplib0
+(define-public ocaml-sexplib0
   (package
-    (name "ocaml4.07-sexplib0")
-    (version "0.11.0")
+    (name "ocaml-sexplib0")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib0")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi"))))
+     (janestreet-origin "sexplib0" version
+                        "0adrc0r1vvvr41dcpj8jwkzh1dfgqf0mks9xlnnskqfm3a51iavg"))
     (build-system dune-build-system)
-    (arguments
-     `(#:tests? #f ;no tests
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+    (arguments `(#:tests? #f)) ;no tests
     (synopsis "Library containing the definition of S-expressions and some
 base converters")
     (description "Part of Jane Street's Core library The Core suite of
 libraries is an industrial strength alternative to OCaml's standard library
 that was developed by Jane Street, the largest industrial user of OCaml.")
-(license license:expat)))
+    (license license:expat)))
+
+(define-public ocaml4.07-sexplib0
+  (package (inherit ocaml-sexplib0)
+    (name "ocaml4.07-sexplib0")
+    (version "0.11.0")
+    (source
+     (janestreet-origin "sexplib0" version
+                        "1p06p2s7p9xsjn0z9qicniv1ai54d8sj11k8j633di2mm7jzxpin"))
+    (arguments
+     `(#:tests? #f ;no tests
+       #:ocaml ,ocaml-4.07
+       #:findlib ,ocaml4.07-findlib
+       #:dune ,ocaml4.07-dune))))
 
 (define-public ocaml4.07-parsexp
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH 03/12] gnu: Add ocaml-base.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 04/12] gnu: Add ocaml-parsexp pukkamustard
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-base): New variable.
  (ocaml4.07-base): Inherit from ocaml-base.
---
 gnu/packages/ocaml.scm | 48 ++++++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 917a82c514..36137e9d78 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4146,22 +4146,47 @@ parsexp_io.")
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
-(define-public ocaml4.07-base
+(define-public ocaml-base
   (package
+    (name "ocaml-base")
+    (version "0.14.0")
+    (home-page "https://github.com/janestreet/base")
+    (source
+     (janestreet-origin "base" version
+         "1rkdhsgbcv0a8p29mwvpd2ldz8cjk97pixl43izm54wyin4lp778"))
+    (build-system dune-build-system)
+    (propagated-inputs
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (arguments '())
+    (synopsis
+     "Full standard library replacement for OCaml")
+    (description
+     "Base is a complete and portable alternative to the OCaml standard
+library.  It provides all standard functionalities one would expect
+from a language standard library.  It uses consistent conventions
+across all of its module.
+
+Base aims to be usable in any context.  As a result system dependent
+features such as I/O are not offered by Base.  They are instead
+provided by companion libraries such as
+@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
+    (license license:expat)))
+
+(define-public ocaml4.07-base
+  (package (inherit ocaml-base)
     (name "ocaml4.07-base")
     (version "0.11.1")
-    (home-page "https://github.com/janestreet/base")
     (source
      (origin
+       ;; version 0.11.1 is not released on ocaml.janestreet.org.
        (method git-fetch)
        (uri (git-reference
-             (url (string-append home-page ".git"))
+             (url "https://github.com/janestreet/base.git")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
-    (build-system dune-build-system)
     (propagated-inputs
      `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
     (arguments
@@ -4173,20 +4198,7 @@ functionality for parsing and pretty-printing s-expressions.")
              (invoke "dune" "build" "@install" "--profile=release"))))
        #:ocaml ,ocaml-4.07
        #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-  (synopsis
-    "Full standard library replacement for OCaml")
-  (description
-    "Base is a complete and portable alternative to the OCaml standard
-library.  It provides all standard functionalities one would expect
-from a language standard library.  It uses consistent conventions
-across all of its module.
-
-Base aims to be usable in any context.  As a result system dependent
-features such as I/O are not offered by Base.  They are instead
-provided by companion libraries such as
-@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
-  (license license:expat)))
+       #:dune ,ocaml4.07-dune))))
 
 (define-public ocaml4.07-compiler-libs
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH 04/12] gnu: Add ocaml-parsexp.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 03/12] gnu: Add ocaml-base pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 05/12] gnu: Add ocaml-sexplib pukkamustard
                     ` (7 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 36137e9d78..f6488a0e23 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4065,28 +4065,18 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))))
 
-(define-public ocaml4.07-parsexp
+(define-public ocaml-parsexp
   (package
-    (name "ocaml4.07-parsexp")
-    (version "0.11.0")
+    (name "ocaml-parsexp")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/parsexp")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz"))))
+     (janestreet-origin "parsexp" version
+                        "158znj19dvfdcwsgzs3rdhxpj1g4aw0d4nkfr8c05bahf0lnshlb"))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-base" ,ocaml-base)))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -4115,6 +4105,20 @@ s-expressions from files or other external sources, you should use
 parsexp_io.")
     (license license:expat)))
 
+(define-public ocaml4.07-parsexp
+  (package (inherit ocaml-parsexp)
+    (name "ocaml4.07-parsexp")
+    (version "0.11.0")
+    (source
+     (janestreet-origin "parsexp" version
+                        "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
+    (arguments
+     `(#:ocaml ,ocaml-4.07
+       #:findlib ,ocaml4.07-findlib
+       #:dune ,ocaml4.07-dune))
+    (inputs
+     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))))
+
 (define-public ocaml4.07-sexplib
   (package
     (name "ocaml4.07-sexplib")
-- 
2.29.2





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

* [bug#45498] [PATCH 05/12] gnu: Add ocaml-sexplib.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (2 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 04/12] gnu: Add ocaml-parsexp pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 06/12] gnu: Add ocaml-ounit2 pukkamustard
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib): New variable.
  (ocaml4.07-sexplib): Inherit from ocaml-sexplib.
---
 gnu/packages/ocaml.scm | 44 ++++++++++++++++++++++++------------------
 1 file changed, 25 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f6488a0e23..09bbc71803 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4119,22 +4119,34 @@ parsexp_io.")
     (inputs
      `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))))
 
-(define-public ocaml4.07-sexplib
+(define-public ocaml-sexplib
   (package
-    (name "ocaml4.07-sexplib")
-    (version "0.11.0")
+    (name "ocaml-sexplib")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb"))))
+     (janestreet-origin "sexplib" version
+                        "12rlnc6fcrjfdn3gs2agi418sj54ighhs6dfll37zcv7mgywblm2"))
     (build-system dune-build-system)
+    (propagated-inputs
+     `(("ocaml-base" ,ocaml-base)
+       ("ocaml-num" ,ocaml-num)
+       ("ocaml-parsexp" ,ocaml-parsexp)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (synopsis
+     "Library for serializing OCaml values to and from S-expressions")
+    (description
+     "This package is part of Jane Street's Core library.  Sexplib contains
+functionality for parsing and pretty-printing s-expressions.")
+    (license license:expat)))
+
+(define-public ocaml4.07-sexplib
+  (package (inherit ocaml-sexplib)
+    (name "ocaml4.07-sexplib")
+    (version "0.11.0")
+    (source
+     (janestreet-origin "sexplib" version
+                        "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
     (arguments
      `(#:ocaml ,ocaml-4.07
        #:findlib ,ocaml4.07-findlib
@@ -4142,13 +4154,7 @@ parsexp_io.")
     (propagated-inputs
      `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
        ("ocaml-parsexp" ,ocaml4.07-parsexp)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
-    (synopsis
-     "Library for serializing OCaml values to and from S-expressions")
-    (description
-     "This package is part of Jane Street's Core library. Sexplib contains
-functionality for parsing and pretty-printing s-expressions.")
-    (license license:expat)))
+       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))))
 
 (define-public ocaml-base
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH 06/12] gnu: Add ocaml-ounit2.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (3 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 05/12] gnu: Add ocaml-sexplib pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 07/12] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
                     ` (5 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 09bbc71803..6b18479382 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -981,6 +981,32 @@ compilers that can directly deal with packages.")
      `(("m4" ,m4)
        ("ocaml" ,ocaml-4.09)))))
 
+(define-public ocaml-ounit2
+  (package
+    (name "ocaml-ounit2")
+    (version "2.2.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gildor478/ounit.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gxjw1bhmjcjzri6x6psqrkbbyq678b69bqfl9i1zswp7cj2lryg"))))
+    (build-system dune-build-system)
+    (inputs
+     ;; XXX Should libev be a propagated-input of ocaml-lwt?
+     `(("libev" ,libev)))
+    (propagated-inputs
+     `(("lwt" ,ocaml-lwt)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
+    (home-page "https://github.com/gildor478/ounit")
+    (synopsis "Unit testing framework for OCaml")
+    (description "Unit testing framework for OCaml.  It is similar to JUnit and
+other XUnit testing frameworks.")
+    (license license:expat)))
+
 ;; note that some tests may hang for no obvious reason.
 (define-public ocaml-ounit
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH 07/12] gnu: ocaml-tyxml: Update to 4.4.0.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (4 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 06/12] gnu: Add ocaml-ounit2 pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6b18479382..bbdf65892e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5587,7 +5587,7 @@ stream, and convert everything to UTF-8.")
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
-    (version "4.3.0")
+    (version "4.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5597,7 +5597,7 @@ stream, and convert everything to UTF-8.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wv19xipkj8l2sks1h53105ywbjwk7q93fb7b8al4a2g9wr109c0"))))
+         "1hw4phyadcfgywgh5sj87i76gp56qwxzwlcpfdwjbf6ggag9clmd"))))
     (build-system dune-build-system)
     (inputs
      `(("ocaml-re" ,ocaml-re)
-- 
2.29.2





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

* [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (5 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 07/12] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 13:58     ` Julien Lepiller
  2020-12-28 12:47   ` [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc pukkamustard
                     ` (3 subsequent siblings)
  10 siblings, 1 reply; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-markup): Update to 1.0.0.
  (ocaml-markup0.8.0): New variable.
  (ocaml4.07-tyxml): New variable.
  (ocaml4.07-odoc)[inputs]: Replace ocaml-tyxml with ocaml4.07-tyxml and
        ocaml-markup with ocaml-markup0.8.0.
---
 gnu/packages/ocaml.scm | 40 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bbdf65892e..6714c266d1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5538,7 +5538,7 @@ the full Core is not available, such as in Javascript.")
 (define-public ocaml-markup
   (package
     (name "ocaml-markup")
-    (version "0.8.2")
+    (version "1.0.0")
     (home-page "https://github.com/aantron/markup.ml")
     (source
      (origin
@@ -5549,7 +5549,7 @@ the full Core is not available, such as in Javascript.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "13zcrwzjmifniv3bvjbkd2ah8wwa3ld75bxh1d8hrzdvfxzh9szn"))))
+         "09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9"))))
     (build-system dune-build-system)
     (arguments
      `(#:package "markup"))
@@ -5561,7 +5561,7 @@ the full Core is not available, such as in Javascript.")
        ("ocaml-uutf" ,ocaml-uutf)
        ("ocaml-lwt" ,ocaml-lwt)))
     (native-inputs
-     `(("ocaml-ounit" ,ocaml-ounit)
+     `(("ocaml-ounit2" ,ocaml-ounit2)
        ("pkg-config" ,pkg-config)))
     (synopsis "Error-recovering functional HTML5 and XML parsers and writers")
     (description "Markup.ml provides an HTML parser and an XML parser.  The
@@ -5584,6 +5584,25 @@ a single pass.  They automatically detect the character encoding of the input
 stream, and convert everything to UTF-8.")
     (license license:bsd-3)))
 
+;; ocaml-markup 1.0.0 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml-markup0.8.0
+  (package
+    (inherit ocaml-markup)
+    (name "ocaml-markup")
+    (version "0.8.0")
+    (home-page "https://github.com/aantron/markup.ml")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))))
+
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
@@ -5619,6 +5638,17 @@ also create your own representation and use it to instantiate a new set of
 combinators.")
     (license license:lgpl2.1)))
 
+(define-public ocaml4.07-tyxml
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-tyxml)
+     (inputs
+      `(("ocaml-re" ,ocaml-re)
+        ("ocaml-seq" ,ocaml-seq)
+        ("ocaml-uutf" ,ocaml-uutf)
+        ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+        ("ocaml-markup" ,ocaml-markup0.8.0))))))
+
 (define-public ocaml-bisect-ppx
   (package
     (name "ocaml-bisect-ppx")
@@ -5681,7 +5711,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
        #:dune ,ocaml4.07-dune))
     (inputs
      `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
-       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
+       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup0.8.0))
        ("ocaml-sexplib" ,ocaml4.07-sexplib)
        ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
        ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
@@ -5691,7 +5721,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
        ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo))
        ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
        ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-tyxml" ,(package-with-ocaml4.07 ocaml-tyxml))
+       ("ocaml-tyxml" ,ocaml4.07-tyxml)
        ("ocaml-bisect-ppx" ,(package-with-ocaml4.07 ocaml-bisect-ppx))))
     (home-page "https://github.com/ocaml/odoc")
     (synopsis "OCaml documentation generator")
-- 
2.29.2





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

* [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (6 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 14:02     ` Julien Lepiller
  2020-12-28 12:47   ` [bug#45498] [PATCH 10/12] gnu: Add ocaml-version pukkamustard
                     ` (2 subsequent siblings)
  10 siblings, 1 reply; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-odoc): New variable.
  (ocaml4.07-odoc): Inherit from ocaml-odoc and update to 1.5.1.
---
 gnu/packages/ocaml.scm | 70 ++++++++++++++++++++++++++++++------------
 1 file changed, 50 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6714c266d1..3d94f7c221 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages virtualization)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -5691,10 +5692,10 @@ Usage is simple - add package bisect_ppx when building tests, run your tests,
 then run the Bisect_ppx report tool on the generated visitation files.")
     (license license:mpl2.0)))
 
-(define-public ocaml4.07-odoc
+(define-public ocaml-odoc
   (package
-    (name "ocaml4.07-odoc")
-    (version "1.4.2")
+    (name "ocaml-odoc")
+    (version "1.5.2")
     (source
      (origin
        (method git-fetch)
@@ -5703,26 +5704,23 @@ then run the Bisect_ppx report tool on the generated visitation files.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i"))))
+        (base32 "0fqfyz48q7ss5bc4c5phmp4s3ka3vc08b8gfk8fvyryvb4bq27jm"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
-       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup0.8.0))
-       ("ocaml-sexplib" ,ocaml4.07-sexplib)
-       ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-markup" ,ocaml-markup)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-uutf" ,ocaml-uutf)))
     (native-inputs
-     `(("ocaml-astring" ,(package-with-ocaml4.07 ocaml-astring))
-       ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
-       ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo))
-       ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
-       ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-tyxml" ,ocaml4.07-tyxml)
-       ("ocaml-bisect-ppx" ,(package-with-ocaml4.07 ocaml-bisect-ppx))))
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-tyxml" ,ocaml-tyxml)
+       ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
+       ("tidy-html" ,tidy-html)))
     (home-page "https://github.com/ocaml/odoc")
     (synopsis "OCaml documentation generator")
     (description "Odoc is a documentation generator for OCaml.  It reads
@@ -5734,6 +5732,38 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the
 complexity of the OCaml module system.")
     (license license:isc)))
 
+(define-public ocaml4.07-odoc
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-odoc)
+     (name "ocaml-odoc")
+     ;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
+     ;; with old version of dune used in package-with-ocaml4.07
+     (version "1.5.1")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/odoc")
+              (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
+     (inputs
+      `(("ocaml-alcotest" ,ocaml-alcotest)
+        ("ocaml-markup" ,ocaml-markup0.8.0)
+        ("ocaml-sexplib" ,ocaml4.07-sexplib)
+        ("ocaml-re" ,ocaml-re)
+        ("ocaml-uutf" ,ocaml-uutf)))
+     (native-inputs
+      `(("ocaml-astring" ,ocaml-astring)
+        ("ocaml-cmdliner" ,ocaml-cmdliner)
+        ("ocaml-cppo" ,ocaml-cppo)
+        ("ocaml-fpath" ,ocaml-fpath)
+        ("ocaml-result" ,ocaml-result)
+        ("ocaml-tyxml" ,ocaml4.07-tyxml)
+        ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))))))
+
 (define-public ocaml4.07-fftw3
   (package
     (name "ocaml4.07-fftw3")
-- 
2.29.2





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

* [bug#45498] [PATCH 10/12] gnu: Add ocaml-version.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (7 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 11/12] gnu: Add ocaml-mdx pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 12/12] gnu: Add ocaml-merlin pukkamustard
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3d94f7c221..c449b5a739 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5870,6 +5870,32 @@ include the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
 and SVG file output.")
     (license license:lgpl3+)))
 
+(define-public ocaml-version
+  (package
+    (name "ocaml-version")
+    (version "3.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocurrent/ocaml-version")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "13770mp6adjjbx63zsbh6506dqxz241chw8c3y403sxpw45hnaw6"))))
+    (build-system dune-build-system)
+    (arguments `(#:tests? #f))          ; no tests
+    (home-page
+     "https://github.com/ocurrent/ocaml-version")
+    (synopsis
+     "Manipulate, parse and generate OCaml compiler version strings")
+    (description
+     "This library provides facilities to parse version numbers of the OCaml
+compiler, and enumerates the various official OCaml releases and configuration
+variants.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH 11/12] gnu: Add ocaml-mdx.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (8 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 10/12] gnu: Add ocaml-version pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  2020-12-28 12:47   ` [bug#45498] [PATCH 12/12] gnu: Add ocaml-merlin pukkamustard
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c449b5a739..8d3a2e01f3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5896,6 +5896,55 @@ compiler, and enumerates the various official OCaml releases and configuration
 variants.")
     (license license:isc)))
 
+(define-public ocaml-mdx
+  (package
+    (name "ocaml-mdx")
+    (version "1.7.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/realworldocaml/mdx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+       ("ocaml-odoc" ,ocaml-odoc)
+       ("ocaml-version" ,ocaml-version)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-alcotest" ,ocaml-alcotest)))
+    (home-page
+     "https://github.com/realworldocaml/mdx")
+    (synopsis
+     "Executable code blocks inside markdown files")
+    (description
+     "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+There are (currently) two sub-commands, corresponding
+to two modes of operations: pre-processing (@code{ocaml-mdx pp})
+and tests (@code{ocaml-mdx test}]).
+
+The pre-processor mode allows to mix documentation and code,
+and to practice @dfn{literate programming} using markdown and OCaml.
+
+The test mode allows to ensure that shell scripts and OCaml fragments
+in the documentation always stays up-to-date.
+
+@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
+@code{mdx} which are the same, mdx being the deprecated name, kept for now for
+compatibility.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH 12/12] gnu: Add ocaml-merlin.
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
                     ` (9 preceding siblings ...)
  2020-12-28 12:47   ` [bug#45498] [PATCH 11/12] gnu: Add ocaml-mdx pukkamustard
@ 2020-12-28 12:47   ` pukkamustard
  10 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 12:47 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-merlin): New variable.
  (ocaml-dot-merlin-reader): New variable.
  (ocaml4.07-merlin): Inherit from ocaml-merlin.
---
 gnu/packages/ocaml.scm | 89 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 75 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8d3a2e01f3..5b74116305 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3908,11 +3908,41 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test
 format}.  @code{craml} is released as a single binary (called @code{craml}).")
     (license license:isc)))
 
-(define-public ocaml4.07-merlin
+(define-public ocaml-dot-merlin-reader
   (package
-    (name "ocaml4.07-merlin")
-    (version "3.2.2")
+    (name "ocaml-dot-merlin-reader")
+    (version "3.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/merlin")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "dot-merlin-reader"
+                 #:tests? #f))          ; no tests
+    (inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)
+       ;; XXX: following are dependencies of ocaml-yojson. Should they be
+       ;; propagated-inputs in ocaml-yojson?
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)))
     (home-page "https://ocaml.github.io/merlin/")
+    (synopsis "Reads config files for @code{ocaml-merlin}")
+    (description "@code{ocaml-dot-merlin-reader} is an external reader for
+@code{ocaml-merlin} configurations.")
+    (license license:expat)))
+
+(define-public ocaml-merlin
+  (package
+    (name "ocaml-merlin")
+    (version "3.4.2")
     (source
      (origin
        (method git-fetch)
@@ -3922,20 +3952,21 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
     (build-system dune-build-system)
+    (arguments '(#:package "merlin"
+                 #:test-target "tests"))
     (inputs
-     `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou))
-       ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))
-       ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format))))
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)))
     (native-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)))
-    (arguments
-     `(#:package "merlin"
-       #:tests? #f ;; Errors in tests in version 3.2.2
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
+       ("ocaml-mdx" ,ocaml-mdx)
+       ("jq" ,jq)))
+    (home-page "https://ocaml.github.io/merlin/")
     (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
     (description "Merlin is an editor service that provides modern IDE
 features for OCaml.  Emacs and Vim support is provided out-of-the-box.
@@ -3943,6 +3974,36 @@ External contributors added support for Visual Studio Code, Sublime Text and
 Atom.")
     (license license:expat)))
 
+;; ocaml-merlin 3.4.2 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml4.07-merlin
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-merlin)
+     (name "ocaml-merlin")
+     (version "3.2.2")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/merlin")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+     (build-system dune-build-system)
+     (inputs
+      `(("ocaml-biniou" ,ocaml-biniou)
+        ("ocaml-yojson" ,ocaml-yojson)
+        ("ocaml-easy-format" ,ocaml-easy-format)))
+     (native-inputs
+      `(("ocaml-findlib" ,ocaml-findlib)))
+     (arguments
+      `(#:package "merlin"
+        ;; Errors in tests in version 3.2.2
+        #:tests? #f)))))
+
 (define-public ocaml4.07-gsl
   (package
     (name "ocaml4.07-gsl")
-- 
2.29.2





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

* [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0.
  2020-12-28 12:47   ` [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
@ 2020-12-28 13:58     ` Julien Lepiller
  0 siblings, 0 replies; 47+ messages in thread
From: Julien Lepiller @ 2020-12-28 13:58 UTC (permalink / raw)
  To: pukkamustard; +Cc: 45498

Le Mon, 28 Dec 2020 13:47:14 +0100,
pukkamustard <pukkamustard@posteo.net> a écrit :

> [...]
>  (define-public ocaml-tyxml
>    (package
>      (name "ocaml-tyxml")
> @@ -5619,6 +5638,17 @@ also create your own representation and use it
> to instantiate a new set of combinators.")
>      (license license:lgpl2.1)))
>  
> +(define-public ocaml4.07-tyxml
> +  (package-with-ocaml4.07
> +   (package
> +     (inherit ocaml-tyxml)
> +     (inputs
> +      `(("ocaml-re" ,ocaml-re)
> +        ("ocaml-seq" ,ocaml-seq)
> +        ("ocaml-uutf" ,ocaml-uutf)
> +        ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
> +        ("ocaml-markup" ,ocaml-markup0.8.0))))))
> +

Here, I would also add an ocaml4.07-variant property to ocaml-tyxml, so
(package-with-ocaml4.07 ocaml-tyxml) returns that variant (also
remove the properties from the variant, or there will be a loop).

>  (define-public ocaml-bisect-ppx
>    (package
>      (name "ocaml-bisect-ppx")
> @@ -5681,7 +5711,7 @@ then run the Bisect_ppx report tool on the
> generated visitation files.") #:dune ,ocaml4.07-dune))
>      (inputs
>       `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
> -       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
> +       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup0.8.0))
>         ("ocaml-sexplib" ,ocaml4.07-sexplib)
>         ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
>         ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
> @@ -5691,7 +5721,7 @@ then run the Bisect_ppx report tool on the
> generated visitation files.") ("ocaml-cppo" ,(package-with-ocaml4.07
> ocaml-cppo)) ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
>         ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
> -       ("ocaml-tyxml" ,(package-with-ocaml4.07 ocaml-tyxml))
> +       ("ocaml-tyxml" ,ocaml4.07-tyxml)

Then this would not be needed

>         ("ocaml-bisect-ppx" ,(package-with-ocaml4.07
> ocaml-bisect-ppx)))) (home-page "https://github.com/ocaml/odoc")
>      (synopsis "OCaml documentation generator")





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

* [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc.
  2020-12-28 12:47   ` [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc pukkamustard
@ 2020-12-28 14:02     ` Julien Lepiller
  0 siblings, 0 replies; 47+ messages in thread
From: Julien Lepiller @ 2020-12-28 14:02 UTC (permalink / raw)
  To: pukkamustard; +Cc: 45498

Le Mon, 28 Dec 2020 13:47:15 +0100,
pukkamustard <pukkamustard@posteo.net> a écrit :

> * gnu/packages/ocaml.scm (ocaml-odoc): New variable.
>   (ocaml4.07-odoc): Inherit from ocaml-odoc and update to 1.5.1.
> ---
>  gnu/packages/ocaml.scm | 70
> ++++++++++++++++++++++++++++++------------ 1 file changed, 50
> insertions(+), 20 deletions(-)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 6714c266d1..3d94f7c221 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -71,6 +71,7 @@
>    #:use-module (gnu packages time)
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages virtualization)
> +  #:use-module (gnu packages web)
>    #:use-module (gnu packages web-browsers)
>    #:use-module (gnu packages xml)
>    #:use-module (gnu packages xorg)
> @@ -5691,10 +5692,10 @@ Usage is simple - add package bisect_ppx when
> building tests, run your tests, then run the Bisect_ppx report tool
> on the generated visitation files.") (license license:mpl2.0)))
>  
> -(define-public ocaml4.07-odoc
> +(define-public ocaml-odoc
>    (package
> -    (name "ocaml4.07-odoc")
> -    (version "1.4.2")
> +    (name "ocaml-odoc")
> +    (version "1.5.2")
>      (source
>       (origin
>         (method git-fetch)
> @@ -5703,26 +5704,23 @@ then run the Bisect_ppx report tool on the
> generated visitation files.") (commit version)))
>         (file-name (git-file-name name version))
>         (sha256
> -        (base32
> "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i"))))
> +        (base32
> "0fqfyz48q7ss5bc4c5phmp4s3ka3vc08b8gfk8fvyryvb4bq27jm"))))
> (build-system dune-build-system)
> -    (arguments
> -     `(#:ocaml ,ocaml-4.07
> -       #:findlib ,ocaml4.07-findlib
> -       #:dune ,ocaml4.07-dune))
>      (inputs
> -     `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
> -       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup0.8.0))
> -       ("ocaml-sexplib" ,ocaml4.07-sexplib)
> -       ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
> -       ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
> +     `(("ocaml-alcotest" ,ocaml-alcotest)
> +       ("ocaml-markup" ,ocaml-markup)
> +       ("ocaml-sexplib" ,ocaml-sexplib)
> +       ("ocaml-re" ,ocaml-re)
> +       ("ocaml-uutf" ,ocaml-uutf)))
>      (native-inputs
> -     `(("ocaml-astring" ,(package-with-ocaml4.07 ocaml-astring))
> -       ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
> -       ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo))
> -       ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
> -       ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
> -       ("ocaml-tyxml" ,ocaml4.07-tyxml)
> -       ("ocaml-bisect-ppx" ,(package-with-ocaml4.07
> ocaml-bisect-ppx))))
> +     `(("ocaml-astring" ,ocaml-astring)
> +       ("ocaml-cmdliner" ,ocaml-cmdliner)
> +       ("ocaml-cppo" ,ocaml-cppo)
> +       ("ocaml-fpath" ,ocaml-fpath)
> +       ("ocaml-result" ,ocaml-result)
> +       ("ocaml-tyxml" ,ocaml-tyxml)
> +       ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
> +       ("tidy-html" ,tidy-html)))
>      (home-page "https://github.com/ocaml/odoc")
>      (synopsis "OCaml documentation generator")
>      (description "Odoc is a documentation generator for OCaml.  It
> reads @@ -5734,6 +5732,38 @@ advantage over ocamldoc is an accurate
> cross-referencer, which handles the complexity of the OCaml module
> system.") (license license:isc)))

Similarly, I would add a property to the previous package, so
package-with-ocaml4.07 works properly.
 
> +(define-public ocaml4.07-odoc
> +  (package-with-ocaml4.07
> +   (package
> +     (inherit ocaml-odoc)
> +     (name "ocaml-odoc")
> +     ;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not
> compile
> +     ;; with old version of dune used in package-with-ocaml4.07
> +     (version "1.5.1")
> +     (source
> +      (origin
> +        (method git-fetch)
> +        (uri (git-reference
> +              (url "https://github.com/ocaml/odoc")
> +              (commit version)))
> +        (file-name (git-file-name name version))
> +        (sha256
> +         (base32
> "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
> +     (inputs
> +      `(("ocaml-alcotest" ,ocaml-alcotest)
> +        ("ocaml-markup" ,ocaml-markup0.8.0)
> +        ("ocaml-sexplib" ,ocaml4.07-sexplib)
> +        ("ocaml-re" ,ocaml-re)
> +        ("ocaml-uutf" ,ocaml-uutf)))
> +     (native-inputs
> +      `(("ocaml-astring" ,ocaml-astring)
> +        ("ocaml-cmdliner" ,ocaml-cmdliner)
> +        ("ocaml-cppo" ,ocaml-cppo)
> +        ("ocaml-fpath" ,ocaml-fpath)
> +        ("ocaml-result" ,ocaml-result)
> +        ("ocaml-tyxml" ,ocaml4.07-tyxml)
> +        ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))))))
> +
>  (define-public ocaml4.07-fftw3
>    (package
>      (name "ocaml4.07-fftw3")





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

* [bug#34412] [bug#45498] [PATCH 00/12] Add ocaml-merlin.
  2020-12-28 12:40 [bug#45498] [PATCH 00/12] Add ocaml-merlin pukkamustard
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
@ 2020-12-28 14:06 ` Julien Lepiller
  2020-12-28 18:10   ` pukkamustard
  2020-12-30 13:29 ` bug#45498: [PATCH 00/12] " Julien Lepiller
  2 siblings, 1 reply; 47+ messages in thread
From: Julien Lepiller @ 2020-12-28 14:06 UTC (permalink / raw)
  To: pukkamustard; +Cc: 45498, 34412

Le Mon, 28 Dec 2020 13:40:17 +0100,
pukkamustard <pukkamustard@posteo.net> a écrit :

> Hi Guix,
> 
> This adds ocaml-merlin, a development tool for OCaml (and
> dependencies).

Thanks for the patches!

> 
> Some notes and questions:
> 
> - ocaml4.07-merlin is already available (version 3.2.2). This version
> has not been updated (but changed to inherit from ocaml-merlin).
> 
> - There are many ocaml4.07-* packages in Guix. The reason for this is
> that some packages need to be built with OCaml 4.07 but some newer
> versions of libraries do no longer support OCaml 4.07 (or the old
> version of dune), requiring older versions of the same packages. See
> also commit message 9ada1555.

Have you tried updating dune to the latest version that builds with
ocaml 4.07?

> 
>   This is quite cumbersome as two trees of OCaml packages need to be
>   maintained.

Actually 3, there are ocaml 4.07, 4.09 and 4.11 currently. I'm working
on a bootstrap for ocaml 4.07 (ocaml builds from a binary version of
itself), so I don't think it'll disappear soon, but at least we can try
and make ocaml4.07-* packages disappear :)

> 
>   A nice solution would be to upgrade packages requiring OCaml 4.07
> to also build with the default OCaml (4.11). Packages that are not
> dependencies of other packages that require OCaml 4.07 seem to be:
> `bap`, `ocaml-earley` and `pplacer`. Maybe this should be opened as
> an issue?

pretty sure they build with at least ocaml-4.09 now, I'll see what I
can do :)

> 
> - Some OCaml libraries have dependencies in `inputs` that seem to be
> required from packages using the libraries.  E.g. `ocaml-yojson`
> depends on `ocaml-biniou`. Packages depending on `ocaml-yojson` need
> to manually add `ocaml-biniou` to their inputs. Would it work/make
> sense to add `ocaml-biniou` to `propagated-inputs` of `ocaml-yojson`?

Yeah, could you provide an additional patch for that?

> 
> - Test for ocaml-merlin (version 3.4.2) work. This resolves issue
> #34412 (alltough ocaml4.07-merlin still can not run tests).
> 
> Thanks!
> -pukkamustard

Thank you! I've sent some remarks to your patches, but generally LGTM :)

> 
> pukkamustard (12):
>   gnu: Remove ocaml-js-build-tools.
>   gnu: Add ocaml-sexplib.
>   gnu: Add ocaml-base.
>   gnu: Add ocaml-parsexp.
>   gnu: Add ocaml-sexplib.
>   gnu: Add ocaml-ounit2.
>   gnu: ocaml-tyxml: Update to 4.4.0.
>   gnu: ocaml-markup: Update to 1.0.0.
>   gnu: Add ocaml-odoc.
>   gnu: Add ocaml-version.
>   gnu: Add ocaml-mdx.
>   gnu: Add ocaml-merlin.
> 
>  gnu/packages/ocaml.scm | 527
> ++++++++++++++++++++++++++++------------- 1 file changed, 359
> insertions(+), 168 deletions(-)
> 




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

* [bug#45498] [PATCH 00/12] Add ocaml-merlin.
  2020-12-28 14:06 ` [bug#34412] [bug#45498] [PATCH 00/12] " Julien Lepiller
@ 2020-12-28 18:10   ` pukkamustard
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 20:00     ` [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
  0 siblings, 2 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:10 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 45498


Thank you for the feedback! v2 of patch series coming shortly...

I was not aware of the `ocaml4.07-variant` property. It makes 
things a
lot nicer!

I've added it for `ocaml-markup` and `ocaml-odoc` and also
`ocaml-sexplib0`, `ocaml-parsexp`, `ocaml-base` and 
`ocaml-sexplib`.

This makes `ocaml4.07-*` vanish from lot of places in favor of
`(package-with-ocaml4.07 *)`.

> Have you tried updating dune to the latest version that builds 
> with
> ocaml 4.07?

Not yet. For ocaml-markup 1.0.0 the problem is that the dune file
version is set to 2.7. Any dune below 2.7.x will probably not 
work.

For other packages it might work...

>
>>
>>   This is quite cumbersome as two trees of OCaml packages need 
>>   to be
>>   maintained.
>
> Actually 3, there are ocaml 4.07, 4.09 and 4.11 currently. I'm 
> working
> on a bootstrap for ocaml 4.07 (ocaml builds from a binary 
> version of
> itself), so I don't think it'll disappear soon, but at least we 
> can try
> and make ocaml4.07-* packages disappear :)
>

\o/ Looking forward to the bootstrap!

With the `ocaml4.*-variant` property managing the 3 trees does not 
seem
so bad after all.

Currently there are a lot of packages only for 4.07. It would be 
nicer
to have packages for default compiler and when needed variants for 
older
compilers.

I plan to do some OCaml hacking in the next months and will send 
in
patches toward this, if that is ok.

>> - Some OCaml libraries have dependencies in `inputs` that seem 
>> to be
>> required from packages using the libraries.  E.g. 
>> `ocaml-yojson`
>> depends on `ocaml-biniou`. Packages depending on `ocaml-yojson` 
>> need
>> to manually add `ocaml-biniou` to their inputs. Would it 
>> work/make
>> sense to add `ocaml-biniou` to `propagated-inputs` of 
>> `ocaml-yojson`?
>
> Yeah, could you provide an additional patch for that?

Done. Patch 13 in v2.

-pukkamustard





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

* [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools.
  2020-12-28 18:10   ` pukkamustard
@ 2020-12-28 18:14     ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0 pukkamustard
                         ` (11 more replies)
  2020-12-28 20:00     ` [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
  1 sibling, 12 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

The package is deprecated and no longer maintained. It is recommended
to use dune instead.

* gnu/packages/ocaml.xyz (ocaml-js-build-tools, janestreet-origin,
janestreet-arguments): Remove variable.
---
 gnu/packages/ocaml.scm | 65 +-----------------------------------------
 1 file changed, 1 insertion(+), 64 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2bfda7307e..aa9dfb3dae 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -92,47 +93,6 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
-;; Janestreet packages are found in a similar way and all need the same patch.
-(define (janestreet-origin name version hash)
-  (origin (method url-fetch)
-          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/"
-                              (version-major+minor version) "/files/"
-                              name "-" version ".tar.gz"))
-          (sha256 (base32 hash))
-          (modules '((guix build utils)))
-          (snippet
-           (let ((pattern (string-append "lib/" name)))
-             `(begin
-                ;; install.ml contains an invalid reference to the ppx file and
-                ;; propagates this error to the generated META file.  It
-                ;; looks for it in the "lib" directory, but it is installed in
-                ;; "lib/ocaml/site-lib/package".  This substitute does not change
-                ;; this file for non ppx packages.
-                (substitute* "install.ml"
-                  ((,pattern) (string-append "lib/ocaml/site-lib/" ,name)))
-                ;; The standard Makefile would try to install janestreet modules
-                ;; in OCaml's directory in the store, which is read-only.
-                (substitute* "Makefile"
-                  (("--prefix")
-                   "--libdir $(LIBDIR) --prefix"))
-                #t)))))
-
-;; They also require almost the same set of arguments
-(define janestreet-arguments
-  `(#:use-make? #t
-    #:make-flags
-    (list (string-append "CONFIGUREFLAGS=--prefix "
-                         (assoc-ref %outputs "out")
-                         " --enable-tests")
-          (string-append "LIBDIR="
-                         (assoc-ref %outputs "out")
-                         "/lib/ocaml/site-lib")
-          ;; for ocaml-bin-prot, otherwise ignored
-          (string-append "OCAML_TOPLEVEL_PATH="
-                         (assoc-ref %build-inputs "findlib")
-                         "/lib/ocaml/site-lib"))
-    #:phases (modify-phases %standard-phases (delete 'configure))))
-
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -2715,29 +2675,6 @@ system in your OCaml projects.  It helps to create standard entry points in your
 build system and allows external tools to analyse your project easily.")
     (license license:lgpl2.1+))) ; with ocaml static compilation exception
 
-(define-public ocaml-js-build-tools
-  (package
-    (name "ocaml-js-build-tools")
-    (version "113.33.06")
-    (source (janestreet-origin "js-build-tools" version
-              "0r8z4fz8iy5y6hkdlkpwf6rk4qigcr3dzyv35585xgg2ahf12zy6"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("ocamlbuild" ,ocamlbuild)
-       ("opam" ,opam)))
-    (build-system ocaml-build-system)
-    (arguments janestreet-arguments)
-    (home-page "https://github.com/janestreet/js-build-tools")
-    (synopsis "Collection of tools to help building Jane Street Packages")
-    (description "This package contains tools to help building Jane Street
-packages, but can be used for other purposes.  It contains:
-@enumerate
-@item an @command{oasis2opam-install} tool to produce a @file{.install} file
-from the oasis build log
-@item a @code{js_build_tools} ocamlbuild plugin with various goodies.
-@end enumerate")
-    (license license:asl2.0)))
-
 (define-public ocaml-cppo
   (package
     (name "ocaml-cppo")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 03/13] gnu: Add ocaml-base pukkamustard
                         ` (10 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib0): New variable.
  (ocaml4.07-sexplib0): Inherit from ocaml-sexplib0.
  (janestreet-origin): New variable.
---
 gnu/packages/ocaml.scm | 60 ++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index aa9dfb3dae..7dced949d3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -93,6 +93,14 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
+(define (janestreet-origin name version hash)
+  (origin (method url-fetch)
+          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                              (version-major+minor version) "/files/"
+                              name "-v" (version-major+minor+point version)
+                              ".tar.gz"))
+          (sha256 (base32 hash))))
+
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -2917,7 +2925,7 @@ JSON.")
        ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
     (propagated-inputs
      `(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
        ("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext))))
     (home-page "https://github.com/mirage/ocaml-uri")
     (synopsis "RFC3986 URI/URL parsing library")
@@ -3648,7 +3656,7 @@ syntax checking on dedukti files.")
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
     (properties `((upstream-name . "ppx_inline_test")))
@@ -4027,33 +4035,35 @@ an arbitrary number of processes.  Cache coherence protocols and mutual
 exclusion algorithms are typical examples of such systems.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-sexplib0
+(define-public ocaml-sexplib0
   (package
-    (name "ocaml4.07-sexplib0")
-    (version "0.11.0")
+    (name "ocaml-sexplib0")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib0")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi"))))
+     (janestreet-origin "sexplib0" version
+                        "0adrc0r1vvvr41dcpj8jwkzh1dfgqf0mks9xlnnskqfm3a51iavg"))
     (build-system dune-build-system)
-    (arguments
-     `(#:tests? #f ;no tests
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+    (arguments `(#:tests? #f)) ;no tests
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0))))
     (synopsis "Library containing the definition of S-expressions and some
 base converters")
     (description "Part of Jane Street's Core library The Core suite of
 libraries is an industrial strength alternative to OCaml's standard library
 that was developed by Jane Street, the largest industrial user of OCaml.")
-(license license:expat)))
+    (license license:expat)))
+
+(define-public ocaml4.07-sexplib0
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-sexplib0)
+     (name "ocaml-sexplib0")
+     (version "0.11.0")
+     (source
+      (janestreet-origin "sexplib0" version
+                         "1p06p2s7p9xsjn0z9qicniv1ai54d8sj11k8j633di2mm7jzxpin"))
+     (arguments `(#:tests? #f))         ; no tests
+     (properties '()))))
 
 (define-public ocaml4.07-parsexp
   (package
@@ -4076,7 +4086,7 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -4128,7 +4138,7 @@ parsexp_io.")
     (propagated-inputs
      `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
        ("ocaml-parsexp" ,ocaml4.07-parsexp)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
     (description
@@ -4153,7 +4163,7 @@ functionality for parsing and pretty-printing s-expressions.")
          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -4224,7 +4234,7 @@ is now @code{Ocaml_common.Ast_helper}.")
     (build-system dune-build-system)
     (propagated-inputs
      `(("ocaml-base" ,ocaml4.07-base)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:tests? #f ;no tests
        #:ocaml ,ocaml-4.07
@@ -4288,7 +4298,7 @@ as part of the same ocaml-migrate-parsetree driver.")
        ("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.29.2





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

* [bug#45498] [PATCH v2 03/13] gnu: Add ocaml-base.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0 pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 04/13] gnu: Add ocaml-parsexp pukkamustard
                         ` (9 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-base): New variable.
  (ocaml4.07-base): Inherit from ocaml-base.
---
 gnu/packages/ocaml.scm | 137 ++++++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 62 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7dced949d3..6a232be8a7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1607,7 +1607,7 @@ library.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (native-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("pkg-config" ,pkg-config)))
     (inputs
@@ -2560,7 +2560,7 @@ hierarchy of modules.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (native-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("pcre:bin" ,pcre "bin")))
     (propagated-inputs `(("pcre" ,pcre)))
     (home-page "https://mmottl.github.io/pcre-ocaml")
@@ -3652,7 +3652,7 @@ syntax checking on dedukti files.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
@@ -3946,7 +3946,7 @@ Atom.")
     (inputs
      `(("gsl" ,gsl)))
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://mmottl.github.io/gsl-ocaml")
     (synopsis "Bindings to the GNU Scientific Library")
@@ -4146,38 +4146,22 @@ parsexp_io.")
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
-(define-public ocaml4.07-base
+(define-public ocaml-base
   (package
-    (name "ocaml4.07-base")
-    (version "0.11.1")
+    (name "ocaml-base")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/base")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
+     (janestreet-origin "base" version
+         "1rkdhsgbcv0a8p29mwvpd2ldz8cjk97pixl43izm54wyin4lp778"))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           ;; make warnings non fatal (jbuilder behaviour)
-           (lambda _
-             (invoke "dune" "build" "@install" "--profile=release"))))
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-  (synopsis
-    "Full standard library replacement for OCaml")
-  (description
-    "Base is a complete and portable alternative to the OCaml standard
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base))))
+    (synopsis
+     "Full standard library replacement for OCaml")
+    (description
+     "Base is a complete and portable alternative to the OCaml standard
 library.  It provides all standard functionalities one would expect
 from a language standard library.  It uses consistent conventions
 across all of its module.
@@ -4186,7 +4170,36 @@ Base aims to be usable in any context.  As a result system dependent
 features such as I/O are not offered by Base.  They are instead
 provided by companion libraries such as
 @url{https://github.com/janestreet/stdio, ocaml-stdio}.")
-  (license license:expat)))
+    (license license:expat)))
+
+(define-public ocaml4.07-base
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-base)
+     (name "ocaml-base")
+     (version "0.11.1")
+     (source
+      (origin
+        ;; version 0.11.1 is not released on ocaml.janestreet.org.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/janestreet/base.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (replace 'build
+            ;; make warnings non fatal (jbuilder behaviour)
+            (lambda _
+              (invoke "dune" "build" "@install" "--profile=release"))))
+        #:ocaml ,ocaml-4.07
+        #:findlib ,ocaml4.07-findlib
+        #:dune ,ocaml4.07-dune))
+     (properties '()))))
 
 (define-public ocaml4.07-compiler-libs
   (package
@@ -4233,7 +4246,7 @@ is now @code{Ocaml_common.Ast_helper}.")
          "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:tests? #f ;no tests
@@ -4291,7 +4304,7 @@ as part of the same ocaml-migrate-parsetree driver.")
          "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4354,7 +4367,7 @@ OCaml AST in the OCaml syntax;
                 "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4393,7 +4406,7 @@ by making sure that you only compare comparable values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4425,7 +4438,7 @@ of a record and create new record values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4450,7 +4463,7 @@ standard library.")
                 "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4483,7 +4496,7 @@ new record values.")
                 "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4513,7 +4526,7 @@ definitions.")
                 "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-variantslib" ,ocaml4.07-variantslib)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4546,7 +4559,7 @@ variant types.")
                 "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4576,7 +4589,7 @@ string conversion.")
                 "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
     (build-system dune-build-system)
     (inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
         ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
@@ -4645,7 +4658,7 @@ storage of large amounts of data.")
                 "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4682,7 +4695,7 @@ hash functions from type exrpessions and definitions.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4744,7 +4757,7 @@ many values).")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4773,7 +4786,7 @@ many values).")
        #:ocaml ,ocaml-4.07
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
-    (propagated-inputs `(("ocaml-base" ,ocaml4.07-base)))
+    (propagated-inputs `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))))
     (home-page "https://github.com/janestreet/typerep")
     (synopsis "Typerep is a library for runtime types")
     (description "Typerep is a library for runtime types.")
@@ -4797,7 +4810,7 @@ many values).")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4828,7 +4841,7 @@ ocaml values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4893,7 +4906,7 @@ context such as function arguments.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4923,7 +4936,7 @@ else expression.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
     (properties `((upstream-name . "ppx_optcomp")))
@@ -4952,7 +4965,7 @@ size, the version of the compiler, ...")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4981,7 +4994,7 @@ match expressions, and if expressions.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -5011,7 +5024,7 @@ position.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
@@ -5044,7 +5057,7 @@ useful errors on failure.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
@@ -5088,7 +5101,7 @@ to denote the expected output.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-octavius" ,(package-with-ocaml4.07 ocaml-octavius))
@@ -5121,7 +5134,7 @@ packages.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-typerep" ,ocaml4.07-typerep)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -5190,7 +5203,7 @@ verification tool.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-migrate-parsetree"
@@ -5268,7 +5281,7 @@ driver including all standard Jane Street ppx rewriters.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("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))))
@@ -5328,7 +5341,7 @@ various Jane Street packages.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://github.com/janestreet/configurator")
     (synopsis "Helper library for gathering system configuration")
@@ -5415,7 +5428,7 @@ thousands of times faster than fork.
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-configurator" ,ocaml4.07-configurator)
         ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
@@ -5455,7 +5468,7 @@ standard library that was developed by Jane Street.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
         ("ocaml-configurator" ,ocaml4.07-configurator)
         ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
@@ -5715,7 +5728,7 @@ library FFTW.")
     (native-inputs
      `(("openblas" ,openblas)
        ("lapack" ,lapack)
-       ("ocaml-base" ,ocaml4.07-base)
+       ("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://mmottl.github.io/lacaml/")
     (synopsis
-- 
2.29.2





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

* [bug#45498] [PATCH v2 04/13] gnu: Add ocaml-parsexp.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0 pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 03/13] gnu: Add ocaml-base pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 05/13] gnu: Add ocaml-sexplib pukkamustard
                         ` (8 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-parsexp): New variable.
  (ocaml4.07-parsexp): Inherit from ocaml-parsexp.
---
 gnu/packages/ocaml.scm | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6a232be8a7..31f524331f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4065,28 +4065,19 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
      (arguments `(#:tests? #f))         ; no tests
      (properties '()))))
 
-(define-public ocaml4.07-parsexp
+(define-public ocaml-parsexp
   (package
-    (name "ocaml4.07-parsexp")
-    (version "0.11.0")
+    (name "ocaml-parsexp")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/parsexp")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz"))))
+     (janestreet-origin "parsexp" version
+                        "158znj19dvfdcwsgzs3rdhxpj1g4aw0d4nkfr8c05bahf0lnshlb"))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-base" ,ocaml-base)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-parsexp))))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -4115,6 +4106,17 @@ s-expressions from files or other external sources, you should use
 parsexp_io.")
     (license license:expat)))
 
+(define-public ocaml4.07-parsexp
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-parsexp)
+     (name "ocaml-parsexp")
+     (version "0.11.0")
+     (source
+      (janestreet-origin "parsexp" version
+                         "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
+     (properties '()))))
+
 (define-public ocaml4.07-sexplib
   (package
     (name "ocaml4.07-sexplib")
@@ -4137,7 +4139,7 @@ parsexp_io.")
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
      `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
-       ("ocaml-parsexp" ,ocaml4.07-parsexp)
+       ("ocaml-parsexp" ,(package-with-ocaml4.07 ocaml-parsexp))
        ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 05/13] gnu: Add ocaml-sexplib.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (2 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 04/13] gnu: Add ocaml-parsexp pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 06/13] gnu: Add ocaml-ounit2 pukkamustard
                         ` (7 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib): New variable.
  (ocaml4.07-sexplib): Inherit from ocaml-sexplib.
---
 gnu/packages/ocaml.scm | 49 +++++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 31f524331f..246141c618 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2886,7 +2886,7 @@ writing to these structures, and they are accessed via the Bigarray module.")
     (propagated-inputs
      `(("ocaml-hex" ,(package-with-ocaml4.07 ocaml-hex))
        ("ocaml-jsonm" ,(package-with-ocaml4.07 ocaml-jsonm))
-       ("ocaml-sexplib" ,ocaml4.07-sexplib)))
+       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))))
     (home-page "https://github.com/mirage/ezjsonm/")
     (synopsis "Read and write JSON data")
     (description "Ezjsonm provides more convenient (but far less flexible) input
@@ -4117,37 +4117,38 @@ parsexp_io.")
                          "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
      (properties '()))))
 
-(define-public ocaml4.07-sexplib
+(define-public ocaml-sexplib
   (package
-    (name "ocaml4.07-sexplib")
-    (version "0.11.0")
+    (name "ocaml-sexplib")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb"))))
+     (janestreet-origin "sexplib" version
+                        "12rlnc6fcrjfdn3gs2agi418sj54ighhs6dfll37zcv7mgywblm2"))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (propagated-inputs
-     `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
-       ("ocaml-parsexp" ,(package-with-ocaml4.07 ocaml-parsexp))
-       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
+     `(("ocaml-base" ,ocaml-base)
+       ("ocaml-num" ,ocaml-num)
+       ("ocaml-parsexp" ,ocaml-parsexp)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
     (description
-     "This package is part of Jane Street's Core library. Sexplib contains
+     "This package is part of Jane Street's Core library.  Sexplib contains
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
+(define-public ocaml4.07-sexplib
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-sexplib)
+     (version "0.11.0")
+     (source
+      (janestreet-origin "sexplib" version
+                         "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
+     (properties '()))))
+
 (define-public ocaml-base
   (package
     (name "ocaml-base")
@@ -5435,7 +5436,7 @@ thousands of times faster than fork.
         ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
         ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-        ("ocaml-sexplib" ,ocaml4.07-sexplib)
+        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
         ("ocaml-spawn" ,ocaml4.07-spawn)
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-migrate-parsetree"
@@ -5482,7 +5483,7 @@ standard library that was developed by Jane Street.")
         ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
-        ("ocaml-sexplib" ,ocaml4.07-sexplib)
+        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
         ("ocaml-splittable-random" ,ocaml4.07-splittable-random)
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-typerep" ,ocaml4.07-typerep)
@@ -5649,7 +5650,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
     (inputs
      `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
        ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
-       ("ocaml-sexplib" ,ocaml4.07-sexplib)
+       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
        ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
        ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
     (native-inputs
-- 
2.29.2





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

* [bug#45498] [PATCH v2 06/13] gnu: Add ocaml-ounit2.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (3 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 05/13] gnu: Add ocaml-sexplib pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 07/13] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
                         ` (6 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 246141c618..f132edbbca 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -981,6 +981,32 @@ compilers that can directly deal with packages.")
      `(("m4" ,m4)
        ("ocaml" ,ocaml-4.09)))))
 
+(define-public ocaml-ounit2
+  (package
+    (name "ocaml-ounit2")
+    (version "2.2.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gildor478/ounit.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gxjw1bhmjcjzri6x6psqrkbbyq678b69bqfl9i1zswp7cj2lryg"))))
+    (build-system dune-build-system)
+    (inputs
+     ;; XXX Should libev be a propagated-input of ocaml-lwt?
+     `(("libev" ,libev)))
+    (propagated-inputs
+     `(("lwt" ,ocaml-lwt)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
+    (home-page "https://github.com/gildor478/ounit")
+    (synopsis "Unit testing framework for OCaml")
+    (description "Unit testing framework for OCaml.  It is similar to JUnit and
+other XUnit testing frameworks.")
+    (license license:expat)))
+
 ;; note that some tests may hang for no obvious reason.
 (define-public ocaml-ounit
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH v2 07/13] gnu: ocaml-tyxml: Update to 4.4.0.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (4 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 06/13] gnu: Add ocaml-ounit2 pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 08/13] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
                         ` (5 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f132edbbca..c042ebd58b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5581,7 +5581,7 @@ stream, and convert everything to UTF-8.")
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
-    (version "4.3.0")
+    (version "4.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5591,7 +5591,7 @@ stream, and convert everything to UTF-8.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wv19xipkj8l2sks1h53105ywbjwk7q93fb7b8al4a2g9wr109c0"))))
+         "1hw4phyadcfgywgh5sj87i76gp56qwxzwlcpfdwjbf6ggag9clmd"))))
     (build-system dune-build-system)
     (inputs
      `(("ocaml-re" ,ocaml-re)
-- 
2.29.2





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

* [bug#45498] [PATCH v2 08/13] gnu: ocaml-markup: Update to 1.0.0.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (5 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 07/13] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 09/13] gnu: Add ocaml-odoc pukkamustard
                         ` (4 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-markup): Update to 1.0.0.
  (ocaml-markup0.8.0): New variable.
---
 gnu/packages/ocaml.scm | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c042ebd58b..6f4c0b980e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5532,7 +5532,7 @@ the full Core is not available, such as in Javascript.")
 (define-public ocaml-markup
   (package
     (name "ocaml-markup")
-    (version "0.8.2")
+    (version "1.0.0")
     (home-page "https://github.com/aantron/markup.ml")
     (source
      (origin
@@ -5543,7 +5543,7 @@ the full Core is not available, such as in Javascript.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "13zcrwzjmifniv3bvjbkd2ah8wwa3ld75bxh1d8hrzdvfxzh9szn"))))
+         "09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9"))))
     (build-system dune-build-system)
     (arguments
      `(#:package "markup"))
@@ -5555,8 +5555,10 @@ the full Core is not available, such as in Javascript.")
        ("ocaml-uutf" ,ocaml-uutf)
        ("ocaml-lwt" ,ocaml-lwt)))
     (native-inputs
-     `(("ocaml-ounit" ,ocaml-ounit)
+     `(("ocaml-ounit2" ,ocaml-ounit2)
        ("pkg-config" ,pkg-config)))
+    (properties
+     `((ocaml4.07-variant . ,(delay (package-with-ocaml4.07 ocaml-markup0.8.0)))))
     (synopsis "Error-recovering functional HTML5 and XML parsers and writers")
     (description "Markup.ml provides an HTML parser and an XML parser.  The
 parsers are wrapped in a simple interface: they are functions that transform
@@ -5578,6 +5580,26 @@ a single pass.  They automatically detect the character encoding of the input
 stream, and convert everything to UTF-8.")
     (license license:bsd-3)))
 
+;; ocaml-markup 1.0.0 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml-markup0.8.0
+  (package
+    (inherit ocaml-markup)
+    (name "ocaml-markup")
+    (version "0.8.0")
+    (home-page "https://github.com/aantron/markup.ml")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
+    (properties '())))
+
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 09/13] gnu: Add ocaml-odoc.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (6 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 08/13] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 10/13] gnu: Add ocaml-version pukkamustard
                         ` (3 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-odoc): New variable.
  (ocaml4.07-odoc): Inherit from ocaml-odoc and update to 1.5.1.
---
 gnu/packages/ocaml.scm | 60 +++++++++++++++++++++++++++---------------
 1 file changed, 39 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6f4c0b980e..70386c72ce 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages virtualization)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -2185,7 +2186,7 @@ representation of the data.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-     `(("ocaml-odoc" ,ocaml4.07-odoc)))
+     `(("ocaml-odoc" ,(package-with-ocaml4.07 ocaml4.07-odoc))))
     (native-inputs
      `(("ocaml-qtest" ,(package-with-ocaml4.07 ocaml-qtest))
        ("ocaml-qcheck" ,(package-with-ocaml4.07 ocaml-qcheck))))
@@ -5677,10 +5678,10 @@ Usage is simple - add package bisect_ppx when building tests, run your tests,
 then run the Bisect_ppx report tool on the generated visitation files.")
     (license license:mpl2.0)))
 
-(define-public ocaml4.07-odoc
+(define-public ocaml-odoc
   (package
-    (name "ocaml4.07-odoc")
-    (version "1.4.2")
+    (name "ocaml-odoc")
+    (version "1.5.2")
     (source
      (origin
        (method git-fetch)
@@ -5689,26 +5690,24 @@ then run the Bisect_ppx report tool on the generated visitation files.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i"))))
+        (base32 "0fqfyz48q7ss5bc4c5phmp4s3ka3vc08b8gfk8fvyryvb4bq27jm"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
-       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
-       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
-       ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-markup" ,ocaml-markup)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-uutf" ,ocaml-uutf)))
     (native-inputs
-     `(("ocaml-astring" ,(package-with-ocaml4.07 ocaml-astring))
-       ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
-       ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo))
-       ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
-       ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-tyxml" ,(package-with-ocaml4.07 ocaml-tyxml))
-       ("ocaml-bisect-ppx" ,(package-with-ocaml4.07 ocaml-bisect-ppx))))
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-tyxml" ,ocaml-tyxml)
+       ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
+       ("tidy-html" ,tidy-html)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-odoc))))
     (home-page "https://github.com/ocaml/odoc")
     (synopsis "OCaml documentation generator")
     (description "Odoc is a documentation generator for OCaml.  It reads
@@ -5720,6 +5719,25 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the
 complexity of the OCaml module system.")
     (license license:isc)))
 
+;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
+;; with old version of dune used in package-with-ocaml4.07
+(define-public ocaml4.07-odoc
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-odoc)
+     (name "ocaml-odoc")
+     (version "1.5.1")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/odoc")
+              (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
+     (properties '()))))
+
 (define-public ocaml4.07-fftw3
   (package
     (name "ocaml4.07-fftw3")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 10/13] gnu: Add ocaml-version.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (7 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 09/13] gnu: Add ocaml-odoc pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 11/13] gnu: Add ocaml-mdx pukkamustard
                         ` (2 subsequent siblings)
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 70386c72ce..baebe2540f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5844,6 +5844,32 @@ include the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
 and SVG file output.")
     (license license:lgpl3+)))
 
+(define-public ocaml-version
+  (package
+    (name "ocaml-version")
+    (version "3.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocurrent/ocaml-version")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "13770mp6adjjbx63zsbh6506dqxz241chw8c3y403sxpw45hnaw6"))))
+    (build-system dune-build-system)
+    (arguments `(#:tests? #f))          ; no tests
+    (home-page
+     "https://github.com/ocurrent/ocaml-version")
+    (synopsis
+     "Manipulate, parse and generate OCaml compiler version strings")
+    (description
+     "This library provides facilities to parse version numbers of the OCaml
+compiler, and enumerates the various official OCaml releases and configuration
+variants.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 11/13] gnu: Add ocaml-mdx.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (8 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 10/13] gnu: Add ocaml-version pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 12/13] gnu: Add ocaml-merlin pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 13/13] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index baebe2540f..385d96977e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5870,6 +5870,55 @@ compiler, and enumerates the various official OCaml releases and configuration
 variants.")
     (license license:isc)))
 
+(define-public ocaml-mdx
+  (package
+    (name "ocaml-mdx")
+    (version "1.7.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/realworldocaml/mdx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+       ("ocaml-odoc" ,ocaml-odoc)
+       ("ocaml-version" ,ocaml-version)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-alcotest" ,ocaml-alcotest)))
+    (home-page
+     "https://github.com/realworldocaml/mdx")
+    (synopsis
+     "Executable code blocks inside markdown files")
+    (description
+     "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+There are (currently) two sub-commands, corresponding
+to two modes of operations: pre-processing (@code{ocaml-mdx pp})
+and tests (@code{ocaml-mdx test}]).
+
+The pre-processor mode allows to mix documentation and code,
+and to practice @dfn{literate programming} using markdown and OCaml.
+
+The test mode allows to ensure that shell scripts and OCaml fragments
+in the documentation always stays up-to-date.
+
+@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
+@code{mdx} which are the same, mdx being the deprecated name, kept for now for
+compatibility.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 12/13] gnu: Add ocaml-merlin.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (9 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 11/13] gnu: Add ocaml-mdx pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 13/13] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-merlin): New variable.
  (ocaml-dot-merlin-reader): New variable.
  (ocaml4.07-merlin): Inherit from ocaml-merlin.
---
 gnu/packages/ocaml.scm | 89 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 75 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 385d96977e..258f7e8fd6 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3908,11 +3908,41 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test
 format}.  @code{craml} is released as a single binary (called @code{craml}).")
     (license license:isc)))
 
-(define-public ocaml4.07-merlin
+(define-public ocaml-dot-merlin-reader
   (package
-    (name "ocaml4.07-merlin")
-    (version "3.2.2")
+    (name "ocaml-dot-merlin-reader")
+    (version "3.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/merlin")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "dot-merlin-reader"
+                 #:tests? #f))          ; no tests
+    (inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)
+       ;; XXX: following are dependencies of ocaml-yojson. Should they be
+       ;; propagated-inputs in ocaml-yojson?
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)))
     (home-page "https://ocaml.github.io/merlin/")
+    (synopsis "Reads config files for @code{ocaml-merlin}")
+    (description "@code{ocaml-dot-merlin-reader} is an external reader for
+@code{ocaml-merlin} configurations.")
+    (license license:expat)))
+
+(define-public ocaml-merlin
+  (package
+    (name "ocaml-merlin")
+    (version "3.4.2")
     (source
      (origin
        (method git-fetch)
@@ -3922,20 +3952,21 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
     (build-system dune-build-system)
+    (arguments '(#:package "merlin"
+                 #:test-target "tests"))
     (inputs
-     `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou))
-       ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))
-       ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format))))
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)))
     (native-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)))
-    (arguments
-     `(#:package "merlin"
-       #:tests? #f ;; Errors in tests in version 3.2.2
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
+       ("ocaml-mdx" ,ocaml-mdx)
+       ("jq" ,jq)))
+    (home-page "https://ocaml.github.io/merlin/")
     (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
     (description "Merlin is an editor service that provides modern IDE
 features for OCaml.  Emacs and Vim support is provided out-of-the-box.
@@ -3943,6 +3974,36 @@ External contributors added support for Visual Studio Code, Sublime Text and
 Atom.")
     (license license:expat)))
 
+;; ocaml-merlin 3.4.2 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml4.07-merlin
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-merlin)
+     (name "ocaml-merlin")
+     (version "3.2.2")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/merlin")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+     (build-system dune-build-system)
+     (inputs
+      `(("ocaml-biniou" ,ocaml-biniou)
+        ("ocaml-yojson" ,ocaml-yojson)
+        ("ocaml-easy-format" ,ocaml-easy-format)))
+     (native-inputs
+      `(("ocaml-findlib" ,ocaml-findlib)))
+     (arguments
+      `(#:package "merlin"
+        ;; Errors in tests in version 3.2.2
+        #:tests? #f)))))
+
 (define-public ocaml4.07-gsl
   (package
     (name "ocaml4.07-gsl")
-- 
2.29.2





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

* [bug#45498] [PATCH v2 13/13] gnu: ocaml-yojson: Make dependencies propagated-inputs.
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
                         ` (10 preceding siblings ...)
  2020-12-28 18:14       ` [bug#45498] [PATCH v2 12/13] gnu: Add ocaml-merlin pukkamustard
@ 2020-12-28 18:14       ` pukkamustard
  11 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 18:14 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-yojson): Make dependencies propagated-inputs.
---
 gnu/packages/ocaml.scm | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 258f7e8fd6..f3f275046f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3857,7 +3857,7 @@ than yojson), with 25-35% space savings.")
     (build-system dune-build-system)
     (arguments
      `(#:test-target "."))
-    (inputs
+    (propagated-inputs
      `(("ocaml-biniou" ,ocaml-biniou)
        ("ocaml-easy-format" ,ocaml-easy-format)))
     (native-inputs
@@ -3928,11 +3928,7 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
     (inputs
      `(("ocaml-yojson" ,ocaml-yojson)
        ("ocaml-csexp" ,ocaml-csexp)
-       ("ocaml-result" ,ocaml-result)
-       ;; XXX: following are dependencies of ocaml-yojson. Should they be
-       ;; propagated-inputs in ocaml-yojson?
-       ("ocaml-biniou" ,ocaml-biniou)
-       ("ocaml-easy-format" ,ocaml-easy-format)))
+       ("ocaml-result" ,ocaml-result)))
     (home-page "https://ocaml.github.io/merlin/")
     (synopsis "Reads config files for @code{ocaml-merlin}")
     (description "@code{ocaml-dot-merlin-reader} is an external reader for
@@ -3958,8 +3954,6 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
                  #:test-target "tests"))
     (inputs
      `(("ocaml-yojson" ,ocaml-yojson)
-       ("ocaml-biniou" ,ocaml-biniou)
-       ("ocaml-easy-format" ,ocaml-easy-format)
        ("ocaml-csexp" ,ocaml-csexp)
        ("ocaml-result" ,ocaml-result)))
     (native-inputs
@@ -3994,9 +3988,7 @@ Atom.")
           "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
      (build-system dune-build-system)
      (inputs
-      `(("ocaml-biniou" ,ocaml-biniou)
-        ("ocaml-yojson" ,ocaml-yojson)
-        ("ocaml-easy-format" ,ocaml-easy-format)))
+      `(("ocaml-yojson" ,ocaml-yojson)))
      (native-inputs
       `(("ocaml-findlib" ,ocaml-findlib)))
      (arguments
-- 
2.29.2





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

* [bug#45498] [PATCH 00/12] Add ocaml-merlin.
  2020-12-28 18:10   ` pukkamustard
  2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
@ 2020-12-28 20:00     ` Julien Lepiller
  2020-12-28 21:09       ` pukkamustard
  1 sibling, 1 reply; 47+ messages in thread
From: Julien Lepiller @ 2020-12-28 20:00 UTC (permalink / raw)
  To: pukkamustard; +Cc: 45498

Le Mon, 28 Dec 2020 19:10:48 +0100,
pukkamustard <pukkamustard@posteo.net> a écrit :

> Thank you for the feedback! v2 of patch series coming shortly...
> 
> I was not aware of the `ocaml4.07-variant` property. It makes 
> things a
> lot nicer!
> 
> I've added it for `ocaml-markup` and `ocaml-odoc` and also
> `ocaml-sexplib0`, `ocaml-parsexp`, `ocaml-base` and 
> `ocaml-sexplib`.

Thank you, it will make things easier to maintain I think :)

> 
> This makes `ocaml4.07-*` vanish from lot of places in favor of
> `(package-with-ocaml4.07 *)`.
> 
> > Have you tried updating dune to the latest version that builds 
> > with
> > ocaml 4.07?  
> 
> Not yet. For ocaml-markup 1.0.0 the problem is that the dune file
> version is set to 2.7. Any dune below 2.7.x will probably not 
> work.

Is this a hard requirement? I think we used to be able to use older
dune versions despite this.

> 
> For other packages it might work...
> 
> >  
> >>
> >>   This is quite cumbersome as two trees of OCaml packages need 
> >>   to be
> >>   maintained.  
> >
> > Actually 3, there are ocaml 4.07, 4.09 and 4.11 currently. I'm 
> > working
> > on a bootstrap for ocaml 4.07 (ocaml builds from a binary 
> > version of
> > itself), so I don't think it'll disappear soon, but at least we 
> > can try
> > and make ocaml4.07-* packages disappear :)
> >  
> 
> \o/ Looking forward to the bootstrap!

Yay, it should become reality in the next few months. Currently we
target ocaml 4.07 because it's the last version that doesn't require
merlin; after that we should be able to use ocaml4.07-merlin to build
the parser for more recent versions.

> With the `ocaml4.*-variant` property managing the 3 trees does not 
> seem
> so bad after all.
> 
> Currently there are a lot of packages only for 4.07. It would be 
> nicer
> to have packages for default compiler and when needed variants for 
> older
> compilers.

This is for historical reasons: we had these packages with ocaml 4.07,
and only for those packages that still require ocaml 4.07. More recent
versions of these packages have a different dependency tree, which
makes it hard to maintain both trees at the same time, especially as
there is no version that supports any two of our ocaml compilers at the
same time.

> I plan to do some OCaml hacking in the next months and will send 
> in
> patches toward this, if that is ok.

That would be very appreciated!

> >> - Some OCaml libraries have dependencies in `inputs` that seem 
> >> to be
> >> required from packages using the libraries.  E.g. 
> >> `ocaml-yojson`
> >> depends on `ocaml-biniou`. Packages depending on `ocaml-yojson` 
> >> need
> >> to manually add `ocaml-biniou` to their inputs. Would it 
> >> work/make
> >> sense to add `ocaml-biniou` to `propagated-inputs` of 
> >> `ocaml-yojson`?  
> >
> > Yeah, could you provide an additional patch for that?  
> 
> Done. Patch 13 in v2.

Could you instead put this as patch 12, and add merlin as patch 13?
That way you don't have to add the dependencies in merlin and remove
them in the following patch.

Also, patch 12 adds ocaml-dot-merlin-reader and ocaml-merlin. could you
separate it in two separate patches? I'm also wondering if we should
call this package "merlin" instead of ocaml-merlin, since it provides a
binary of that name?

> 
> -pukkamustard
> 





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

* [bug#45498] [PATCH 00/12] Add ocaml-merlin.
  2020-12-28 20:00     ` [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
@ 2020-12-28 21:09       ` pukkamustard
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
  0 siblings, 1 reply; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:09 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 45498


>> > Have you tried updating dune to the latest version that 
>> > builds
>> > with
>> > ocaml 4.07?
>>
>> Not yet. For ocaml-markup 1.0.0 the problem is that the dune 
>> file
>> version is set to 2.7. Any dune below 2.7.x will probably not
>> work.
>
> Is this a hard requirement? I think we used to be able to use 
> older
> dune versions despite this.

Not sure. Will keep this for future investigation.

>> >> - Some OCaml libraries have dependencies in `inputs` that 
>> >> seem
>> >> to be
>> >> required from packages using the libraries.  E.g.
>> >> `ocaml-yojson`
>> >> depends on `ocaml-biniou`. Packages depending on 
>> >> `ocaml-yojson`
>> >> need
>> >> to manually add `ocaml-biniou` to their inputs. Would it
>> >> work/make
>> >> sense to add `ocaml-biniou` to `propagated-inputs` of
>> >> `ocaml-yojson`?
>> >
>> > Yeah, could you provide an additional patch for that?
>>
>> Done. Patch 13 in v2.
>
> Could you instead put this as patch 12, and add merlin as patch 
> 13?
> That way you don't have to add the dependencies in merlin and 
> remove
> them in the following patch.
>
> Also, patch 12 adds ocaml-dot-merlin-reader and ocaml-merlin. 
> could you
> separate it in two separate patches?

Done. v3 coming shortly...

> I'm also wondering if we should
> call this package "merlin" instead of ocaml-merlin, since it 
> provides a
> binary of that name?

Hm, both seems fine to me. I've stuck to "ocaml-merlin" for now. 
Feel
free to change if you think "merlin" is more suitable.

-pukkamustard




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

* [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools.
  2020-12-28 21:09       ` pukkamustard
@ 2020-12-28 21:10         ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0 pukkamustard
                             ` (12 more replies)
  0 siblings, 13 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

The package is deprecated and no longer maintained. It is recommended
to use dune instead.

* gnu/packages/ocaml.xyz (ocaml-js-build-tools, janestreet-origin,
janestreet-arguments): Remove variable.
---
 gnu/packages/ocaml.scm | 65 +-----------------------------------------
 1 file changed, 1 insertion(+), 64 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2bfda7307e..aa9dfb3dae 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -92,47 +93,6 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
-;; Janestreet packages are found in a similar way and all need the same patch.
-(define (janestreet-origin name version hash)
-  (origin (method url-fetch)
-          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/"
-                              (version-major+minor version) "/files/"
-                              name "-" version ".tar.gz"))
-          (sha256 (base32 hash))
-          (modules '((guix build utils)))
-          (snippet
-           (let ((pattern (string-append "lib/" name)))
-             `(begin
-                ;; install.ml contains an invalid reference to the ppx file and
-                ;; propagates this error to the generated META file.  It
-                ;; looks for it in the "lib" directory, but it is installed in
-                ;; "lib/ocaml/site-lib/package".  This substitute does not change
-                ;; this file for non ppx packages.
-                (substitute* "install.ml"
-                  ((,pattern) (string-append "lib/ocaml/site-lib/" ,name)))
-                ;; The standard Makefile would try to install janestreet modules
-                ;; in OCaml's directory in the store, which is read-only.
-                (substitute* "Makefile"
-                  (("--prefix")
-                   "--libdir $(LIBDIR) --prefix"))
-                #t)))))
-
-;; They also require almost the same set of arguments
-(define janestreet-arguments
-  `(#:use-make? #t
-    #:make-flags
-    (list (string-append "CONFIGUREFLAGS=--prefix "
-                         (assoc-ref %outputs "out")
-                         " --enable-tests")
-          (string-append "LIBDIR="
-                         (assoc-ref %outputs "out")
-                         "/lib/ocaml/site-lib")
-          ;; for ocaml-bin-prot, otherwise ignored
-          (string-append "OCAML_TOPLEVEL_PATH="
-                         (assoc-ref %build-inputs "findlib")
-                         "/lib/ocaml/site-lib"))
-    #:phases (modify-phases %standard-phases (delete 'configure))))
-
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -2715,29 +2675,6 @@ system in your OCaml projects.  It helps to create standard entry points in your
 build system and allows external tools to analyse your project easily.")
     (license license:lgpl2.1+))) ; with ocaml static compilation exception
 
-(define-public ocaml-js-build-tools
-  (package
-    (name "ocaml-js-build-tools")
-    (version "113.33.06")
-    (source (janestreet-origin "js-build-tools" version
-              "0r8z4fz8iy5y6hkdlkpwf6rk4qigcr3dzyv35585xgg2ahf12zy6"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("ocamlbuild" ,ocamlbuild)
-       ("opam" ,opam)))
-    (build-system ocaml-build-system)
-    (arguments janestreet-arguments)
-    (home-page "https://github.com/janestreet/js-build-tools")
-    (synopsis "Collection of tools to help building Jane Street Packages")
-    (description "This package contains tools to help building Jane Street
-packages, but can be used for other purposes.  It contains:
-@enumerate
-@item an @command{oasis2opam-install} tool to produce a @file{.install} file
-from the oasis build log
-@item a @code{js_build_tools} ocamlbuild plugin with various goodies.
-@end enumerate")
-    (license license:asl2.0)))
-
 (define-public ocaml-cppo
   (package
     (name "ocaml-cppo")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 03/14] gnu: Add ocaml-base pukkamustard
                             ` (11 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib0): New variable.
  (ocaml4.07-sexplib0): Inherit from ocaml-sexplib0.
  (janestreet-origin): New variable.
---
 gnu/packages/ocaml.scm | 60 ++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index aa9dfb3dae..7dced949d3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -93,6 +93,14 @@
                  (number->string file-number) "/" name "-" version
                  ".tar.gz"))
 
+(define (janestreet-origin name version hash)
+  (origin (method url-fetch)
+          (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                              (version-major+minor version) "/files/"
+                              name "-v" (version-major+minor+point version)
+                              ".tar.gz"))
+          (sha256 (base32 hash))))
+
 (define-public ocaml-4.11
   (package
     (name "ocaml")
@@ -2917,7 +2925,7 @@ JSON.")
        ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
     (propagated-inputs
      `(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
        ("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext))))
     (home-page "https://github.com/mirage/ocaml-uri")
     (synopsis "RFC3986 URI/URL parsing library")
@@ -3648,7 +3656,7 @@ syntax checking on dedukti files.")
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
     (properties `((upstream-name . "ppx_inline_test")))
@@ -4027,33 +4035,35 @@ an arbitrary number of processes.  Cache coherence protocols and mutual
 exclusion algorithms are typical examples of such systems.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-sexplib0
+(define-public ocaml-sexplib0
   (package
-    (name "ocaml4.07-sexplib0")
-    (version "0.11.0")
+    (name "ocaml-sexplib0")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib0")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi"))))
+     (janestreet-origin "sexplib0" version
+                        "0adrc0r1vvvr41dcpj8jwkzh1dfgqf0mks9xlnnskqfm3a51iavg"))
     (build-system dune-build-system)
-    (arguments
-     `(#:tests? #f ;no tests
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+    (arguments `(#:tests? #f)) ;no tests
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0))))
     (synopsis "Library containing the definition of S-expressions and some
 base converters")
     (description "Part of Jane Street's Core library The Core suite of
 libraries is an industrial strength alternative to OCaml's standard library
 that was developed by Jane Street, the largest industrial user of OCaml.")
-(license license:expat)))
+    (license license:expat)))
+
+(define-public ocaml4.07-sexplib0
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-sexplib0)
+     (name "ocaml-sexplib0")
+     (version "0.11.0")
+     (source
+      (janestreet-origin "sexplib0" version
+                         "1p06p2s7p9xsjn0z9qicniv1ai54d8sj11k8j633di2mm7jzxpin"))
+     (arguments `(#:tests? #f))         ; no tests
+     (properties '()))))
 
 (define-public ocaml4.07-parsexp
   (package
@@ -4076,7 +4086,7 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -4128,7 +4138,7 @@ parsexp_io.")
     (propagated-inputs
      `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
        ("ocaml-parsexp" ,ocaml4.07-parsexp)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
     (description
@@ -4153,7 +4163,7 @@ functionality for parsing and pretty-printing s-expressions.")
          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -4224,7 +4234,7 @@ is now @code{Ocaml_common.Ast_helper}.")
     (build-system dune-build-system)
     (propagated-inputs
      `(("ocaml-base" ,ocaml4.07-base)
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:tests? #f ;no tests
        #:ocaml ,ocaml-4.07
@@ -4288,7 +4298,7 @@ as part of the same ocaml-migrate-parsetree driver.")
        ("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
+       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.29.2





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

* [bug#45498] [PATCH v3 03/14] gnu: Add ocaml-base.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0 pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 04/14] gnu: Add ocaml-parsexp pukkamustard
                             ` (10 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-base): New variable.
  (ocaml4.07-base): Inherit from ocaml-base.
---
 gnu/packages/ocaml.scm | 137 ++++++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 62 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7dced949d3..6a232be8a7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1607,7 +1607,7 @@ library.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (native-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)
        ("pkg-config" ,pkg-config)))
     (inputs
@@ -2560,7 +2560,7 @@ hierarchy of modules.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (native-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("pcre:bin" ,pcre "bin")))
     (propagated-inputs `(("pcre" ,pcre)))
     (home-page "https://mmottl.github.io/pcre-ocaml")
@@ -3652,7 +3652,7 @@ syntax checking on dedukti files.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
@@ -3946,7 +3946,7 @@ Atom.")
     (inputs
      `(("gsl" ,gsl)))
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://mmottl.github.io/gsl-ocaml")
     (synopsis "Bindings to the GNU Scientific Library")
@@ -4146,38 +4146,22 @@ parsexp_io.")
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
-(define-public ocaml4.07-base
+(define-public ocaml-base
   (package
-    (name "ocaml4.07-base")
-    (version "0.11.1")
+    (name "ocaml-base")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/base")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
+     (janestreet-origin "base" version
+         "1rkdhsgbcv0a8p29mwvpd2ldz8cjk97pixl43izm54wyin4lp778"))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           ;; make warnings non fatal (jbuilder behaviour)
-           (lambda _
-             (invoke "dune" "build" "@install" "--profile=release"))))
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-  (synopsis
-    "Full standard library replacement for OCaml")
-  (description
-    "Base is a complete and portable alternative to the OCaml standard
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base))))
+    (synopsis
+     "Full standard library replacement for OCaml")
+    (description
+     "Base is a complete and portable alternative to the OCaml standard
 library.  It provides all standard functionalities one would expect
 from a language standard library.  It uses consistent conventions
 across all of its module.
@@ -4186,7 +4170,36 @@ Base aims to be usable in any context.  As a result system dependent
 features such as I/O are not offered by Base.  They are instead
 provided by companion libraries such as
 @url{https://github.com/janestreet/stdio, ocaml-stdio}.")
-  (license license:expat)))
+    (license license:expat)))
+
+(define-public ocaml4.07-base
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-base)
+     (name "ocaml-base")
+     (version "0.11.1")
+     (source
+      (origin
+        ;; version 0.11.1 is not released on ocaml.janestreet.org.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/janestreet/base.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (replace 'build
+            ;; make warnings non fatal (jbuilder behaviour)
+            (lambda _
+              (invoke "dune" "build" "@install" "--profile=release"))))
+        #:ocaml ,ocaml-4.07
+        #:findlib ,ocaml4.07-findlib
+        #:dune ,ocaml4.07-dune))
+     (properties '()))))
 
 (define-public ocaml4.07-compiler-libs
   (package
@@ -4233,7 +4246,7 @@ is now @code{Ocaml_common.Ast_helper}.")
          "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (arguments
      `(#:tests? #f ;no tests
@@ -4291,7 +4304,7 @@ as part of the same ocaml-migrate-parsetree driver.")
          "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv"))))
     (build-system dune-build-system)
     (propagated-inputs
-     `(("ocaml-base" ,ocaml4.07-base)
+     `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
        ("ocaml-migrate-parsetree"
         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4354,7 +4367,7 @@ OCaml AST in the OCaml syntax;
                 "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4393,7 +4406,7 @@ by making sure that you only compare comparable values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4425,7 +4438,7 @@ of a record and create new record values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4450,7 +4463,7 @@ standard library.")
                 "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4483,7 +4496,7 @@ new record values.")
                 "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4513,7 +4526,7 @@ definitions.")
                 "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-variantslib" ,ocaml4.07-variantslib)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4546,7 +4559,7 @@ variant types.")
                 "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -4576,7 +4589,7 @@ string conversion.")
                 "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
     (build-system dune-build-system)
     (inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
         ("ocaml-ppx-fields-conv" ,ocaml4.07-ppx-fields-conv)
@@ -4645,7 +4658,7 @@ storage of large amounts of data.")
                 "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
     (build-system dune-build-system)
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4682,7 +4695,7 @@ hash functions from type exrpessions and definitions.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4744,7 +4757,7 @@ many values).")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4773,7 +4786,7 @@ many values).")
        #:ocaml ,ocaml-4.07
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
-    (propagated-inputs `(("ocaml-base" ,ocaml4.07-base)))
+    (propagated-inputs `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))))
     (home-page "https://github.com/janestreet/typerep")
     (synopsis "Typerep is a library for runtime types")
     (description "Typerep is a library for runtime types.")
@@ -4797,7 +4810,7 @@ many values).")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4828,7 +4841,7 @@ ocaml values.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-migrate-parsetree"
@@ -4893,7 +4906,7 @@ context such as function arguments.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4923,7 +4936,7 @@ else expression.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
     (properties `((upstream-name . "ppx_optcomp")))
@@ -4952,7 +4965,7 @@ size, the version of the compiler, ...")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
@@ -4981,7 +4994,7 @@ match expressions, and if expressions.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -5011,7 +5024,7 @@ position.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
@@ -5044,7 +5057,7 @@ useful errors on failure.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
         ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
         ("ocaml-ppx-custom-printf" ,ocaml4.07-ppx-custom-printf)
@@ -5088,7 +5101,7 @@ to denote the expected output.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
         ("ocaml-octavius" ,(package-with-ocaml4.07 ocaml-octavius))
@@ -5121,7 +5134,7 @@ packages.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-typerep" ,ocaml4.07-typerep)
         ("ocaml-migrate-parsetree"
          ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
@@ -5190,7 +5203,7 @@ verification tool.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
         ("ocaml-ppx-here" ,ocaml4.07-ppx-here)
         ("ocaml-migrate-parsetree"
@@ -5268,7 +5281,7 @@ driver including all standard Jane Street ppx rewriters.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("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))))
@@ -5328,7 +5341,7 @@ various Jane Street packages.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://github.com/janestreet/configurator")
     (synopsis "Helper library for gathering system configuration")
@@ -5415,7 +5428,7 @@ thousands of times faster than fork.
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-configurator" ,ocaml4.07-configurator)
         ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
@@ -5455,7 +5468,7 @@ standard library that was developed by Jane Street.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,ocaml4.07-base)
+      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
         ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
         ("ocaml-configurator" ,ocaml4.07-configurator)
         ("ocaml-fieldslib" ,ocaml4.07-fieldslib)
@@ -5715,7 +5728,7 @@ library FFTW.")
     (native-inputs
      `(("openblas" ,openblas)
        ("lapack" ,lapack)
-       ("ocaml-base" ,ocaml4.07-base)
+       ("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
        ("ocaml-stdio" ,ocaml4.07-stdio)))
     (home-page "https://mmottl.github.io/lacaml/")
     (synopsis
-- 
2.29.2





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

* [bug#45498] [PATCH v3 04/14] gnu: Add ocaml-parsexp.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0 pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 03/14] gnu: Add ocaml-base pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 05/14] gnu: Add ocaml-sexplib pukkamustard
                             ` (9 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-parsexp): New variable.
  (ocaml4.07-parsexp): Inherit from ocaml-parsexp.
---
 gnu/packages/ocaml.scm | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6a232be8a7..31f524331f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4065,28 +4065,19 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
      (arguments `(#:tests? #f))         ; no tests
      (properties '()))))
 
-(define-public ocaml4.07-parsexp
+(define-public ocaml-parsexp
   (package
-    (name "ocaml4.07-parsexp")
-    (version "0.11.0")
+    (name "ocaml-parsexp")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/parsexp")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz"))))
+     (janestreet-origin "parsexp" version
+                        "158znj19dvfdcwsgzs3rdhxpj1g4aw0d4nkfr8c05bahf0lnshlb"))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
+     `(("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-base" ,ocaml-base)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-parsexp))))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -4115,6 +4106,17 @@ s-expressions from files or other external sources, you should use
 parsexp_io.")
     (license license:expat)))
 
+(define-public ocaml4.07-parsexp
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-parsexp)
+     (name "ocaml-parsexp")
+     (version "0.11.0")
+     (source
+      (janestreet-origin "parsexp" version
+                         "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
+     (properties '()))))
+
 (define-public ocaml4.07-sexplib
   (package
     (name "ocaml4.07-sexplib")
@@ -4137,7 +4139,7 @@ parsexp_io.")
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
      `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
-       ("ocaml-parsexp" ,ocaml4.07-parsexp)
+       ("ocaml-parsexp" ,(package-with-ocaml4.07 ocaml-parsexp))
        ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 05/14] gnu: Add ocaml-sexplib.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (2 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 04/14] gnu: Add ocaml-parsexp pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 06/14] gnu: Add ocaml-ounit2 pukkamustard
                             ` (8 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-sexplib): New variable.
  (ocaml4.07-sexplib): Inherit from ocaml-sexplib.
---
 gnu/packages/ocaml.scm | 49 +++++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 31f524331f..246141c618 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2886,7 +2886,7 @@ writing to these structures, and they are accessed via the Bigarray module.")
     (propagated-inputs
      `(("ocaml-hex" ,(package-with-ocaml4.07 ocaml-hex))
        ("ocaml-jsonm" ,(package-with-ocaml4.07 ocaml-jsonm))
-       ("ocaml-sexplib" ,ocaml4.07-sexplib)))
+       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))))
     (home-page "https://github.com/mirage/ezjsonm/")
     (synopsis "Read and write JSON data")
     (description "Ezjsonm provides more convenient (but far less flexible) input
@@ -4117,37 +4117,38 @@ parsexp_io.")
                          "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
      (properties '()))))
 
-(define-public ocaml4.07-sexplib
+(define-public ocaml-sexplib
   (package
-    (name "ocaml4.07-sexplib")
-    (version "0.11.0")
+    (name "ocaml-sexplib")
+    (version "0.14.0")
     (home-page "https://github.com/janestreet/sexplib")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb"))))
+     (janestreet-origin "sexplib" version
+                        "12rlnc6fcrjfdn3gs2agi418sj54ighhs6dfll37zcv7mgywblm2"))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (propagated-inputs
-     `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
-       ("ocaml-parsexp" ,(package-with-ocaml4.07 ocaml-parsexp))
-       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))))
+     `(("ocaml-base" ,ocaml-base)
+       ("ocaml-num" ,ocaml-num)
+       ("ocaml-parsexp" ,ocaml-parsexp)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
     (description
-     "This package is part of Jane Street's Core library. Sexplib contains
+     "This package is part of Jane Street's Core library.  Sexplib contains
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
+(define-public ocaml4.07-sexplib
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-sexplib)
+     (version "0.11.0")
+     (source
+      (janestreet-origin "sexplib" version
+                         "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
+     (properties '()))))
+
 (define-public ocaml-base
   (package
     (name "ocaml-base")
@@ -5435,7 +5436,7 @@ thousands of times faster than fork.
         ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
         ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
         ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-        ("ocaml-sexplib" ,ocaml4.07-sexplib)
+        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
         ("ocaml-spawn" ,ocaml4.07-spawn)
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-migrate-parsetree"
@@ -5482,7 +5483,7 @@ standard library that was developed by Jane Street.")
         ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
         ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)
         ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
-        ("ocaml-sexplib" ,ocaml4.07-sexplib)
+        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
         ("ocaml-splittable-random" ,ocaml4.07-splittable-random)
         ("ocaml-stdio" ,ocaml4.07-stdio)
         ("ocaml-typerep" ,ocaml4.07-typerep)
@@ -5649,7 +5650,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
     (inputs
      `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
        ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
-       ("ocaml-sexplib" ,ocaml4.07-sexplib)
+       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
        ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
        ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
     (native-inputs
-- 
2.29.2





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

* [bug#45498] [PATCH v3 06/14] gnu: Add ocaml-ounit2.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (3 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 05/14] gnu: Add ocaml-sexplib pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 07/14] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
                             ` (7 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 246141c618..f132edbbca 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -981,6 +981,32 @@ compilers that can directly deal with packages.")
      `(("m4" ,m4)
        ("ocaml" ,ocaml-4.09)))))
 
+(define-public ocaml-ounit2
+  (package
+    (name "ocaml-ounit2")
+    (version "2.2.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gildor478/ounit.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gxjw1bhmjcjzri6x6psqrkbbyq678b69bqfl9i1zswp7cj2lryg"))))
+    (build-system dune-build-system)
+    (inputs
+     ;; XXX Should libev be a propagated-input of ocaml-lwt?
+     `(("libev" ,libev)))
+    (propagated-inputs
+     `(("lwt" ,ocaml-lwt)
+       ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
+    (home-page "https://github.com/gildor478/ounit")
+    (synopsis "Unit testing framework for OCaml")
+    (description "Unit testing framework for OCaml.  It is similar to JUnit and
+other XUnit testing frameworks.")
+    (license license:expat)))
+
 ;; note that some tests may hang for no obvious reason.
 (define-public ocaml-ounit
   (package
-- 
2.29.2





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

* [bug#45498] [PATCH v3 07/14] gnu: ocaml-tyxml: Update to 4.4.0.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (4 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 06/14] gnu: Add ocaml-ounit2 pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 08/14] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
                             ` (6 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f132edbbca..c042ebd58b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5581,7 +5581,7 @@ stream, and convert everything to UTF-8.")
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
-    (version "4.3.0")
+    (version "4.4.0")
     (source
      (origin
        (method git-fetch)
@@ -5591,7 +5591,7 @@ stream, and convert everything to UTF-8.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wv19xipkj8l2sks1h53105ywbjwk7q93fb7b8al4a2g9wr109c0"))))
+         "1hw4phyadcfgywgh5sj87i76gp56qwxzwlcpfdwjbf6ggag9clmd"))))
     (build-system dune-build-system)
     (inputs
      `(("ocaml-re" ,ocaml-re)
-- 
2.29.2





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

* [bug#45498] [PATCH v3 08/14] gnu: ocaml-markup: Update to 1.0.0.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (5 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 07/14] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 09/14] gnu: Add ocaml-odoc pukkamustard
                             ` (5 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-markup): Update to 1.0.0.
  (ocaml-markup0.8.0): New variable.
---
 gnu/packages/ocaml.scm | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c042ebd58b..6f4c0b980e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5532,7 +5532,7 @@ the full Core is not available, such as in Javascript.")
 (define-public ocaml-markup
   (package
     (name "ocaml-markup")
-    (version "0.8.2")
+    (version "1.0.0")
     (home-page "https://github.com/aantron/markup.ml")
     (source
      (origin
@@ -5543,7 +5543,7 @@ the full Core is not available, such as in Javascript.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "13zcrwzjmifniv3bvjbkd2ah8wwa3ld75bxh1d8hrzdvfxzh9szn"))))
+         "09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9"))))
     (build-system dune-build-system)
     (arguments
      `(#:package "markup"))
@@ -5555,8 +5555,10 @@ the full Core is not available, such as in Javascript.")
        ("ocaml-uutf" ,ocaml-uutf)
        ("ocaml-lwt" ,ocaml-lwt)))
     (native-inputs
-     `(("ocaml-ounit" ,ocaml-ounit)
+     `(("ocaml-ounit2" ,ocaml-ounit2)
        ("pkg-config" ,pkg-config)))
+    (properties
+     `((ocaml4.07-variant . ,(delay (package-with-ocaml4.07 ocaml-markup0.8.0)))))
     (synopsis "Error-recovering functional HTML5 and XML parsers and writers")
     (description "Markup.ml provides an HTML parser and an XML parser.  The
 parsers are wrapped in a simple interface: they are functions that transform
@@ -5578,6 +5580,26 @@ a single pass.  They automatically detect the character encoding of the input
 stream, and convert everything to UTF-8.")
     (license license:bsd-3)))
 
+;; ocaml-markup 1.0.0 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml-markup0.8.0
+  (package
+    (inherit ocaml-markup)
+    (name "ocaml-markup")
+    (version "0.8.0")
+    (home-page "https://github.com/aantron/markup.ml")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
+    (properties '())))
+
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 09/14] gnu: Add ocaml-odoc.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (6 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 08/14] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 10/14] gnu: Add ocaml-version pukkamustard
                             ` (4 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-odoc): New variable.
  (ocaml4.07-odoc): Inherit from ocaml-odoc and update to 1.5.1.
---
 gnu/packages/ocaml.scm | 60 +++++++++++++++++++++++++++---------------
 1 file changed, 39 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6f4c0b980e..70386c72ce 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages virtualization)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -2185,7 +2186,7 @@ representation of the data.")
        #:findlib ,ocaml4.07-findlib
        #:dune ,ocaml4.07-dune))
     (propagated-inputs
-     `(("ocaml-odoc" ,ocaml4.07-odoc)))
+     `(("ocaml-odoc" ,(package-with-ocaml4.07 ocaml4.07-odoc))))
     (native-inputs
      `(("ocaml-qtest" ,(package-with-ocaml4.07 ocaml-qtest))
        ("ocaml-qcheck" ,(package-with-ocaml4.07 ocaml-qcheck))))
@@ -5677,10 +5678,10 @@ Usage is simple - add package bisect_ppx when building tests, run your tests,
 then run the Bisect_ppx report tool on the generated visitation files.")
     (license license:mpl2.0)))
 
-(define-public ocaml4.07-odoc
+(define-public ocaml-odoc
   (package
-    (name "ocaml4.07-odoc")
-    (version "1.4.2")
+    (name "ocaml-odoc")
+    (version "1.5.2")
     (source
      (origin
        (method git-fetch)
@@ -5689,26 +5690,24 @@ then run the Bisect_ppx report tool on the generated visitation files.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i"))))
+        (base32 "0fqfyz48q7ss5bc4c5phmp4s3ka3vc08b8gfk8fvyryvb4bq27jm"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (inputs
-     `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))
-       ("ocaml-markup" ,(package-with-ocaml4.07 ocaml-markup))
-       ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
-       ("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-uutf" ,(package-with-ocaml4.07 ocaml-uutf))))
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-markup" ,ocaml-markup)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-uutf" ,ocaml-uutf)))
     (native-inputs
-     `(("ocaml-astring" ,(package-with-ocaml4.07 ocaml-astring))
-       ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
-       ("ocaml-cppo" ,(package-with-ocaml4.07 ocaml-cppo))
-       ("ocaml-fpath" ,(package-with-ocaml4.07 ocaml-fpath))
-       ("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
-       ("ocaml-tyxml" ,(package-with-ocaml4.07 ocaml-tyxml))
-       ("ocaml-bisect-ppx" ,(package-with-ocaml4.07 ocaml-bisect-ppx))))
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-tyxml" ,ocaml-tyxml)
+       ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
+       ("tidy-html" ,tidy-html)))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-odoc))))
     (home-page "https://github.com/ocaml/odoc")
     (synopsis "OCaml documentation generator")
     (description "Odoc is a documentation generator for OCaml.  It reads
@@ -5720,6 +5719,25 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the
 complexity of the OCaml module system.")
     (license license:isc)))
 
+;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
+;; with old version of dune used in package-with-ocaml4.07
+(define-public ocaml4.07-odoc
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-odoc)
+     (name "ocaml-odoc")
+     (version "1.5.1")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/odoc")
+              (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
+     (properties '()))))
+
 (define-public ocaml4.07-fftw3
   (package
     (name "ocaml4.07-fftw3")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 10/14] gnu: Add ocaml-version.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (7 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 09/14] gnu: Add ocaml-odoc pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 11/14] gnu: Add ocaml-mdx pukkamustard
                             ` (3 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 70386c72ce..baebe2540f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5844,6 +5844,32 @@ include the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
 and SVG file output.")
     (license license:lgpl3+)))
 
+(define-public ocaml-version
+  (package
+    (name "ocaml-version")
+    (version "3.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocurrent/ocaml-version")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "13770mp6adjjbx63zsbh6506dqxz241chw8c3y403sxpw45hnaw6"))))
+    (build-system dune-build-system)
+    (arguments `(#:tests? #f))          ; no tests
+    (home-page
+     "https://github.com/ocurrent/ocaml-version")
+    (synopsis
+     "Manipulate, parse and generate OCaml compiler version strings")
+    (description
+     "This library provides facilities to parse version numbers of the OCaml
+compiler, and enumerates the various official OCaml releases and configuration
+variants.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 11/14] gnu: Add ocaml-mdx.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (8 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 10/14] gnu: Add ocaml-version pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 12/14] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
                             ` (2 subsequent siblings)
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index baebe2540f..385d96977e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5870,6 +5870,55 @@ compiler, and enumerates the various official OCaml releases and configuration
 variants.")
     (license license:isc)))
 
+(define-public ocaml-mdx
+  (package
+    (name "ocaml-mdx")
+    (version "1.7.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/realworldocaml/mdx")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-fmt" ,ocaml-fmt)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-logs" ,ocaml-logs)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+       ("ocaml-odoc" ,ocaml-odoc)
+       ("ocaml-version" ,ocaml-version)))
+    (native-inputs
+     `(("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-lwt" ,ocaml-lwt)
+       ("ocaml-alcotest" ,ocaml-alcotest)))
+    (home-page
+     "https://github.com/realworldocaml/mdx")
+    (synopsis
+     "Executable code blocks inside markdown files")
+    (description
+     "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+There are (currently) two sub-commands, corresponding
+to two modes of operations: pre-processing (@code{ocaml-mdx pp})
+and tests (@code{ocaml-mdx test}]).
+
+The pre-processor mode allows to mix documentation and code,
+and to practice @dfn{literate programming} using markdown and OCaml.
+
+The test mode allows to ensure that shell scripts and OCaml fragments
+in the documentation always stays up-to-date.
+
+@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
+@code{mdx} which are the same, mdx being the deprecated name, kept for now for
+compatibility.")
+    (license license:isc)))
+
 (define-public lablgtk3
   (package
     (name "lablgtk")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 12/14] gnu: ocaml-yojson: Make dependencies propagated-inputs.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (9 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 11/14] gnu: Add ocaml-mdx pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 13/14] gnu: Add ocaml-dot-merlin-reader pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 14/14] gnu: Add ocaml-merlin pukkamustard
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-yojson): Make dependencies propagated-inputs.
  (ocaml4.07-merlin)[inputs]: Remove ocaml-biniou and ocaml-easy-format.
---
 gnu/packages/ocaml.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 385d96977e..a4c0bdb1ac 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3857,7 +3857,7 @@ than yojson), with 25-35% space savings.")
     (build-system dune-build-system)
     (arguments
      `(#:test-target "."))
-    (inputs
+    (propagated-inputs
      `(("ocaml-biniou" ,ocaml-biniou)
        ("ocaml-easy-format" ,ocaml-easy-format)))
     (native-inputs
@@ -3925,9 +3925,7 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
     (build-system dune-build-system)
     (inputs
-     `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou))
-       ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))
-       ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format))))
+     `(("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))))
     (native-inputs
      `(("ocaml-findlib" ,ocaml-findlib)))
     (arguments
-- 
2.29.2





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

* [bug#45498] [PATCH v3 13/14] gnu: Add ocaml-dot-merlin-reader.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (10 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 12/14] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 14/14] gnu: Add ocaml-merlin pukkamustard
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-dot-merlin-reader): New variable.
---
 gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a4c0bdb1ac..8efc7caba4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3908,6 +3908,33 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test
 format}.  @code{craml} is released as a single binary (called @code{craml}).")
     (license license:isc)))
 
+(define-public ocaml-dot-merlin-reader
+  (package
+    (name "ocaml-dot-merlin-reader")
+    (version "3.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/merlin")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "dot-merlin-reader"
+                 #:tests? #f))          ; no tests
+    (inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)))
+    (home-page "https://ocaml.github.io/merlin/")
+    (synopsis "Reads config files for @code{ocaml-merlin}")
+    (description "@code{ocaml-dot-merlin-reader} is an external reader for
+@code{ocaml-merlin} configurations.")
+    (license license:expat)))
+
 (define-public ocaml4.07-merlin
   (package
     (name "ocaml4.07-merlin")
-- 
2.29.2





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

* [bug#45498] [PATCH v3 14/14] gnu: Add ocaml-merlin.
  2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
                             ` (11 preceding siblings ...)
  2020-12-28 21:10           ` [bug#45498] [PATCH v3 13/14] gnu: Add ocaml-dot-merlin-reader pukkamustard
@ 2020-12-28 21:10           ` pukkamustard
  12 siblings, 0 replies; 47+ messages in thread
From: pukkamustard @ 2020-12-28 21:10 UTC (permalink / raw)
  To: 45498

* gnu/packages/ocaml.scm (ocaml-merlin): New variable.
  (ocaml4.07-merlin): Inherit from ocaml-merlin.
---
 gnu/packages/ocaml.scm | 54 ++++++++++++++++++++++++++++++++----------
 1 file changed, 41 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8efc7caba4..f3f275046f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3935,11 +3935,10 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
 @code{ocaml-merlin} configurations.")
     (license license:expat)))
 
-(define-public ocaml4.07-merlin
+(define-public ocaml-merlin
   (package
-    (name "ocaml4.07-merlin")
-    (version "3.2.2")
-    (home-page "https://ocaml.github.io/merlin/")
+    (name "ocaml-merlin")
+    (version "3.4.2")
     (source
      (origin
        (method git-fetch)
@@ -3949,18 +3948,19 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
     (build-system dune-build-system)
+    (arguments '(#:package "merlin"
+                 #:test-target "tests"))
     (inputs
-     `(("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))))
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)))
     (native-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)))
-    (arguments
-     `(#:package "merlin"
-       #:tests? #f ;; Errors in tests in version 3.2.2
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
+       ("ocaml-mdx" ,ocaml-mdx)
+       ("jq" ,jq)))
+    (home-page "https://ocaml.github.io/merlin/")
     (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
     (description "Merlin is an editor service that provides modern IDE
 features for OCaml.  Emacs and Vim support is provided out-of-the-box.
@@ -3968,6 +3968,34 @@ External contributors added support for Visual Studio Code, Sublime Text and
 Atom.")
     (license license:expat)))
 
+;; ocaml-merlin 3.4.2 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml4.07-merlin
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-merlin)
+     (name "ocaml-merlin")
+     (version "3.2.2")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/merlin")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+     (build-system dune-build-system)
+     (inputs
+      `(("ocaml-yojson" ,ocaml-yojson)))
+     (native-inputs
+      `(("ocaml-findlib" ,ocaml-findlib)))
+     (arguments
+      `(#:package "merlin"
+        ;; Errors in tests in version 3.2.2
+        #:tests? #f)))))
+
 (define-public ocaml4.07-gsl
   (package
     (name "ocaml4.07-gsl")
-- 
2.29.2





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

* bug#45498: [PATCH 00/12] Add ocaml-merlin.
  2020-12-28 12:40 [bug#45498] [PATCH 00/12] Add ocaml-merlin pukkamustard
  2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
  2020-12-28 14:06 ` [bug#34412] [bug#45498] [PATCH 00/12] " Julien Lepiller
@ 2020-12-30 13:29 ` Julien Lepiller
  2 siblings, 0 replies; 47+ messages in thread
From: Julien Lepiller @ 2020-12-30 13:29 UTC (permalink / raw)
  To: pukkamustard; +Cc: 45498-done

Pushed as 77ca156ab2b3a89b2e15d9de4912ad8e022c2c78 to
8b036927a45fb2c1428badabdc3dc0d9d51f7f25 to master, thank you!




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

end of thread, other threads:[~2020-12-30 13:30 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-28 12:40 [bug#45498] [PATCH 00/12] Add ocaml-merlin pukkamustard
2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 03/12] gnu: Add ocaml-base pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 04/12] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 05/12] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 06/12] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 07/12] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 13:58     ` Julien Lepiller
2020-12-28 12:47   ` [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc pukkamustard
2020-12-28 14:02     ` Julien Lepiller
2020-12-28 12:47   ` [bug#45498] [PATCH 10/12] gnu: Add ocaml-version pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 11/12] gnu: Add ocaml-mdx pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 12/12] gnu: Add ocaml-merlin pukkamustard
2020-12-28 14:06 ` [bug#34412] [bug#45498] [PATCH 00/12] " Julien Lepiller
2020-12-28 18:10   ` pukkamustard
2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 03/13] gnu: Add ocaml-base pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 04/13] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 05/13] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 06/13] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 07/13] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 08/13] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 09/13] gnu: Add ocaml-odoc pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 10/13] gnu: Add ocaml-version pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 11/13] gnu: Add ocaml-mdx pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 12/13] gnu: Add ocaml-merlin pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 13/13] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
2020-12-28 20:00     ` [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
2020-12-28 21:09       ` pukkamustard
2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 03/14] gnu: Add ocaml-base pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 04/14] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 05/14] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 06/14] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 07/14] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 08/14] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 09/14] gnu: Add ocaml-odoc pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 10/14] gnu: Add ocaml-version pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 11/14] gnu: Add ocaml-mdx pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 12/14] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 13/14] gnu: Add ocaml-dot-merlin-reader pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 14/14] gnu: Add ocaml-merlin pukkamustard
2020-12-30 13:29 ` bug#45498: [PATCH 00/12] " Julien Lepiller

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

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

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