aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptrcnull <git@ptrcnull.me>2023-01-16 01:51:51 +0100
committerptrcnull <git@ptrcnull.me>2023-01-16 02:17:48 +0100
commite4b6fbc35707ed3f9a5dada192be951200dd590e (patch)
tree4f8b483ef5a79a5d645c29ac06ff29bd330a8a14
parent229eeb5722a7d90bb6ce06e16473e743ef702a79 (diff)
community/highscore: build with libsoup3
-rw-r--r--community/highscore/APKBUILD6
-rw-r--r--community/highscore/libsoup3.patch107
2 files changed, 111 insertions, 2 deletions
diff --git a/community/highscore/APKBUILD b/community/highscore/APKBUILD
index ba7bf50ba25..9b2165191d2 100644
--- a/community/highscore/APKBUILD
+++ b/community/highscore/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=highscore
pkgver=40.0
-pkgrel=1
+pkgrel=2
pkgdesc="Retro gaming application"
url="https://gitlab.gnome.org/World/highscore"
arch="all !s390x" # grilo
@@ -14,7 +14,7 @@ makedepends="
libhandy1-dev
libmanette-dev
librsvg-dev
- libsoup-dev
+ libsoup3-dev
libxml2-dev
meson
retro-gtk-dev
@@ -26,6 +26,7 @@ subpackages="$pkgname-lang"
source="https://gitlab.gnome.org/World/highscore/-/archive/$pkgver/highscore-$pkgver.tar.gz
0001-merge-file.patch
0002-use-tracker-3.0.patch
+ libsoup3.patch
"
options="!check"
@@ -45,4 +46,5 @@ sha512sums="
39e1abfe4dae8a349449d8a42070a5f1eb9e7556c5857477ef24213710aff09faebffd0e77ce1aaf22f65ea3e7d057c6f8b590810dcab97324f8772dd22a31fa highscore-40.0.tar.gz
e303490fc6b972e42b2c7f32e48f70560762923561ce278479c97e9106e9356c8042b84f5282ca24d411d1cb2f883ca035c8e979a2640645dc0dd31042e3b4cc 0001-merge-file.patch
4568cfc6b34ff6e28102f2da2bf6edc93448076c2246e65ad9137288299917afc69d6ee9a0470b15d5226974f1e9088ef9c23a363fdc5a3da6ed61c506e8760b 0002-use-tracker-3.0.patch
+d02a285893435d741569df8a4f9ecc5416212e239393784d3b69ec50ad8f7f13448a8478be7ac8cad17cd8692f796001b05d60eaa384d24ca40cbbaa662bbea9 libsoup3.patch
"
diff --git a/community/highscore/libsoup3.patch b/community/highscore/libsoup3.patch
new file mode 100644
index 00000000000..93124ed65e1
--- /dev/null
+++ b/community/highscore/libsoup3.patch
@@ -0,0 +1,107 @@
+as community/grilo-libs is being built against libsoup-3.0,
+we cannot use libsoup-2.4 here; upstream has migrated away
+from using libsoup entirely, but they haven't released a new
+version since march 2021 :/
+
+the only change here is migrating from session.queue_message
+(removed [here][1]) to newer session.send_and_read_async
+
+[1]: https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/139
+
+diff --git a/meson.build b/meson.build
+index 2c70551..c97352e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -43,7 +43,7 @@ m_dep = cc.find_library('m', required : false)
+ manette_dep = dependency ('manette-0.2', version: '>=' + manette_min_version)
+ retro_gtk_dep = dependency ('retro-gtk-1', version: '>=' + retro_gtk_min_version)
+ rsvg_dep = dependency ('librsvg-2.0')
+-soup_dep = dependency ('libsoup-2.4')
++soup_dep = dependency ('libsoup-3.0')
+ sqlite_dep = dependency ('sqlite3')
+ tracker_sparql_dep = dependency ('tracker-sparql-2.0')
+ xml_dep = dependency ('libxml-2.0')
+diff --git a/plugins/steam/src/steam-cover.vala b/plugins/steam/src/steam-cover.vala
+index 6023956..55e08cb 100644
+--- a/plugins/steam/src/steam-cover.vala
++++ b/plugins/steam/src/steam-cover.vala
+@@ -56,24 +56,24 @@ public class Games.SteamCover : Object, Cover {
+ var message = new Soup.Message ("GET", uri);
+ var success = false;
+
+- session.queue_message (message, (sess, mess) => {
+- if (mess.status_code != Soup.Status.OK) {
+- debug ("Failed to load %s: %u %s.", uri, mess.status_code, mess.reason_phrase);
+- fetch_cover.callback ();
+- return;
+- }
+-
+- try {
+- FileUtils.set_data (cover_path, mess.response_body.data);
+- load_cover ();
+- success = true;
+- } catch (Error e) {
+- warning (e.message);
+- }
++ var bytes = yield session.send_and_read_async(message, 0, null);
+
++ if (message.status_code != Soup.Status.OK) {
++ debug ("Failed to load %s: %u %s.", uri, message.status_code, message.reason_phrase);
+ fetch_cover.callback ();
+- });
+- yield;
++ return success;
++ }
++
++ try {
++ FileUtils.set_data (cover_path, bytes.get_data());
++ load_cover ();
++ success = true;
++ } catch (Error e) {
++ warning (e.message);
++ }
++
++ fetch_cover.callback ();
++
+ return success;
+ }
+
+diff --git a/src/grilo/grilo-cover.vala b/src/grilo/grilo-cover.vala
+index a401576..0d02816 100644
+--- a/src/grilo/grilo-cover.vala
++++ b/src/grilo/grilo-cover.vala
+@@ -76,20 +76,20 @@ public class Games.GriloCover : Object, Cover {
+ var session = new Soup.Session ();
+ var message = new Soup.Message ("GET", uri);
+
+- session.queue_message (message, (sess, mess) => {
+- if (mess.status_code != Soup.Status.OK) {
+- debug ("Failed to load %s: %u %s.", uri, mess.status_code, mess.reason_phrase);
+-
+- return;
+- }
+-
+- try {
+- FileUtils.set_data (cover_path, mess.response_body.data);
+- load_cover ();
+- } catch (Error e) {
+- warning (e.message);
+- }
+- });
++ var bytes = yield session.send_and_read_async(message, 0, null);
++
++ if (message.status_code != Soup.Status.OK) {
++ debug ("Failed to load %s: %u %s.", uri, message.status_code, message.reason_phrase);
++
++ return;
++ }
++
++ try {
++ FileUtils.set_data (cover_path, bytes.get_data());
++ load_cover ();
++ } catch (Error e) {
++ warning (e.message);
++ }
+ }
+
+ private void load_cover () throws Error {