summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-05 23:47:39 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-05 23:51:01 +0100
commit4500581a7c212548a483e143b1dfafbffa3fd1c6 (patch)
tree8dc996cbbf2d6ce956ab190998db8ab31a1b0309
parent0af2c24ef788bffbdb30b4662d15fcd194a51e48 (diff)
downloadguix-4500581a7c212548a483e143b1dfafbffa3fd1c6.tar.gz
distro: readline: Allow stripping of the libraires.
* distro/packages/readline.scm (readline)[arguments]: Add `post-install'
  phase to make libraries writable.
-rw-r--r--distro/packages/readline.scm16
1 files changed, 15 insertions, 1 deletions
diff --git a/distro/packages/readline.scm b/distro/packages/readline.scm
index 6e423cb01f..6f54d32825 100644
--- a/distro/packages/readline.scm
+++ b/distro/packages/readline.scm
@@ -45,7 +45,21 @@
                 #:configure-flags
                 (list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
                                      (assoc-ref %build-inputs "ncurses")
-                                     "/lib"))))
+                                     "/lib"))
+
+                #:phases (alist-cons-after
+                          'install 'post-install
+                          (lambda* (#:key outputs #:allow-other-keys)
+                            (let* ((out (assoc-ref outputs "out"))
+                                   (lib (string-append out "/lib")))
+                              ;; Make libraries writable so that `strip' can
+                              ;; work.  Failing to do that, it bails out with
+                              ;; "Permission denied".
+                              (for-each (lambda (f) (chmod f #o755))
+                                        (find-files lib "\\.so"))
+                              (for-each (lambda (f) (chmod f #o644))
+                                        (find-files lib "\\.a"))))
+                          %standard-phases)))
    (synopsis "GNU Readline, a library for interactive line editing")
    (description
     "The GNU Readline library provides a set of functions for use by