summaryrefslogtreecommitdiff
path: root/app-emulation/virt-manager
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/virt-manager')
-rw-r--r--app-emulation/virt-manager/Manifest1
-rw-r--r--app-emulation/virt-manager/files/virt-manager-4.0.0-setuptools-61-fix.patch34
-rw-r--r--app-emulation/virt-manager/virt-manager-4.0.0-r10.ebuild96
3 files changed, 131 insertions, 0 deletions
diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest
new file mode 100644
index 00000000..f9c73776
--- /dev/null
+++ b/app-emulation/virt-manager/Manifest
@@ -0,0 +1 @@
+DIST virt-manager-4.0.0.tar.gz 3096236 BLAKE2B cf6ae282c6a351aab832a06387bf9daf9093c8cce3688cf0597f33d037db875638429a5320ffe28d8d860c83484ba5d6a02a8dc758c98914fa2af483552dede8 SHA512 115dc3feb499bb2f1f6df537bffe150d23b9b568fe8047d43577a138ff9b9180b10259dde3476136cdc85750576da1104e81a8c2f5761b4f2a89852467761f81
diff --git a/app-emulation/virt-manager/files/virt-manager-4.0.0-setuptools-61-fix.patch b/app-emulation/virt-manager/files/virt-manager-4.0.0-setuptools-61-fix.patch
new file mode 100644
index 00000000..ace16902
--- /dev/null
+++ b/app-emulation/virt-manager/files/virt-manager-4.0.0-setuptools-61-fix.patch
@@ -0,0 +1,34 @@
+From c6fc4524d4448259ea85f93f85898b64a4380154 Mon Sep 17 00:00:00 2001
+From: Peter Alfredsen <crabbedhaloablution@icloud.com>
+Date: Tue, 5 Apr 2022 22:04:20 +0200
+Subject: [PATCH] setup: add bits for setuptools-61
+
+Quoting https://github.com/pypa/setuptools/issues/3227
+"Setuptools >= 61, intentionally changes the way packages are built in the
+ sensec that it will try to find files and fail if something is weird.
+
+ Empty packages (like this one), are asked to explicitly add packages=[]
+ to their configuration.
+
+ This intentional change in behaviour is described in
+ https://setuptools.pypa.io/en/latest/history.html#v61-0-0."
+
+Bug: https://bugs.gentoo.org/836645
+Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com>
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index e95acd39..7e47e7c7 100755
+--- a/setup.py
++++ b/setup.py
+@@ -547,4 +547,5 @@ setuptools.setup(
+ },
+
+ distclass=VMMDistribution,
++ packages=[],
+ )
+--
+2.35.1
+
diff --git a/app-emulation/virt-manager/virt-manager-4.0.0-r10.ebuild b/app-emulation/virt-manager/virt-manager-4.0.0-r10.ebuild
new file mode 100644
index 00000000..b5d47432
--- /dev/null
+++ b/app-emulation/virt-manager/virt-manager-4.0.0-r10.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+DISTUTILS_SINGLE_IMPL=1
+
+DISTUTILS_USE_SETUPTOOLS=no
+inherit gnome2 distutils-r1 optfeature
+
+DESCRIPTION="A graphical tool for administering virtual machines"
+HOMEPAGE="https://virt-manager.org https://github.com/virt-manager/virt-manager"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="gtk policykit sasl"
+
+RDEPEND="${PYTHON_DEPS}
+ app-cdr/cdrtools
+ >=app-emulation/libvirt-glib-1.0.0[introspection]
+ $(python_gen_cond_dep '
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ >=sys-libs/libosinfo-0.2.10[introspection]
+ gtk? (
+ gnome-base/dconf
+ >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
+ net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
+ policykit? ( sys-auth/polkit[introspection] )
+ sys-apps/dbus[X]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gtksourceview:4[introspection]
+ x11-libs/vte:2.91[introspection]
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/docutils"
+
+DOCS=( README.md NEWS.md )
+
+# Doesn't seem to play nicely in a sandboxed environment.
+RESTRICT="test"
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ eapply "${FILESDIR}/virt-manager-4.0.0-setuptools-61-fix.patch"
+}
+
+python_configure() {
+ esetup.py configure --default-graphics=spice
+}
+
+python_install() {
+ esetup.py install
+}
+
+src_install() {
+ local DISTUTILS_ARGS=( --no-update-icon-cache --no-compile-schemas )
+ distutils-r1_src_install
+}
+
+pkg_preinst() {
+ if use gtk; then
+ gnome2_pkg_preinst
+
+ cd "${ED}" || die
+ export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null || die)
+ else
+ rm -r "${ED}/usr/share/virt-manager/ui/" || die
+ rm -r "${ED}/usr/share/virt-manager/icons/" || die
+ rm -r "${ED}/usr/share/icons/" || die
+ rm -r "${ED}/usr/share/applications/virt-manager.desktop" || die
+ rm -r "${ED}/usr/bin/virt-manager" || die
+ fi
+}
+
+pkg_postinst() {
+ use gtk && gnome2_pkg_postinst
+ optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
+ optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
+}