[Buildroot] [PATCH v3 6/9] package/minetest: do not select luajit
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Jul 27 20:11:18 UTC 2020
James, All,
On 2020-06-06 16:43 -0600, James Hilliard spake thusly:
> On Sat, Jun 6, 2020 at 11:05 AM Romain Naour <romain.naour at gmail.com> wrote:
> > Le 25/05/2020 à 02:48, James Hilliard a écrit :
> > > Since luajit is not a requirement for minetest we should not select it
> > > instead we should conditionally use it when available.
> > I never tested minetest without Luajit since I'm testing with a target using efl
> > + enlightenment that already depend on luajit.
[--SNIP--]
> We're not selecting or depending on buildroot's Lua 5.1 here, only making luajit
> optional, the main reason for this change is that we can't safely
> select luajit at all,
> we could depend on it but since it's not actually a required dependency we can
> just use it conditionally.
As far as I can see, minetest does require a Lua interpreter. What their
README states is:
ENABLE_LUAJIT=ON - Build with LuaJIT (much faster than non-JIT Lua)
And if one looks at the code, one can see that only parts of the lua
code is protected behind HAS_LUAJIT, e.g.:
src/script/cpp_api/s_security.cpp:
206 // Copy safe package fields
207 lua_getfield(L, old_globals, "package");
208 lua_newtable(L);
209 copy_safe(L, package_whitelist, sizeof(package_whitelist));
210 lua_setglobal(L, "package");
211 lua_pop(L, 1); // Pop old package
212
213 #if USE_LUAJIT
214 // Copy safe jit functions, if they exist
215 lua_getfield(L, -1, "jit");
216 if (!lua_isnil(L, -1)) {
217 lua_newtable(L);
218 copy_safe(L, jit_whitelist, sizeof(jit_whitelist));
219 lua_setglobal(L, "jit");
220 }
221 lua_pop(L, 1); // Pop old jit
222 #endif
223
224 lua_pop(L, 1); // Pop globals_backup
So, if not laujit, then we need lua, no?
Regards,
Yann E. MORIN.
> > Best regards,
> > Romain
> >
> > >
> > > Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
> > > ---
> > > package/minetest/Config.in | 4 ----
> > > package/minetest/minetest.mk | 10 ++++++++--
> > > 2 files changed, 8 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/package/minetest/Config.in b/package/minetest/Config.in
> > > index 085525534d..19da290df4 100644
> > > --- a/package/minetest/Config.in
> > > +++ b/package/minetest/Config.in
> > > @@ -5,11 +5,9 @@ config BR2_PACKAGE_MINETEST
> > > depends on BR2_TOOLCHAIN_HAS_THREADS
> > > depends on BR2_PACKAGE_XORG7 # irrlicht
> > > depends on BR2_PACKAGE_HAS_LIBGL # irrlicht
> > > - depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
> > > select BR2_PACKAGE_IRRLICHT
> > > select BR2_PACKAGE_GMP
> > > select BR2_PACKAGE_JSONCPP
> > > - select BR2_PACKAGE_LUAJIT
> > > select BR2_PACKAGE_SQLITE
> > > select BR2_PACKAGE_ZLIB
> > > # At least one option must be enabled
> > > @@ -53,13 +51,11 @@ comment "sound support needs a toolchain w/ threads NPTL"
> > > endif
> > >
> > > comment "minetest needs a toolchain w/ C++, gcc >= 4.9, threads"
> > > - depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
> > > depends on !BR2_INSTALL_LIBSTDCPP \
> > > || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
> > > || !BR2_TOOLCHAIN_HAS_THREADS
> > >
> > > comment "minetest needs X11 and an OpenGL provider"
> > > - depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
> > > depends on (BR2_INSTALL_LIBSTDCPP \
> > > && BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
> > > && BR2_TOOLCHAIN_HAS_THREADS)
> > > diff --git a/package/minetest/minetest.mk b/package/minetest/minetest.mk
> > > index e8fe5b45ce..c0301273be 100644
> > > --- a/package/minetest/minetest.mk
> > > +++ b/package/minetest/minetest.mk
> > > @@ -9,12 +9,11 @@ MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION))
> > > MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds)
> > > MINETEST_LICENSE_FILES = LICENSE.txt
> > >
> > > -MINETEST_DEPENDENCIES = gmp irrlicht jsoncpp luajit sqlite zlib
> > > +MINETEST_DEPENDENCIES = gmp irrlicht jsoncpp sqlite zlib
> > >
> > > MINETEST_CONF_OPTS = \
> > > -DDEFAULT_RUN_IN_PLACE=OFF \
> > > -DENABLE_GLES=OFF \
> > > - -DENABLE_LUAJIT=ON \
> > > -DENABLE_CURSES=OFF \
> > > -DAPPLY_LOCALE_BLACKLIST=OFF \
> > > -DENABLE_SYSTEM_GMP=ON \
> > > @@ -75,6 +74,13 @@ else
> > > MINETEST_CONF_OPTS += -DENABLE_SPATIAL=OFF
> > > endif
> > >
> > > +ifeq ($(BR2_PACKAGE_LUAJIT),y)
> > > +MINETEST_DEPENDENCIES += luajit
> > > +MINETEST_CONF_OPTS += -DENABLE_LUAJIT=ON
> > > +else
> > > +MINETEST_CONF_OPTS += -DENABLE_LUAJIT=OFF
> > > +endif
> > > +
> > > ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
> > > MINETEST_DEPENDENCIES += postgresql
> > > MINETEST_CONF_OPTS += -DENABLE_POSTGRESQL=ON
> > >
> >
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list