Subject: bug#49984: closed (Re: bug#49984: [PATCH] gnu: Add ocaml-4.12.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 04 Feb 2022 22:43:02 +0000

Your bug report

#49984: [PATCH] gnu: Add ocaml-4.12.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
49984: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49984
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#49984: [PATCH] gnu: Add ocaml-4.12.
From: Julien Lepiller <[email-masked]>
To: Ludovic Courtès <[email-masked]>, Xinglu Chen <[email-masked]>
Cc: [email-masked]
Date: Fri, 04 Feb 2022 23:42:35 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Right, sorry about that. Closing.

On February 4, 2022 10:43:59 PM GMT+01:00, "Ludovic Courtès" <[email-masked]> wrote:
>Hi,
>
>Xinglu Chen <[email-masked]> skribis:
>
>> * gnu/packages/ocaml.scm (ocaml-4.12): New variable.
>> (ocaml-4.11): Inherit from ‘ocaml-4.12’.
>
>Also fell through the cracks.  :-/
>
>We have 4.13.1 now in ‘master’ so I assume this is no longer needed?
>Julien?
>
>Thanks,
>Ludo’.

Subject: [PATCH] gnu: Add ocaml-4.12.
From: Xinglu Chen <[email-masked]>
To: [email-masked]
Date: Tue, 10 Aug 2021 20:18:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/ocaml.scm (ocaml-4.12): New variable.
(ocaml-4.11): Inherit from ‘ocaml-4.12’.
---
I tried to inherit as much as possible without having to rebuild
‘ocaml-4.11’.

 gnu/packages/ocaml.scm | 57 +++++++++++++++++++++++++++++++-----------
 1 file changed, 42 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 112751ddec..4108bc0b5f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -176,10 +176,10 @@ OCaml and can effectively bootstrap OCaml 4.07.
 This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
       (license license:expat))))
 
-(define-public ocaml-4.11
+(define-public ocaml-4.12
   (package
     (name "ocaml")
-    (version "4.11.1")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -188,7 +188,7 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
                     "/ocaml-" version ".tar.xz"))
               (sha256
                (base32
-                "0k4521c0p10c5ams6vjv5qkkjhmpkb0bfn04llcz46ah0f3r2jpa"))))
+                "1hxy349jfa2vkfgmxf6pvd9w4z5bmcgsg0fxfdabcghyvjw9vvir"))))
     (build-system gnu-build-system)
     (native-search-paths
      (list (search-path-specification
@@ -205,6 +205,44 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
      `(("libx11" ,libx11)
        ("libiberty" ,libiberty)               ;needed for objdump support
        ("zlib" ,zlib)))                       ;also needed for objdump support
+    (arguments
+     `(#:configure-flags '("--enable-ocamltest")
+       #:test-target "tests"
+       #:make-flags '("world.opt")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-/bin/sh-references
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((sh (string-append (assoc-ref inputs "bash")
+                                      "/bin/sh")))
+               (substitute* (find-files "." "\\.ml$")
+                 (("\"/bin/sh\"")
+                  (string-append "\"" sh "\"")))))))))
+    (home-page "https://ocaml.org/")
+    (synopsis "The OCaml programming language")
+    (description
+     "OCaml is a general purpose industrial-strength programming language with
+an emphasis on expressiveness and safety.  Developed for more than 20 years at
+Inria it benefits from one of the most advanced type systems and supports
+functional, imperative and object-oriented styles of programming.")
+    ;; The compiler is distributed under qpl1.0 with a change to choice of
+    ;; law: the license is governed by the laws of France.  The library is
+    ;; distributed under lgpl2.0.
+    (license (list license:qpl license:lgpl2.0))))
+
+(define-public ocaml-4.11
+  (package
+    (inherit ocaml-4.12)
+    (version "4.11.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://caml.inria.fr/pub/distrib/ocaml-"
+                    (version-major+minor version)
+                    "/ocaml-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0k4521c0p10c5ams6vjv5qkkjhmpkb0bfn04llcz46ah0f3r2jpa"))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -232,18 +270,7 @@ patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
          (replace 'check
            (lambda _
              (with-directory-excursion "testsuite"
-               (invoke "make" "all")))))))
-    (home-page "https://ocaml.org/")
-    (synopsis "The OCaml programming language")
-    (description
-     "OCaml is a general purpose industrial-strength programming language with
-an emphasis on expressiveness and safety.  Developed for more than 20 years at
-Inria it benefits from one of the most advanced type systems and supports
-functional, imperative and object-oriented styles of programming.")
-    ;; The compiler is distributed under qpl1.0 with a change to choice of
-    ;; law: the license is governed by the laws of France.  The library is
-    ;; distributed under lgpl2.0.
-    (license (list license:qpl license:lgpl2.0))))
+               (invoke "make" "all")))))))))
 
 (define-public ocaml-4.09
   (package

base-commit: 1fa4485fb033874fd56b025e8ec998aebc245fe5
-- 
2.32.0