guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Xinglu Chen
Subject: [bug#49984] [PATCH] gnu: Add ocaml-4.12.
Date: Tue, 10 Aug 2021 20:18:55 +0200

* 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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]