summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-10-06 11:54:46 +0200
committerAndreas Enge <andreas@enge.fr>2013-10-06 11:54:46 +0200
commita2270ce260373ce0e3dfe1498771906553c1f24e (patch)
tree6a8eee632db6237c3d07ab43c83950998e114032 /gnu
parent43824910f2f5715ace25c868aca1b6d530f3cdff (diff)
downloadpatches-a2270ce260373ce0e3dfe1498771906553c1f24e.tar
patches-a2270ce260373ce0e3dfe1498771906553c1f24e.tar.gz
gnu: icu4c: Patch RUNPATH of libraries.
* gnu/packages/icu4c.scm (icu4c): Elf-patch RUNPATH of libraries, for instance of libicuuc.so.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/icu4c.scm25
1 files changed, 22 insertions, 3 deletions
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 35b0c35069..d5abb2c0f3 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -18,6 +18,7 @@
(define-module (gnu packages icu4c)
#:use-module (gnu packages)
+ #:use-module (gnu packages patchelf)
#:use-module (gnu packages perl)
#:use-module (guix licenses)
#:use-module (guix packages)
@@ -38,9 +39,18 @@
(sha256 (base32
"13yz0kk6zsgj94idnlr3vbg8iph5z4ly4b4xrd5wfja7q3ijdx56"))))
(build-system gnu-build-system)
- (inputs `(("perl" ,perl)))
+ (inputs
+ `(("patchelf" ,patchelf)
+ ("perl" ,perl)))
(arguments
- `(#:phases
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (guix build rpath)
+ (srfi srfi-26))
+ #:imported-modules ((guix build gnu-build-system)
+ (guix build utils)
+ (guix build rpath))
+ #:phases
(alist-replace
'unpack
(lambda* (#:key source #:allow-other-keys)
@@ -56,7 +66,16 @@
(("`/bin/sh")
(string-append "`" (which "bash"))))
(apply configure args)))
- %standard-phases))))
+ (alist-cons-after
+ 'strip 'add-lib-to-runpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ ;; Add LIB to the RUNPATH of all the libraries.
+ (with-directory-excursion out
+ (for-each (cut augment-rpath <> lib)
+ (find-files "lib" ".*")))))
+ %standard-phases)))))
(synopsis "ICU, International Components for Unicode")
(description
"ICU is a set of C/C++ and Java libraries providing Unicode and