summary refs log tree commit diff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-13 22:08:56 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-13 22:51:56 +0200
commit853c2f18e7c374cfd991bfc11832497e00349ed5 (patch)
treeeb280a055736c2eb5f647f3c0e22527ca94e9487 /gnu/packages/linux.scm
parent49607566e18069d4d24d830bb647206b7186d269 (diff)
downloadguix-853c2f18e7c374cfd991bfc11832497e00349ed5.tar.gz
gnu: e2fsprogs: Remove references to linux-libre-headers.
This removes the final linux-libre-headers and its references (including
bootstrap-binaries) from the closure.

* gnu/packages/linux.scm (e2fsprogs)[arguments]: Augment 'install-libs'
  phase to make .a files writable.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm17
1 files changed, 15 insertions, 2 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5da3979218..1ef473fbe4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -577,8 +577,21 @@ slabtop, and skill.")
                       (string-append "#!" (which "sh")))))
                  (alist-cons-after
                   'install 'install-libs
-                  (lambda _
-                    (zero? (system* "make" "install-libs")))
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((out (assoc-ref outputs "out"))
+                           (lib (string-append out "/lib")))
+                      (and (zero? (system* "make" "install-libs"))
+
+                           ;; Make the .a writable so that 'strip' works.
+                           ;; Failing to do that, due to debug symbols, we
+                           ;; retain a reference to the final
+                           ;; linux-libre-headers, which refer to the
+                           ;; bootstrap binaries.
+                           (let ((archives (find-files lib "\\.a$")))
+                             (for-each (lambda (file)
+                                         (chmod file #o666))
+                                       archives)
+                             #t))))
                   %standard-phases))
 
        ;; FIXME: Tests work by comparing the stdout/stderr of programs, that