Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
@ 2022-09-29 15:42 paper42
  2022-10-22 13:38 ` [PR PATCH] [Updated] " paper42
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: paper42 @ 2022-09-29 15:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

There is a new pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
[ci skip]
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 28179 bytes --]

From 19d95db792124f5ed0acda4ac3e9764ad6e67434 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 26 Sep 2022 23:00:57 -0700
Subject: [PATCH 1/8] webkit2gtk: update to 2.38.0.

This splits webkit2gtk into 3 packages:
+ webkit2gtk: GTK+3 and libsoup2
+ libwebkit2gtk41: GTK+3 and libsoup3
+ libwebkit2gtk50: GTK4 and libsoup3

This is necessary since libsoup2 and libsoup3 cannot be
used at the same time.
Ideally the other packages would eventually be no longer necessary.
---
 common/shlibs                                 |   4 +
 srcpkgs/libwebkit2gtk41                       |   1 +
 srcpkgs/libwebkit2gtk41-devel                 |   1 +
 srcpkgs/libwebkit2gtk50                       |   1 +
 srcpkgs/libwebkit2gtk50-devel                 |   1 +
 srcpkgs/webkit2gtk-common                     |   1 +
 .../webkit2gtk/patches/be-typedarray.patch    |  60 +++++-----
 srcpkgs/webkit2gtk/patches/fix_armv6l.patch   |  12 +-
 srcpkgs/webkit2gtk/patches/reproducible.patch |   8 +-
 srcpkgs/webkit2gtk/template                   | 109 ++++++++++++++++--
 10 files changed, 147 insertions(+), 51 deletions(-)
 create mode 120000 srcpkgs/libwebkit2gtk41
 create mode 120000 srcpkgs/libwebkit2gtk41-devel
 create mode 120000 srcpkgs/libwebkit2gtk50
 create mode 120000 srcpkgs/libwebkit2gtk50-devel
 create mode 120000 srcpkgs/webkit2gtk-common

diff --git a/common/shlibs b/common/shlibs
index c962f0ab7622..d1d2bdd2403c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -540,6 +540,10 @@ libgnome-panel.so.0 gnome-panel-3.37.1_1
 libuninum.so.5 libuninum-2.7_1
 libwebkit2gtk-4.0.so.37 webkit2gtk-2.6.2_1
 libjavascriptcoregtk-4.0.so.18 webkit2gtk-2.6.2_1
+libwebkit2gtk-4.1.so.0 libwebkit2gtk41-2.38.0_1
+libjavascriptcoregtk-4.1.so.0 libwebkit2gtk41-2.38.0_1
+libwebkit2gtk-5.0.so.0 libwebkit2gtk50-2.38.0_1
+libjavascriptcoregtk-5.0.so.0 libwebkit2gtk50-2.38.0_1
 libgimp-2.0.so.0 libgimp-2.10.0_1
 libgimpwidgets-2.0.so.0 libgimp-2.10.0_1
 libgimpui-2.0.so.0 libgimp-2.10.0_1
diff --git a/srcpkgs/libwebkit2gtk41 b/srcpkgs/libwebkit2gtk41
new file mode 120000
index 000000000000..8ae98428991b
--- /dev/null
+++ b/srcpkgs/libwebkit2gtk41
@@ -0,0 +1 @@
+webkit2gtk
\ No newline at end of file
diff --git a/srcpkgs/libwebkit2gtk41-devel b/srcpkgs/libwebkit2gtk41-devel
new file mode 120000
index 000000000000..8ae98428991b
--- /dev/null
+++ b/srcpkgs/libwebkit2gtk41-devel
@@ -0,0 +1 @@
+webkit2gtk
\ No newline at end of file
diff --git a/srcpkgs/libwebkit2gtk50 b/srcpkgs/libwebkit2gtk50
new file mode 120000
index 000000000000..8ae98428991b
--- /dev/null
+++ b/srcpkgs/libwebkit2gtk50
@@ -0,0 +1 @@
+webkit2gtk
\ No newline at end of file
diff --git a/srcpkgs/libwebkit2gtk50-devel b/srcpkgs/libwebkit2gtk50-devel
new file mode 120000
index 000000000000..8ae98428991b
--- /dev/null
+++ b/srcpkgs/libwebkit2gtk50-devel
@@ -0,0 +1 @@
+webkit2gtk
\ No newline at end of file
diff --git a/srcpkgs/webkit2gtk-common b/srcpkgs/webkit2gtk-common
new file mode 120000
index 000000000000..8ae98428991b
--- /dev/null
+++ b/srcpkgs/webkit2gtk-common
@@ -0,0 +1 @@
+webkit2gtk
\ No newline at end of file
diff --git a/srcpkgs/webkit2gtk/patches/be-typedarray.patch b/srcpkgs/webkit2gtk/patches/be-typedarray.patch
index f21c8fb57e45..fe93c2761305 100644
--- a/srcpkgs/webkit2gtk/patches/be-typedarray.patch
+++ b/srcpkgs/webkit2gtk/patches/be-typedarray.patch
@@ -165,42 +165,42 @@ diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunct
 index df0435f6..3017563c 100644
 --- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
 +++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
-@@ -213,9 +213,36 @@ ALWAYS_INLINE EncodedJSValue genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl
-     scope.assertNoExceptionExceptTermination();
+@@ -351,9 +351,36 @@ ALWAYS_INLINE EncodedJSValue genericType
      RELEASE_ASSERT(!thisObject->isDetached());
  
--    if (std::isnan(static_cast<double>(*targetOption))) {
-+    double targetOptionLittleEndianAsDouble;
+     if constexpr (ViewClass::Adaptor::isFloat) {
+-        if (std::isnan(static_cast<double>(*targetOption))) {
++        double targetOptionLittleEndianAsDouble;
 +#if CPU(BIG_ENDIAN)
-+    switch (ViewClass::TypedArrayStorageType) {
-+    case TypeFloat32:
-+    case TypeFloat64:
-+        targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
-+    default:
-+        // typed array views are commonly expected to be little endian views of the underlying data
-+        targetOptionLittleEndianAsDouble = static_cast<double>(flipBytes(*targetOption));
-+    }
++        switch (ViewClass::TypedArrayStorageType) {
++        case TypeFloat32:
++        case TypeFloat64:
++            targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
++        default:
++            // typed array views are commonly expected to be little endian views of the underlying data
++            targetOptionLittleEndianAsDouble = static_cast<double>(flipBytes(*targetOption));
++        }
 +#else
-+    targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
++        targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
 +#endif
 +
-+    if (std::isnan(targetOptionLittleEndianAsDouble)) {
-         for (; index < length; ++index) {
--            if (std::isnan(static_cast<double>(array[index])))
-+            double arrayElementLittleEndianAsDouble;
++        if (std::isnan(targetOptionLittleEndianAsDouble)) {
+             for (; index < length; ++index) {
+-                if (std::isnan(static_cast<double>(array[index])))
++                double arrayElementLittleEndianAsDouble;
 +#if CPU(BIG_ENDIAN)
-+            switch (ViewClass::TypedArrayStorageType) {
-+            case TypeFloat32:
-+            case TypeFloat64:
-+                arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
-+            default:
-+                // typed array views are commonly expected to be little endian views of the underlying data
-+                arrayElementLittleEndianAsDouble = static_cast<double>(flipBytes(array[index]));
-+            }
++                switch (ViewClass::TypedArrayStorageType) {
++                case TypeFloat32:
++                case TypeFloat64:
++                    arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
++                default:
++                    // typed array views are commonly expected to be little endian views of the underlying data
++                    arrayElementLittleEndianAsDouble = static_cast<double>(flipBytes(array[index]));
++                }
 +#else
-+            arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
++                arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
 +#endif
-+            if (std::isnan(arrayElementLittleEndianAsDouble))
-                 return JSValue::encode(jsBoolean(true));
-         }
-     } else {
++                if (std::isnan(arrayElementLittleEndianAsDouble))
+                     return JSValue::encode(jsBoolean(true));
+             }
+             return JSValue::encode(jsBoolean(false));
diff --git a/srcpkgs/webkit2gtk/patches/fix_armv6l.patch b/srcpkgs/webkit2gtk/patches/fix_armv6l.patch
index 859aa9343694..fdaf19991924 100644
--- a/srcpkgs/webkit2gtk/patches/fix_armv6l.patch
+++ b/srcpkgs/webkit2gtk/patches/fix_armv6l.patch
@@ -4,9 +4,9 @@ and https://bugs.webkit.org/show_bug.cgi?id=141288
 
 --- a/Source/JavaScriptCore/offlineasm/arm.rb	2015-07-22 14:37:57.000000000 +0200
 +++ b/Source/JavaScriptCore/offlineasm/arm.rb	2015-08-08 00:31:21.011824644 +0200
-@@ -546,8 +546,16 @@
-                 $asm.puts "mov #{armFlippedOperands(operands)}"
-             end
+@@ -756,8 +756,16 @@ class Instruction
+             armMoveImmediate(operands[0].value >> 32, operands[1])
+             armMoveImmediate(operands[0].value & 0xffffffff, operands[2])
          when "mvlbl"
 +            if isARMv7 or isARMv7Traditional
                  $asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
@@ -18,6 +18,6 @@ and https://bugs.webkit.org/show_bug.cgi?id=141288
 +                $asm.puts ".equ #{const_label}, (#{operands[0].value})"
 +                $asm.puts "ldr  #{operands[1].armOperand}, =#{const_label}"
 +            end
-         when "nop"
-             $asm.puts "nop"
-         when "bieq", "bpeq", "bbeq"
+         when "sxb2i"
+             $asm.puts "sxtb #{armFlippedOperands(operands)}"
+         when "sxh2i"
diff --git a/srcpkgs/webkit2gtk/patches/reproducible.patch b/srcpkgs/webkit2gtk/patches/reproducible.patch
index 4d0776c16840..2f3a555cbcfd 100644
--- a/srcpkgs/webkit2gtk/patches/reproducible.patch
+++ b/srcpkgs/webkit2gtk/patches/reproducible.patch
@@ -21,10 +21,10 @@ diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm b/Source/WebCore
 index be5a5d51..becb2b2f 100644
 --- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
 +++ b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
-@@ -3163,7 +3163,7 @@ sub GenerateHeader
-     if (%structureFlags) {
-         push(@headerContent, "public:\n");
-         push(@headerContent, "    static constexpr unsigned StructureFlags = Base::StructureFlags");
+@@ -3217,7 +3217,7 @@ sub GenerateHeader
+         } else {
+             push(@headerContent, "    static constexpr unsigned StructureFlags = Base::StructureFlags");
+         }
 -        foreach my $structureFlag (sort (keys %structureFlags)) {
 +        foreach my $structureFlag (sort (sort keys %structureFlags)) {
              push(@headerContent, " | " . $structureFlag);
diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template
index 618dc43ed4ee..ba02b128b1d1 100644
--- a/srcpkgs/webkit2gtk/template
+++ b/srcpkgs/webkit2gtk/template
@@ -1,14 +1,13 @@
 # Template file for 'webkit2gtk'
 pkgname=webkit2gtk
-version=2.36.7
+version=2.38.0
 revision=1
 wrksrc="webkitgtk-${version}"
 build_style=cmake
 build_helper="gir"
 configure_args="-DPORT=GTK -DUSE_LD_GOLD=OFF
  -DCMAKE_LINKER=${XBPS_CROSS_TRIPLET}-gcc -DCMAKE_SKIP_RPATH=ON
- -DENABLE_JOURNALD_LOG=OFF -DUSE_WOFF2=ON -DUSE_SOUP2=ON
- -DENABLE_GTKDOC=OFF -DUSE_WPE_RENDERER=ON
+ -DENABLE_JOURNALD_LOG=OFF -DUSE_WOFF2=ON -DUSE_WPE_RENDERER=ON
  -DENABLE_MINIBROWSER=$(vopt_if minibrowser ON OFF)
  -DENABLE_JIT=$(vopt_if jit ON OFF)
  -DENABLE_C_LOOP=$(vopt_if jit OFF ON)
@@ -20,23 +19,24 @@ configure_args="-DPORT=GTK -DUSE_LD_GOLD=OFF
 # Don't remove which from hostmakedepends
 # Otherwise, they invoke /usr/bin/ccache /usr/lib/ccache/bin/$CC
 hostmakedepends="perl python pkg-config gperf flex ruby gettext glib-devel
- geoclue2 libharfbuzz which libpsl
+ geoclue2 libharfbuzz which libpsl gi-docgen
  $(vopt_if wayland 'wayland-devel libxml2-devel')"
 makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
  harfbuzz-devel gst-plugins-base1-devel gst-plugins-bad1-devel sqlite-devel
- libsoup-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
- dbus-glib-devel libwebp-devel gtk+-devel gtk+3-devel libgudev-devel
+ libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
+ dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
  libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
  woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel
  qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
  libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
  $(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
+depends="webkit2gtk-common"
 short_desc="GTK+3 port of the WebKit2 browser engine"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later, BSD-2-Clause"
 homepage="https://webkitgtk.org/"
 distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz"
-checksum=0c260cf2b32f0481d017670dfed1b61e554967cd067195606c9f9eb5fe731743
+checksum=f9ce6375a3b6e1329b0b609f46921e2627dc7ad6224b37b967ab2ea643bc0fbd
 make_check=no
 
 build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser
@@ -132,7 +132,30 @@ pre_configure() {
 	esac
 }
 
+post_configure() {
+	mkdir -p webkit2gtk-40 webkit2gtk-50
+	(
+		cd webkit2gtk-40 && \
+		configure_args="${configure_args} -DUSE_SOUP2=ON -DENABLE_WEBDRIVER=OFF" \
+		do_configure
+	)
+
+	(
+		cd webkit2gtk-50 && \
+		configure_args="${configure_args} -DUSE_GTK4=ON -DENABLE_WEBDRIVER=OFF" \
+		do_configure
+	)
+}
+
+post_build() {
+	(cd webkit2gtk-40 && NINJA_STATUS="[2/3][%f/%t] " do_build)
+	(cd webkit2gtk-50 && NINJA_STATUS="[3/3][%f/%t] " do_build)
+}
+
 post_install() {
+	(cd webkit2gtk-40 && do_install)
+	(cd webkit2gtk-50 && do_install)
+
 	vlicense Source/WebCore/LICENSE-APPLE
 	vlicense Source/WebCore/LICENSE-LGPL-2.1
 	vlicense Source/WebCore/LICENSE-LGPL-2
@@ -142,11 +165,75 @@ webkit2gtk-devel_package() {
 	depends="gtk+3-devel libsoup-devel ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/pkgconfig
+		vmove usr/include/webkitgtk-4.0
+		vmove "usr/lib/pkgconfig/*-4.0.pc"
+		if [ "$build_option_gir" ]; then
+			vmove "usr/share/gir-1.0/*-4.0.gir"
+			vmove "usr/share/gtk-doc/html/*-4.0"
+		fi
+		vmove "usr/lib/*-4.0.so"
+	}
+}
+
+webkit2gtk-common_package() {
+	short_desc+="GTK port of the WebKit2 browser engine - common files"
+	pkg_install() {
+		vmove usr/share/locale/
+		vmove usr/share/licenses/
+	}
+}
+
+libwebkit2gtk41_package() {
+	depends="${depends}"
+	short_desc="GTK+3 port of the WebKit2 browser engine (soup3)"
+	pkg_install() {
+		vmove usr/bin/WebKitWebDriver
+		vmove usr/libexec/webkit2gtk-4.1
+		vmove usr/lib/webkit2gtk-4.1
+		if [ "$build_option_gir" ]; then
+			vmove "usr/lib/girepository-1.0/*-4.1.typelib"
+		fi
+		vmove "usr/lib/*-4.1.so.*"
+	}
+}
+
+libwebkit2gtk41-devel_package() {
+	depends="gtk+3-devel libsoup3-devel libwebkit2gtk41>=${version}_${revision}"
+	short_desc="GTK+3 port of the WebKit2 browser engine (soup3) - development files"
+	pkg_install() {
+		vmove usr/include/webkitgtk-4.1
+		vmove "usr/lib/pkgconfig/*-4.1.pc"
+		if [ "$build_option_gir" ]; then
+			vmove "usr/share/gir-1.0/*-4.1.gir"
+			vmove "usr/share/gtk-doc/html/*-4.1"
+		fi
+		vmove "usr/lib/*-4.1.so"
+	}
+}
+
+libwebkit2gtk50_package() {
+	depends="${depends}"
+	short_desc="GTK4 port of the WebKit2 browser engine"
+	pkg_install() {
+		vmove usr/libexec/webkit2gtk-5.0
+		vmove usr/lib/webkit2gtk-5.0
+		if [ "$build_option_gir" ]; then
+			vmove "usr/lib/girepository-1.0/*-5.0.typelib"
+		fi
+		vmove "usr/lib/*-5.0.so.*"
+	}
+}
+
+libwebkit2gtk50-devel_package() {
+	depends="gtk4-devel libsoup3-devel libwebkit2gtk50>=${version}_${revision}"
+	short_desc="GTK4 port of the WebKit2 browser engine - development files"
+	pkg_install() {
+		vmove usr/include/webkitgtk-5.0
+		vmove "usr/lib/pkgconfig/*-5.0.pc"
 		if [ "$build_option_gir" ]; then
-			vmove usr/share/gir-1.0
+			vmove "usr/share/gir-1.0/*-5.0.gir"
+			vmove "usr/share/gtk-doc/html/*-5.0"
 		fi
-		vmove "usr/lib/*.so"
+		vmove "usr/lib/*-5.0.so"
 	}
 }

From 8810d131bb4fc8d2460eab309b6a5a1c80c86736 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 2/8] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index 3fb3fdcc40e3..45b44c6caaac 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.3.0
-revision=2
+revision=3
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 7eb3bdca0753be7b5cdda509eee5b0efb15f4b4a Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 3/8] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d1d2bdd2403c..8d676e22c9e2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1156,7 +1156,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From 2043104bc127799a37c0589a07f7c6a2f6b6732b Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 4/8] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 43d2562782ed5217d4d85e78d1cdfc805d5e68fa Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 5/8] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 8d676e22c9e2..42cefada7e19 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3105,7 +3105,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From 6e02e1e90648e3c76150658901a0eb6af10e213d Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 6/8] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 42cefada7e19..57600b8ef258 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1157,9 +1157,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From 5111dab8f6e7b39b73a12fd251a350e13f8e74b6 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 7/8] remmina: disable spice plugin

The spice plugin needs spice-gtk which now uses libsoup3, but remmina is not
able to use libsoup3 yet.
---
 srcpkgs/remmina/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..c1fd4e750052 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -10,8 +10,8 @@ makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
  libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
- libvncserver-devel libxkbfile-devel opus-devel phodav-devel
- spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
+ libvncserver-devel libxkbfile-devel opus-devel
+ telepathy-glib-devel usbredir-devel
  vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"

From 03b46bbbffcbcc598c0a321c36b5f1876198902b Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 8/8] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..d964e2162c13 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,21 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
@ 2022-10-22 13:38 ` paper42
  2022-10-22 20:06 ` paper42
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-22 13:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1247 bytes --]

There is an updated pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
[ci skip]
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 13027 bytes --]

From 32c13a74f799a81da6544ec6053a4793fc4a7df0 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 1/7] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index ed0f7bc04040..770ade715ca6 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.4.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 1f86f5eecca8d3454f2df8400f19c6793f7f5eda Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 2/7] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9712cbc1262f..ef07deec5737 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1158,7 +1158,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From a24d535f27fb2aa3bf405209e6eae2e6cb8fd6df Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 3/7] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 0a80fc149de0b710203f71954f4a61f58303687e Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 4/7] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index ef07deec5737..d68de4f37649 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3109,7 +3109,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From 13f8e14163b6bf3bed92f51649feaf4dc554161f Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 5/7] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d68de4f37649..f68ffbb1e7fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1159,9 +1159,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From 219f3d4d6599faa207d99af8a27550469f263afe Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 6/7] remmina: disable spice plugin

The spice plugin needs spice-gtk which now uses libsoup3, but remmina is not
able to use libsoup3 yet.
---
 srcpkgs/remmina/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..c1fd4e750052 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -10,8 +10,8 @@ makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
  libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
- libvncserver-devel libxkbfile-devel opus-devel phodav-devel
- spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
+ libvncserver-devel libxkbfile-devel opus-devel
+ telepathy-glib-devel usbredir-devel
  vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"

From 9637547918483fe97fb8bb94029cea067873f6ae Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 7/7] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..d964e2162c13 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,21 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
  2022-10-22 13:38 ` [PR PATCH] [Updated] " paper42
@ 2022-10-22 20:06 ` paper42
  2022-10-22 20:14 ` paper42
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-22 20:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1247 bytes --]

There is an updated pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
[ci skip]
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 30547 bytes --]

From b9a969cb26fe3ac79e05e1109a025038296d9ffb Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 1/7] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index ed0f7bc04040..770ade715ca6 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.4.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 047624bd992ac74350533e7638bb2323ce41589d Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 2/7] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9712cbc1262f..ef07deec5737 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1158,7 +1158,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From d30604d968aafad3ebe6896af7df4b0b725f4be8 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 3/7] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 6f128256528c1dd3335e3d7b52002225e06f5922 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 4/7] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index ef07deec5737..d68de4f37649 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3109,7 +3109,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From 0761ff2d624f94cb445c5966c8cb5b422244b01e Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 5/7] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d68de4f37649..f68ffbb1e7fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1159,9 +1159,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From f0fe6917083a13a1acbb10d0d38372d752279bca Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 6/7] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..d964e2162c13 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,21 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

From 0f400011d86df5a556a7a6e0922e86c560a3dc5a Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 Oct 2022 21:57:06 +0200
Subject: [PATCH 7/7] remmina: use libsoup3

---
 srcpkgs/remmina/patches/libsoup3.patch | 452 +++++++++++++++++++++++++
 srcpkgs/remmina/template               |   6 +-
 2 files changed, 455 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/remmina/patches/libsoup3.patch

diff --git a/srcpkgs/remmina/patches/libsoup3.patch b/srcpkgs/remmina/patches/libsoup3.patch
new file mode 100644
index 000000000000..9f937275c492
--- /dev/null
+++ b/srcpkgs/remmina/patches/libsoup3.patch
@@ -0,0 +1,452 @@
+From edbaeb1b588edc0e969b0eedd731758aad369391 Mon Sep 17 00:00:00 2001
+From: "Antenore Gatta (tmow)" <antenore@simbiosi.org>
+Date: Mon, 3 Oct 2022 17:38:35 +0000
+Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
+
+---
+ ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} |  27 +--
+ cmake/FindWEBKIT2GTK.cmake                    |   6 +-
+ plugins/www/CMakeLists.txt                    |  10 +-
+ src/CMakeLists.txt                            |   8 +-
+ src/rmnews.c                                  | 216 +++++++++++++-----
+ 8 files changed, 323 insertions(+), 164 deletions(-)
+ rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
+
+diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
+similarity index 55%
+rename from cmake/FindLIBSOUP24.cmake
+rename to cmake/FindLIBSOUP.cmake
+index 96ec22239..23cc06ff6 100644
+--- a/cmake/FindLIBSOUP24.cmake
++++ b/cmake/FindLIBSOUP.cmake
+@@ -1,7 +1,5 @@
+ # Remmina - The GTK+ Remote Desktop Client
+ #
+-# Copyright (C) 2011 Marc-Andre Moreau
+-# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+ # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -21,26 +19,25 @@
+ 
+ include(FindPackageHandleStandardArgs)
+ 
+-pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
++pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
+ 
+-
+-find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
+-	HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
++find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
++	HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
+ )
+ 
+-find_library(LIBSOUP24_LIBRARY
+-	NAMES soup-2.4
+-	HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
++find_library(LIBSOUP_LIBRARY
++	NAMES soup soup-3.0 soup-2.4
++	HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
+ 	)
+ 
+-if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
+-	find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
++if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
++	find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY LIBSOUP_INCLUDE_DIR)
+ endif()
+ 
+-if (LIBSOUP24_FOUND)
+-	set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
+-	set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
++if (LIBSOUP_FOUND)
++	set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
++	set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
+ endif()
+ 
+-mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
++mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
+ 
+diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
+index 391fdfe9d..0af554cff 100644
+--- a/cmake/FindWEBKIT2GTK.cmake
++++ b/cmake/FindWEBKIT2GTK.cmake
+@@ -33,7 +33,8 @@
+ find_package(PkgConfig)
+ 
+ if(PKG_CONFIG_FOUND)
+-    pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
+ endif(PKG_CONFIG_FOUND)
+ 
+ set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
+@@ -42,7 +43,8 @@ find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
+     HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
+ )
+ 
+-find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
++find_library(WEBKIT2GTK_LIB
++    NAMES webkit2gtk-4.1 webkit2gtk-4.0
+     HINTS
+     ${_WEBKIT2GTK_LIBDIR}
+     ${_WEBKIT2GTK_LIBRARY_DIRS}
+diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
+index cd1ab3a32..39f44a0c7 100644
+--- a/plugins/www/CMakeLists.txt
++++ b/plugins/www/CMakeLists.txt
+@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES NO_SONAME 1)
+ 
+ add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
+ 
+-find_required_package(LIBSOUP24)
+-if(LIBSOUP24_FOUND)
+-    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
++find_required_package(LIBSOUP)
++if(LIBSOUP_FOUND)
++    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
+ else()
+-    message(FATAL_ERROR "libsoup 2.4 library not found")
++    message(FATAL_ERROR "libsoup library not found")
+ endif()
+ 
+ install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8d7ddadbb..eb1fec2e0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,10 +255,10 @@ if(GTK3_FOUND)
+   else()
+     message(FATAL_ERROR "json-glib library not found")
+   endif()
+-  find_required_package(LIBSOUP24)
+-  if(LIBSOUP24_FOUND)
+-    include_directories(${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
++  find_required_package(LIBSOUP)
++  if(LIBSOUP_FOUND)
++    include_directories(${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
+   else()
+     message(FATAL_ERROR "libsoup 2.4 library not found")
+   endif()
+diff --git a/src/rmnews.c b/src/rmnews.c
+index d4ae81d22..f44af8704 100644
+--- a/src/rmnews.c
++++ b/src/rmnews.c
+@@ -74,6 +74,12 @@ static RemminaNewsDialog *rmnews_news_dialog;
+ #define GET_OBJ(object_name) gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
+ 
+ static SoupSession *session;
++
++#if SOUP_MAJOR_VERSION < 3
++#define soup_message_get_status(message) message->status_code
++#define soup_message_get_response_headers(message) message->response_headers
++#endif
++
+ static const gchar *output_file_path = NULL;
+ 
+ static
+@@ -96,6 +102,23 @@ gint eweekdays[7] = {
+ 	604800
+ };
+ 
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result, gpointer user_data)
++{
++        GError *error = NULL;
++        g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
++                                       result,
++                                       &error);
++        if (error) {
++                g_printerr ("Failed to download: %s\n", error->message);
++                g_error_free (error);
++                return;
++        }
++
++}
++#endif
++
+ void rmnews_news_switch_state_set_cb()
+ {
+ 	TRACE_CALL(__func__);
+@@ -225,71 +248,136 @@ void rmnews_show_news(GtkWindow *parent)
+ 	gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
+ }
+ 
+-static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_get_url_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+ {
+ 	TRACE_CALL(__func__);
+ 	const char *name;
+ 	const char *header;
+-	SoupBuffer *sb;
+-	FILE *output_file = NULL;
++	GFile *output_file;
+ 	gchar *filesha = NULL;
+ 	gchar *filesha_after = NULL;
+-	GDateTime *gdt;
+-	gint64 unixts;
+ 
+-	REMMINA_DEBUG("Status code %d", msg->status_code);
++	GError *error = NULL;
++        GInputStream *in = soup_session_send_finish (SOUP_SESSION (source), result, &error);
+ 
+-	name = soup_message_get_uri(msg)->path;
++	if (error) {
++		REMMINA_DEBUG ("Failed to send request: %s", error->message);
++		g_error_free (error);
++		return;
++	}
+ 
+-	gdt = g_date_time_new_now_utc();
+-	unixts = g_date_time_to_unix(gdt);
++	GDateTime *gdt = g_date_time_new_now_utc();
++	gint64 unixts = g_date_time_to_unix(gdt);
+ 	g_date_time_unref(gdt);
+ 
+-	if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Status 404 - Release file not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
++        if (output_file_path) {
++		REMMINA_DEBUG("Calculating the SHA1 of the local file");
++		filesha = remmina_sha1_file(output_file_path);
++		REMMINA_DEBUG("SHA1 is %s", filesha);
++		if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
++		REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
++                GFile *output_file = g_file_new_for_commandline_arg (output_file_path);
++		GOutputStream *out = G_OUTPUT_STREAM (g_file_replace (output_file, NULL, NULL,
++							G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
++                if (error) {
++			REMMINA_DEBUG("Failed to create \"%s\": %s", output_file_path, error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++                        g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++                        return;
++                }
++
++		/* Start downloading to the file */
++		// g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
++		// 		G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++		// 		G_PRIORITY_DEFAULT,
++		// 		NULL,
++		// 		rmnews_on_stream_splice,
++		// NULL);
++		g_output_stream_splice (G_OUTPUT_STREAM (out), in,
++			  G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++			  NULL,
++			  &error);
++
++		if (error) {
++			REMMINA_DEBUG ("Failed to download: %s", error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++			g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++			return;
++		}
+ 
+-	if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Server not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
+ 
+-	if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Transport Error");
++		filesha_after = remmina_sha1_file(output_file_path);
++
++		REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
++		if (g_strcmp0(filesha, filesha_after) != 0) {
++			REMMINA_DEBUG("SHA1 differs, we show the news and reset the counter");
++			remmina_pref.periodic_rmnews_last_get = 0;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			GtkWindow *parent = remmina_main_get_window();
++			if (!kioskmode && kioskmode == FALSE)
++			rmnews_show_news(parent);
++		} else {
++			remmina_pref.periodic_rmnews_last_get = unixts;
++		}
++		/* Increase counter with number of successful GETs */
++		remmina_pref.periodic_rmnews_get_count = remmina_pref.periodic_rmnews_get_count + 1;
++		remmina_pref_save();
++		g_free(filesha); filesha = NULL;
++		g_object_unref (out);
++	} else {
++		REMMINA_DEBUG("Cannot open output file for writing, because output_file_path is NULL");
+ 		remmina_pref.periodic_rmnews_last_get = unixts;
+ 		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	}
++        }
+ 
+-	if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
+-		GTlsCertificateFlags flags;
++        g_object_unref (in);
+ 
+-		if (soup_message_get_https_status(msg, NULL, &flags))
+-			REMMINA_DEBUG("%s: %d %s (0x%x)\n", name, msg->status_code, msg->reason_phrase, flags);
+-		else
+-			REMMINA_DEBUG("%s: %d %s (no handshake status)\n", name, msg->status_code, msg->reason_phrase);
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	} else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code, msg->reason_phrase);
+-	}
+ 
+-	if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
+-		header = soup_message_headers_get_one(msg->response_headers,
++}
++#else
++static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++{
++	TRACE_CALL(__func__);
++	const char *name;
++	const char *header;
++	g_autoptr(SoupBuffer) sb;
++	FILE *output_file = NULL;
++	gchar *filesha = NULL;
++	gchar *filesha_after = NULL;
++	GDateTime *gdt;
++	gint64 unixts;
++	gint status;
++
++	status = soup_message_get_status(msg);
++	REMMINA_DEBUG("Status code %d", status);
++
++	name = soup_message_get_uri(msg)->path;
++
++	gdt = g_date_time_new_now_utc();
++	unixts = g_date_time_to_unix(gdt);
++	g_date_time_unref(gdt);
++
++	if (SOUP_STATUS_IS_REDIRECTION(status)) {
++		header = soup_message_headers_get_one(soup_message_get_response_headers(msg),
+ 						      "Location");
+ 		REMMINA_DEBUG("Redirection detected");
+ 		if (header) {
+@@ -309,18 +397,25 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	} else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
++	}
++
++	if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
++		REMMINA_DEBUG ("Could not access %s: %s", name , soup_status_get_phrase(status));
++		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++		REMMINA_DEBUG ("Saving preferences");
++		remmina_pref_save();
++		return;
++	} else {
+ 		REMMINA_DEBUG("Status 200");
+ 		if (output_file_path) {
+ 			REMMINA_DEBUG("Calculating the SHA1 of the local file");
+ 			filesha = remmina_sha1_file(output_file_path);
+ 			REMMINA_DEBUG("SHA1 is %s", filesha);
+-			if (filesha == NULL || filesha[0] == 0)
+-				filesha = "0\0";
++			if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
+ 			REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
+ 			output_file = fopen(output_file_path, "w");
+ 			if (!output_file) {
+-				g_printerr("Error trying to create file %s.\n", output_file_path);
++				REMMINA_DEBUG("Error trying to create file %s.", output_file_path);
+ 				remmina_pref.periodic_rmnews_last_get = unixts;
+ 				REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 				REMMINA_DEBUG ("Saving preferences");
+@@ -336,8 +431,6 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			remmina_pref_save();
+ 			return;
+ 		}
+-
+-
+ 		sb = soup_message_body_flatten(msg->response_body);
+ 		if (output_file) {
+ 			fwrite(sb->data, 1, sb->length, output_file);
+@@ -364,8 +457,10 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			g_free(filesha); filesha = NULL;
+ 		}
+ 	}
++
+ 	g_object_unref(msg);
+ }
++#endif
+ 
+ /**
+  * Try to get a unique system+user ID to identify this remmina user
+@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
+ 
+ 	REMMINA_DEBUG("Fetching %s", url);
+ 
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	// Use soup_session_send_async or soup_session_send_and_read_async
++	soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
++			NULL,			// cancellable
++			rmnews_get_url_cb,	// callback
++			NULL);			// user_data
++#else
+ 	g_object_ref(msg);
+ 	soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
++#endif
+ }
+ 
+ void rmnews_get_news()
+@@ -466,14 +569,25 @@ void rmnews_get_news()
+ 	}
+ 
+ 	REMMINA_DEBUG("Gathering news");
++	/* Build the session with all of the features we need */
++	session = soup_session_new_with_options ("user-agent", "get ",
++                                                 "accept-language-auto", TRUE,
++                                                 "timeout", 15,
++                                                 NULL);
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
++	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
++#else
+ 	session = g_object_new(SOUP_TYPE_SESSION,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_COOKIE_JAR,
+ 			       SOUP_SESSION_USER_AGENT, "get ",
+ 			       SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
+ 			       NULL);
+-	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
++#endif
++	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
+ 	g_object_unref(logger);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..cc99b1a696b5 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -9,10 +9,10 @@ hostmakedepends="glib-devel intltool pkg-config shared-mime-info"
 makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
- libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
+ libsecret-devel libsodium-devel libsoup3-devel libssh-devel libva-devel
  libvncserver-devel libxkbfile-devel opus-devel phodav-devel
  spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
- vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
+ vte3-devel libappindicator-devel libwebkit2gtk41-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"
 maintainer="Frank Steinborn <steinex@nognu.de>"

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
  2022-10-22 13:38 ` [PR PATCH] [Updated] " paper42
  2022-10-22 20:06 ` paper42
@ 2022-10-22 20:14 ` paper42
  2022-10-22 20:33 ` paper42
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-22 20:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1236 bytes --]

There is an updated pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 30547 bytes --]

From b9a969cb26fe3ac79e05e1109a025038296d9ffb Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 1/7] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index ed0f7bc04040..770ade715ca6 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.4.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 047624bd992ac74350533e7638bb2323ce41589d Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 2/7] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9712cbc1262f..ef07deec5737 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1158,7 +1158,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From d30604d968aafad3ebe6896af7df4b0b725f4be8 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 3/7] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 6f128256528c1dd3335e3d7b52002225e06f5922 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 4/7] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index ef07deec5737..d68de4f37649 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3109,7 +3109,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From 0761ff2d624f94cb445c5966c8cb5b422244b01e Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 5/7] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d68de4f37649..f68ffbb1e7fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1159,9 +1159,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From f0fe6917083a13a1acbb10d0d38372d752279bca Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 6/7] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..d964e2162c13 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,21 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

From 45fd1ca2cc41bdeacece167d7193691f500f98a1 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 Oct 2022 21:57:06 +0200
Subject: [PATCH 7/7] remmina: use libsoup3

---
 srcpkgs/remmina/patches/libsoup3.patch | 452 +++++++++++++++++++++++++
 srcpkgs/remmina/template               |   6 +-
 2 files changed, 455 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/remmina/patches/libsoup3.patch

diff --git a/srcpkgs/remmina/patches/libsoup3.patch b/srcpkgs/remmina/patches/libsoup3.patch
new file mode 100644
index 000000000000..9f937275c492
--- /dev/null
+++ b/srcpkgs/remmina/patches/libsoup3.patch
@@ -0,0 +1,452 @@
+From edbaeb1b588edc0e969b0eedd731758aad369391 Mon Sep 17 00:00:00 2001
+From: "Antenore Gatta (tmow)" <antenore@simbiosi.org>
+Date: Mon, 3 Oct 2022 17:38:35 +0000
+Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
+
+---
+ ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} |  27 +--
+ cmake/FindWEBKIT2GTK.cmake                    |   6 +-
+ plugins/www/CMakeLists.txt                    |  10 +-
+ src/CMakeLists.txt                            |   8 +-
+ src/rmnews.c                                  | 216 +++++++++++++-----
+ 8 files changed, 323 insertions(+), 164 deletions(-)
+ rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
+
+diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
+similarity index 55%
+rename from cmake/FindLIBSOUP24.cmake
+rename to cmake/FindLIBSOUP.cmake
+index 96ec22239..23cc06ff6 100644
+--- a/cmake/FindLIBSOUP24.cmake
++++ b/cmake/FindLIBSOUP.cmake
+@@ -1,7 +1,5 @@
+ # Remmina - The GTK+ Remote Desktop Client
+ #
+-# Copyright (C) 2011 Marc-Andre Moreau
+-# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+ # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -21,26 +19,25 @@
+ 
+ include(FindPackageHandleStandardArgs)
+ 
+-pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
++pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
+ 
+-
+-find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
+-	HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
++find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
++	HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
+ )
+ 
+-find_library(LIBSOUP24_LIBRARY
+-	NAMES soup-2.4
+-	HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
++find_library(LIBSOUP_LIBRARY
++	NAMES soup soup-3.0 soup-2.4
++	HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
+ 	)
+ 
+-if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
+-	find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
++if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
++	find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY LIBSOUP_INCLUDE_DIR)
+ endif()
+ 
+-if (LIBSOUP24_FOUND)
+-	set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
+-	set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
++if (LIBSOUP_FOUND)
++	set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
++	set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
+ endif()
+ 
+-mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
++mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
+ 
+diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
+index 391fdfe9d..0af554cff 100644
+--- a/cmake/FindWEBKIT2GTK.cmake
++++ b/cmake/FindWEBKIT2GTK.cmake
+@@ -33,7 +33,8 @@
+ find_package(PkgConfig)
+ 
+ if(PKG_CONFIG_FOUND)
+-    pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
+ endif(PKG_CONFIG_FOUND)
+ 
+ set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
+@@ -42,7 +43,8 @@ find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
+     HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
+ )
+ 
+-find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
++find_library(WEBKIT2GTK_LIB
++    NAMES webkit2gtk-4.1 webkit2gtk-4.0
+     HINTS
+     ${_WEBKIT2GTK_LIBDIR}
+     ${_WEBKIT2GTK_LIBRARY_DIRS}
+diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
+index cd1ab3a32..39f44a0c7 100644
+--- a/plugins/www/CMakeLists.txt
++++ b/plugins/www/CMakeLists.txt
+@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES NO_SONAME 1)
+ 
+ add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
+ 
+-find_required_package(LIBSOUP24)
+-if(LIBSOUP24_FOUND)
+-    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
++find_required_package(LIBSOUP)
++if(LIBSOUP_FOUND)
++    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
+ else()
+-    message(FATAL_ERROR "libsoup 2.4 library not found")
++    message(FATAL_ERROR "libsoup library not found")
+ endif()
+ 
+ install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8d7ddadbb..eb1fec2e0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,10 +255,10 @@ if(GTK3_FOUND)
+   else()
+     message(FATAL_ERROR "json-glib library not found")
+   endif()
+-  find_required_package(LIBSOUP24)
+-  if(LIBSOUP24_FOUND)
+-    include_directories(${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
++  find_required_package(LIBSOUP)
++  if(LIBSOUP_FOUND)
++    include_directories(${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
+   else()
+     message(FATAL_ERROR "libsoup 2.4 library not found")
+   endif()
+diff --git a/src/rmnews.c b/src/rmnews.c
+index d4ae81d22..f44af8704 100644
+--- a/src/rmnews.c
++++ b/src/rmnews.c
+@@ -74,6 +74,12 @@ static RemminaNewsDialog *rmnews_news_dialog;
+ #define GET_OBJ(object_name) gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
+ 
+ static SoupSession *session;
++
++#if SOUP_MAJOR_VERSION < 3
++#define soup_message_get_status(message) message->status_code
++#define soup_message_get_response_headers(message) message->response_headers
++#endif
++
+ static const gchar *output_file_path = NULL;
+ 
+ static
+@@ -96,6 +102,23 @@ gint eweekdays[7] = {
+ 	604800
+ };
+ 
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result, gpointer user_data)
++{
++        GError *error = NULL;
++        g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
++                                       result,
++                                       &error);
++        if (error) {
++                g_printerr ("Failed to download: %s\n", error->message);
++                g_error_free (error);
++                return;
++        }
++
++}
++#endif
++
+ void rmnews_news_switch_state_set_cb()
+ {
+ 	TRACE_CALL(__func__);
+@@ -225,71 +248,136 @@ void rmnews_show_news(GtkWindow *parent)
+ 	gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
+ }
+ 
+-static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_get_url_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+ {
+ 	TRACE_CALL(__func__);
+ 	const char *name;
+ 	const char *header;
+-	SoupBuffer *sb;
+-	FILE *output_file = NULL;
++	GFile *output_file;
+ 	gchar *filesha = NULL;
+ 	gchar *filesha_after = NULL;
+-	GDateTime *gdt;
+-	gint64 unixts;
+ 
+-	REMMINA_DEBUG("Status code %d", msg->status_code);
++	GError *error = NULL;
++        GInputStream *in = soup_session_send_finish (SOUP_SESSION (source), result, &error);
+ 
+-	name = soup_message_get_uri(msg)->path;
++	if (error) {
++		REMMINA_DEBUG ("Failed to send request: %s", error->message);
++		g_error_free (error);
++		return;
++	}
+ 
+-	gdt = g_date_time_new_now_utc();
+-	unixts = g_date_time_to_unix(gdt);
++	GDateTime *gdt = g_date_time_new_now_utc();
++	gint64 unixts = g_date_time_to_unix(gdt);
+ 	g_date_time_unref(gdt);
+ 
+-	if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Status 404 - Release file not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
++        if (output_file_path) {
++		REMMINA_DEBUG("Calculating the SHA1 of the local file");
++		filesha = remmina_sha1_file(output_file_path);
++		REMMINA_DEBUG("SHA1 is %s", filesha);
++		if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
++		REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
++                GFile *output_file = g_file_new_for_commandline_arg (output_file_path);
++		GOutputStream *out = G_OUTPUT_STREAM (g_file_replace (output_file, NULL, NULL,
++							G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
++                if (error) {
++			REMMINA_DEBUG("Failed to create \"%s\": %s", output_file_path, error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++                        g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++                        return;
++                }
++
++		/* Start downloading to the file */
++		// g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
++		// 		G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++		// 		G_PRIORITY_DEFAULT,
++		// 		NULL,
++		// 		rmnews_on_stream_splice,
++		// NULL);
++		g_output_stream_splice (G_OUTPUT_STREAM (out), in,
++			  G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++			  NULL,
++			  &error);
++
++		if (error) {
++			REMMINA_DEBUG ("Failed to download: %s", error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++			g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++			return;
++		}
+ 
+-	if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Server not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
+ 
+-	if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Transport Error");
++		filesha_after = remmina_sha1_file(output_file_path);
++
++		REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
++		if (g_strcmp0(filesha, filesha_after) != 0) {
++			REMMINA_DEBUG("SHA1 differs, we show the news and reset the counter");
++			remmina_pref.periodic_rmnews_last_get = 0;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			GtkWindow *parent = remmina_main_get_window();
++			if (!kioskmode && kioskmode == FALSE)
++			rmnews_show_news(parent);
++		} else {
++			remmina_pref.periodic_rmnews_last_get = unixts;
++		}
++		/* Increase counter with number of successful GETs */
++		remmina_pref.periodic_rmnews_get_count = remmina_pref.periodic_rmnews_get_count + 1;
++		remmina_pref_save();
++		g_free(filesha); filesha = NULL;
++		g_object_unref (out);
++	} else {
++		REMMINA_DEBUG("Cannot open output file for writing, because output_file_path is NULL");
+ 		remmina_pref.periodic_rmnews_last_get = unixts;
+ 		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	}
++        }
+ 
+-	if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
+-		GTlsCertificateFlags flags;
++        g_object_unref (in);
+ 
+-		if (soup_message_get_https_status(msg, NULL, &flags))
+-			REMMINA_DEBUG("%s: %d %s (0x%x)\n", name, msg->status_code, msg->reason_phrase, flags);
+-		else
+-			REMMINA_DEBUG("%s: %d %s (no handshake status)\n", name, msg->status_code, msg->reason_phrase);
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	} else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code, msg->reason_phrase);
+-	}
+ 
+-	if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
+-		header = soup_message_headers_get_one(msg->response_headers,
++}
++#else
++static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++{
++	TRACE_CALL(__func__);
++	const char *name;
++	const char *header;
++	g_autoptr(SoupBuffer) sb;
++	FILE *output_file = NULL;
++	gchar *filesha = NULL;
++	gchar *filesha_after = NULL;
++	GDateTime *gdt;
++	gint64 unixts;
++	gint status;
++
++	status = soup_message_get_status(msg);
++	REMMINA_DEBUG("Status code %d", status);
++
++	name = soup_message_get_uri(msg)->path;
++
++	gdt = g_date_time_new_now_utc();
++	unixts = g_date_time_to_unix(gdt);
++	g_date_time_unref(gdt);
++
++	if (SOUP_STATUS_IS_REDIRECTION(status)) {
++		header = soup_message_headers_get_one(soup_message_get_response_headers(msg),
+ 						      "Location");
+ 		REMMINA_DEBUG("Redirection detected");
+ 		if (header) {
+@@ -309,18 +397,25 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	} else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
++	}
++
++	if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
++		REMMINA_DEBUG ("Could not access %s: %s", name , soup_status_get_phrase(status));
++		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++		REMMINA_DEBUG ("Saving preferences");
++		remmina_pref_save();
++		return;
++	} else {
+ 		REMMINA_DEBUG("Status 200");
+ 		if (output_file_path) {
+ 			REMMINA_DEBUG("Calculating the SHA1 of the local file");
+ 			filesha = remmina_sha1_file(output_file_path);
+ 			REMMINA_DEBUG("SHA1 is %s", filesha);
+-			if (filesha == NULL || filesha[0] == 0)
+-				filesha = "0\0";
++			if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
+ 			REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
+ 			output_file = fopen(output_file_path, "w");
+ 			if (!output_file) {
+-				g_printerr("Error trying to create file %s.\n", output_file_path);
++				REMMINA_DEBUG("Error trying to create file %s.", output_file_path);
+ 				remmina_pref.periodic_rmnews_last_get = unixts;
+ 				REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 				REMMINA_DEBUG ("Saving preferences");
+@@ -336,8 +431,6 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			remmina_pref_save();
+ 			return;
+ 		}
+-
+-
+ 		sb = soup_message_body_flatten(msg->response_body);
+ 		if (output_file) {
+ 			fwrite(sb->data, 1, sb->length, output_file);
+@@ -364,8 +457,10 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			g_free(filesha); filesha = NULL;
+ 		}
+ 	}
++
+ 	g_object_unref(msg);
+ }
++#endif
+ 
+ /**
+  * Try to get a unique system+user ID to identify this remmina user
+@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
+ 
+ 	REMMINA_DEBUG("Fetching %s", url);
+ 
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	// Use soup_session_send_async or soup_session_send_and_read_async
++	soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
++			NULL,			// cancellable
++			rmnews_get_url_cb,	// callback
++			NULL);			// user_data
++#else
+ 	g_object_ref(msg);
+ 	soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
++#endif
+ }
+ 
+ void rmnews_get_news()
+@@ -466,14 +569,25 @@ void rmnews_get_news()
+ 	}
+ 
+ 	REMMINA_DEBUG("Gathering news");
++	/* Build the session with all of the features we need */
++	session = soup_session_new_with_options ("user-agent", "get ",
++                                                 "accept-language-auto", TRUE,
++                                                 "timeout", 15,
++                                                 NULL);
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
++	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
++#else
+ 	session = g_object_new(SOUP_TYPE_SESSION,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_COOKIE_JAR,
+ 			       SOUP_SESSION_USER_AGENT, "get ",
+ 			       SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
+ 			       NULL);
+-	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
++#endif
++	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
+ 	g_object_unref(logger);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..cc99b1a696b5 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -9,10 +9,10 @@ hostmakedepends="glib-devel intltool pkg-config shared-mime-info"
 makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
- libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
+ libsecret-devel libsodium-devel libsoup3-devel libssh-devel libva-devel
  libvncserver-devel libxkbfile-devel opus-devel phodav-devel
  spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
- vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
+ vte3-devel libappindicator-devel libwebkit2gtk41-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"
 maintainer="Frank Steinborn <steinex@nognu.de>"

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
                   ` (2 preceding siblings ...)
  2022-10-22 20:14 ` paper42
@ 2022-10-22 20:33 ` paper42
  2022-10-26  8:52 ` paper42
  2022-10-26 12:55 ` [PR PATCH] [Merged]: " paper42
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-22 20:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1236 bytes --]

There is an updated pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 30572 bytes --]

From b9a969cb26fe3ac79e05e1109a025038296d9ffb Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 1/7] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index ed0f7bc04040..770ade715ca6 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.4.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 047624bd992ac74350533e7638bb2323ce41589d Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 2/7] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9712cbc1262f..ef07deec5737 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1158,7 +1158,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From d30604d968aafad3ebe6896af7df4b0b725f4be8 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 3/7] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 6f128256528c1dd3335e3d7b52002225e06f5922 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 4/7] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index ef07deec5737..d68de4f37649 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3109,7 +3109,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From 0761ff2d624f94cb445c5966c8cb5b422244b01e Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 5/7] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d68de4f37649..f68ffbb1e7fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1159,9 +1159,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From 97944259a61828018db93e4f63829ecfcd7fdeab Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 Oct 2022 21:57:06 +0200
Subject: [PATCH 6/7] remmina: use libsoup3

---
 srcpkgs/remmina/patches/libsoup3.patch | 452 +++++++++++++++++++++++++
 srcpkgs/remmina/template               |   6 +-
 2 files changed, 455 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/remmina/patches/libsoup3.patch

diff --git a/srcpkgs/remmina/patches/libsoup3.patch b/srcpkgs/remmina/patches/libsoup3.patch
new file mode 100644
index 000000000000..9f937275c492
--- /dev/null
+++ b/srcpkgs/remmina/patches/libsoup3.patch
@@ -0,0 +1,452 @@
+From edbaeb1b588edc0e969b0eedd731758aad369391 Mon Sep 17 00:00:00 2001
+From: "Antenore Gatta (tmow)" <antenore@simbiosi.org>
+Date: Mon, 3 Oct 2022 17:38:35 +0000
+Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
+
+---
+ ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} |  27 +--
+ cmake/FindWEBKIT2GTK.cmake                    |   6 +-
+ plugins/www/CMakeLists.txt                    |  10 +-
+ src/CMakeLists.txt                            |   8 +-
+ src/rmnews.c                                  | 216 +++++++++++++-----
+ 8 files changed, 323 insertions(+), 164 deletions(-)
+ rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
+
+diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
+similarity index 55%
+rename from cmake/FindLIBSOUP24.cmake
+rename to cmake/FindLIBSOUP.cmake
+index 96ec22239..23cc06ff6 100644
+--- a/cmake/FindLIBSOUP24.cmake
++++ b/cmake/FindLIBSOUP.cmake
+@@ -1,7 +1,5 @@
+ # Remmina - The GTK+ Remote Desktop Client
+ #
+-# Copyright (C) 2011 Marc-Andre Moreau
+-# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+ # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -21,26 +19,25 @@
+ 
+ include(FindPackageHandleStandardArgs)
+ 
+-pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
++pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
+ 
+-
+-find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
+-	HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
++find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
++	HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
+ )
+ 
+-find_library(LIBSOUP24_LIBRARY
+-	NAMES soup-2.4
+-	HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
++find_library(LIBSOUP_LIBRARY
++	NAMES soup soup-3.0 soup-2.4
++	HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
+ 	)
+ 
+-if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
+-	find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
++if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
++	find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY LIBSOUP_INCLUDE_DIR)
+ endif()
+ 
+-if (LIBSOUP24_FOUND)
+-	set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
+-	set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
++if (LIBSOUP_FOUND)
++	set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
++	set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
+ endif()
+ 
+-mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
++mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
+ 
+diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
+index 391fdfe9d..0af554cff 100644
+--- a/cmake/FindWEBKIT2GTK.cmake
++++ b/cmake/FindWEBKIT2GTK.cmake
+@@ -33,7 +33,8 @@
+ find_package(PkgConfig)
+ 
+ if(PKG_CONFIG_FOUND)
+-    pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
+ endif(PKG_CONFIG_FOUND)
+ 
+ set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
+@@ -42,7 +43,8 @@ find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
+     HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
+ )
+ 
+-find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
++find_library(WEBKIT2GTK_LIB
++    NAMES webkit2gtk-4.1 webkit2gtk-4.0
+     HINTS
+     ${_WEBKIT2GTK_LIBDIR}
+     ${_WEBKIT2GTK_LIBRARY_DIRS}
+diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
+index cd1ab3a32..39f44a0c7 100644
+--- a/plugins/www/CMakeLists.txt
++++ b/plugins/www/CMakeLists.txt
+@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES NO_SONAME 1)
+ 
+ add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
+ 
+-find_required_package(LIBSOUP24)
+-if(LIBSOUP24_FOUND)
+-    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
++find_required_package(LIBSOUP)
++if(LIBSOUP_FOUND)
++    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
+ else()
+-    message(FATAL_ERROR "libsoup 2.4 library not found")
++    message(FATAL_ERROR "libsoup library not found")
+ endif()
+ 
+ install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8d7ddadbb..eb1fec2e0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,10 +255,10 @@ if(GTK3_FOUND)
+   else()
+     message(FATAL_ERROR "json-glib library not found")
+   endif()
+-  find_required_package(LIBSOUP24)
+-  if(LIBSOUP24_FOUND)
+-    include_directories(${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
++  find_required_package(LIBSOUP)
++  if(LIBSOUP_FOUND)
++    include_directories(${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
+   else()
+     message(FATAL_ERROR "libsoup 2.4 library not found")
+   endif()
+diff --git a/src/rmnews.c b/src/rmnews.c
+index d4ae81d22..f44af8704 100644
+--- a/src/rmnews.c
++++ b/src/rmnews.c
+@@ -74,6 +74,12 @@ static RemminaNewsDialog *rmnews_news_dialog;
+ #define GET_OBJ(object_name) gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
+ 
+ static SoupSession *session;
++
++#if SOUP_MAJOR_VERSION < 3
++#define soup_message_get_status(message) message->status_code
++#define soup_message_get_response_headers(message) message->response_headers
++#endif
++
+ static const gchar *output_file_path = NULL;
+ 
+ static
+@@ -96,6 +102,23 @@ gint eweekdays[7] = {
+ 	604800
+ };
+ 
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result, gpointer user_data)
++{
++        GError *error = NULL;
++        g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
++                                       result,
++                                       &error);
++        if (error) {
++                g_printerr ("Failed to download: %s\n", error->message);
++                g_error_free (error);
++                return;
++        }
++
++}
++#endif
++
+ void rmnews_news_switch_state_set_cb()
+ {
+ 	TRACE_CALL(__func__);
+@@ -225,71 +248,136 @@ void rmnews_show_news(GtkWindow *parent)
+ 	gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
+ }
+ 
+-static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_get_url_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+ {
+ 	TRACE_CALL(__func__);
+ 	const char *name;
+ 	const char *header;
+-	SoupBuffer *sb;
+-	FILE *output_file = NULL;
++	GFile *output_file;
+ 	gchar *filesha = NULL;
+ 	gchar *filesha_after = NULL;
+-	GDateTime *gdt;
+-	gint64 unixts;
+ 
+-	REMMINA_DEBUG("Status code %d", msg->status_code);
++	GError *error = NULL;
++        GInputStream *in = soup_session_send_finish (SOUP_SESSION (source), result, &error);
+ 
+-	name = soup_message_get_uri(msg)->path;
++	if (error) {
++		REMMINA_DEBUG ("Failed to send request: %s", error->message);
++		g_error_free (error);
++		return;
++	}
+ 
+-	gdt = g_date_time_new_now_utc();
+-	unixts = g_date_time_to_unix(gdt);
++	GDateTime *gdt = g_date_time_new_now_utc();
++	gint64 unixts = g_date_time_to_unix(gdt);
+ 	g_date_time_unref(gdt);
+ 
+-	if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Status 404 - Release file not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
++        if (output_file_path) {
++		REMMINA_DEBUG("Calculating the SHA1 of the local file");
++		filesha = remmina_sha1_file(output_file_path);
++		REMMINA_DEBUG("SHA1 is %s", filesha);
++		if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
++		REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
++                GFile *output_file = g_file_new_for_commandline_arg (output_file_path);
++		GOutputStream *out = G_OUTPUT_STREAM (g_file_replace (output_file, NULL, NULL,
++							G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
++                if (error) {
++			REMMINA_DEBUG("Failed to create \"%s\": %s", output_file_path, error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++                        g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++                        return;
++                }
++
++		/* Start downloading to the file */
++		// g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
++		// 		G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++		// 		G_PRIORITY_DEFAULT,
++		// 		NULL,
++		// 		rmnews_on_stream_splice,
++		// NULL);
++		g_output_stream_splice (G_OUTPUT_STREAM (out), in,
++			  G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++			  NULL,
++			  &error);
++
++		if (error) {
++			REMMINA_DEBUG ("Failed to download: %s", error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++			g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++			return;
++		}
+ 
+-	if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Server not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
+ 
+-	if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Transport Error");
++		filesha_after = remmina_sha1_file(output_file_path);
++
++		REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
++		if (g_strcmp0(filesha, filesha_after) != 0) {
++			REMMINA_DEBUG("SHA1 differs, we show the news and reset the counter");
++			remmina_pref.periodic_rmnews_last_get = 0;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			GtkWindow *parent = remmina_main_get_window();
++			if (!kioskmode && kioskmode == FALSE)
++			rmnews_show_news(parent);
++		} else {
++			remmina_pref.periodic_rmnews_last_get = unixts;
++		}
++		/* Increase counter with number of successful GETs */
++		remmina_pref.periodic_rmnews_get_count = remmina_pref.periodic_rmnews_get_count + 1;
++		remmina_pref_save();
++		g_free(filesha); filesha = NULL;
++		g_object_unref (out);
++	} else {
++		REMMINA_DEBUG("Cannot open output file for writing, because output_file_path is NULL");
+ 		remmina_pref.periodic_rmnews_last_get = unixts;
+ 		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	}
++        }
+ 
+-	if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
+-		GTlsCertificateFlags flags;
++        g_object_unref (in);
+ 
+-		if (soup_message_get_https_status(msg, NULL, &flags))
+-			REMMINA_DEBUG("%s: %d %s (0x%x)\n", name, msg->status_code, msg->reason_phrase, flags);
+-		else
+-			REMMINA_DEBUG("%s: %d %s (no handshake status)\n", name, msg->status_code, msg->reason_phrase);
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	} else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code, msg->reason_phrase);
+-	}
+ 
+-	if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
+-		header = soup_message_headers_get_one(msg->response_headers,
++}
++#else
++static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++{
++	TRACE_CALL(__func__);
++	const char *name;
++	const char *header;
++	g_autoptr(SoupBuffer) sb;
++	FILE *output_file = NULL;
++	gchar *filesha = NULL;
++	gchar *filesha_after = NULL;
++	GDateTime *gdt;
++	gint64 unixts;
++	gint status;
++
++	status = soup_message_get_status(msg);
++	REMMINA_DEBUG("Status code %d", status);
++
++	name = soup_message_get_uri(msg)->path;
++
++	gdt = g_date_time_new_now_utc();
++	unixts = g_date_time_to_unix(gdt);
++	g_date_time_unref(gdt);
++
++	if (SOUP_STATUS_IS_REDIRECTION(status)) {
++		header = soup_message_headers_get_one(soup_message_get_response_headers(msg),
+ 						      "Location");
+ 		REMMINA_DEBUG("Redirection detected");
+ 		if (header) {
+@@ -309,18 +397,25 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	} else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
++	}
++
++	if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
++		REMMINA_DEBUG ("Could not access %s: %s", name , soup_status_get_phrase(status));
++		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++		REMMINA_DEBUG ("Saving preferences");
++		remmina_pref_save();
++		return;
++	} else {
+ 		REMMINA_DEBUG("Status 200");
+ 		if (output_file_path) {
+ 			REMMINA_DEBUG("Calculating the SHA1 of the local file");
+ 			filesha = remmina_sha1_file(output_file_path);
+ 			REMMINA_DEBUG("SHA1 is %s", filesha);
+-			if (filesha == NULL || filesha[0] == 0)
+-				filesha = "0\0";
++			if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
+ 			REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
+ 			output_file = fopen(output_file_path, "w");
+ 			if (!output_file) {
+-				g_printerr("Error trying to create file %s.\n", output_file_path);
++				REMMINA_DEBUG("Error trying to create file %s.", output_file_path);
+ 				remmina_pref.periodic_rmnews_last_get = unixts;
+ 				REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 				REMMINA_DEBUG ("Saving preferences");
+@@ -336,8 +431,6 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			remmina_pref_save();
+ 			return;
+ 		}
+-
+-
+ 		sb = soup_message_body_flatten(msg->response_body);
+ 		if (output_file) {
+ 			fwrite(sb->data, 1, sb->length, output_file);
+@@ -364,8 +457,10 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			g_free(filesha); filesha = NULL;
+ 		}
+ 	}
++
+ 	g_object_unref(msg);
+ }
++#endif
+ 
+ /**
+  * Try to get a unique system+user ID to identify this remmina user
+@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
+ 
+ 	REMMINA_DEBUG("Fetching %s", url);
+ 
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	// Use soup_session_send_async or soup_session_send_and_read_async
++	soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
++			NULL,			// cancellable
++			rmnews_get_url_cb,	// callback
++			NULL);			// user_data
++#else
+ 	g_object_ref(msg);
+ 	soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
++#endif
+ }
+ 
+ void rmnews_get_news()
+@@ -466,14 +569,25 @@ void rmnews_get_news()
+ 	}
+ 
+ 	REMMINA_DEBUG("Gathering news");
++	/* Build the session with all of the features we need */
++	session = soup_session_new_with_options ("user-agent", "get ",
++                                                 "accept-language-auto", TRUE,
++                                                 "timeout", 15,
++                                                 NULL);
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
++	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
++#else
+ 	session = g_object_new(SOUP_TYPE_SESSION,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_COOKIE_JAR,
+ 			       SOUP_SESSION_USER_AGENT, "get ",
+ 			       SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
+ 			       NULL);
+-	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
++#endif
++	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
+ 	g_object_unref(logger);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..cc99b1a696b5 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -9,10 +9,10 @@ hostmakedepends="glib-devel intltool pkg-config shared-mime-info"
 makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
- libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
+ libsecret-devel libsodium-devel libsoup3-devel libssh-devel libva-devel
  libvncserver-devel libxkbfile-devel opus-devel phodav-devel
  spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
- vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
+ vte3-devel libappindicator-devel libwebkit2gtk41-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"
 maintainer="Frank Steinborn <steinex@nognu.de>"

From 2a78ef1a7c98bfe31495931304d4c80e8447ef20 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 7/7] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..af719f95fdff 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,22 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils
+ gtk-update-icon-cache"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
                   ` (3 preceding siblings ...)
  2022-10-22 20:33 ` paper42
@ 2022-10-26  8:52 ` paper42
  2022-10-26 12:55 ` [PR PATCH] [Merged]: " paper42
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-26  8:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1236 bytes --]

There is an updated pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages gnome-boxes-43
https://github.com/void-linux/void-packages/pull/39530

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39530.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnome-boxes-43-39530.patch --]
[-- Type: text/x-diff, Size: 30572 bytes --]

From 0c5f34b955b97ee9e532c8d2adf24005fd126073 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:18 +0200
Subject: [PATCH 1/7] tracker: also build libsoup3 version

---
 srcpkgs/tracker/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/tracker/template b/srcpkgs/tracker/template
index ed0f7bc04040..770ade715ca6 100644
--- a/srcpkgs/tracker/template
+++ b/srcpkgs/tracker/template
@@ -1,7 +1,7 @@
 # Template file for 'tracker'
 pkgname=tracker
 version=3.4.0
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
@@ -9,7 +9,7 @@ configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 hostmakedepends="gettext pkg-config glib-devel vala asciidoc
  python3-gobject"
 makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
- libsoup-devel libxml2-devel sqlite-devel bash-completion"
+ libsoup-devel libsoup3-devel libxml2-devel sqlite-devel bash-completion"
 checkdepends="dbus tar python3-gobject"
 short_desc="Personal search tool and storage system"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -33,7 +33,7 @@ post_patch() {
 
 tracker-devel_package() {
 	depends="libtracker>=${version}_${revision} libglib-devel json-glib-devel
-	 libsoup-devel"
+	 libsoup-devel libsoup3-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From b6d69dc9483893533924c4d3778c92f8d2b61d36 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:19 +0200
Subject: [PATCH 2/7] libosinfo: use libsoup3

---
 common/shlibs              | 2 +-
 srcpkgs/libosinfo/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 17263fadc71a..d799a189774c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1160,7 +1160,7 @@ libharfbuzz.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
-libosinfo-1.0.so.0 libosinfo-0.2.0_1
+libosinfo-1.0.so.0 libosinfo-0.10.0_2
 libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
 libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
 libspice-controller.so.0 spice-gtk-0.37_6
diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 5e8fe246c2b1..3396ea1cd003 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,7 +1,7 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
 version=1.10.0
-revision=1
+revision=2
 wrksrc="${pkgname}-v${version}"
 build_style=meson
 build_helper="gir"
@@ -11,13 +11,13 @@ configure_args="-Denable-introspection=$(vopt_if gir enabled disabled)
 hostmakedepends="glib-devel intltool pkg-config wget hwids
  $(vopt_if gtk_doc gtk-doc)
  $(vopt_if vala vala)"
-makedepends="libxslt-devel libglib-devel libsoup-devel"
+makedepends="libxslt-devel libglib-devel libsoup3-devel"
 depends="osinfo-db hwids"
 short_desc="GObject based library API for managing info about operating systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
-changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/libosinfo/raw/main/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
 checksum=e709c5f7d006527caea9b128cdae0ee3404217f2edb9a673ad9574b5eec257fc
 
@@ -36,7 +36,7 @@ libosinfo-devel_package() {
 		vmove "usr/lib/*.so"
 		vmove usr/include
 		vmove usr/lib/pkgconfig
-		if [ "$build_option_docs" ]; then
+		if [ "$build_option_gtk_doc" ]; then
 			vmove usr/share/gtk-doc
 		fi
 		if [ "$build_option_gir" ]; then

From 5eb86ce3099024462a1340c3d16e9310a60e19c3 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:20 +0200
Subject: [PATCH 3/7] osinfo-db-tools: update to 1.10.0.

---
 srcpkgs/osinfo-db-tools/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/osinfo-db-tools/template b/srcpkgs/osinfo-db-tools/template
index c164a2327430..89edbf989ac1 100644
--- a/srcpkgs/osinfo-db-tools/template
+++ b/srcpkgs/osinfo-db-tools/template
@@ -1,16 +1,16 @@
 # Template file for 'osinfo-db-tools'
 pkgname=osinfo-db-tools
-version=1.8.0
+version=1.10.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config perl"
 makedepends="libglib-devel libarchive-devel libxslt-devel
- json-glib-devel libsoup-devel"
+ json-glib-devel libsoup3-devel"
 checkdepends="python3-pytest python3-requests"
 short_desc="Tools for managing osinfo database"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/master/NEWS"
+changelog="https://gitlab.com/libosinfo/osinfo-db-tools/raw/main/NEWS"
 distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=e9811a936e74dc262ce297ea7b8addeb111c782de500c9e285d3cdd5fe1b180d
+checksum=802cdd53b416706ea5844f046ddcfb658c1b4906b9f940c79ac7abc50981ca68

From 6bed40fa7506a4c9caedb7ed73961059113ed248 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:21 +0200
Subject: [PATCH 4/7] phodav: update to 3.0.

---
 common/shlibs           |  2 +-
 srcpkgs/phodav/template | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index d799a189774c..441f7ee0e09a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3111,7 +3111,7 @@ libsysprof-ui-4.so sysprof-3.37.90_1
 libvala-0.56.so.0 libvala-0.56.0_1
 libvaladoc-0.56.so.0 libvaladoc-0.56.0_1
 libvalaccodegen.so libvala-0.44.0_1
-libphodav-2.0.so.0 phodav-2.2_1
+libphodav-3.0.so.0 phodav-3.0_1
 libgfshare.so.2 libgfshare-2.0.0_1
 libtacacs.so.1 tacacs-4.0.4.28_1
 libffms2.so.4 libffms2-2.23.1_1
diff --git a/srcpkgs/phodav/template b/srcpkgs/phodav/template
index 13092896899e..eac226f7b8e6 100644
--- a/srcpkgs/phodav/template
+++ b/srcpkgs/phodav/template
@@ -1,22 +1,21 @@
 # Template file for 'phodav'
 pkgname=phodav
-version=2.5
+version=3.0
 revision=1
 build_style=meson
-configure_args="-Dsystemd=disabled -Davahi=enabled -Dgtk_doc=disabled
- -Dudev=enabled"
+configure_args="-Davahi=enabled -Dgtk_doc=disabled"
 hostmakedepends="pkg-config"
-makedepends="libglib-devel libsoup-devel libxml2-devel avahi-glib-libs-devel
+makedepends="libglib-devel libsoup3-devel libxml2-devel avahi-glib-libs-devel
  eudev-libudev-devel"
 short_desc="GNOME Web Dav implementation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/phodav"
-distfiles="${GNOME_SITE}/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
-checksum=71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910
+distfiles="${GNOME_SITE}/phodav/${version}/phodav-${version}.tar.xz"
+checksum=392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1
 
 phodav-devel_package() {
-	depends="libglib-devel libsoup-devel libxml2-devel
+	depends="libglib-devel libsoup3-devel libxml2-devel
 	 ${sourcepkg}-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {

From c624bdf541beabb08799073d191ddaccb7950a97 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:22 +0200
Subject: [PATCH 5/7] spice-gtk: use libsoup3

---
 common/shlibs              | 6 +++---
 srcpkgs/spice-gtk/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 441f7ee0e09a..0ecf4f7437f7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1161,9 +1161,9 @@ libharfbuzz-icu.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-subset.so.0 libharfbuzz-5.1.0_1
 libharfbuzz-gobject.so.0 libharfbuzz-5.1.0_1
 libosinfo-1.0.so.0 libosinfo-0.10.0_2
-libspice-client-gtk-3.0.so.5 spice-gtk-0.37_6
-libspice-client-glib-2.0.so.8 spice-gtk-0.37_6
-libspice-controller.so.0 spice-gtk-0.37_6
+libspice-client-gtk-3.0.so.5 spice-gtk-0.41_2
+libspice-client-glib-2.0.so.8 spice-gtk-0.41_2
+libspice-controller.so.0 spice-gtk-0.41_2
 libvirt-gconfig-1.0.so.0 libvirt-glib-0.1.2_1
 libvirt-gobject-1.0.so.0 libvirt-glib-0.1.2_1
 libgsasl.so.7 libgsasl-1.8.0_1
diff --git a/srcpkgs/spice-gtk/template b/srcpkgs/spice-gtk/template
index da01de9ca11a..344f91ce2de8 100644
--- a/srcpkgs/spice-gtk/template
+++ b/srcpkgs/spice-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'spice-gtk'
 pkgname=spice-gtk
 version=0.41
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
@@ -11,7 +11,7 @@ configure_args="-Dintrospection=$(vopt_if gir enabled disabled)
 hostmakedepends="pkg-config $(vopt_if vala vala) glib-devel
  spice-protocol python3-six python3-parsing perl"
 makedepends="acl-devel liblz4-devel pixman-devel opus-devel openssl-devel
- libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup-devel
+ libsasl-devel gtk+3-devel libjpeg-turbo-devel polkit-devel libsoup3-devel
  usbredir-devel spice-protocol json-glib-devel libglib-devel libva-devel
  phodav-devel gstreamer1-devel gst-plugins-base1-devel vte3-devel"
 depends="hwids gst-plugins-good1"

From e43df346f199bbc4a5acf879e4a190c6272d4ec4 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 Oct 2022 21:57:06 +0200
Subject: [PATCH 6/7] remmina: use libsoup3

---
 srcpkgs/remmina/patches/libsoup3.patch | 452 +++++++++++++++++++++++++
 srcpkgs/remmina/template               |   6 +-
 2 files changed, 455 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/remmina/patches/libsoup3.patch

diff --git a/srcpkgs/remmina/patches/libsoup3.patch b/srcpkgs/remmina/patches/libsoup3.patch
new file mode 100644
index 000000000000..9f937275c492
--- /dev/null
+++ b/srcpkgs/remmina/patches/libsoup3.patch
@@ -0,0 +1,452 @@
+From edbaeb1b588edc0e969b0eedd731758aad369391 Mon Sep 17 00:00:00 2001
+From: "Antenore Gatta (tmow)" <antenore@simbiosi.org>
+Date: Mon, 3 Oct 2022 17:38:35 +0000
+Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
+
+---
+ ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} |  27 +--
+ cmake/FindWEBKIT2GTK.cmake                    |   6 +-
+ plugins/www/CMakeLists.txt                    |  10 +-
+ src/CMakeLists.txt                            |   8 +-
+ src/rmnews.c                                  | 216 +++++++++++++-----
+ 8 files changed, 323 insertions(+), 164 deletions(-)
+ rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
+
+diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
+similarity index 55%
+rename from cmake/FindLIBSOUP24.cmake
+rename to cmake/FindLIBSOUP.cmake
+index 96ec22239..23cc06ff6 100644
+--- a/cmake/FindLIBSOUP24.cmake
++++ b/cmake/FindLIBSOUP.cmake
+@@ -1,7 +1,5 @@
+ # Remmina - The GTK+ Remote Desktop Client
+ #
+-# Copyright (C) 2011 Marc-Andre Moreau
+-# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+ # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -21,26 +19,25 @@
+ 
+ include(FindPackageHandleStandardArgs)
+ 
+-pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
++pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
+ 
+-
+-find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
+-	HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
++find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
++	HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
+ )
+ 
+-find_library(LIBSOUP24_LIBRARY
+-	NAMES soup-2.4
+-	HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
++find_library(LIBSOUP_LIBRARY
++	NAMES soup soup-3.0 soup-2.4
++	HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
+ 	)
+ 
+-if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
+-	find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
++if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
++	find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY LIBSOUP_INCLUDE_DIR)
+ endif()
+ 
+-if (LIBSOUP24_FOUND)
+-	set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
+-	set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
++if (LIBSOUP_FOUND)
++	set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
++	set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
+ endif()
+ 
+-mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
++mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
+ 
+diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
+index 391fdfe9d..0af554cff 100644
+--- a/cmake/FindWEBKIT2GTK.cmake
++++ b/cmake/FindWEBKIT2GTK.cmake
+@@ -33,7 +33,8 @@
+ find_package(PkgConfig)
+ 
+ if(PKG_CONFIG_FOUND)
+-    pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++    pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
+ endif(PKG_CONFIG_FOUND)
+ 
+ set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
+@@ -42,7 +43,8 @@ find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
+     HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
+ )
+ 
+-find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
++find_library(WEBKIT2GTK_LIB
++    NAMES webkit2gtk-4.1 webkit2gtk-4.0
+     HINTS
+     ${_WEBKIT2GTK_LIBDIR}
+     ${_WEBKIT2GTK_LIBRARY_DIRS}
+diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
+index cd1ab3a32..39f44a0c7 100644
+--- a/plugins/www/CMakeLists.txt
++++ b/plugins/www/CMakeLists.txt
+@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES NO_SONAME 1)
+ 
+ add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
+ 
+-find_required_package(LIBSOUP24)
+-if(LIBSOUP24_FOUND)
+-    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
++find_required_package(LIBSOUP)
++if(LIBSOUP_FOUND)
++    include_directories(${REMMINA_COMMON_INCLUDE_DIRS} ${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES} ${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
+ else()
+-    message(FATAL_ERROR "libsoup 2.4 library not found")
++    message(FATAL_ERROR "libsoup library not found")
+ endif()
+ 
+ install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8d7ddadbb..eb1fec2e0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,10 +255,10 @@ if(GTK3_FOUND)
+   else()
+     message(FATAL_ERROR "json-glib library not found")
+   endif()
+-  find_required_package(LIBSOUP24)
+-  if(LIBSOUP24_FOUND)
+-    include_directories(${LIBSOUP24_INCLUDE_DIRS})
+-    target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
++  find_required_package(LIBSOUP)
++  if(LIBSOUP_FOUND)
++    include_directories(${LIBSOUP_INCLUDE_DIRS})
++    target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
+   else()
+     message(FATAL_ERROR "libsoup 2.4 library not found")
+   endif()
+diff --git a/src/rmnews.c b/src/rmnews.c
+index d4ae81d22..f44af8704 100644
+--- a/src/rmnews.c
++++ b/src/rmnews.c
+@@ -74,6 +74,12 @@ static RemminaNewsDialog *rmnews_news_dialog;
+ #define GET_OBJ(object_name) gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
+ 
+ static SoupSession *session;
++
++#if SOUP_MAJOR_VERSION < 3
++#define soup_message_get_status(message) message->status_code
++#define soup_message_get_response_headers(message) message->response_headers
++#endif
++
+ static const gchar *output_file_path = NULL;
+ 
+ static
+@@ -96,6 +102,23 @@ gint eweekdays[7] = {
+ 	604800
+ };
+ 
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result, gpointer user_data)
++{
++        GError *error = NULL;
++        g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
++                                       result,
++                                       &error);
++        if (error) {
++                g_printerr ("Failed to download: %s\n", error->message);
++                g_error_free (error);
++                return;
++        }
++
++}
++#endif
++
+ void rmnews_news_switch_state_set_cb()
+ {
+ 	TRACE_CALL(__func__);
+@@ -225,71 +248,136 @@ void rmnews_show_news(GtkWindow *parent)
+ 	gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
+ }
+ 
+-static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_get_url_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+ {
+ 	TRACE_CALL(__func__);
+ 	const char *name;
+ 	const char *header;
+-	SoupBuffer *sb;
+-	FILE *output_file = NULL;
++	GFile *output_file;
+ 	gchar *filesha = NULL;
+ 	gchar *filesha_after = NULL;
+-	GDateTime *gdt;
+-	gint64 unixts;
+ 
+-	REMMINA_DEBUG("Status code %d", msg->status_code);
++	GError *error = NULL;
++        GInputStream *in = soup_session_send_finish (SOUP_SESSION (source), result, &error);
+ 
+-	name = soup_message_get_uri(msg)->path;
++	if (error) {
++		REMMINA_DEBUG ("Failed to send request: %s", error->message);
++		g_error_free (error);
++		return;
++	}
+ 
+-	gdt = g_date_time_new_now_utc();
+-	unixts = g_date_time_to_unix(gdt);
++	GDateTime *gdt = g_date_time_new_now_utc();
++	gint64 unixts = g_date_time_to_unix(gdt);
+ 	g_date_time_unref(gdt);
+ 
+-	if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Status 404 - Release file not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
++        if (output_file_path) {
++		REMMINA_DEBUG("Calculating the SHA1 of the local file");
++		filesha = remmina_sha1_file(output_file_path);
++		REMMINA_DEBUG("SHA1 is %s", filesha);
++		if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
++		REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
++                GFile *output_file = g_file_new_for_commandline_arg (output_file_path);
++		GOutputStream *out = G_OUTPUT_STREAM (g_file_replace (output_file, NULL, NULL,
++							G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
++                if (error) {
++			REMMINA_DEBUG("Failed to create \"%s\": %s", output_file_path, error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++                        g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++                        return;
++                }
++
++		/* Start downloading to the file */
++		// g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
++		// 		G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++		// 		G_PRIORITY_DEFAULT,
++		// 		NULL,
++		// 		rmnews_on_stream_splice,
++		// NULL);
++		g_output_stream_splice (G_OUTPUT_STREAM (out), in,
++			  G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++			  NULL,
++			  &error);
++
++		if (error) {
++			REMMINA_DEBUG ("Failed to download: %s", error->message);
++			remmina_pref.periodic_rmnews_last_get = unixts;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			remmina_pref_save();
++			g_free(filesha); filesha = NULL;
++			g_error_free (error);
++                        g_object_unref (in);
++                        g_object_unref (output_file);
++			g_object_unref (out);
++			return;
++		}
+ 
+-	if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Server not available");
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	}
+ 
+-	if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("Transport Error");
++		filesha_after = remmina_sha1_file(output_file_path);
++
++		REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
++		if (g_strcmp0(filesha, filesha_after) != 0) {
++			REMMINA_DEBUG("SHA1 differs, we show the news and reset the counter");
++			remmina_pref.periodic_rmnews_last_get = 0;
++			REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++			REMMINA_DEBUG ("Saving preferences");
++			GtkWindow *parent = remmina_main_get_window();
++			if (!kioskmode && kioskmode == FALSE)
++			rmnews_show_news(parent);
++		} else {
++			remmina_pref.periodic_rmnews_last_get = unixts;
++		}
++		/* Increase counter with number of successful GETs */
++		remmina_pref.periodic_rmnews_get_count = remmina_pref.periodic_rmnews_get_count + 1;
++		remmina_pref_save();
++		g_free(filesha); filesha = NULL;
++		g_object_unref (out);
++	} else {
++		REMMINA_DEBUG("Cannot open output file for writing, because output_file_path is NULL");
+ 		remmina_pref.periodic_rmnews_last_get = unixts;
+ 		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	}
++        }
+ 
+-	if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
+-		GTlsCertificateFlags flags;
++        g_object_unref (in);
+ 
+-		if (soup_message_get_https_status(msg, NULL, &flags))
+-			REMMINA_DEBUG("%s: %d %s (0x%x)\n", name, msg->status_code, msg->reason_phrase, flags);
+-		else
+-			REMMINA_DEBUG("%s: %d %s (no handshake status)\n", name, msg->status_code, msg->reason_phrase);
+-		remmina_pref.periodic_rmnews_last_get = unixts;
+-		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+-		REMMINA_DEBUG ("Saving preferences");
+-		remmina_pref_save();
+-		return;
+-	} else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+-		REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code, msg->reason_phrase);
+-	}
+ 
+-	if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
+-		header = soup_message_headers_get_one(msg->response_headers,
++}
++#else
++static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer data)
++{
++	TRACE_CALL(__func__);
++	const char *name;
++	const char *header;
++	g_autoptr(SoupBuffer) sb;
++	FILE *output_file = NULL;
++	gchar *filesha = NULL;
++	gchar *filesha_after = NULL;
++	GDateTime *gdt;
++	gint64 unixts;
++	gint status;
++
++	status = soup_message_get_status(msg);
++	REMMINA_DEBUG("Status code %d", status);
++
++	name = soup_message_get_uri(msg)->path;
++
++	gdt = g_date_time_new_now_utc();
++	unixts = g_date_time_to_unix(gdt);
++	g_date_time_unref(gdt);
++
++	if (SOUP_STATUS_IS_REDIRECTION(status)) {
++		header = soup_message_headers_get_one(soup_message_get_response_headers(msg),
+ 						      "Location");
+ 		REMMINA_DEBUG("Redirection detected");
+ 		if (header) {
+@@ -309,18 +397,25 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 		REMMINA_DEBUG ("Saving preferences");
+ 		remmina_pref_save();
+ 		return;
+-	} else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
++	}
++
++	if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
++		REMMINA_DEBUG ("Could not access %s: %s", name , soup_status_get_phrase(status));
++		REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
++		REMMINA_DEBUG ("Saving preferences");
++		remmina_pref_save();
++		return;
++	} else {
+ 		REMMINA_DEBUG("Status 200");
+ 		if (output_file_path) {
+ 			REMMINA_DEBUG("Calculating the SHA1 of the local file");
+ 			filesha = remmina_sha1_file(output_file_path);
+ 			REMMINA_DEBUG("SHA1 is %s", filesha);
+-			if (filesha == NULL || filesha[0] == 0)
+-				filesha = "0\0";
++			if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
+ 			REMMINA_DEBUG("Opening %s output file for writing", output_file_path);
+ 			output_file = fopen(output_file_path, "w");
+ 			if (!output_file) {
+-				g_printerr("Error trying to create file %s.\n", output_file_path);
++				REMMINA_DEBUG("Error trying to create file %s.", output_file_path);
+ 				remmina_pref.periodic_rmnews_last_get = unixts;
+ 				REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld", remmina_pref.periodic_rmnews_last_get);
+ 				REMMINA_DEBUG ("Saving preferences");
+@@ -336,8 +431,6 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			remmina_pref_save();
+ 			return;
+ 		}
+-
+-
+ 		sb = soup_message_body_flatten(msg->response_body);
+ 		if (output_file) {
+ 			fwrite(sb->data, 1, sb->length, output_file);
+@@ -364,8 +457,10 @@ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg, gpointer d
+ 			g_free(filesha); filesha = NULL;
+ 		}
+ 	}
++
+ 	g_object_unref(msg);
+ }
++#endif
+ 
+ /**
+  * Try to get a unique system+user ID to identify this remmina user
+@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
+ 
+ 	REMMINA_DEBUG("Fetching %s", url);
+ 
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	// Use soup_session_send_async or soup_session_send_and_read_async
++	soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
++			NULL,			// cancellable
++			rmnews_get_url_cb,	// callback
++			NULL);			// user_data
++#else
+ 	g_object_ref(msg);
+ 	soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
++#endif
+ }
+ 
+ void rmnews_get_news()
+@@ -466,14 +569,25 @@ void rmnews_get_news()
+ 	}
+ 
+ 	REMMINA_DEBUG("Gathering news");
++	/* Build the session with all of the features we need */
++	session = soup_session_new_with_options ("user-agent", "get ",
++                                                 "accept-language-auto", TRUE,
++                                                 "timeout", 15,
++                                                 NULL);
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++	soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
++	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
++#else
+ 	session = g_object_new(SOUP_TYPE_SESSION,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_DECODER,
+ 			       SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_COOKIE_JAR,
+ 			       SOUP_SESSION_USER_AGENT, "get ",
+ 			       SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
+ 			       NULL);
+-	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
++#endif
++	/* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ 	soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
+ 	g_object_unref(logger);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index cae838c694ca..cc99b1a696b5 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,7 +1,7 @@
 # Template file for 'remmina'
 pkgname=remmina
 version=1.4.27
-revision=1
+revision=2
 wrksrc="Remmina-v${version}"
 build_style=cmake
 configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
@@ -9,10 +9,10 @@ hostmakedepends="glib-devel intltool pkg-config shared-mime-info"
 makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
  libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
- libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
+ libsecret-devel libsodium-devel libsoup3-devel libssh-devel libva-devel
  libvncserver-devel libxkbfile-devel opus-devel phodav-devel
  spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
- vte3-devel libappindicator-devel webkit2gtk-devel python3-devel"
+ vte3-devel libappindicator-devel libwebkit2gtk41-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme"
 short_desc="Remote desktop client written in GTK+"
 maintainer="Frank Steinborn <steinex@nognu.de>"

From be15c1f52ba9cc0e2d5f910cb2a8176c9104ebe7 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 29 Sep 2022 17:30:23 +0200
Subject: [PATCH 7/7] gnome-boxes: update to 43.0.

---
 srcpkgs/gnome-boxes/template | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnome-boxes/template b/srcpkgs/gnome-boxes/template
index 5e8aac1c3e8a..af719f95fdff 100644
--- a/srcpkgs/gnome-boxes/template
+++ b/srcpkgs/gnome-boxes/template
@@ -1,20 +1,22 @@
 # Template file for 'gnome-boxes'
 pkgname=gnome-boxes
-version=42.3
+version=43.0
 revision=1
 build_helper="gir"
 build_style=meson
-hostmakedepends="gettext itstool pkg-config vala glib-devel gtk-vnc-devel"
-makedepends="clutter-gtk-devel freerdp-devel gtk-vnc-devel libarchive-devel
- libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup-devel
+hostmakedepends="gettext itstool pkg-config vala glib-devel desktop-file-utils
+ gtk-update-icon-cache"
+makedepends="clutter-gtk-devel freerdp-devel libarchive-devel
+ libglib-devel libgudev-devel libosinfo-devel libsecret-devel libsoup3-devel
  libusb-devel libvirt-glib-devel libxml2-devel spice-gtk-devel spice-protocol
- vala-devel webkit2gtk-devel vte3-devel gtksourceview4-devel libhandy1-devel
+ vala-devel libwebkit2gtk41-devel vte3-devel gtksourceview4-devel libhandy1-devel
  tracker-devel libgcrypt-devel"
-depends="desktop-file-utils hicolor-icon-theme libosinfo libvirt-glib qemu tracker"
+depends="desktop-file-utils hicolor-icon-theme qemu"
 short_desc="GNOME application to access remote or virtual systems"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Boxes"
-changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-42/NEWS"
-distfiles="${GNOME_SITE}/${pkgname}/${version%%.*}/${pkgname}-${version}.tar.xz"
-checksum=56eff7faf8300faa1ce14f809f8ebc2a7bb4d915afc7b12737129791605b60d3
+#changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/gnome-43/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/gnome-boxes/-/raw/main/NEWS"
+distfiles="${GNOME_SITE}/gnome-boxes/${version%%.*}/gnome-boxes-${version}.tar.xz"
+checksum=574505096414c820b808ecd0f71e2d19a9332351e12a3dd826f762e432bf6b26

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Merged]: gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
  2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
                   ` (4 preceding siblings ...)
  2022-10-26  8:52 ` paper42
@ 2022-10-26 12:55 ` paper42
  5 siblings, 0 replies; 7+ messages in thread
From: paper42 @ 2022-10-26 12:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1073 bytes --]

There's a merged pull request on the void-packages repository

gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3
https://github.com/void-linux/void-packages/pull/39530

Description:
#### Testing the changes
- I tested the changes in this PR: **briefly**

depends on  #39488
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-26 12:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-29 15:42 [PR PATCH] gnome-boxes: update to 43.0, tracker, spice-gtk, libosinfo: use libsoup3 paper42
2022-10-22 13:38 ` [PR PATCH] [Updated] " paper42
2022-10-22 20:06 ` paper42
2022-10-22 20:14 ` paper42
2022-10-22 20:33 ` paper42
2022-10-26  8:52 ` paper42
2022-10-26 12:55 ` [PR PATCH] [Merged]: " paper42

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 NNTP newsgroup(s).