diff mbox series

[bug#65200] Update gmp to 6.3.0

Message ID ZNS6dEpq4OT9xX6u@jurong
State New
Headers show
Series [bug#65200] Update gmp to 6.3.0 | expand

Commit Message

Andreas Enge Aug. 10, 2023, 10:22 a.m. UTC
The attached patch updates gmp to the latest release 6.3.0.

I have tested it on x86_64 and the x86_64-w64-mingw32 cross-compilation
target, since I have taken out a work-around for this target.

There are close to 20000 dependent packages, but as far as I can see
bootstrapping is not concerned, which starts from gmp-6.0.

It would be interesting to try whether we can bootstrap directly from
6.3.0 now, that is, whether the comment
  ;; We keep this one around to bootstrap GCC, to work around a compilation
  ;; issue on ARM.  See
  ;; <https://gmplib.org/list-archives/gmp-bugs/2015-December/003848.html>.
is still valid; it might let us drop the two gmp patches altogether.

Andreas
From 2955ea78db15dee770a70fac51ea40016b13b4ef Mon Sep 17 00:00:00 2001
Message-ID: <2955ea78db15dee770a70fac51ea40016b13b4ef.1691662380.git.andreas@enge.fr>
From: Andreas Enge <andreas@enge.fr>
Date: Thu, 10 Aug 2023 12:12:48 +0200
Subject: [PATCH] gnu: gmp: Update to 6.3.0.

* gnu/packages/multiprecision.scm (gmp)[source]: Update to 6.3.0. Disable
patch.
[arguments]: Remove 'setenv phase.
---
 gnu/packages/multiprecision.scm | 28 ++++------------------------
 1 file changed, 4 insertions(+), 24 deletions(-)


base-commit: 90e34d25d5e7c14b7f3293a78f3cdad676c0d035

Comments

Greg Hogan Aug. 15, 2023, 2:59 p.m. UTC | #1
On Thu, Aug 10, 2023 at 6:24 AM Andreas Enge <andreas@enge.fr> wrote:
> [...]
> There are close to 20000 dependent packages, but as far as I can see
> bootstrapping is not concerned, which starts from gmp-6.0.
> [...]

Can this be combined with other C/C++ updates such as glibc, boost,
cmake, etc.? Perhaps in a C/C++ team branch? I would be interested in
helping with this endeavor, and have some patches which I could submit
to the mailing list shortly.

Greg
Andreas Enge Aug. 17, 2023, 2:55 p.m. UTC | #2
Am Thu, Aug 10, 2023 at 12:22:44PM +0200 schrieb Andreas Enge:
> It would be interesting to try whether we can bootstrap directly from
> 6.3.0 now, that is, whether the comment
>   ;; We keep this one around to bootstrap GCC, to work around a compilation
>   ;; issue on ARM.  See
>   ;; <https://gmplib.org/list-archives/gmp-bugs/2015-December/003848.html>.
> is still valid; it might let us drop the two gmp patches altogether.

At least not in a straightforward way; already on x86_64, it fails to
replace all occurrences of gmp-6.0 in commencement.scm by gmp.

Am Tue, Aug 15, 2023 at 10:59:20AM -0400 schrieb Greg Hogan:
> Can this be combined with other C/C++ updates such as glibc, boost,
> cmake, etc.? Perhaps in a C/C++ team branch? I would be interested in
> helping with this endeavor, and have some patches which I could submit
> to the mailing list shortly.

It should at least be combined with a pending MPFR update:
   https://sympa.inria.fr/sympa/arc/mpfr/2023-08/msg00008.html

I have no opinion on the other packages. I expect the gmp/mpfr update
to be rather smooth, but to just require a lot of rebuilds. This may
not be the case for a glibc update.

Andreas
Andreas Enge Aug. 17, 2023, 4:16 p.m. UTC | #3
With an additional commit on the wip-gmp branch, I have enabled parallel
tests. The package builds on x86_64, i686, aarch64 and armhf.

Andreas
Andreas Enge Sept. 2, 2024, 10:13 a.m. UTC | #4
Similar updates have been done by other persons on the previous
core-updates branch; closing this bug.

I still think we could enable parallel tests, but it may not be worth
testing this given the high amounts of rebuilds. Maybe next time the
package is updated.

The bootstrapping question is also still open; maybe we can drop the
previous gmp version and its patches.

Andreas
diff mbox series

Patch

diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 3aa5dccfab..cf11c81635 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -1,7 +1,7 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2018, 2023 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -45,7 +45,7 @@  (define-module (gnu packages multiprecision)
 (define-public gmp
   (package
    (name "gmp")
-   (version "6.2.1")
+   (version "6.3.0")
    (source (origin
             (method url-fetch)
             (uri
@@ -53,8 +53,7 @@  (define-public gmp
                             version ".tar.xz"))
             (sha256
              (base32
-              "1wml97fdmpcynsbw9yl77rj29qibfp652d0w3222zlfx5j8jjj7x"))
-            (patches (search-patches "gmp-faulty-test.patch"))))
+              "1648ad1mr7c1r8lkkqshrv1jfjgfdb30plsadxhni7mq041bihm3"))))
    (build-system gnu-build-system)
    (native-inputs (list m4))
    (outputs '("out" "debug"))
@@ -70,26 +69,7 @@  (define-public gmp
                  ;; they produce different headers.  We need shared.
                  `("--disable-static"
                    "--enable-shared"))
-                (else '())))
-      ;; Remove after core-updates merge.
-      ;; Workaround for gcc-7 transition breakage, -system and cross-build,
-      ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
-      ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co.
-      ,@(if (target-mingw?)
-            `(#:phases
-              (modify-phases %standard-phases
-                (add-before 'configure 'setenv
-                  (lambda _
-                    (let ((gcc (assoc-ref %build-inputs "cross-gcc"))
-                          (libc (assoc-ref %build-inputs "cross-libc")))
-                      (setenv "CROSS_CPLUS_INCLUDE_PATH"
-                              (string-append gcc "/include/c++"
-                                             ":" gcc "/include"
-                                             ":" libc "/include"))
-                      (format #t "environment variable `CROSS_CPLUS_INCLUDE_PATH' set to `~a'\n"
-                              (getenv "CROSS_CPLUS_INCLUDE_PATH"))
-                      #t)))))
-            '())))
+                (else '())))))
    (synopsis "Multiple-precision arithmetic library")
    (description
     "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs