guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: Add libcxx+libcxxabi-6.


From: guix-commits
Subject: 02/02: gnu: Add libcxx+libcxxabi-6.
Date: Wed, 21 Apr 2021 05:06:17 -0400 (EDT)

rekado pushed a commit to branch master
in repository guix.

commit 0eefc6ea201e252f6a5aae3b77761982af6b601d
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Wed Apr 21 11:04:39 2021 +0200

    gnu: Add libcxx+libcxxabi-6.
    
    * gnu/packages/llvm.scm (libcxx+libcxxabi-6): New variable.
---
 gnu/packages/llvm.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 497dd6e..605bd86 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1015,6 +1015,38 @@ use with Clang, targeting C++11, C++14 and above.")
 standard C++ library.")
     (license license:expat)))
 
+(define-public libcxx+libcxxabi-6
+  (package
+    (inherit libcxx-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"))))))))
+    (native-inputs
+     `(("clang" ,clang-6)
+       ("llvm" ,llvm-6)
+       ("libcxxabi" ,libcxxabi-6)))))
+
 (define-public libclc
   (package
     (name "libclc")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]