diff options
Diffstat (limited to 'net-misc/spice-gtk')
-rw-r--r-- | net-misc/spice-gtk/Manifest | 1 | ||||
-rw-r--r-- | net-misc/spice-gtk/spice-gtk-0.40.ebuild | 139 | ||||
-rw-r--r-- | net-misc/spice-gtk/spice-gtk-9999.ebuild | 60 |
3 files changed, 178 insertions, 22 deletions
diff --git a/net-misc/spice-gtk/Manifest b/net-misc/spice-gtk/Manifest index 5de070645502..258e52e337ea 100644 --- a/net-misc/spice-gtk/Manifest +++ b/net-misc/spice-gtk/Manifest @@ -1 +1,2 @@ DIST spice-gtk-0.39.tar.xz 845528 BLAKE2B c886c4c9f0e51d7f2bf6dbfe574f1a2bcab249f863cb7da1f009410572cdaa7a35ef98fc370a7e74f7e490ad3bfe8ffa832601f8bb0b0894b90ec1de76495ce9 SHA512 ff0f3ca6b10a2c415f2fa8d61464c5710aaa2a46c2c83909f146fa45f01151e756d9c3d79cb162dd3d0c1279b6ef55a67fc5c1266af2cb5b46ac1eaa0254c8d2 +DIST spice-gtk-0.40.tar.xz 848688 BLAKE2B 1046361ca40037bca826759bd7dc86f522640d39c08b1579f8e25bc2a2510665034445f7421d4de0485df9ef868e19779000c643035842f18e16555e3a1936b3 SHA512 b6db8b56c5c36158d97b3f7690d18883c4d6076e4ed1de1763fc704f9a2397b60d6170b70882d7d0a977b32be334756b7a27d66849f53e4d3b82abb8a54a0892 diff --git a/net-misc/spice-gtk/spice-gtk-0.40.ebuild b/net-misc/spice-gtk/spice-gtk-0.40.ebuild new file mode 100644 index 000000000000..7e642d9ecb49 --- /dev/null +++ b/net-misc/spice-gtk/spice-gtk-0.40.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VALA_MIN_API_VERSION="0.14" +VALA_USE_DEPEND="vapigen" + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit desktop meson optfeature python-any-r1 readme.gentoo-r1 vala xdg + +DESCRIPTION="Set of GObject and Gtk objects for connecting to Spice servers and a client GUI" +HOMEPAGE="https://www.spice-space.org https://cgit.freedesktop.org/spice/spice-gtk/" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice-gtk.git" + inherit git-r3 + + SPICE_PROTOCOL_VER=9999 +else + SRC_URI="https://www.spice-space.org/download/gtk/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + + SPICE_PROTOCOL_VER=0.14.3 +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="+gtk3 +introspection lz4 mjpeg policykit sasl smartcard usbredir vala wayland webdav" + +# TODO: +# * check if sys-freebsd/freebsd-lib (from virtual/acl) provides acl/libacl.h +# * use external pnp.ids as soon as that means not pulling in gnome-desktop +RDEPEND=" + >=dev-libs/glib-2.46:2 + dev-libs/json-glib:0= + media-libs/gst-plugins-base:1.0 + media-libs/gst-plugins-good:1.0 + media-libs/gstreamer:1.0[introspection?] + media-libs/opus + media-libs/libjpeg-turbo:= + sys-libs/zlib + >=x11-libs/cairo-1.2 + >=x11-libs/pixman-0.17.7 + x11-libs/libX11 + gtk3? ( x11-libs/gtk+:3[introspection?] ) + introspection? ( dev-libs/gobject-introspection ) + dev-libs/openssl:= + lz4? ( app-arch/lz4 ) + sasl? ( dev-libs/cyrus-sasl ) + smartcard? ( app-emulation/qemu[smartcard] ) + usbredir? ( + sys-apps/hwdata + >=sys-apps/usbredir-0.4.2 + virtual/libusb:1 + policykit? ( + sys-apps/acl + >=sys-auth/polkit-0.110-r1 + ) + ) + webdav? ( + net-libs/phodav:2.0 + >=net-libs/libsoup-2.49.91:2.4 + ) +" +# TODO: spice-gtk has an automagic dependency on x11-libs/libva without a +# configure knob. The package is relatively lightweight so we just depend +# on it unconditionally for now. It would be cleaner to transform this into +# a USE="vaapi" conditional and patch the buildsystem... +RDEPEND="${RDEPEND} + amd64? ( x11-libs/libva:= ) + arm64? ( x11-libs/libva:= ) + x86? ( x11-libs/libva:= ) +" +DEPEND="${RDEPEND} + >=app-emulation/spice-protocol-${SPICE_PROTOCOL_VER}" +BDEPEND=" + dev-perl/Text-CSV + dev-util/glib-utils + >=sys-devel/gettext-0.17 + virtual/pkgconfig + vala? ( $(vala_depend) ) + $(python_gen_any_dep ' + dev-python/six[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + ') +" + +python_check_deps() { + python_has_version "dev-python/six[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + use vala && vala_src_prepare +} + +src_configure() { + local emesonargs=( + $(meson_feature gtk3 gtk) + $(meson_feature introspection) + $(meson_use mjpeg builtin-mjpeg) + $(meson_feature policykit polkit) + $(meson_feature lz4) + $(meson_feature sasl) + $(meson_feature smartcard) + $(meson_feature usbredir) + $(meson_feature vala vapi) + $(meson_feature webdav) + $(meson_feature wayland wayland-protocols) + ) + + if use usbredir; then + emesonargs+=( + -Dusb-acl-helper-dir=/usr/libexec + -Dusb-ids-path="${EPREFIX}"/usr/share/hwdata/usb.ids + ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + # bug #775554 + fowners root:root /usr/libexec/spice-client-glib-usb-acl-helper + fperms 4755 /usr/libexec/spice-client-glib-usb-acl-helper + + make_desktop_entry spicy Spicy "utilities-terminal" "Network;RemoteAccess;" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + optfeature "Sound support (via pulseaudio)" media-plugins/gst-plugins-pulse +} diff --git a/net-misc/spice-gtk/spice-gtk-9999.ebuild b/net-misc/spice-gtk/spice-gtk-9999.ebuild index 5d2a172d0ec3..7e642d9ecb49 100644 --- a/net-misc/spice-gtk/spice-gtk-9999.ebuild +++ b/net-misc/spice-gtk/spice-gtk-9999.ebuild @@ -1,23 +1,32 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 VALA_MIN_API_VERSION="0.14" VALA_USE_DEPEND="vapigen" -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{8..10} ) -inherit desktop git-r3 meson python-any-r1 readme.gentoo-r1 vala xdg-utils +inherit desktop meson optfeature python-any-r1 readme.gentoo-r1 vala xdg DESCRIPTION="Set of GObject and Gtk objects for connecting to Spice servers and a client GUI" HOMEPAGE="https://www.spice-space.org https://cgit.freedesktop.org/spice/spice-gtk/" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice-gtk.git" + inherit git-r3 + + SPICE_PROTOCOL_VER=9999 +else + SRC_URI="https://www.spice-space.org/download/gtk/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + + SPICE_PROTOCOL_VER=0.14.3 +fi LICENSE="LGPL-2.1" SLOT="0" -EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice-gtk.git" -KEYWORDS="" -IUSE="+gtk3 +introspection lz4 mjpeg policykit pulseaudio sasl smartcard usbredir vala webdav" +IUSE="+gtk3 +introspection lz4 mjpeg policykit sasl smartcard usbredir vala wayland webdav" # TODO: # * check if sys-freebsd/freebsd-lib (from virtual/acl) provides acl/libacl.h @@ -29,17 +38,15 @@ RDEPEND=" media-libs/gst-plugins-good:1.0 media-libs/gstreamer:1.0[introspection?] media-libs/opus + media-libs/libjpeg-turbo:= sys-libs/zlib - virtual/jpeg:0= >=x11-libs/cairo-1.2 >=x11-libs/pixman-0.17.7 + x11-libs/libX11 gtk3? ( x11-libs/gtk+:3[introspection?] ) introspection? ( dev-libs/gobject-introspection ) - dev-libs/openssl:0= + dev-libs/openssl:= lz4? ( app-arch/lz4 ) - pulseaudio? ( - media-plugins/gst-plugins-pulse:1.0 - ) sasl? ( dev-libs/cyrus-sasl ) smartcard? ( app-emulation/qemu[smartcard] ) usbredir? ( @@ -53,7 +60,8 @@ RDEPEND=" ) webdav? ( net-libs/phodav:2.0 - >=net-libs/libsoup-2.49.91:2.4 ) + >=net-libs/libsoup-2.49.91:2.4 + ) " # TODO: spice-gtk has an automagic dependency on x11-libs/libva without a # configure knob. The package is relatively lightweight so we just depend @@ -65,16 +73,13 @@ RDEPEND="${RDEPEND} x86? ( x11-libs/libva:= ) " DEPEND="${RDEPEND} - ~app-emulation/spice-protocol-9999 + >=app-emulation/spice-protocol-${SPICE_PROTOCOL_VER}" +BDEPEND=" dev-perl/Text-CSV dev-util/glib-utils - >=dev-util/gtk-doc-am-1.14 >=sys-devel/gettext-0.17 virtual/pkgconfig vala? ( $(vala_depend) ) -" - -BDEPEND=" $(python_gen_any_dep ' dev-python/six[${PYTHON_USEDEP}] dev-python/pyparsing[${PYTHON_USEDEP}] @@ -82,8 +87,8 @@ BDEPEND=" " python_check_deps() { - has_version "dev-python/six[${PYTHON_USEDEP}]" && - has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" + python_has_version "dev-python/six[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" } src_prepare() { @@ -98,18 +103,20 @@ src_configure() { $(meson_feature introspection) $(meson_use mjpeg builtin-mjpeg) $(meson_feature policykit polkit) - $(meson_feature pulseaudio pulse) $(meson_feature lz4) $(meson_feature sasl) $(meson_feature smartcard) $(meson_feature usbredir) $(meson_feature vala vapi) $(meson_feature webdav) + $(meson_feature wayland wayland-protocols) ) if use usbredir; then - emesonargs+=( -D "usb-acl-helper-dir=/usr/libexec" ) - emesonargs+=( -D "usb-ids-path=${EPREFIX}/usr/share/hwdata/usb.ids" ) + emesonargs+=( + -Dusb-acl-helper-dir=/usr/libexec + -Dusb-ids-path="${EPREFIX}"/usr/share/hwdata/usb.ids + ) fi meson_src_configure @@ -118,6 +125,15 @@ src_configure() { src_install() { meson_src_install + # bug #775554 + fowners root:root /usr/libexec/spice-client-glib-usb-acl-helper + fperms 4755 /usr/libexec/spice-client-glib-usb-acl-helper + make_desktop_entry spicy Spicy "utilities-terminal" "Network;RemoteAccess;" readme.gentoo_create_doc } + +pkg_postinst() { + xdg_pkg_postinst + optfeature "Sound support (via pulseaudio)" media-plugins/gst-plugins-pulse +} |