[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/07: gnu: glibc: Improve handling of empty .a files.
From: |
guix-commits |
Subject: |
07/07: gnu: glibc: Improve handling of empty .a files. |
Date: |
Sat, 9 Dec 2023 09:54:39 -0500 (EST) |
civodul pushed a commit to branch core-updates
in repository guix.
commit 5bbddafeaa0baf43865cc148059437a282447563
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Dec 7 22:46:27 2023 +0100
gnu: glibc: Improve handling of empty .a files.
This partially reverts 3b2de6529b9d77c8a74d431859a3ec334e9603c2, itself
a followup to 25b30622b4a77cd4b2965b9d62fa310a22413d54.
* gnu/packages/base.scm (glibc)[arguments]: In ‘move-static-libs’ phase,
remove ‘empty-static-libraries’ variable and rewrite
‘empty-static-library?’ to check file type and size.
* gnu/packages/commencement.scm (make-gcc-toolchain): Remove ‘copy-file’
call to create ‘librt.a’.
Change-Id: I33c6825d5b1e6e790dfff494bac1da07d3389e77
---
gnu/packages/base.scm | 18 ++++++------------
gnu/packages/commencement.scm | 10 +---------
2 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 1144110309..311d598c8e 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -968,19 +968,13 @@ the store.")
;; and as such, it is useful to have these ".a" files in
;; OUT in addition to STATIC.
- ;; XXX: It might be better to determine whether a static
- ;; library is empty by some criterion (such as their file
- ;; size equaling eight bytes) rather than hardcoding them
- ;; by name.
-
- ;; XXX: We forgot librt.a for the current version! In
- ;; the meantime, gcc-toolchain provides it, but remove
- ;; that fix once librt.a is added here.
- (define empty-static-libraries
- '("libpthread.a" "libdl.a" "libutil.a" "libanl.a"))
(define (empty-static-library? file)
- (any (lambda (s)
- (string=? file s)) empty-static-libraries))
+ ;; Return true if FILE is an 'ar' archive with nothing
+ ;; beyond the header.
+ (let ((file (string-append (assoc-ref outputs "out")
+ "/lib/" file)))
+ (and (ar-file? file)
+ (= (stat:size (stat file)) 8))))
(define (static-library? file)
;; Return true if FILE is a static library. The
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 4ccbbb0881..6c0f295f30 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3569,15 +3569,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
"libc-debug")))
(union-build (assoc-ref %outputs "static")
(list (assoc-ref %build-inputs
- "libc-static")))
- ;; XXX Remove once an empty librt.a is added to
- ;; libc:out.
- (copy-file
- (string-append (assoc-ref %outputs "out")
- "/lib/libpthread.a")
- (string-append (assoc-ref %outputs "out")
- "/lib/librt.a"))
- #t))))
+ "libc-static")))))))
(native-search-paths
(append (package-native-search-paths gcc)
- branch core-updates updated (69d31a1580 -> 5bbddafeaa), guix-commits, 2023/12/09
- 04/07: gnu: glibc: Update to 2.38., guix-commits, 2023/12/09
- 02/07: gnu: glibc-utf8-locales: Generalize and use gexps., guix-commits, 2023/12/09
- 03/07: gnu: mpfr: Update to 4.2.1., guix-commits, 2023/12/09
- 05/07: gnu: glibc: Install C.UTF-8 locale., guix-commits, 2023/12/09
- 01/07: gnu: gcc@11: Update to 11.4.0., guix-commits, 2023/12/09
- 07/07: gnu: glibc: Improve handling of empty .a files.,
guix-commits <=
- 06/07: gnu: glibc: Ensure C.UTF-8 locale is always found., guix-commits, 2023/12/09