From c448c1d109ab9b3782bd41fbcff3f221f2638a10 Mon Sep 17 00:00:00 2001 From: zlice Date: Mon, 30 Jun 2025 15:03:29 -0400 Subject: [PATCH] fontmanager: update to 0.9.4 --- srcpkgs/fontmanager/patches/soup3.patch | 165 ------------------------ srcpkgs/fontmanager/template | 13 +- 2 files changed, 7 insertions(+), 171 deletions(-) delete mode 100644 srcpkgs/fontmanager/patches/soup3.patch diff --git a/srcpkgs/fontmanager/patches/soup3.patch b/srcpkgs/fontmanager/patches/soup3.patch deleted file mode 100644 index 0edacb6b7c4..00000000000 --- a/srcpkgs/fontmanager/patches/soup3.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 5cbec5eab33f6e64c27ead07cdee0098431ad6b9 Mon Sep 17 00:00:00 2001 -From: Jerry Casiano -Date: Sun, 18 Feb 2024 16:48:25 -0500 -Subject: [PATCH] - Switch to libsoup 3 - Closes #343 - ---- - README.md | 4 +- - README.ro.md | 4 +- - build-aux/Makefile | 2 +- - debian/control | 4 +- - fedora/font-manager.spec | 8 ++-- - meson.build | 4 +- - src/font-manager/web/google/GoogleFonts.vala | 44 +++++++++---------- - src/font-manager/web/google/WebFont.vala | 45 +++++++++----------- - 8 files changed, 54 insertions(+), 61 deletions(-) - -diff --git a/build-aux/Makefile b/build-aux/Makefile -index 9a3ffcc8..de737d94 100644 ---- a/build-aux/Makefile -+++ b/build-aux/Makefile -@@ -95,7 +95,7 @@ BUILD_DEPENDS = \ - python3 \ - python-gi-dev \ - python3-nautilus \ -- libsoup2.4-dev \ -+ libsoup3.0-dev \ - libwebkit2gtk-4.0-dev \ - libnautilus-extension-dev \ - libnemo-extension-dev \ -diff --git a/meson.build b/meson.build -index 9a66f62e..00b9c45e 100644 ---- a/meson.build -+++ b/meson.build -@@ -27,8 +27,8 @@ sqlite = dependency('sqlite3', version: '>= 3.8') - xml = dependency('libxml-2.0', version: '>= 2.9') - - if get_option('webkit') -- soup = dependency('libsoup-2.4', version: '>= 2.62') -- webkit = dependency('webkit2gtk-4.0', version: '>= 2.24') -+ soup = dependency('libsoup-3.0', version: '>= 3.4') -+ webkit = dependency('webkit2gtk-4.1', version: '>= 2.42') - add_global_arguments('-D', 'HAVE_WEBKIT', language: 'vala') - endif - -diff --git a/src/font-manager/web/google/GoogleFonts.vala b/src/font-manager/web/google/GoogleFonts.vala -index 4dc64fd9..c350cb40 100644 ---- a/src/font-manager/web/google/GoogleFonts.vala -+++ b/src/font-manager/web/google/GoogleFonts.vala -@@ -179,35 +179,33 @@ namespace FontManager.GoogleFonts { - foreach (var entry in order) { - string filename = "gfc-%s.json".printf(entry); - var message = new Soup.Message(GET, WEBFONTS.printf(GFC_API_KEY, entry)); -- if (session.send_message(message) == Soup.Status.OK) { -+ try { -+ Bytes? bytes = session.send_and_read(message, null); -+ assert(bytes != null); - string filepath = Path.build_filename(get_package_cache_directory(), filename); -- try { -- Bytes bytes = message.response_body.flatten().get_as_bytes(); -- File cache_file = File.new_for_path(filepath); -- if (cache_file.query_exists()) -- cache_file.delete(); -- FileOutputStream stream = cache_file.create(FileCreateFlags.PRIVATE); -- stream.write_bytes_async.begin(bytes, Priority.DEFAULT, null, (obj, res) => { -- try { -- stream.write_bytes_async.end(res); -- stream.close(); -- } catch (Error e) { -- warning("Failed to write data for : %s :: %i : %s", filename, e.code, e.message); -- return; -- } -- }); -- } catch (Error e) { -- warning("Failed to write data for : %s :: %i : %s", filename, e.code, e.message); -- return; -- } -- Idle.add(update_font_list_cache.callback); -- yield; -- } else { -+ File cache_file = File.new_for_path(filepath); -+ if (cache_file.query_exists()) -+ cache_file.delete(); -+ FileOutputStream stream = cache_file.create(FileCreateFlags.PRIVATE); -+ stream.write_bytes_async.begin(bytes, Priority.DEFAULT, null, (obj, res) => { -+ try { -+ stream.write_bytes_async.end(res); -+ stream.close(); -+ } catch (Error e) { -+ warning("Failed to write data for : %s :: %i : %s", filename, e.code, e.message); -+ return; -+ } -+ }); -+ } catch (Error e) { - http_status = message.status_code; - status_message = message.reason_phrase; - warning("Failed to download data for : %s :: %i", filename, (int) message.status_code); - return; - } -+ http_status = message.status_code; -+ status_message = message.reason_phrase; -+ Idle.add(update_font_list_cache.callback); -+ yield; - } - } - -diff --git a/src/font-manager/web/google/WebFont.vala b/src/font-manager/web/google/WebFont.vala -index d4f14941..d2b0e0ad 100644 ---- a/src/font-manager/web/google/WebFont.vala -+++ b/src/font-manager/web/google/WebFont.vala -@@ -42,35 +42,30 @@ namespace FontManager.GoogleFonts { - string filename = font.get_filename(); - string filepath = Path.build_filename(font_dir, filename); - var message = new Soup.Message(GET, font.url); -- if (session.send_message(message) == Soup.Status.OK) { -+ try { -+ Bytes? bytes = session.send_and_read(message, null); -+ assert(bytes != null); -+ File font_file = File.new_for_path(filepath); -+ // File.create errors out if file already exists regardless of flags -+ if (font_file.query_exists()) -+ font_file.delete(); -+ FileOutputStream stream = font_file.create(FileCreateFlags.PRIVATE); - try { -- Bytes bytes = message.response_body.flatten().get_as_bytes(); -- File font_file = File.new_for_path(filepath); -- if (font_file.query_exists()) -- font_file.delete(); -- FileOutputStream stream = font_file.create(FileCreateFlags.PRIVATE); -- stream.write_bytes_async.begin(bytes, Priority.DEFAULT, null, (obj, res) => { -- try { -- stream.write_bytes_async.end(res); -- stream.close(); -- } catch (Error e) { -- warning("Failed to write data for : %s :: %i : %s", filename, e.code, e.message); -- retval = false; -- return; -- } -- }); -- if (!retval) -- return false; -+ stream.write_bytes(bytes); -+ stream.close(); - } catch (Error e) { -- warning("Failed to write data for : %s :: %i : %s", filename, e.code, e.message); -- return false; -+ retval = false; -+ warning("Failed to write data to file : %s : %s", filepath, e.message); - } -- Idle.add(download_font_files.callback); -- yield; -- } else { -- warning("Failed to download data for : %s :: %i", filename, (int) message.status_code); -- return false; -+ } catch (Error e) { -+ retval = false; -+ warning("Failed to read data for : %s :: %i :: %s", -+ filename, -+ (int) message.status_code, -+ e.message); - } -+ Idle.add(download_font_files.callback); -+ yield; - } - return retval; - } diff --git a/srcpkgs/fontmanager/template b/srcpkgs/fontmanager/template index d7dc0d41734..39f99d8feff 100644 --- a/srcpkgs/fontmanager/template +++ b/srcpkgs/fontmanager/template @@ -1,16 +1,17 @@ # Template file for 'fontmanager' pkgname=fontmanager -version=0.8.8 -revision=2 +version=0.9.4 +revision=1 build_helper=gir build_style=meson configure_args="--buildtype=release" -hostmakedepends="pkg-config yelp-tools vala-devel glib-devel gettext" -makedepends="json-glib-devel sqlite-devel gtk+3-devel fontconfig-devel - libsoup3-devel libwebkit2gtk41-devel" +hostmakedepends="pkg-config yelp-tools vala-devel glib-devel gettext cmake + desktop-file-utils gtk4-update-icon-cache" +makedepends="json-glib-devel sqlite-devel gtk4-devel fontconfig-devel + libsoup3-devel libwebkitgtk60-devel libarchive-devel" short_desc="Font-manager is a simple font management tool for GTK+ environments" maintainer="Antonio Malcolm " license="GPL-3.0-or-later" homepage="https://fontmanager.github.io/" distfiles="https://github.com/FontManager/font-manager/archive/${version}.tar.gz" -checksum=7badeefe47df3f21d4e9087889fe3d2a6f8e97c95c32fa7fae78ccb59ac40868 +checksum=3e4aefdaa0fbd37410c35421501819b19ba1f6847bad7a1f51707209c4147063