From b9cf7580d208531db16fc47ba061eab5ed4ec4a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 22 Dec 2025 11:49:26 +0100 Subject: [PATCH] gnu: emacs: Do not retain reference to an extra glibc package. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This shaves ~18 MiB on the closure of ‘emacs’ and ‘emacs-no-x’. * gnu/packages/emacs.scm (emacs-no-x)[arguments]: In ‘patch-compilation-driver’, use ‘search-input-file’ instead of ‘this-package-input’. [inputs]: Remove ‘ld-wrapper’, ‘binutils’, and ‘libc-for-target’. Closes: guix/guix#5029 Fixes: guix/guix#5028 Change-Id: Ib71641cf37f8ae3590b0db97c14fcd45d21080f1 Signed-off-by: Cayetano Santos --- gnu/packages/emacs.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f360284f3e6..68968017f84 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès +;;; Copyright © 2013-2017, 2019, 2021-2022, 2025 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver @@ -464,19 +464,22 @@ editor (console only)") (string-append (getenv "LIBRARY_PATH") ":" libgccjit-libdir))))) (add-after 'unpack 'patch-compilation-driver - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "lisp/emacs-lisp/comp.el" (("\\(defcustom native-comp-driver-options nil") (format #f "(defcustom native-comp-driver-options '(~@{~s~^ ~})" (string-append - "-B" #$(this-package-input "binutils") "/bin/") + "-B" (dirname (search-input-file inputs "/bin/nm"))) (string-append - "-B" #$(this-package-input "glibc") "/lib/") + "-B" (dirname (search-input-file inputs "/lib/libc.so"))) (string-append - "-B" #$(this-package-input "libgccjit") "/lib/") + "-B" (dirname (search-input-file inputs "/lib/libgccjit.so"))) (string-append - "-B" #$(this-package-input "libgccjit") "/lib/gcc/")))))) + "-B" (string-append + (dirname + (search-input-file inputs "/lib/libgccjit.so")) + "/gcc"))))))) (add-after 'build 'build-trampolines (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "trampolines" make-flags))) @@ -498,11 +501,7 @@ editor (console only)") (inputs (modify-inputs (package-inputs emacs-minimal) (prepend gnutls - ;; To "unshadow" ld-wrapper in native builds - (make-ld-wrapper "ld-wrapper" #:binutils binutils) ;; For native compilation - binutils - (libc-for-target) libgccjit ;; Avoid Emacs's limited movemail substitute that retrieves POP3