diff mbox series

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

Message ID dd1beed7409be1b3e3df6f22d85a361a7f1c7ce1.1628619472.git.public@yoctocell.xyz
State Accepted
Headers show
Series [bug#49984] gnu: Add ocaml-4.12. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Xinglu Chen Aug. 10, 2021, 6:18 p.m. UTC
* 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(-)


base-commit: 1fa4485fb033874fd56b025e8ec998aebc245fe5

Comments

Ludovic Courtès Feb. 4, 2022, 9:43 p.m. UTC | #1
Hi,

Xinglu Chen <public@yoctocell.xyz> 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’.
Julien Lepiller Feb. 4, 2022, 10:42 p.m. UTC | #2
Right, sorry about that. Closing.

On February 4, 2022 10:43:59 PM GMT+01:00, "Ludovic Courtès" <ludo@gnu.org> wrote:
>Hi,
>
>Xinglu Chen <public@yoctocell.xyz> 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’.
diff mbox series

Patch

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