diff --git a/optional-webkitgtk.patch b/optional-webkitgtk.patch new file mode 100644 index 0000000..6332795 --- /dev/null +++ b/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/sushi.spec b/sushi.spec index aadeb18..cb48b6b 100644 --- a/sushi.spec +++ b/sushi.spec @@ -1,12 +1,15 @@ Name: sushi Version: 3.28.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A quick previewer for Nautilus License: GPLv2+ with exceptions URL: https://wiki.gnome.org/ThreePointOne/Features/FilePreviewing Source0: https://download.gnome.org/sources/%{name}/3.28/%{name}-%{version}.tar.xz +# https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/53 +Patch0: optional-webkitgtk.patch + BuildRequires: intltool BuildRequires: gjs-devel BuildRequires: pkgconfig(clutter-gst-3.0) @@ -52,6 +55,10 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %changelog +* Thu Mar 07 2024 Michael Catanzaro - 3.28.3-2 +- Allow running with WebKitGTK uninstalled + Resolves: RHEL-26699 + * Mon Apr 23 2018 Kalev Lember - 3.28.3-1 - Update to 3.28.3