summaryrefslogtreecommitdiff
path: root/user/spice-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'user/spice-gtk')
-rw-r--r--user/spice-gtk/APKBUILD47
-rw-r--r--user/spice-gtk/fix-dirty-spicy-corruption.patch23
-rw-r--r--user/spice-gtk/macro.patch33
3 files changed, 80 insertions, 23 deletions
diff --git a/user/spice-gtk/APKBUILD b/user/spice-gtk/APKBUILD
index c613828bc..f1fd970a8 100644
--- a/user/spice-gtk/APKBUILD
+++ b/user/spice-gtk/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=spice-gtk
-pkgver=0.37
+pkgver=0.42
pkgrel=0
pkgdesc="A GTK+ widget for SPICE clients"
url="https://www.spice-space.org/"
@@ -12,42 +12,42 @@ license="LGPL-2.1+ AND LGPL-2.0+ AND BSD-3-Clause AND MIT AND GPL-3.0+ AND LGPL-
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 json-glib-dev
- libjpeg-turbo-dev libusb-dev libxrandr-dev lz4-dev openssl-dev
- opus-dev polkit-dev polkit-dev spice-protocol usbredir-dev
- usbutils zlib-dev"
+ gst-plugins-base-dev gstreamer-dev gstreamer-tools gtk-doc
+ json-glib-dev libjpeg-turbo-dev
+ libxrandr-dev lz4-dev meson openssl-dev opus-dev polkit-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.bz2"
+source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz
+ fix-dirty-spicy-corruption.patch
+ "
build() {
# Note: pulseaudio support is disabled because it's deprecated.
# Audio is still supported through gstreamer.
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
+ #
+ # USB redirection is disabled until there is reasonable belief
+ # that it is endian safe.
+ # https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/120
+ meson setup \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --with-gtk=3.0 \
- --with-audio=gstreamer \
- --disable-celt051 \
- --disable-werror \
- --enable-lz4 \
- --enable-opus \
- --enable-smartcard=no \
- --enable-usbredir=yes \
- --enable-polkit=yes \
- --enable-pulse=no
- make
+ --localstatedir=/var \
+ --buildtype=release \
+ -Dusbredir=disabled \
+ -Dcoroutine=gthread \
+ . output
+ ninja -C output
}
check() {
- make check
+ ninja -C output test
}
package() {
- make -j1 DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C output install
}
spicy() {
@@ -66,4 +66,5 @@ glib() {
"$subpkgdir"/usr/lib/girepository-1.0/
}
-sha512sums="a0a20bc6f25337d86e57fe1fc9586c4cc84457fc8c38cdcc5a728990a69018da0fca3ab5aa63349786b5a7508c82b716c94803eefb3495cffb7df4526db2d029 spice-gtk-0.37.tar.bz2"
+sha512sums="fd567e35f6d4ebfe6ef004f358dca4c41254336f55f7dd26cf67b62b2acb4866907186bd0526b7cb52b0c24020cdc8809251127498a8d357555bb0c5d3b8f137 spice-gtk-0.42.tar.xz
+4da61b94db02f4db400be45933bb6d3d3aa05137dfba78dcbc1757d9709c4252984e12f61f88c953597925e3145f5637fde1e76422513e0d1808b53c61c521c7 fix-dirty-spicy-corruption.patch"
diff --git a/user/spice-gtk/fix-dirty-spicy-corruption.patch b/user/spice-gtk/fix-dirty-spicy-corruption.patch
new file mode 100644
index 000000000..44397fc67
--- /dev/null
+++ b/user/spice-gtk/fix-dirty-spicy-corruption.patch
@@ -0,0 +1,23 @@
+diff -ur a/build-aux/git-version-gen b/build-aux/git-version-gen
+--- a/build-aux/git-version-gen 2024-12-10 15:40:58.099527209 +0000
++++ b/build-aux/git-version-gen 2024-12-10 15:44:18.316014690 +0000
+@@ -133,19 +133,6 @@
+
+ v=`echo "$v" |sed 's/^v//'`
+
+-# Don't declare a version "dirty" merely because a time stamp has changed.
+-git update-index --refresh > /dev/null 2>&1
+-
+-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
+-case "$dirty" in
+- '') ;;
+- *) # Append the suffix only if there isn't one already.
+- case $v in
+- *-dirty) ;;
+- *) v="$v-dirty" ;;
+- esac ;;
+-esac
+-
+ # Omit the trailing newline, so that m4_esyscmd can use the result directly.
+ echo "$v" | tr -d "$nl"
+
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
+