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
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