all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xinglu Chen <public@yoctocell.xyz>
To: 49984@debbugs.gnu.org
Subject: [bug#49984] [PATCH] gnu: Add ocaml-4.12.
Date: Tue, 10 Aug 2021 20:18:55 +0200	[thread overview]
Message-ID: <dd1beed7409be1b3e3df6f22d85a361a7f1c7ce1.1628619472.git.public@yoctocell.xyz> (raw)

* 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	other threads:[~2021-08-10 18:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10 18:18 Xinglu Chen [this message]
2022-02-04 21:43 ` [bug#49984] [PATCH] gnu: Add ocaml-4.12 Ludovic Courtès
2022-02-04 22:42   ` bug#49984: " Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dd1beed7409be1b3e3df6f22d85a361a7f1c7ce1.1628619472.git.public@yoctocell.xyz \
    --to=public@yoctocell.xyz \
    --cc=49984@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.