Subject: [bug#38861] [WIP 1/1] gnu: Add ocaml-4.09.

From: Brett Gilio <[email-masked]>
Date: Wed, 08 Jan 2020 00:39:21 -0600

Brett Gilio <[email-masked]> writes:

>>>From 1f3f55c2482fb33912a38829f0c2b981d835d80f Mon Sep 17 00:00:00 2001
> From: Brett Gilio <[email-masked]>
> Date: Wed, 1 Jan 2020 19:06:13 -0600
> Subject: [WIP 1/1] gnu: Add ocaml-4.09.
> To: [email-masked]
>
> * gnu/packages/ocaml.scm (ocaml-4.09): New variable inherits from ocaml-4.07
>   with changes to configuration and checks.
> ---
>  gnu/packages/ocaml.scm | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 2988810fc7..0ee8fdd508 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -13,6 +13,7 @@
>  ;;; Copyright © 2018, 2019 Gabriel Hondet <[email-masked]>
>  ;;; Copyright © 2018 Kei Kebreau <[email-masked]>
>  ;;; Copyright © 2019 Ricardo Wurmus <[email-masked]>
> +;;; Copyright © 2020 Brett Gilio <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -212,6 +213,42 @@ functional, imperative and object-oriented styles of programming.")
>      ;; distributed under lgpl2.0.
>      (license (list license:qpl license:lgpl2.0))))
>  
> +(define-public ocaml-4.09
> +  (package (inherit ocaml-4.07)
> +           (name "ocaml")
> +           (version "4.09.0")
> +           (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
> +                       "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"))))
> +           (arguments
> +            `(#:phases
> +              (modify-phases %standard-phases
> +                (add-after 'unpack 'delete-failing-tests
> +                  (lambda _
> +                    (with-directory-excursion "testsuite"
> +                      (for-each delete-file-recursively
> +                                '(;; This test group does not terminate.
> +                                  "tests/tool-debugger"
> +                                  ;; These test groups fail.
> +                                  "tests/lib-unix/common"
> +                                  "tests/lib-scanf-2"
> +                                  "tests/lib-threads")))
> +                    #t))
> +                (replace 'build
> +                  (lambda _
> +                    (invoke "make" "-j" (number->string (parallel-job-count))
> +                            "world.opt")))
> +                (replace 'check
> +                  (lambda _
> +                    (with-directory-excursion "testsuite"
> +                      (invoke "make" "all")))))))))
> +
>  (define-public ocaml ocaml-4.07)
>  
>  (define-public ocamlbuild

Hello all who are interested. I'd really like to get OCaml up to 4.09
(and all of the OCaml-dependent packages in better shape). I am unsure
of the approach to take. Should I offer two versions of OCaml? If so,
should I subsequently offer two versions of each ocaml-* package built
against each respective toolchain or what is our protocol here?

-- 
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<[email-masked]> <[email-masked]>