summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <awilcox@wilcox-tech.com>2020-04-18 02:03:03 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2020-04-18 02:03:03 +0000
commit5959188441f553615cc38463766d420730676ad2 (patch)
tree5d1b7093f4ac78c6714a11045dbc6fb3cf553088
parent8c17c8deba851eebc2351dfdc04653e10cec203a (diff)
parentc42df86989c5497cbe8a1898b5d9addc0c861783 (diff)
downloadpackages-5959188441f553615cc38463766d420730676ad2.tar.gz
packages-5959188441f553615cc38463766d420730676ad2.tar.bz2
packages-5959188441f553615cc38463766d420730676ad2.tar.xz
packages-5959188441f553615cc38463766d420730676ad2.zip
Merge branch 'fix/spice-gtk' into 'master'
user/spice-gtk: disable USB redirection for now See merge request adelie/packages!425
-rw-r--r--user/spice-gtk/APKBUILD18
-rw-r--r--user/spice-gtk/macro.patch33
2 files changed, 46 insertions, 5 deletions
diff --git a/user/spice-gtk/APKBUILD b/user/spice-gtk/APKBUILD
index 5c11142ba..fb44cc0ec 100644
--- a/user/spice-gtk/APKBUILD
+++ b/user/spice-gtk/APKBUILD
@@ -13,19 +13,25 @@ depends="gst-plugins-good"
depends_dev="gobject-introspection-dev gtk+3.0-dev"
makedepends="$depends_dev acl-dev bash cyrus-sasl-dev eudev-dev
gst-plugins-base-dev gstreamer-dev gstreamer-tools gtk-doc
- json-glib-dev libjpeg-turbo-dev libucontext-dev libusb-dev
+ json-glib-dev libjpeg-turbo-dev libucontext-dev
libxrandr-dev lz4-dev meson openssl-dev opus-dev polkit-dev
- py3-pyparsing py3-six spice-protocol usbredir-dev
- usbutils zlib-dev"
+ py3-pyparsing py3-six spice-protocol
+ zlib-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang spicy
spice-glib:glib"
-source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz"
+source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz
+ macro.patch
+ "
build() {
export CFLAGS="$CFLAGS -lucontext"
# Note: pulseaudio support is disabled because it's deprecated.
# Audio is still supported through gstreamer.
+ #
+ # USB redirection is disabled until there is reasonable belief
+ # that it is endian safe.
+ # https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/120
meson \
--prefix=/usr \
--sysconfdir=/etc \
@@ -34,6 +40,7 @@ build() {
--buildtype=release \
-Dcelt051=disabled \
-Dpulse=disabled \
+ -Dusbredir=disabled \
. output
ninja -C output
}
@@ -62,4 +69,5 @@ glib() {
"$subpkgdir"/usr/lib/girepository-1.0/
}
-sha512sums="27b44ac9f0cee2737ce03bb3f47c62fc0ee2402c291c49fc56cffc4ccb63e2cab001a68ba865a6375d82cb38444408d59c68469783ee4279fa818d8682e902f3 spice-gtk-0.38.tar.xz"
+sha512sums="27b44ac9f0cee2737ce03bb3f47c62fc0ee2402c291c49fc56cffc4ccb63e2cab001a68ba865a6375d82cb38444408d59c68469783ee4279fa818d8682e902f3 spice-gtk-0.38.tar.xz
+9bae6a1866c977d6b7e032e0fe1f8ce07ccfd8777e982453629d9dce284a6f02c68ab8b073865e3c36340e22dd2f83fbda4cabd3a5bc8a274b3a0bbf9c031ccd macro.patch"
diff --git a/user/spice-gtk/macro.patch b/user/spice-gtk/macro.patch
new file mode 100644
index 000000000..fc0787b93
--- /dev/null
+++ b/user/spice-gtk/macro.patch
@@ -0,0 +1,33 @@
+From 7363d1a0a640b6992d5967621e37c3376958d708 Mon Sep 17 00:00:00 2001
+From: Frediano Ziglio <fziglio@redhat.com>
+Date: Thu, 19 Mar 2020 15:50:45 +0000
+Subject: [PATCH] channel-main: Avoid macro side effects
+
+In big endian system GUINT32_TO_LE macro uses the parameter
+multiple time causing serial to be incremented multiple times
+instead of one.
+Avoid side effects using a temporary variable.
+
+Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
+Acked-by: Victor Toso <victortoso@redhat.com>
+---
+ src/channel-main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/channel-main.c b/src/channel-main.c
+index 0a0b9ca..d7669e8 100644
+--- a/src/channel-main.c
++++ b/src/channel-main.c
+@@ -1384,7 +1384,8 @@ static void agent_clipboard_grab(SpiceMainChannel *channel, guint selection,
+ }
+
+ if (test_agent_cap(channel, VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) {
+- *(uint32_t *)grab = GUINT32_TO_LE(c->clipboard_serial[selection]++);
++ uint32_t serial = c->clipboard_serial[selection]++;
++ *(uint32_t *)grab = GUINT32_TO_LE(serial);
+ grab = (void *)grab + sizeof(uint32_t);
+ }
+
+--
+2.24.1
+