* [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6.
@ 2022-10-09 14:59 Zhu Zihao
2022-10-23 10:37 ` Ludovic Courtès
0 siblings, 1 reply; 9+ messages in thread
From: Zhu Zihao @ 2022-10-09 14:59 UTC (permalink / raw)
To: 58394
[-- Attachment #1.1: Type: text/plain, Size: 0 bytes --]
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
[-- Attachment #2: 0001-gnu-libcxx-Use-G-expressions.patch --]
[-- Type: text/x-patch, Size: 3418 bytes --]
From 41b6beb2ee5770f791984fb7411a69ba77544681 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 7 Oct 2022 11:14:26 +0800
Subject: [PATCH 1/2] gnu: libcxx: Use G-expressions.
* gnu/packages/llvm.scm (libcxx)[arguments]: Use G-expressions.
(libcxx-6)[arguments]: Use G-expressions.
---
gnu/packages/llvm.scm | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 49eb25db1f..00918bfb90 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1540,22 +1541,23 @@ (define-public libcxx
"0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"))))
(build-system cmake-build-system)
(arguments
- `(#:phases
- (modify-phases (@ (guix build cmake-build-system) %standard-phases)
- (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))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (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))))))
(native-inputs
(list clang llvm))
(home-page "https://libcxx.llvm.org")
@@ -1578,6 +1580,11 @@ (define-public libcxx-6
(sha256
(base32
"0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments libcxx)
+ ((#:phases p)
+ #~(modify-phases #$p
+ (delete 'enter-subdirectory)))))
(native-inputs
(list clang-6 llvm-6))))
--
2.37.3
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-libcxx-Update-to-14.0.6.patch --]
[-- Type: text/x-patch, Size: 3742 bytes --]
From b70e093e1ce01de0f607d70911e1539462c17a40 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sat, 8 Oct 2022 16:26:44 +0800
Subject: [PATCH 2/2] gnu: libcxx: Update to 14.0.6.
* gnu/packages/llvm.scm(libcxx)[source]: Use "llvm-monorepo".
[arguments]<#:configure-flags>: Use clang & clang++, skip RPATH_CHANGE in CMake.
<#:phases>: Add phase "enter-subdirectory".
[native-inputs]: Add Python 3 for lit.
(libcxx-6)[arguments]: Don't inherit from libcxx.
---
gnu/packages/llvm.scm | 47 +++++++++++++++++++++++++++++++------------
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 00918bfb90..ad0cb088be 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1531,19 +1531,27 @@ (define-public lldb
(define-public libcxx
(package
(name "libcxx")
- (version "9.0.1")
- (source
- (origin
- (method url-fetch)
- (uri (llvm-uri "libcxx" version))
- (sha256
- (base32
- "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"))))
+ (version "14.0.6")
+ (source (llvm-monorepo version))
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi"
+ "-DCMAKE_C_COMPILER=clang"
+ "-DCMAKE_CXX_COMPILER=clang++"
+ ;; libc++.so is actually a GNU ld style linker script, however,
+ ;; CMake still tries to fix the RUNPATH of it during the install
+ ;; step. This argument tells CMake to use the install directory
+ ;; as RUNPATH and don't attempt to patch it.
+ ;; See also: https://gitlab.kitware.com/cmake/cmake/-/issues/22963
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases
#~(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")))
@@ -1559,7 +1567,7 @@ (define-public libcxx
(getenv "CPLUS_INCLUDE_PATH"))
#t))))))
(native-inputs
- (list clang llvm))
+ (list clang llvm python))
(home-page "https://libcxx.llvm.org")
(synopsis "C++ standard library")
(description
@@ -1581,10 +1589,23 @@ (define-public libcxx-6
(base32
"0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
(arguments
- (substitute-keyword-arguments (package-arguments libcxx)
- ((#:phases p)
- #~(modify-phases #$p
- (delete 'enter-subdirectory)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (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))))))
(native-inputs
(list clang-6 llvm-6))))
--
2.37.3
[-- Attachment #4: Type: text/plain, Size: 100 bytes --]
--
Retrieve my PGP public key:
gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC
Zihao
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6.
2022-10-09 14:59 [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
@ 2022-10-23 10:37 ` Ludovic Courtès
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
2022-10-27 8:36 ` [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
0 siblings, 2 replies; 9+ messages in thread
From: Ludovic Courtès @ 2022-10-23 10:37 UTC (permalink / raw)
To: Zhu Zihao; +Cc: 58394
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
Hi,
Zhu Zihao <all_but_last@163.com> skribis:
>>From 41b6beb2ee5770f791984fb7411a69ba77544681 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last@163.com>
> Date: Fri, 7 Oct 2022 11:14:26 +0800
> Subject: [PATCH 1/2] gnu: libcxx: Use G-expressions.
>
> * gnu/packages/llvm.scm (libcxx)[arguments]: Use G-expressions.
> (libcxx-6)[arguments]: Use G-expressions.
[...]
>>From b70e093e1ce01de0f607d70911e1539462c17a40 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last@163.com>
> Date: Sat, 8 Oct 2022 16:26:44 +0800
> Subject: [PATCH 2/2] gnu: libcxx: Update to 14.0.6.
>
> * gnu/packages/llvm.scm(libcxx)[source]: Use "llvm-monorepo".
> [arguments]<#:configure-flags>: Use clang & clang++, skip RPATH_CHANGE in CMake.
> <#:phases>: Add phase "enter-subdirectory".
> [native-inputs]: Add Python 3 for lit.
>
> (libcxx-6)[arguments]: Don't inherit from libcxx.
I tried it and noticed a first issue:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 368 bytes --]
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index ad0cb088be..a6b6a3ce8f 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1584,6 +1584,7 @@ (define-public libcxx-6
(source
(origin
(inherit (package-source libcxx))
+ (method url-fetch)
(uri (llvm-uri "libcxx" version))
(sha256
(base32
[-- Attachment #3: Type: text/plain, Size: 2099 bytes --]
Then I tried to test with:
./pre-inst-env guix build libcxx@6 libcxxabi@6 libcxx irods-client-icommands
and hit the following failure (patches don’t apply):
--8<---------------cut here---------------start------------->8---
@ build-started /gnu/store/hxdgg65dx1xwgggg80kdj7iq9akv55k4-llvm-project-14.0.6-checkout.drv - x86_64-linux /var/log/guix/drvs/hx//dgg65dx1xwgggg80kdj7iq9akv55k4-llvm-project-14.0.6-checkout.drv.gz 18728
[…]
source is at 'llvm-project-14.0.6-checkout'
applying '/gnu/store/kpcav1kq3h7rbp1fx5y1ng60zkgh4cv7-clang-14.0-libc-search-path.patch'...
Backtrace:
5 (primitive-load "/gnu/store/xyq3zyx8d952avv29d18s3dgxni…")
In ice-9/eval.scm:
619:8 4 (_ #(#(#<directory (guile-user) 7fffeffcfc80> "llv…") #))
In ice-9/boot-9.scm:
142:2 3 (dynamic-wind #<procedure 7fffeff6b7a0 at ice-9/eval.s…> …)
In ice-9/eval.scm:
619:8 2 (_ #(#(#<directory (guile-user) 7fffeffcfc80>)))
In srfi/srfi-1.scm:
634:9 1 (for-each #<procedure apply-patch (a)> ("/gnu/store/kp…"))
In guix/build/utils.scm:
762:6 0 (invoke "/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-p…" …)
guix/build/utils.scm:762:6: In procedure invoke:
ERROR:
1. &invoke-error:
program: "/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/bin/patch"
arguments: ("--force" "--no-backup-if-mismatch" "-p1" "--input" "/gnu/store/kpcav1kq3h7rbp1fx5y1ng60zkgh4cv7-clang-14.0-libc-search-path.patch")
exit-status: 1
term-signal: #f
stop-signal: #f
builder for `/gnu/store/hxdgg65dx1xwgggg80kdj7iq9akv55k4-llvm-project-14.0.6-checkout.drv' failed with exit code 1
@ build-failed /gnu/store/hxdgg65dx1xwgggg80kdj7iq9akv55k4-llvm-project-14.0.6-checkout.drv - 1 builder for `/gnu/store/hxdgg65dx1xwgggg80kdj7iq9akv55k4-llvm-project-14.0.6-checkout.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---
Could you take a look?
Also please use ‘git send-email’ to send the patches; that will allow
https://qa.guix.gnu.org to pick’em up!
Thanks,
Ludo’.
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions.
2022-10-23 10:37 ` Ludovic Courtès
@ 2022-10-27 8:33 ` Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 2/4] gnu: libcxx: Update to 14.0.6 Zhu Zihao
` (3 more replies)
2022-10-27 8:36 ` [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
1 sibling, 4 replies; 9+ messages in thread
From: Zhu Zihao @ 2022-10-27 8:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 58394, Zhu Zihao
* gnu/packages/llvm.scm (libcxx)[arguments]: Use G-expressions.
(libcxx-6)[arguments]: Use G-expressions.
---
gnu/packages/llvm.scm | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 49eb25db1f..00918bfb90 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1540,22 +1541,23 @@ (define-public libcxx
"0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"))))
(build-system cmake-build-system)
(arguments
- `(#:phases
- (modify-phases (@ (guix build cmake-build-system) %standard-phases)
- (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))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (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))))))
(native-inputs
(list clang llvm))
(home-page "https://libcxx.llvm.org")
@@ -1578,6 +1580,11 @@ (define-public libcxx-6
(sha256
(base32
"0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments libcxx)
+ ((#:phases p)
+ #~(modify-phases #$p
+ (delete 'enter-subdirectory)))))
(native-inputs
(list clang-6 llvm-6))))
--
2.38.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH 2/4] gnu: libcxx: Update to 14.0.6.
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
@ 2022-10-27 8:33 ` Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 3/4] gnu: libcxxabi: Use G-expressions Zhu Zihao
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Zhu Zihao @ 2022-10-27 8:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 58394, Zhu Zihao
* gnu/packages/llvm.scm(libcxx)[source]: Use "llvm-monorepo".
[arguments]<#:configure-flags>: Use clang & clang++, skip RPATH_CHANGE in CMake.
<#:phases>: Add phase "enter-subdirectory".
[native-inputs]: Add Python 3 for lit.
(libcxx-6)[arguments]: Don't inherit from libcxx.
---
gnu/packages/llvm.scm | 81 +++++++++++++++++++++++++++----------------
1 file changed, 51 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 00918bfb90..405ff0b0d8 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1531,15 +1531,63 @@ (define-public lldb
(define-public libcxx
(package
(name "libcxx")
- (version "9.0.1")
+ (version "14.0.6")
+ (source (llvm-monorepo version))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi"
+ "-DCMAKE_C_COMPILER=clang"
+ "-DCMAKE_CXX_COMPILER=clang++"
+ ;; libc++.so is actually a GNU ld style linker script, however,
+ ;; CMake still tries to fix the RUNPATH of it during the install
+ ;; step. This argument tells CMake to use the install directory
+ ;; as RUNPATH and don't attempt to patch it.
+ ;; See also: https://gitlab.kitware.com/cmake/cmake/-/issues/22963
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
+ #:phases
+ #~(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))))))
+ (native-inputs
+ (list clang llvm python))
+ (home-page "https://libcxx.llvm.org")
+ (synopsis "C++ standard library")
+ (description
+ "This package provides an implementation of the C++ standard library for
+use with Clang, targeting C++11, C++14 and above.")
+ (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))
+ (license license:expat)))
+
+;; Libcxx files specifically used by PySide2.
+(define-public libcxx-6
+ (package
+ (inherit libcxx)
+ (version (package-version llvm-6))
(source
(origin
(method url-fetch)
(uri (llvm-uri "libcxx" version))
(sha256
(base32
- "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089"))))
- (build-system cmake-build-system)
+ "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
(arguments
(list
#:phases
@@ -1558,33 +1606,6 @@ (define-public libcxx
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH"))
#t))))))
- (native-inputs
- (list clang llvm))
- (home-page "https://libcxx.llvm.org")
- (synopsis "C++ standard library")
- (description
- "This package provides an implementation of the C++ standard library for
-use with Clang, targeting C++11, C++14 and above.")
- (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))
- (license license:expat)))
-
-;; Libcxx files specifically used by PySide2.
-(define-public libcxx-6
- (package
- (inherit libcxx)
- (version (package-version llvm-6))
- (source
- (origin
- (inherit (package-source libcxx))
- (uri (llvm-uri "libcxx" version))
- (sha256
- (base32
- "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n"))))
- (arguments
- (substitute-keyword-arguments (package-arguments libcxx)
- ((#:phases p)
- #~(modify-phases #$p
- (delete 'enter-subdirectory)))))
(native-inputs
(list clang-6 llvm-6))))
--
2.38.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH 3/4] gnu: libcxxabi: Use G-expressions.
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 2/4] gnu: libcxx: Update to 14.0.6 Zhu Zihao
@ 2022-10-27 8:33 ` Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 4/4] gnu: libcxx+libcxxabi: " Zhu Zihao
2022-11-05 23:38 ` bug#58394: [PATCH 1/4] gnu: libcxx: " Ludovic Courtès
3 siblings, 0 replies; 9+ messages in thread
From: Zhu Zihao @ 2022-10-27 8:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 58394, Zhu Zihao
* gnu/packages/llvm.scm (libcxxabi-6)[arguments]: Use G-expressions.
<#:configure-flags>: Use "this-package-native-input".
---
gnu/packages/llvm.scm | 69 +++++++++++++++++++++++--------------------
1 file changed, 37 insertions(+), 32 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 405ff0b0d8..17c51ea6bb 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1625,38 +1625,43 @@ (define-public libcxxabi-6
"0ki6796b5z08kh3a3rbysr5wwb2dkl6wal5dzd03i4li5xfkvx1g"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES="
- (assoc-ref %build-inputs "libcxx")
- "/include")
- "-DCMAKE_C_COMPILER=clang"
- "-DCMAKE_CXX_COMPILER=clang++")
- #:phases
- (modify-phases (@ (guix build cmake-build-system) %standard-phases)
- (add-after 'unpack 'chdir
- (lambda _ (chdir "libcxxabi")))
- (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
- (cons (string-append
- (assoc-ref inputs "libcxx") "/include/c++/v1")
- (delete (string-append gcc "/include/c++")
- (string-split (getenv "CPLUS_INCLUDE_PATH")
- #\:)))
- ":"))
- (format #true
- "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH")))))
- (add-after 'install 'install-headers
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((include-dir (string-append
- (assoc-ref outputs "out") "/include")))
- (install-file "../libcxxabi/include/__cxxabi_config.h" include-dir)
- (install-file "../libcxxabi/include/cxxabi.h" include-dir)))))))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES="
+ #$(this-package-native-input "libcxx")
+ "/include")
+ "-DCMAKE_C_COMPILER=clang"
+ "-DCMAKE_CXX_COMPILER=clang++")
+ #:phases
+ #~(modify-phases (@ (guix build cmake-build-system) %standard-phases)
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "libcxxabi")))
+ (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
+ (cons (string-append
+ (assoc-ref inputs "libcxx") "/include/c++/v1")
+ (delete (string-append gcc "/include/c++")
+ (string-split
+ (getenv "CPLUS_INCLUDE_PATH")
+ #\:)))
+ ":"))
+ (format
+ #true
+ "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH")))))
+ (add-after 'install 'install-headers
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((include-dir (string-append
+ (assoc-ref outputs "out") "/include")))
+ (install-file "../libcxxabi/include/__cxxabi_config.h"
+ include-dir)
+ (install-file "../libcxxabi/include/cxxabi.h"
+ include-dir)))))))
(native-inputs
(list clang-6 llvm-6 libcxx-6))
(home-page "https://libcxxabi.llvm.org")
--
2.38.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH 4/4] gnu: libcxx+libcxxabi: Use G-expressions.
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 2/4] gnu: libcxx: Update to 14.0.6 Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 3/4] gnu: libcxxabi: Use G-expressions Zhu Zihao
@ 2022-10-27 8:33 ` Zhu Zihao
2022-11-05 23:38 ` bug#58394: [PATCH 1/4] gnu: libcxx: " Ludovic Courtès
3 siblings, 0 replies; 9+ messages in thread
From: Zhu Zihao @ 2022-10-27 8:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 58394, Zhu Zihao
* gnu/packages/llvm.scm (libcxx+libcxxabi-6)[arguments]: Use G-expressions.
<#:configure-flags>: Use "this-package-native-input".
---
gnu/packages/llvm.scm | 44 ++++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 17c51ea6bb..324149116b 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1677,27 +1677,29 @@ (define-public libcxx+libcxxabi-6
(name "libcxx+libcxxabi")
(version (package-version libcxx-6))
(arguments
- `(#:configure-flags
- (list "-DLIBCXX_CXX_ABI=libcxxabi"
- (string-append "-DLIBCXX_CXX_ABI_INCLUDE_PATHS="
- (assoc-ref %build-inputs "libcxxabi")
- "/include"))
- #:phases
- (modify-phases (@ (guix build cmake-build-system) %standard-phases)
- (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 #true
- "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
- (getenv "CPLUS_INCLUDE_PATH"))))))))
+ (list
+ #:configure-flags
+ #~(list "-DLIBCXX_CXX_ABI=libcxxabi"
+ (string-append "-DLIBCXX_CXX_ABI_INCLUDE_PATHS="
+ #$(this-package-native-input "libcxxabi")
+ "/include"))
+ #:phases
+ #~(modify-phases (@ (guix build cmake-build-system) %standard-phases)
+ (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
+ #true
+ "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH"))))))))
(native-inputs
(list clang-6 llvm-6 libcxxabi-6))))
--
2.38.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#58394: [PATCH 1/4] gnu: libcxx: Use G-expressions.
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
` (2 preceding siblings ...)
2022-10-27 8:33 ` [bug#58394] [PATCH 4/4] gnu: libcxx+libcxxabi: " Zhu Zihao
@ 2022-11-05 23:38 ` Ludovic Courtès
3 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2022-11-05 23:38 UTC (permalink / raw)
To: Zhu Zihao; +Cc: 58394-done
Hi,
Finally applied, thanks!
a60dc46c2b gnu: libcxx+libcxxabi: Use G-expressions.
1bb3a3ea4e gnu: libcxxabi: Use G-expressions.
8501932f36 gnu: libcxx: Update to 14.0.6.
86af794215 gnu: libcxx: Use G-expressions.
Ludo’.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6.
2022-10-23 10:37 ` Ludovic Courtès
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
@ 2022-10-27 8:36 ` Zhu Zihao
2022-11-02 13:52 ` Zhu Zihao
1 sibling, 1 reply; 9+ messages in thread
From: Zhu Zihao @ 2022-10-27 8:36 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 58394
[-- Attachment #1: Type: text/plain, Size: 348 bytes --]
I sent the new patches, please check it :).
Ludovic Courtès <ludo@gnu.org> writes:
> Also please use ‘git send-email’ to send the patches; that will allow
> https://qa.guix.gnu.org to pick’em up!
>
> Thanks,
> Ludo’.
--
Retrieve my PGP public key:
gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC
Zihao
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-11-05 23:39 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-09 14:59 [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
2022-10-23 10:37 ` Ludovic Courtès
2022-10-27 8:33 ` [bug#58394] [PATCH 1/4] gnu: libcxx: Use G-expressions Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 2/4] gnu: libcxx: Update to 14.0.6 Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 3/4] gnu: libcxxabi: Use G-expressions Zhu Zihao
2022-10-27 8:33 ` [bug#58394] [PATCH 4/4] gnu: libcxx+libcxxabi: " Zhu Zihao
2022-11-05 23:38 ` bug#58394: [PATCH 1/4] gnu: libcxx: " Ludovic Courtès
2022-10-27 8:36 ` [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
2022-11-02 13:52 ` Zhu Zihao
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.