aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/multiprecision.scm
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2020-03-29 23:54:30 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2020-03-29 23:54:30 +0200
commit3e3364fc526e1a54ea7744361ffcf6a59a6610a8 (patch)
treec188ba56628348dd70f5a7d0134ee82a712e8723 /gnu/packages/multiprecision.scm
parent71d17a09ee133ee4232f08cd8b60ae4373eea6cf (diff)
downloadguix-3e3364fc526e1a54ea7744361ffcf6a59a6610a8.tar
guix-3e3364fc526e1a54ea7744361ffcf6a59a6610a8.tar.gz
gnu: gmp: Build fix for mingw.
* gnu/packages/multiprecision.scm (gmp) [arguments]: Add `setenv' phase for mingw target.
Diffstat (limited to 'gnu/packages/multiprecision.scm')
-rw-r--r--gnu/packages/multiprecision.scm46
1 files changed, 33 insertions, 13 deletions
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index bc5071dad0..9a0b042dc0 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -50,18 +50,38 @@
(build-system gnu-build-system)
(native-inputs `(("m4" ,m4)))
(outputs '("out" "debug"))
- (arguments `(#:parallel-tests? #f ; mpz/reuse fails otherwise
- #:configure-flags
- '(;; Build a "fat binary", with routines for several
- ;; sub-architectures.
- "--enable-fat"
- "--enable-cxx"
- ,@(cond ((target-mingw?)
- ;; Static and shared cannot be built in one go:
- ;; they produce different headers. We need shared.
- `("--disable-static"
- "--enable-shared"))
- (else '())))))
+ (arguments
+ `(#:parallel-tests? #f ; mpz/reuse fails otherwise
+ #:configure-flags
+ '(;; Build a "fat binary", with routines for several
+ ;; sub-architectures.
+ "--enable-fat"
+ "--enable-cxx"
+ ,@(cond ((target-mingw?)
+ ;; Static and shared cannot be built in one go:
+ ;; 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)))))
+ '())))
(synopsis "Multiple-precision arithmetic library")
(description
"The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs