[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31254] gnu: qemu: Build with Python 3 and SDL 2. (+ GTK 3 frontend)
From: |
Marius Bakke |
Subject: |
[bug#31254] gnu: qemu: Build with Python 3 and SDL 2. (+ GTK 3 frontend) |
Date: |
Wed, 25 Apr 2018 13:19:13 +0200 |
User-agent: |
Notmuch/0.26.1 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu) |
Hello!
Rutger Helling <address@hidden> writes:
> Hey Guix,
>
> I saw QEMU was just updated to 2.12. I noticed a few things in the
> release notes, namely:
> * QEMU can now be built with Python 3.
> * Support for SDL 1.2 is considered deprecated and will be removed
> entirely in a future release.
>
> As a result, the first patch builds QEMU with Python 3 and SDL 2.
Thanks for looking after this. I didn't realize it was using SDL1!
> The second patch is optional and adds the GTK 3 frontend, which IMO
> is a nice alternative to the SDL frontend.
> This does increase the size of QEMU a bit. OTOH it seems unlikely that
> most people who use QEMU don't already have GTK 3 installed in some
> form.
Using `guix size`, stock qemu is ~916MiB, and adding gtk+ brings it to
~1131MiB. I'm not familiar with the GTK+ frontend, would it make sense
to add it in a separate output?
Alternatively, could we replace the SDL frontend with it?
> From 2f1626d4526fee5e7a2836d811c96cc2c823ce71 Mon Sep 17 00:00:00 2001
> From: Rutger Helling <address@hidden>
> Date: Wed, 25 Apr 2018 08:13:44 +0200
> Subject: [PATCH 1/2] gnu: qemu: Build with Python 3 and SDL 2.
>
> * gnu/packages/virtualization.scm (qemu)[arguments]: Add configure-flag to
> build
> with Python 3.
> [inputs]: Use sdl2 instead of sdl.
> [native-inputs]: Use python instead of address@hidden
> * gnu/packages/virtualization.scm (qemu-minimal)[native-inputs]: Remove python
> from inherited packages and use address@hidden instead.
> [inputs]: Remove sdl2 instead of sdl from inherited packages.
[...]
> @@ -101,6 +101,11 @@
> ;; boot_sector_test: assertion failed (signature == SIGNATURE):
> (0x00000000 == 0x0000dead)
> #:parallel-tests? #f
> #:configure-flags (list "--enable-usb-redir" "--enable-opengl"
> + ;; Remove below once Python 3 becomes the
> default
> + ;; 'python' binary.
> + (string-append "--python="
> + (assoc-ref %build-inputs
> "python")
> + "/bin/python3")
Note: You can use the 'python-wrapper' package, which has python3 as
"/bin/python". Then this won't be necessary.
> (string-append "--smbd="
> (assoc-ref %outputs "out")
> "/libexec/samba-wrapper")
> @@ -187,7 +192,7 @@ exec smbd $@")))
> ;; ("pciutils" ,pciutils)
> ("pixman" ,pixman)
> ("pulseaudio" ,pulseaudio)
> - ("sdl" ,sdl)
> + ("sdl2" ,sdl2)
> ("spice" ,spice)
> ("usbredir" ,usbredir)
> ("util-linux" ,util-linux)
> @@ -197,7 +202,7 @@ exec smbd $@")))
> (native-inputs `(("glib:bin" ,glib "bin") ; gtester, etc.
> ("perl" ,perl)
> ("pkg-config" ,pkg-config)
> - ("python" ,python-2) ; incompatible with Python 3
> according to error message
> + ("python" ,python)
> ("texinfo" ,texinfo)))
> (home-page "https://www.qemu.org")
> (synopsis "Machine emulator and virtualizer")
> @@ -231,9 +236,13 @@ server and embedded PowerPC, and S390 guests.")
> ;; Restrict to the targets supported by Guix.
>
> ''("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu,aarch64-softmmu"))))
>
> + ;; qemu-minimal-2.10 needs Python 2. Remove below once no longer
> necessary.
> + (native-inputs `(("python-2" ,python-2)
> + ,@(fold alist-delete (package-native-inputs qemu)
> + '("python"))))
It's better to do this in the actual Qemu 2.10 package instead of
arbitrarily using a different Python version in "qemu-minimal" IMO.
Perhaps we should move "address@hidden" from (gnu packages bootloaders) into
here and make this change in that package. WDYT? Ideally as a public
"hidden-package" so it's not visible to end users.
Can you try it?
[...]
> From a0cc0f8f5632374567ee760d629d80703ec0f41e Mon Sep 17 00:00:00 2001
> From: Rutger Helling <address@hidden>
> Date: Wed, 25 Apr 2018 08:14:33 +0200
> Subject: [PATCH 2/2] gnu: qemu: Enable GTK 3 frontend.
>
> * gnu/packages/virtualization.scm (qemu)[inputs]: Add "gettext", "gtk+" to
> inputs.
> * gnu/packages/virtualization.scm (qemu-minimal)[inputs]: Remove "gettext",
> "gtk+" from inherited inputs.
'gettext' should probably be a native-input. That said I wonder if the
GTK frontend should be a separate output due to the ~21% size increase,
but no strong opinion.
signature.asc
Description: PGP signature