summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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