1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00

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.
This commit is contained in:
Jehan
2021-12-22 18:47:30 +01:00
parent 201cbe7e3e
commit a982809c5f
5 changed files with 34 additions and 14 deletions

View File

@@ -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)

View File

@@ -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@)'''

View File

@@ -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')

View File

@@ -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, ],
}

View File

@@ -1,4 +1,4 @@
if webkit.found()
if get_option('webkit-unmaintained')
plugin_name = 'help-browser'