summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/llvm.scm35
1 files changed, 29 insertions, 6 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index e819625a46..38f2118173 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
-;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -48,6 +48,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages mpi)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -553,11 +554,33 @@ output), and Binutils.")
          "0xf5q17kkxsrm2gsi93h4pwlv663kji73r2g4asb97klsmb626a4"))))))
 
 (define-public clang-runtime-3.5
-  (clang-runtime-from-llvm
-   llvm-3.5
-   "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
-   '("clang-runtime-asan-build-fixes.patch"
-     "clang-3.5-libsanitizer-ustat-fix.patch")))
+  (let ((runtime (clang-runtime-from-llvm
+                  llvm-3.5
+                  "1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
+                  '("clang-runtime-asan-build-fixes.patch"
+                    "clang-3.5-libsanitizer-ustat-fix.patch"))))
+    (package
+      (inherit runtime)
+      (arguments
+       (substitute-keyword-arguments (package-arguments runtime)
+         ((#:phases phases '%standard-phases)
+          `(modify-phases ,phases
+             ;; glibc no longer includes rpc/xdr.h, so we use the headers from
+             ;; libtirpc.
+             (add-after 'unpack 'find-rpc-includes
+               (lambda* (#:key inputs #:allow-other-keys)
+                 (setenv "CPATH"
+                         (string-append (assoc-ref inputs "libtirpc")
+                                        "/include/tirpc/:"
+                                        (or (getenv "CPATH") "")))
+                 (setenv "CPLUS_INCLUDE_PATH"
+                         (string-append (assoc-ref inputs "libtirpc")
+                                        "/include/tirpc/:"
+                                        (or (getenv "CPLUS_INCLUDE_PATH") "")))
+                 #t))))))
+      (inputs
+       `(("libtirpc" ,libtirpc)
+         ("llvm" ,llvm-3.5))))))
 
 (define-public clang-3.5
   (clang-from-llvm llvm-3.5 clang-runtime-3.5