gnu: gmp: Update to 6.3.0 and streamline definition.

* gnu/packages/multiprecision.scm (gmp): Update to 6.3.0.  Fix indentation.
[arguments]: Use gexps.  Remove obsolete phase.

Change-Id: I99a0c8173ebc4a4a45512771ccf17782d6ddfe14
This commit is contained in:
Maxim Cournoyer 2024-01-05 13:24:32 -05:00 committed by Ludovic Courtès
parent 935470e13c
commit 42aad100af
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -8,7 +8,7 @@
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; ;;;
@ -45,63 +45,46 @@ (define-module (gnu packages multiprecision)
(define-public gmp (define-public gmp
(package (package
(name "gmp") (name "gmp")
(version "6.2.1") (version "6.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "mirror://gnu/gmp/gmp-" (string-append "mirror://gnu/gmp/gmp-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1wml97fdmpcynsbw9yl77rj29qibfp652d0w3222zlfx5j8jjj7x")) "1648ad1mr7c1r8lkkqshrv1jfjgfdb30plsadxhni7mq041bihm3"))
(patches (search-patches "gmp-faulty-test.patch")))) (patches (search-patches "gmp-faulty-test.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (list m4)) (native-inputs (list m4))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
`(#:parallel-tests? #f ; mpz/reuse fails otherwise (list
#:parallel-tests? #f ; mpz/reuse fails otherwise
#:configure-flags #:configure-flags
'(;; Build a "fat binary", with routines for several #~(list
;; sub-architectures. ;; Build a "fat binary", with routines for several sub-architectures.
"--enable-fat" "--enable-fat"
"--enable-cxx" "--enable-cxx"
,@(cond ((target-mingw?) $#@(cond
;; Static and shared cannot be built in one go: ((target-mingw?)
;; they produce different headers. We need shared. ;; Static and shared cannot be built in one go: they produce
`("--disable-static" ;; different headers. We need shared.
"--enable-shared")) '("--disable-static"
((target-x32?) "--enable-shared"))
`("ABI=x32")) ((target-x32?)
(else '()))) `("ABI=x32"))
;; Remove after core-updates merge. (else '())))))
;; Workaround for gcc-7 transition breakage, -system and cross-build, (synopsis "Multiple-precision arithmetic library")
;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. (description
;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co. "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs
,@(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)))))
'())))
(synopsis "Multiple-precision arithmetic library")
(description
"The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs
arbitrary-precision arithmetic on signed integers, rational numbers and floating arbitrary-precision arithmetic on signed integers, rational numbers and floating
point numbers. The precision is only limited by the available memory. point numbers. The precision is only limited by the available memory.
The library is highly optimized, with a design focus on execution speed. The library is highly optimized, with a design focus on execution speed.
It is aimed at use in, for example, cryptography and computational algebra.") It is aimed at use in, for example, cryptography and computational algebra.")
(license lgpl3+) (license lgpl3+)
(home-page "https://gmplib.org/"))) (home-page "https://gmplib.org/")))
(define-public gmp-6.0 (define-public gmp-6.0
;; We keep this one around to bootstrap GCC, to work around a compilation ;; We keep this one around to bootstrap GCC, to work around a compilation