[bug#78102,v2,2/3] gnu: libcxx: Fix cross-compilation build.
Commit Message
* gnu/packages/llvm.scm (libcxx) [arguments] <#:implicit-inputs?>: Set to #f.
<#:phases>: Remove adjust-CPLUS_INCLUDE_PATH.
[native-inputs]: Explicitly provide standard inputs, filtering out gcc.
Change-Id: I8cbc73ef90dce0a57bf2f8198c3176932bf24185
---
gnu/packages/llvm.scm | 27 ++++++++++-----------------
1 file changed, 10 insertions(+), 17 deletions(-)
@@ -17,7 +17,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2020, 2021, 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020-2022, 2024-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
@@ -52,6 +52,7 @@ (define-module (gnu packages llvm)
#:use-module (guix memoization)
#:use-module (guix search-paths)
#:use-module (guix utils)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system python)
@@ -1905,6 +1906,7 @@ (define-public libcxx
(build-system cmake-build-system)
(arguments
(list
+ #:implicit-inputs? #f ;to avoid conflicting GCC headers
#:tests? #f
#:configure-flags
#~(list "-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;libunwind"
@@ -1920,23 +1922,14 @@ (define-public libcxx
#~(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
- (chdir "runtimes")))
- (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gcc (assoc-ref inputs "gcc")))
- ;; Hide GCC's C++ headers so that they do not interfere with
- ;; the ones we are attempting to build.
- (setenv "CPLUS_INCLUDE_PATH"
- (string-join (delete (string-append gcc "/include/c++")
- (string-split (getenv "CPLUS_INCLUDE_PATH")
- #\:))
- ":"))
- (format #t
- "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH"))
- #t))))))
+ (chdir "runtimes"))))))
(native-inputs
- (list clang-19 libunwind-headers llvm python))
+ (append (list clang-19 libunwind-headers llvm python)
+ ;; Remove GCC from the build environment, to avoid its C++
+ ;; headers (include/c++), which would interfere and cause build
+ ;; failures.
+ (map second
+ (alist-delete "gcc" (standard-packages)))))
(home-page "https://libcxx.llvm.org")
(synopsis "C++ standard library")
(description