From: Hilton Chain via Guix-patches via <guix-patches@gnu.org>
To: 68728@debbugs.gnu.org
Cc: Hilton Chain <hako@ultrarare.space>, Hilton Chain <hako@ultrarare.space>
Subject: [bug#68728] [PATCH 1/2] gnu: virt-manager: Update package style.
Date: Fri, 26 Jan 2024 12:58:19 +0800 [thread overview]
Message-ID: <ceea86af056257b5c0ac4549678396a7ec4f0b3d.1706244055.git.hako@ultrarare.space> (raw)
In-Reply-To: <cover.1706244055.git.hako@ultrarare.space>
* gnu/packages/virtualization.scm (virt-manager)[arguments]: Remove trailing #t.
Use gexps.
[inputs]: Sort alphabetically.
[native-inputs]: Remove labels.
Change-Id: I6efe95061ff13feb01c45809004884ab0a563d0c
---
gnu/packages/virtualization.scm | 153 ++++++++++++++++----------------
1 file changed, 75 insertions(+), 78 deletions(-)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 35bac9a5ac..1c971471c7 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1623,98 +1623,95 @@ (define-public virt-manager
"18lhlnd3gmyzhbnjc16gdyzhjcd33prlxnca4xlidiidngbq21lm"))))
(build-system python-build-system)
(arguments
- `(#:use-setuptools? #f ; uses custom distutils 'install' command
- #:tests? #f ; TODO The tests currently fail
- ; RuntimeError: Loop condition wasn't
- ; met
- #:imported-modules ((guix build glib-or-gtk-build-system)
- ,@%python-build-system-modules)
- #:modules ((ice-9 match)
- (srfi srfi-26)
- (guix build python-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- (guix build utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-setup
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "virtinst/buildconfig.py"
- (("/usr") (assoc-ref outputs "out")))
- #t))
- (add-after 'unpack 'fix-default-uri
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Xen is not available for now - so only patch qemu.
- (substitute* "virtManager/createconn.py"
- (("/usr(/bin/qemu-system-[a-zA-Z0-9_-]+)" _ suffix)
- (search-input-file inputs suffix)))
- #t))
- (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
- (bin-files (find-files bin ".*"))
- (paths (map (match-lambda
- ((output . directory)
- (let* ((girepodir (string-append
- directory
- "/lib/girepository-1.0")))
- (if (file-exists? girepodir)
- girepodir #f))))
- inputs)))
- (for-each (lambda (file)
- (format #t "wrapping ~a\n" file)
- (wrap-program file
- `("GI_TYPELIB_PATH" ":" prefix
- ,(filter identity paths))))
- bin-files))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- (setenv "XDG_CACHE_HOME" "/tmp")
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; Dogtail requires that Assistive Technology support be enabled
- (setenv "GTK_MODULES" "gail:atk-bridge")
- (invoke "dbus-run-session" "--" "pytest" "--uitests"))
- #t))
- (add-after 'install 'glib-or-gtk-compile-schemas
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
- (add-after 'wrap 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+ (list #:use-setuptools? #f ; uses custom distutils 'install' command
+ #:tests? #f ; TODO: The tests currently fail
+ ; RuntimeError: Loop condition wasn't met
+ #:imported-modules
+ `((guix build glib-or-gtk-build-system)
+ ,@%python-build-system-modules)
+ #:modules
+ '((ice-9 match)
+ (srfi srfi-26)
+ (guix build python-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-setup
+ (lambda _
+ (substitute* "virtinst/buildconfig.py"
+ (("/usr") #$output))))
+ (add-after 'unpack 'fix-default-uri
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Xen is not available for now - so only patch qemu.
+ (substitute* "virtManager/createconn.py"
+ (("/usr(/bin/qemu-system-[a-zA-Z0-9_-]+)" _ suffix)
+ (search-input-file inputs suffix)))))
+ (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((bin (string-append #$output "/bin"))
+ (bin-files (find-files bin ".*"))
+ (paths (map (match-lambda
+ ((output . directory)
+ (let* ((girepodir (string-append
+ directory
+ "/lib/girepository-1.0")))
+ (if (file-exists? girepodir)
+ girepodir #f))))
+ inputs)))
+ (for-each (lambda (file)
+ (format #t "wrapping ~a\n" file)
+ (wrap-program file
+ `("GI_TYPELIB_PATH" ":" prefix
+ ,(filter identity paths))))
+ bin-files))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_CACHE_HOME" "/tmp")
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; Dogtail requires that Assistive Technology support be enabled
+ (setenv "GTK_MODULES" "gail:atk-bridge")
+ (invoke "dbus-run-session" "--" "pytest" "--uitests"))))
+ (add-after 'install 'glib-or-gtk-compile-schemas
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+ (add-after 'wrap 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(inputs
(list dconf
gtk+
gtk-vnc
gtksourceview-4
+ libosinfo
libvirt
libvirt-glib
- libosinfo
- vte
python-libvirt
- python-requests
+ python-libxml2
python-pycairo
python-pygobject
- python-libxml2
- spice-gtk))
+ python-requests
+ spice-gtk
+ vte))
;; virt-manager searches for qemu-img or kvm-img in the PATH.
(propagated-inputs
(list qemu))
(native-inputs
- `(("glib" ,glib "bin") ; glib-compile-schemas
- ("gobject-introspection" ,gobject-introspection)
- ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
- ("perl" ,perl) ; pod2man
- ("intltool" ,intltool)
- ("rst2man" ,python-docutils)
- ;; The following are required for running the tests
- ;; ("python-pytest" ,python-pytest)
- ;; ("python-dogtail" ,python-dogtail)
- ;; ("xvfb" ,xorg-server-for-tests)
- ;; ("dbus" ,dbus)
- ;; ("at-spi2-core" ,at-spi2-core)
- ;; ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ))
+ (list `(,glib "bin") ; glib-compile-schemas
+ gobject-introspection
+ `(,gtk+ "bin") ; gtk-update-icon-cache
+ intltool
+ perl ; pod2man
+ python-docutils ; rst2man
+ ;; The following are required for running the tests
+ ;; at-spi2-core
+ ;; dbus
+ ;; gsettings-desktop-schemas
+ ;; python-dogtail
+ ;; python-pytest
+ ;; xorg-server-for-tests ; xvfb
+ ))
(home-page "https://virt-manager.org/")
(synopsis "Manage virtual machines")
(description
--
2.41.0
next prev parent reply other threads:[~2024-01-26 4:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 4:50 [bug#68728] [PATCH 0/2] gnu: virt-manager: Fix qemu path substitution Hilton Chain via Guix-patches via
2024-01-26 4:58 ` Hilton Chain via Guix-patches via [this message]
2024-01-26 4:58 ` [bug#68728] [PATCH 2/2] " Hilton Chain via Guix-patches via
[not found] ` <handler.68728.B.1706244739921.ack@debbugs.gnu.org>
2024-02-01 6:33 ` bug#68728: Acknowledgement ([PATCH 0/2] gnu: virt-manager: Fix qemu path substitution.) Hilton Chain via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ceea86af056257b5c0ac4549678396a7ec4f0b3d.1706244055.git.hako@ultrarare.space \
--to=guix-patches@gnu.org \
--cc=68728@debbugs.gnu.org \
--cc=hako@ultrarare.space \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).