unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [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]: 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

* [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6.
  2022-10-27  8:36   ` [bug#58394] [PATCH]: gnu: libcxx: Update to 14.0.6 Zhu Zihao
@ 2022-11-02 13:52     ` Zhu Zihao
  0 siblings, 0 replies; 9+ messages in thread
From: Zhu Zihao @ 2022-11-02 13:52 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 58394

[-- Attachment #1: Type: text/plain, Size: 464 bytes --]


Any progress on this?

Zhu Zihao <all_but_last@163.com> writes:

> [[PGP Signed Part:Undecided]]
>
> 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

* 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

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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).