Allow running with WebKitGTK uninstalled

Resolves: RHEL-26699
This commit is contained in:
Michael Catanzaro 2024-03-07 12:39:28 -06:00
parent c5fa082db6
commit 2875ea67b2
2 changed files with 77 additions and 1 deletions

69
optional-webkitgtk.patch Normal file
View File

@ -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'
+ ];

View File

@ -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 <mcatanzaro@redhat.com> - 3.28.3-2
- Allow running with WebKitGTK uninstalled
Resolves: RHEL-26699
* Mon Apr 23 2018 Kalev Lember <klember@redhat.com> - 3.28.3-1
- Update to 3.28.3