From 27f1acf3114b1da0f53aa5cdf814bc0155d10631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Mon, 22 Apr 2024 07:21:04 +0700 Subject: [PATCH] eolie: update to 0.9.101. --- srcpkgs/eolie/patches/libsoup3.patch | 67 ++++++++++++++++++++++++++ srcpkgs/eolie/patches/python-3.8.patch | 11 ----- srcpkgs/eolie/patches/re-raw.patch | 57 ++++++++++++++++++++++ srcpkgs/eolie/re-raw.patch | 57 ++++++++++++++++++++++ srcpkgs/eolie/template | 22 +++++++-- 5 files changed, 198 insertions(+), 16 deletions(-) create mode 100644 srcpkgs/eolie/patches/libsoup3.patch delete mode 100644 srcpkgs/eolie/patches/python-3.8.patch create mode 100644 srcpkgs/eolie/patches/re-raw.patch create mode 100644 srcpkgs/eolie/re-raw.patch diff --git a/srcpkgs/eolie/patches/libsoup3.patch b/srcpkgs/eolie/patches/libsoup3.patch new file mode 100644 index 00000000000000..8f47d542f2113d --- /dev/null +++ b/srcpkgs/eolie/patches/libsoup3.patch @@ -0,0 +1,67 @@ +--- a/eolie/application.py ++++ b/eolie/application.py +@@ -12,8 +12,8 @@ + + import gi + gi.require_version('Gtk', '3.0') +-gi.require_version('WebKit2', '4.0') +-gi.require_version('Soup', '2.4') ++gi.require_version('WebKit2', '4.1') ++gi.require_version('Soup', '3.0') + gi.require_version('Secret', '1') + gi.require_version('GtkSpell', '3.0') + gi.require_version("Handy", "1") +--- a/eolie/css_stylesheet.py ++++ b/eolie/css_stylesheet.py +@@ -126,18 +126,12 @@ class StyleSheet(GObject.Object): + """ + try: + session = Soup.Session.new() +- request = session.request(uri) +- stream = request.send(self.__cancellable) +- bytes = bytearray(0) +- buf = stream.read_bytes(1024, self.__cancellable).get_data() +- while buf: +- bytes += buf +- buf = stream.read_bytes(1024, self.__cancellable).get_data() +- stream.close() ++ msg = Soup.Message.new("GET", uri) ++ content = session.send_and_read(msg, self.__cancellable) + try: +- return bytes.decode("utf-8") ++ return content.decode("utf-8") + except: +- return bytes.decode("iso8859-1") ++ return content.decode("iso8859-1") + except Exception as e: + Logger.error("StyleSheet::__get_uri_contents(): %s -> %s" % + (e, uri)) +--- a/eolie/helper_task.py ++++ b/eolie/helper_task.py +@@ -11,7 +11,7 @@ + # along with this program. If not, see . + + import gi +-gi.require_version("Soup", "2.4") ++gi.require_version("Soup", "3.0") + from gi.repository import GLib, Soup + + from threading import Thread +@@ -63,11 +63,13 @@ class TaskHelper: + """ + try: + session = Soup.Session.new() +- session.set_property("accept-language-auto", True) ++ session.set_accept_language_auto(True) + if self.__user_agent is not None: +- session.set_property("user-agent", self.__user_agent) +- request = session.request(uri) +- request.send_async(cancellable, ++ session.set_user_agent(self.__user_agent) ++ msg = Soup.Message.new("GET", uri) ++ session.send_async(msg, ++ GLib.PRIORITY_DEFAULT, ++ cancellable, + self.__on_request_send_async, + callback, + cancellable, diff --git a/srcpkgs/eolie/patches/python-3.8.patch b/srcpkgs/eolie/patches/python-3.8.patch deleted file mode 100644 index 39e0437b3315e9..00000000000000 --- a/srcpkgs/eolie/patches/python-3.8.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/python-webextension/meson.build -+++ b/python-webextension/meson.build -@@ -2,7 +2,7 @@ - - webkitextension = dependency('webkit2gtk-web-extension-4.0') - pyobject = dependency('pygobject-3.0') --python3 = dependency('python3') -+python3 = dependency('python3-embed') - - pythonloader = configure_file( - input: 'pythonloader.c.in', diff --git a/srcpkgs/eolie/patches/re-raw.patch b/srcpkgs/eolie/patches/re-raw.patch new file mode 100644 index 00000000000000..429a02638ecc53 --- /dev/null +++ b/srcpkgs/eolie/patches/re-raw.patch @@ -0,0 +1,57 @@ +--- a/eolie/css_rule_import.py ++++ b/eolie/css_rule_import.py +@@ -32,7 +32,7 @@ class CSSImportRule: + self.__stylesheet = None + try: + parsed = urlparse(uri) +- search = re.search('@import url\(["\']?([^"\')]*)', css) ++ search = re.search(r'@import url\(["\']?([^"\')]*)', css) + css = search.group(1) + if css.startswith(".."): + path_split = parsed.path.split("/") +--- a/eolie/css_rule_list.py ++++ b/eolie/css_rule_list.py +@@ -35,7 +35,7 @@ class CSSRuleList: + for child in self.__get_children(css): + child = child.strip() + # Remove any comment +- child = re.sub("\/\*[^*]*[^/]*\*\/", "", child) ++ child = re.sub(r"\/\*[^*]*[^/]*\*\/", "", child) + if child.startswith("@media"): + rule = CSSMediaRule(child, uri, cancellable) + elif child.startswith("@supports"): +--- a/eolie/css_rule_style.py ++++ b/eolie/css_rule_style.py +@@ -121,7 +121,7 @@ class CSSStyleRule: + @return str + """ + value = re.sub('[ ]*!.*important', '', value) +- value = re.sub('url.*\([^\)]*\)', 'url()', value) ++ value = re.sub(r'url.*\([^\)]*\)', 'url()', value) + return value.strip() + + def __contains_color(self, value): +@@ -228,9 +228,9 @@ class CSSStyleRule: + """ + results = {} + # Extract values from rgb() and rgba() +- colors = re.findall('(rgb.?\([^\)]*\))', rule) ++ colors = re.findall(r'(rgb.?\([^\)]*\))', rule) + for color in colors: +- color_tuple = re.search('rgb.?\(([^\)]*)', color) ++ color_tuple = re.search(r'rgb.?\(([^\)]*)', color) + if color_tuple is None: + continue + split = self.__get_split(color_tuple[1]) +@@ -251,9 +251,9 @@ class CSSStyleRule: + """ + results = {} + # Extract values from hsl() and hsla() +- colors = re.findall('(hsl.?\([^\)]*\))', rule) ++ colors = re.findall(r'(hsl.?\([^\)]*\))', rule) + for color in colors: +- color_tuple = re.search('hsl.?\(([^\)]*)', color) ++ color_tuple = re.search(r'hsl.?\(([^\)]*)', color) + if color_tuple is None: + continue + split = self.__get_split(color_tuple[1]) diff --git a/srcpkgs/eolie/re-raw.patch b/srcpkgs/eolie/re-raw.patch new file mode 100644 index 00000000000000..429a02638ecc53 --- /dev/null +++ b/srcpkgs/eolie/re-raw.patch @@ -0,0 +1,57 @@ +--- a/eolie/css_rule_import.py ++++ b/eolie/css_rule_import.py +@@ -32,7 +32,7 @@ class CSSImportRule: + self.__stylesheet = None + try: + parsed = urlparse(uri) +- search = re.search('@import url\(["\']?([^"\')]*)', css) ++ search = re.search(r'@import url\(["\']?([^"\')]*)', css) + css = search.group(1) + if css.startswith(".."): + path_split = parsed.path.split("/") +--- a/eolie/css_rule_list.py ++++ b/eolie/css_rule_list.py +@@ -35,7 +35,7 @@ class CSSRuleList: + for child in self.__get_children(css): + child = child.strip() + # Remove any comment +- child = re.sub("\/\*[^*]*[^/]*\*\/", "", child) ++ child = re.sub(r"\/\*[^*]*[^/]*\*\/", "", child) + if child.startswith("@media"): + rule = CSSMediaRule(child, uri, cancellable) + elif child.startswith("@supports"): +--- a/eolie/css_rule_style.py ++++ b/eolie/css_rule_style.py +@@ -121,7 +121,7 @@ class CSSStyleRule: + @return str + """ + value = re.sub('[ ]*!.*important', '', value) +- value = re.sub('url.*\([^\)]*\)', 'url()', value) ++ value = re.sub(r'url.*\([^\)]*\)', 'url()', value) + return value.strip() + + def __contains_color(self, value): +@@ -228,9 +228,9 @@ class CSSStyleRule: + """ + results = {} + # Extract values from rgb() and rgba() +- colors = re.findall('(rgb.?\([^\)]*\))', rule) ++ colors = re.findall(r'(rgb.?\([^\)]*\))', rule) + for color in colors: +- color_tuple = re.search('rgb.?\(([^\)]*)', color) ++ color_tuple = re.search(r'rgb.?\(([^\)]*)', color) + if color_tuple is None: + continue + split = self.__get_split(color_tuple[1]) +@@ -251,9 +251,9 @@ class CSSStyleRule: + """ + results = {} + # Extract values from hsl() and hsla() +- colors = re.findall('(hsl.?\([^\)]*\))', rule) ++ colors = re.findall(r'(hsl.?\([^\)]*\))', rule) + for color in colors: +- color_tuple = re.search('hsl.?\(([^\)]*)', color) ++ color_tuple = re.search(r'hsl.?\(([^\)]*)', color) + if color_tuple is None: + continue + split = self.__get_split(color_tuple[1]) diff --git a/srcpkgs/eolie/template b/srcpkgs/eolie/template index de74cc6e7ab29f..7934caafff7abe 100644 --- a/srcpkgs/eolie/template +++ b/srcpkgs/eolie/template @@ -1,17 +1,29 @@ # Template file for 'eolie' pkgname=eolie -version=0.9.62 -revision=7 +version=0.9.101 +revision=1 _eolie_hash=bb4aad19272cc636bd17f2f6602127fe +_po=d5aac9503b4af24e3df89f531305cf9a70e26549 build_style=meson pycompile_module="eolie" hostmakedepends="appstream-glib desktop-file-utils glib-devel pkg-config gobject-introspection python3-MarkupSafe gettext" -makedepends="gtk+3-devel libglib-devel python3-gobject-devel webkit2gtk-devel" -depends="gtkspell3 python3-dateutil python3-gobject webkit2gtk python3-PyFxA" +makedepends="gtk+3-devel libglib-devel python3-gobject-devel + libwebkit2gtk41-devel" +depends="gtkspell3 python3-dateutil python3-gobject libwebkit2gtk41 python3-PyFxA" short_desc="Web browser for GNOME" maintainer="Enno Boland " license="GPL-3.0-or-later" homepage="https://wiki.gnome.org/Apps/Eolie" distfiles="https://gitlab.gnome.org/World/eolie/uploads/${_eolie_hash}/eolie-${version}.tar.xz" -checksum=9da359895306cf5929a01acb60d1506afb0a04ddbbd0d80ae1d0ba831e34671b +distfiles="https://adishatz.org/eolie/eolie-${version}.tar.xz" +distfiles="https://gitlab.gnome.org/World/eolie/-/archive/${version}/eolie-${version}.tar.bz2 + https://gitlab.gnome.org/gnumdk/eolie-po/-/archive/${_po}/eolie-po-${_po}.tar.bz2" +checksum="8e2af0482368c58a0931817d4c8a276c0d8d1a456ceb1ab7c80a3e2aea461b6a + ba9f85ff4e8a605f3b586b6ca7234ead8980a0a4b709131ff876c90b61553b58" + +skip_extraction="eolie-po-${_po}.tar.bz2" + +post_extract() { + vsrcextract -C subprojects/po eolie-po-${_po}.tar.bz2 +}