all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#38861] [WIP 0/1] Add ocaml-4.09.
@ 2020-01-02  1:12 Brett Gilio
  2020-01-02  1:14 ` [bug#38861] [WIP 1/1] gnu: " Brett Gilio
  0 siblings, 1 reply; 6+ messages in thread
From: Brett Gilio @ 2020-01-02  1:12 UTC (permalink / raw)
  To: 38861

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: [WIP 0/1] Add ocaml-4.09. --]
[-- Type: text/x-patch, Size: 622 bytes --]

From 1f3f55c2482fb33912a38829f0c2b981d835d80f Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@gnu.org>
Date: Wed, 1 Jan 2020 19:09:16 -0600
Subject: [WIP 0/1] Add ocaml-4.09.
To: guix-patches@gnu.org

This patch series is a WIP for adding OCaml 4.09.0.
I want to see if we can make the failing tests work, and ensure
that all relevant changes from the inherited OCaml version are fine.
For example, I removed the configuration replacement, and the shell
patching.

Brett Gilio (1):
  gnu: Add ocaml-4.09.

 gnu/packages/ocaml.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

-- 
2.24.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#38861] [WIP 1/1] gnu: Add ocaml-4.09.
  2020-01-02  1:12 [bug#38861] [WIP 0/1] Add ocaml-4.09 Brett Gilio
@ 2020-01-02  1:14 ` Brett Gilio
  2020-01-08  6:39   ` Brett Gilio
  0 siblings, 1 reply; 6+ messages in thread
From: Brett Gilio @ 2020-01-02  1:14 UTC (permalink / raw)
  To: 38861

[-- Attachment #1: [WIP 1/1] gnu: Add ocaml-4.09. --]
[-- Type: text/x-patch, Size: 2822 bytes --]

From 1f3f55c2482fb33912a38829f0c2b981d835d80f Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@gnu.org>
Date: Wed, 1 Jan 2020 19:06:13 -0600
Subject: [WIP 1/1] gnu: Add ocaml-4.09.
To: guix-patches@gnu.org

* 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 <gabrielhondet@gmail.com>
 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;;
 ;;; 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
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#38861] [WIP 1/1] gnu: Add ocaml-4.09.
  2020-01-02  1:14 ` [bug#38861] [WIP 1/1] gnu: " Brett Gilio
@ 2020-01-08  6:39   ` Brett Gilio
  2020-01-08 12:44     ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Brett Gilio @ 2020-01-08  6:39 UTC (permalink / raw)
  To: 38861

Brett Gilio <brettg@gnu.org> writes:

>>From 1f3f55c2482fb33912a38829f0c2b981d835d80f Mon Sep 17 00:00:00 2001
> From: Brett Gilio <brettg@gnu.org>
> Date: Wed, 1 Jan 2020 19:06:13 -0600
> Subject: [WIP 1/1] gnu: Add ocaml-4.09.
> To: guix-patches@gnu.org
>
> * 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 <gabrielhondet@gmail.com>
>  ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
>  ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
> +;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
>  ;;;
>  ;;; 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]
<brettg@gnu.org> <brettg@posteo.net>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#38861] [WIP 1/1] gnu: Add ocaml-4.09.
  2020-01-08  6:39   ` Brett Gilio
@ 2020-01-08 12:44     ` Julien Lepiller
  2020-01-11  1:55       ` Brett Gilio
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2020-01-08 12:44 UTC (permalink / raw)
  To: 38861, brettg

Le 8 janvier 2020 01:39:21 GMT-05:00, Brett Gilio <brettg@gnu.org> a écrit :
>Brett Gilio <brettg@gnu.org> writes:
>
>>>From 1f3f55c2482fb33912a38829f0c2b981d835d80f Mon Sep 17 00:00:00
>2001
>> From: Brett Gilio <brettg@gnu.org>
>> Date: Wed, 1 Jan 2020 19:06:13 -0600
>> Subject: [WIP 1/1] gnu: Add ocaml-4.09.
>> To: guix-patches@gnu.org
>>
>> * 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 <gabrielhondet@gmail.com>
>>  ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
>>  ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
>> +;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
>>  ;;;
>>  ;;; 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?

I tried to do that not so long ago, but failed because of two packages: bap and another one I can't remember. The whole janestreet stuff (core and ppx-*) needs to be re-imported: many dependencies changed.

I think we can have two versions of ocaml if some packages don't support the latest. In that case, I would only duplicate packages that are dependencies of these packages. In general, you can use a procedure to recursively modify ocaml packages so they use the older version. See package-with-ocaml4.02 that existed at some point.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#38861] [WIP 1/1] gnu: Add ocaml-4.09.
  2020-01-08 12:44     ` Julien Lepiller
@ 2020-01-11  1:55       ` Brett Gilio
  2020-01-13 21:50         ` bug#38861: " Brett Gilio
  0 siblings, 1 reply; 6+ messages in thread
From: Brett Gilio @ 2020-01-11  1:55 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 38861

Julien Lepiller <julien@lepiller.eu> writes:

>
> I tried to do that not so long ago, but failed because of two
> packages: bap and another one I can't remember. The whole janestreet
> stuff (core and ppx-*) needs to be re-imported: many dependencies
> changed.
>
> I think we can have two versions of ocaml if some packages don't
> support the latest. In that case, I would only duplicate packages that
> are dependencies of these packages. In general, you can use a
> procedure to recursively modify ocaml packages so they use the older
> version. See package-with-ocaml4.02 that existed at some point.
>

Thanks for your help Julien. I am trying some things on my channel. Will
report back here in a few days.

-- 
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg@gnu.org> <brettg@posteo.net>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#38861: [WIP 1/1] gnu: Add ocaml-4.09.
  2020-01-11  1:55       ` Brett Gilio
@ 2020-01-13 21:50         ` Brett Gilio
  0 siblings, 0 replies; 6+ messages in thread
From: Brett Gilio @ 2020-01-13 21:50 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 38861-done

Brett Gilio <brettg@gnu.org> writes:

> Julien Lepiller <julien@lepiller.eu> writes:
>
>>
>> I tried to do that not so long ago, but failed because of two
>> packages: bap and another one I can't remember. The whole janestreet
>> stuff (core and ppx-*) needs to be re-imported: many dependencies
>> changed.
>>
>> I think we can have two versions of ocaml if some packages don't
>> support the latest. In that case, I would only duplicate packages that
>> are dependencies of these packages. In general, you can use a
>> procedure to recursively modify ocaml packages so they use the older
>> version. See package-with-ocaml4.02 that existed at some point.
>>
>
> Thanks for your help Julien. I am trying some things on my channel. Will
> report back here in a few days.

Development is occuring now on branch 'wip-ocaml4.09'. Closing.

-- 
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg@gnu.org> <brettg@posteo.net>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-13 21:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-02  1:12 [bug#38861] [WIP 0/1] Add ocaml-4.09 Brett Gilio
2020-01-02  1:14 ` [bug#38861] [WIP 1/1] gnu: " Brett Gilio
2020-01-08  6:39   ` Brett Gilio
2020-01-08 12:44     ` Julien Lepiller
2020-01-11  1:55       ` Brett Gilio
2020-01-13 21:50         ` bug#38861: " Brett Gilio

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.