From 3b389bb3badf747e433ee7b166c80211f44bd7b2 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 30 Apr 2024 23:38:21 +0300 Subject: [PATCH] Import CS sushi-3.38.1-2.1 --- SOURCES/optional-webkitgtk.patch | 69 ++++++++++++++++++++++++++++++++ SPECS/sushi.spec | 10 ++++- 2 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 SOURCES/optional-webkitgtk.patch diff --git a/SOURCES/optional-webkitgtk.patch b/SOURCES/optional-webkitgtk.patch new file mode 100644 index 0000000..6332795 --- /dev/null +++ b/SOURCES/optional-webkitgtk.patch @@ -0,0 +1,69 @@ +diff --git a/meson.build b/meson.build +index be1ccd4..116f145 100644 +--- a/meson.build ++++ b/meson.build +@@ -21,7 +21,7 @@ gtk_x11_dep = dependency('gtk+-x11-3.0', required: get_option('X11')) + gtk_wayland_dep = dependency('gtk+-wayland-3.0', version: '>= 3.21.5', required: get_option('wayland')) + gtksourceview_dep = dependency('gtksourceview-4', version: '>=4.0.3') + harfbuzz_dep = dependency('harfbuzz', version: '>=0.9.9') +-webkit_dep = dependency('webkit2gtk-4.0') ++webkit_dep = dependency('webkit2gtk-4.0', required: false) + + bindir = join_paths(get_option('prefix'), get_option('bindir')) + datadir = join_paths(get_option('prefix'), get_option('datadir')) +diff --git a/src/ui/main.js b/src/ui/main.js +index b0cb7de..2aa0b71 100644 +--- a/src/ui/main.js ++++ b/src/ui/main.js +@@ -39,7 +39,6 @@ pkg.require({ + Pango: '1.0', + Soup: '2.4', + Sushi: '1.0', +- WebKit2: '4.0', + }); + + const {Gio, GLib} = imports.gi; +diff --git a/src/viewers/html.js b/src/viewers/html.js +index 3de4455..28d34de 100644 +--- a/src/viewers/html.js ++++ b/src/viewers/html.js +@@ -23,11 +23,22 @@ + * + */ + +-const {Gtk, GLib, GObject, Sushi, WebKit2} = imports.gi; ++const {Gtk, GLib, GObject, Sushi} = imports.gi; ++ ++var WebKit2; ++try { ++ imports.gi.versions.WebKit2 = '4.0'; ++ WebKit2 = imports.gi.WebKit2; ++} catch(e) { ++} ++ ++function _isAvailable() { ++ return WebKit2 !== undefined; ++} + + const Renderer = imports.ui.renderer; + +-var Klass = GObject.registerClass({ ++var Klass = _isAvailable() ? GObject.registerClass({ + Implements: [Renderer.Renderer], + Properties: { + fullscreen: GObject.ParamSpec.boolean('fullscreen', '', '', +@@ -63,8 +74,10 @@ var Klass = GObject.registerClass({ + get moveOnClick() { + return false; + } +-}); ++}) : undefined; + +-var mimeTypes = [ +- 'text/html' +-]; ++var mimeTypes = []; ++if (_isAvailable()) ++ mimeTypes = [ ++ 'text/html' ++ ]; diff --git a/SPECS/sushi.spec b/SPECS/sushi.spec index fa50ae6..b7e88bd 100644 --- a/SPECS/sushi.spec +++ b/SPECS/sushi.spec @@ -2,7 +2,7 @@ Name: sushi Version: 3.38.1 -Release: 2%{?dist} +Release: 2%{?dist}.1 Summary: A quick previewer for Nautilus License: GPLv2+ with exceptions @@ -14,6 +14,9 @@ Patch0: drop-libmusicbrainz-dep.patch # https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/30 Patch1: enable-sandbox.patch +# https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/53 +Patch2: optional-webkitgtk.patch + BuildRequires: gettext BuildRequires: gjs-devel BuildRequires: meson @@ -57,6 +60,10 @@ file manager. %changelog +* Wed Mar 06 2024 Michael Catanzaro - 3.38.1-2.1 +- Allow running without WebKitGTK installed + Resolves: RHEL-26698 + * Mon May 23 2022 Michael Catanzaro - 3.38.1-2 - Enable web process sandbox Resolves: #2070670 @@ -354,4 +361,3 @@ file manager. * Sat Jul 02 2011 Elad Alfassa - 0.0.3-1 - Initial build -