summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-04 16:15:08 +0200
committerLudovic Courtès <ludo@gnu.org>2024-04-04 16:15:08 +0200
commitb3d24c1d4f92daa4cd22b5abaa1e29ae0f23255b (patch)
tree354c2d7a23eb339d1a0a5dff79dd3ad0f39267e4 /gnu/packages/gcc.scm
parenteaf54b598f1066653222f4a6e58833b6aa5bf22b (diff)
gnu: libstdc++: Support cross-compilation to powerpc64le-linux-gnu.
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
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm18
1 files changed, 13 insertions, 5 deletions
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 <ludo@gnu.org>
+;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr>
@@ -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