[gimp] configure, meson, plug-ins: unmaintain WebkitGTK-depending plug-ins.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] configure, meson, plug-ins: unmaintain WebkitGTK-depending plug-ins.
- Date: Wed, 22 Dec 2021 18:01:03 +0000 (UTC)
commit a982809c5fe82845668f05304c6c3d253117c576
Author: Jehan <jehan girinstud io>
Date: Wed Dec 22 18:47:30 2021 +0100
configure, meson, plug-ins: unmaintain WebkitGTK-depending plug-ins.
This is an official way to declare these plug-ins as now
unmaintained/deprecated.
Relevant plug-ins are:
1) help-browser (Displaying the docs): nowadays every desktop machine
has a browser. Let's just use whatever is the person's default
browser.
2) web-page (Web screenshot): it looks to me like every browser has this
feature by default now (I use it all the time in Firefox to get a
full-page screenshot, never in GIMP), even on mobile, I am told. It's
nice to have it in GIMP too, but not like absolutely necessary.
On the other hand:
1. It's a hell to build, with a lot of issues. We have regular issues on
our Flatpak-s. We don't manage to build it on our CI (only locally
apparently). Also it takes a crazy amount of time (like 90% of CI
build-time would be webkit).
2. From what I gather, new versions don't work on Windows anymore. Even
MSYS2 seems to have dropped the ball and don't try anymore.
Basically we would have a feature disparity from GIMP 3.0 (most
platform but Windows). We don't know when it will be resolved (if
ever) as it's been like this for years.
Now why we are keeping the code around instead of just removing
everything is that the topic tree in the help browser is useful and
comfortable to use. Ideally we should get some equivalent to help
browsing the help efficiently in the web docs as well (so basically
menus, web search and alike?). So I am told to keep the code around at
least for now to see if we can figure something out or improve the
situation.
Except for this point, we can consider the WebkitGTK plug-ins as
deprecated from GIMP 3.0 on.
configure.ac | 21 ++++++++++++++++-----
meson.build | 21 +++++++++++++++------
meson_options.txt | 2 +-
plug-ins/common/meson.build | 2 +-
plug-ins/help-browser/meson.build | 2 +-
5 files changed, 34 insertions(+), 14 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b301d82244..728859cefc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1978,14 +1978,23 @@ AC_SUBST(mypaint_brushes_dir)
# Check for webkit
##################
-AC_ARG_WITH(webkit, [ --without-webkit don't build the help-browser and web-page plug-ins])
+# We disable WebkitGTK as default for now and discourage its use because
+# it is just a horror to build, is not available on Windows anymore
+# (AFAIK), and features brought are not worth the pain. We still leave
+# the code because mitch wants us to be able to look at it later, maybe
+# reinstate it through some shape or another. Yet for now, it is to be
+# considered non-existing feature for packager point of view. It is only
+# there in the hope developers get it back in shape.
+
+AC_ARG_WITH(webkit, [ --with-webkit-unmaintained build the help-browser and web-page plug-ins
(unmaintained)])
have_webkit=no
-if test "x$with_webkit" != xno; then
+if test "x$with_webkit_unmaintained" = xyes; then
PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0 >= webkitgtk_required_version,
WEB_PAGE='web-page$(EXEEXT)'
have_webkit=yes,
- have_webkit="no (WebKit not found)")
+ [have_webkit="no (WebKit not found)"
+ add_deps_error([webkit2gtk-4.0 >= webkitgtk_required_version])])
else
have_webkit="no (WebKit support disabled)"
fi
@@ -3239,7 +3248,6 @@ Optional Features:
Optional Plug-Ins:
Ascii Art: $have_libaa
Ghostscript: $have_gs
- Help Browser: $have_webkit
JPEG 2000: $have_openjpeg
JPEG XL: $have_jpegxl
MNG: $have_libmng
@@ -3254,12 +3262,15 @@ Optional Plug-Ins:
Lua plug-ins: $with_lua
Vala plug-ins: $with_vala
TWAIN (Win32): $os_win32
- Webpage: $have_webkit
WMF: $have_libwmf
X11 Mouse Cursor: $have_xmc
XPM: $have_libxpm
Email: $have_email
+Unmaintained Plug-Ins (discouraged except for developers):
+ Help Browser: $have_webkit
+ Webpage: $have_webkit
+
Optional Modules:
ALSA (MIDI Input): $have_alsa
Linux Input: $have_linux_input (GUdev support: $have_libgudev)
diff --git a/meson.build b/meson.build
index 9a0dc78a05..9679059747 100644
--- a/meson.build
+++ b/meson.build
@@ -761,11 +761,18 @@ if have_vala
endif
endif
+# We disable WebkitGTK as default for now and discourage its use because
+# it is just a horror to build, is not available on Windows anymore
+# (AFAIK), and features brought are not worth the pain. We still leave
+# the code because mitch wants us to be able to look at it later, maybe
+# reinstate it through some shape or another. Yet for now, it is to be
+# considered non-existing feature for packager point of view. It is only
+# there in the hope developers get it back in shape.
webkit_minver = '2.20.3'
-webkit = dependency('webkit2gtk-4.0', version: '>=' + webkit_minver,
- required: get_option('webkit')
-)
-conf.set('HAVE_WEBKIT', webkit.found())
+if get_option('webkit-unmaintained')
+ webkit = dependency('webkit2gtk-4.0', version: '>=' + webkit_minver)
+endif
+conf.set('HAVE_WEBKIT', get_option('webkit-unmaintained'))
poppler_minver = '0.69.0'
poppler_data_minver = '0.4.9'
@@ -1787,7 +1794,6 @@ final_message = [
'''Optional Plug-Ins:''',
''' Ascii Art: @0@'''.format(libaa.found()),
''' Ghostscript: @0@'''.format(ghostscript.found()),
-''' Help Browser: @0@'''.format(webkit.found()),
''' JPEG 2000: @0@'''.format(openjpeg.found()),
''' JPEG XL: @0@'''.format(libjxl.found()),
''' MNG: @0@'''.format(libmng.found()),
@@ -1807,12 +1813,15 @@ final_message = [
''' Lua plug-ins: @0@'''.format(have_lua),
''' Vala plug-ins: @0@'''.format(have_vala),
''' TWAIN (Win32): @0@'''.format(platform_windows),
-''' Webpage: @0@'''.format(webkit.found()),
''' WMF: @0@'''.format(wmf.found()),
''' X11 Mouse Cursor: @0@'''.format(xmc.found()),
''' XPM: @0@'''.format(libxpm.found()),
''' Email: @0@'''.format(email_message),
'',
+'''Unmaintained Plug-Ins (discouraged except for developers):''',
+''' Help Browser: @0@'''.format(get_option('webkit-unmaintained')),
+''' Webpage: @0@'''.format(get_option('webkit-unmaintained')),
+'',
'''Optional Modules:''',
''' ALSA (MIDI Input): @0@'''.format(alsa.found()),
''' Linux Input: @0@ (GUdev support: @1@)'''
diff --git a/meson_options.txt b/meson_options.txt
index 6bb1c69afc..d8df7a6276 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -45,7 +45,7 @@ option('mng', type: 'feature', value: 'auto', description: 'Mng su
option('openexr', type: 'feature', value: 'auto', description: 'Openexr support')
option('png', type: 'feature', value: 'auto', description: 'PNG support')
option('print', type: 'boolean', value: true, description: 'Print support')
-option('webkit', type: 'feature', value: 'auto', description: 'Help browser and webpage plugins')
+option('webkit-unmaintained',type: 'boolean', value: false, description: 'Help browser and webpage plugins
(unmaintained)')
option('webp', type: 'feature', value: 'auto', description: 'Webp support')
option('wmf', type: 'feature', value: 'auto', description: 'Wmf support')
option('xcursor', type: 'feature', value: 'auto', description: 'Xcursor support')
diff --git a/plug-ins/common/meson.build b/plug-ins/common/meson.build
index eb0b9d7569..98153b260b 100644
--- a/plug-ins/common/meson.build
+++ b/plug-ins/common/meson.build
@@ -150,7 +150,7 @@ if not platform_windows
common_plugins_list += { 'name': 'mail', }
endif
-if webkit.found()
+if get_option('webkit-unmaintained')
common_plugins_list += { 'name': 'web-page',
'deps': [ gtk3, gegl, gdk_pixbuf, webkit, ],
}
diff --git a/plug-ins/help-browser/meson.build b/plug-ins/help-browser/meson.build
index a801f400ce..5f93211229 100644
--- a/plug-ins/help-browser/meson.build
+++ b/plug-ins/help-browser/meson.build
@@ -1,4 +1,4 @@
-if webkit.found()
+if get_option('webkit-unmaintained')
plugin_name = 'help-browser'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]