extensions: the lua binding (and its example plug-in) is now marked as experimental.

We have too many issues with the lua binding, so until someone finds a
solution, mark it officially as experimental.

See discussion in: https://gitlab.gnome.org/GNOME/gimp/-/issues/11895#note_2225885
This commit is contained in:
Jehan 2024-09-18 22:54:02 +02:00
parent 8f3931a45e
commit 78665ca372
4 changed files with 22 additions and 13 deletions

View File

@ -294,10 +294,18 @@ help in that regard:
gdb or lldb for our new bug-reporting dialog
"gegl:matting-levin" GEGL operation for alternative matting engine
GJS for Javascript plug-ins
Lua 5.1 (or LuaJIT) and LGI for Lua plug-ins
dot for "Show Image Graph" (unstable branches)
xdg-desktop-portal implemented for your desktop for various D-Bus API (screenshot, color-picking…)
24. Summary of experimental or unmaintained dependencies:
Lua 5.1 (or LuaJIT) and LGI: Lua plug-in example is disabled by
default because of stability issues with the Lua binding.
Webkit-GTK @WEBKITGTK_REQUIRED_VERSION@: the Help Browser and Webpage
plug-ins are disabled for lack of maintenance and issues with
Webkit-GTK
Generic instructions for configuring and compiling auto-configured
@ -397,8 +405,8 @@ These are:
-Djavascript=false If for some reason you don't want to install the
JavaScript plug-ins, you can use -Djavascript=false.
-Dlua=false If for some reason you don't want to install the
Lua plug-ins, you can use -Dlua=false.
-Dlua=true Lua binding is experimental because of stability issues.
You may test the feature by enabling it.
-Dvala-plugins=disabled If for some reason you don't want to install the
Vala plug-ins, you can use -Dvala-plugins=disabled.

View File

@ -1,6 +1,6 @@
subdir('goat-exercises')
if not meson.is_cross_build() and is_variable('lua') and lua.found() and (platform_windows or not relocatable_bundle)
if have_lua and not meson.is_cross_build() and is_variable('lua') and lua.found() and (platform_windows or not relocatable_bundle)
lua_config = configuration_data()
# For Windows, we set the binary name only.
# For other OSes, we use the full path (when not in a relocatable

View File

@ -1108,11 +1108,11 @@ endif
## Lua
have_lua = false
have_lua = get_option('lua')
have_lua_output = have_lua
# At time of writing, lua-lgi works with Lua 5.1, 5.2, 5.3 and LuaJIT2, but we
# support only Lua 5.1 API. See: https://gitlab.gnome.org/GNOME/gimp/-/issues/11876
if get_option('lua').allowed()
if have_lua
have_lua_lgi = false
foreach lua_bin : [ 'luajit', 'lua5.1', 'lua-5.1', 'lua' ]
@ -1165,14 +1165,13 @@ if get_option('lua').allowed()
endif
endforeach
have_lua = get_option('lua').enabled() or have_lua_lgi
if have_lua and not have_lua_lgi
if not have_lua_lgi
lua_warning = '''
Neither Luajit nor Lua 5.1, with lua-lgi support, was found.
Or you are cross-compiling so we couldn't test lua-lgi support.
Lua plug-ins will be installed anyway but you should make sure that
luajit or lua and that LGI are available at installation, otherwise
installed plug-ins won't be usable.
Lua example plug-in (EXPERIMENTAL) will be installed anyway but you
should make sure that luajit or lua and that LGI are available at
installation, otherwise Lua plug-ins won't be usable.
'''
warning(lua_warning)
warnings += lua_warning
@ -2115,7 +2114,6 @@ final_message = [
''' PDF (export): @0@'''.format(cairopdf.found()),
''' Print: @0@'''.format(have_print),
''' Javascript plug-ins: @0@'''.format(have_javascript),
''' Lua plug-ins: @0@'''.format(have_lua_output),
''' Vala plug-ins: @0@'''.format(have_vala),
''' TWAIN (Win32): @0@'''.format(platform_windows),
''' WMF: @0@'''.format(wmf.found()),
@ -2126,6 +2124,9 @@ final_message = [
''' Email: @0@'''.format(email_message),
''' FITS: @0@'''.format(cfitsio_dep.found()),
'',
'''Experimental Plug-Ins (discouraged except for developers):''',
''' Lua plug-ins: @0@'''.format(have_lua_output),
'',
'''Unmaintained Plug-Ins (discouraged except for developers):''',
''' Help Browser: @0@'''.format(get_option('webkit-unmaintained')),
''' Webpage: @0@'''.format(get_option('webkit-unmaintained')),

View File

@ -65,4 +65,4 @@ option('vector-icons', type: 'boolean', value: true, description: 'Use ve
option('vala', type: 'feature', value: 'auto', description: 'Build VAPI and Vala plugins')
option('javascript', type: 'feature', value: 'auto', description: 'Install Javascript plug-ins')
option('lua', type: 'feature', value: 'auto', description: 'Install Lua plug-ins')
option('lua', type: 'boolean', value: false, description: 'Install Lua plug-ins (experimental)')