From b3d24c1d4f92daa4cd22b5abaa1e29ae0f23255b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 4 Apr 2024 16:15:08 +0200 Subject: gnu: libstdc++: Support cross-compilation to powerpc64le-linux-gnu. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously the phase would fail when cross-compiling because the patch could not be found in ‘inputs’. * gnu/packages/gcc.scm (make-libstdc++): Add alternative ‘patch-powerpc’ phase for when (%current-target-system) is true. Change-Id: Ia503d761d34596d95cc9d33edd911cebcc2e0d9e --- gnu/packages/gcc.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index c8902de6a0..7be4cb9bb1 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2023 Ludovic Courtès +;;; Copyright © 2012-2024 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus ;;; Copyright © 2015, 2023 Andreas Enge @@ -969,10 +969,18 @@ using compilers other than GCC." (if (and (target-ppc64le?) (version>=? version "11") (not (version>=? version "12"))) - #~((add-after 'unpack 'patch-powerpc - (lambda* (#:key inputs #:allow-other-keys) - (invoke "patch" "--force" "-p1" "-i" - (assoc-ref inputs "powerpc64le-patch"))))) + ;; TODO: Drop the 'else' branch below on next rebuild + ;; cycle. + (if (%current-target-system) + #~((add-after 'unpack 'patch-powerpc ;correct + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke "patch" "--force" "-p1" "-i" + (assoc-ref (or native-inputs inputs) + "powerpc64le-patch"))))) + #~((add-after 'unpack 'patch-powerpc ;wrong + (lambda* (#:key inputs #:allow-other-keys) + (invoke "patch" "--force" "-p1" "-i" + (assoc-ref inputs "powerpc64le-patch")))))) '())) ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64. (add-before 'chdir 'fix-rs6000-libdir -- cgit v1.2.3