diff options
author | Maxime Devos <maximedevos@telenet.be> | 2021-08-24 14:35:44 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2021-09-20 11:15:06 +0000 |
commit | 0d7888acf0791d1260ebf3f37ec50ad1dfcf359e (patch) | |
tree | 4ccbd9af987106ef319bac8e33fc32ce193dfbc5 | |
parent | 9fa7b1d1125c919b2ac5b5627275b1f45118e6e3 (diff) | |
download | guix-0d7888acf0791d1260ebf3f37ec50ad1dfcf359e.tar.gz |
gnu: bdb: Fix cross-compilation build errors.
* gnu/packages/dbm.scm (bdb-4.8)[arguments]<#:phases>{update-config.sub}: Update 'config.sub' when cross-compiling for 'powerpc64le' or 'aarch64'.
-rw-r--r-- | gnu/packages/dbm.scm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index ce84ef9eda..607e4aecf8 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (gnu packages dbm) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -57,6 +59,19 @@ #:disallowed-references ("doc") #:phases (modify-phases %standard-phases + ;; The configure script is too old to recognise aarch64 and + ;; powerpc64le as valid architectures. The trick below works + ;; for "--build", but not for "--host", so update config.sub. + ,@(if (and (%current-target-system) + (or (target-ppc64le? (%current-target-system)) + (target-aarch64? (%current-target-system)))) + `((add-after 'unpack 'update-config.sub + (lambda* (#:key native-inputs #:allow-other-keys) + (delete-file "dist/config.sub") + (symlink + (search-input-file native-inputs "/bin/config.sub") + "dist/config.sub")))) + '()) (replace 'configure (lambda* (#:key target outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -97,6 +112,12 @@ ;; of db_cxx.h into C++ files works; it leads to ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. "--enable-cxx"))))))) + (native-inputs + (if (and (%current-target-system) + (or (target-ppc64le? (%current-target-system)) + (target-aarch64? (%current-target-system)))) + `(("config" ,config)) ; for config.sub + '())) (synopsis "Berkeley database") (description "Berkeley DB is an embeddable database allowing developers the choice of |