diff mbox series

[bug#50171] gnu: qemu-minimal: Don't build static binaries.

Message ID a8441f910e8b3cd00ec0e4c5973de07ca47181e2.1629659746.git.efraim@flashner.co.il
State Accepted
Headers show
Series [bug#50171] gnu: qemu-minimal: Don't build static binaries. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Efraim Flashner Aug. 22, 2021, 7:24 p.m. UTC
* gnu/packages/virtualization.scm (qemu-minimal)[arguments]: Remove
inherited phases for static binaries.
[native-inputs]: Remove glib:static, pcre:static and zlib:static.
[outputs]: Remove static output.
---

This drops the package size by about 55%. If we can drop the firmware
files too that'd drop it down to about 42MB, from 260MB with this patch.
We probably don't need the firmware for what we're using qemu-minimal
for, but I haven't checked to see if it gets pulled in automagically
when we spin up VMs for making images.

---

 gnu/packages/virtualization.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)


base-commit: 9e3b68203cba2b1bd96e524d3ae9dfc3336a72f7

Comments

Efraim Flashner Sept. 9, 2021, 1:08 p.m. UTC | #1
Patch pushed!
diff mbox series

Patch

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 1bbcb46b99..ceae1437c0 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -372,6 +372,7 @@  server and embedded PowerPC, and S390 guests.")
   (package
     (inherit qemu)
     (name "qemu-minimal")
+    (outputs '("out" "doc"))
     (synopsis
      "Machine emulator and virtualizer (without GUI) for the host architecture")
     (arguments
@@ -407,11 +408,16 @@  server and embedded PowerPC, and S390 guests.")
                    "--target-list=riscv32-softmmu,riscv64-softmmu")
                   (else       ; An empty list actually builds all the targets.
                    '()))))
-          `(cons ,target-list-arg ,configure-flags)))))
+          `(cons ,target-list-arg ,configure-flags)))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (delete 'configure-user-static)
+           (delete 'build-user-static)
+           (delete 'install-user-static)))))
 
     ;; Remove dependencies on optional libraries, notably GUI libraries.
     (native-inputs (fold alist-delete (package-native-inputs qemu)
-                         '("gettext")))
+                         '("gettext" "glib:static" "pcre:static" "zlib:static")))
     (inputs (fold alist-delete (package-inputs qemu)
                   '("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+"
                     "usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2"