howl icon indicating copy to clipboard operation
howl copied to clipboard

Unbundle LuaJIT

Open tim77 opened this issue 5 years ago • 10 comments

Please make it possible to build Howl with LuaJIT with system version, not bundled version.

https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling

tim77 avatar Apr 20 '19 09:04 tim77

Hmm Fedora doesn't seem to build LuaJIT with Lua 5.2 support, which Howl uses (not sure how extensively). Maybe that would fall under:

All packages whose upstreams have no mechanism to build against system libraries MAY opt to carry bundled libraries

refi64 avatar Apr 20 '19 17:04 refi64

Nice @refi64 Maybe possible in this case to build with bundled then. Review request is there btw https://bugzilla.redhat.com/show_bug.cgi?id=1701204 Thank you.

tim77 avatar Apr 20 '19 17:04 tim77

I am wondering if that would be an option for OpenBSD as well.

E.g. OpenBSD 6.5 has packages for:

  • lua-lpeg-1.0.1.tgz flavours: lua52 and lua53
  • luajit-2.0.5p1.tgz

Howl doesn't seem compile with default clang compiler currently on amd64. I have to force it to use gcc. It seems to be related to libunwind but I don't understand exactly why changing compiler makes it work.

Following works.

gmake CC=gcc
gmake install

But I would like to have a package at some point ...

peterljung avatar May 09 '19 09:05 peterljung

Howl do use the 5.2 compatibility (I don't have a ready list of all usage however). As for OpenBSD, the 2.0 line of LuaJIT is pretty ancient by now - it's an unfortunate fact that 2.1 is stuck in beta, I believe that a lot of people actually use 2.1 for the production needs (e.g. OpenResty). Both things together makes the unbundling situation kind of a hard solve unfortunately.

nilnor avatar May 09 '19 14:05 nilnor

Maintainer of Fedora's luajit here.

Hmm Fedora doesn't seem to build LuaJIT with Lua 5.2 support, which Howl uses (not sure how extensively). Maybe that would fall under:

What do you mean? Is there some flag to enable it? We ship 2.1.0-beta3 with huge patchsets on top of that to make s390x and ppc64 stuff work.

ignatenkobrain avatar Jun 16 '19 14:06 ignatenkobrain

@ignatenkobrain Indeed, Howl passes -DLUAJIT_ENABLE_LUA52_COMPAT, which enables several changes that would be breaking (e.g. the write return type, removal of gfind). As far as I can tell, the LuaJIT spec file in Fedora does not pass that.

Some of those patches look pretty interesting, kinda sad that LuaJIT is in a really awkward state right now wrt maintenance and build-time configuration.

refi64 avatar Jun 16 '19 21:06 refi64

Fair enough. https://src.fedoraproject.org/rpms/luajit/pull-request/2

ignatenkobrain avatar Jun 17 '19 05:06 ignatenkobrain

Nice, if the breaking changes don't have any negative impact then that's pretty much perfect afaik.

refi64 avatar Jun 17 '19 05:06 refi64

Could Howl use https://github.com/lunarmodules/lua-compat-5.3 to work with any lua/luajit?

daurnimator avatar Feb 20 '24 23:02 daurnimator

Could Howl use https://github.com/lunarmodules/lua-compat-5.3 to work with any lua/luajit?

No, it relies heavily on LuaJIT's FFI.

nilnor avatar Feb 21 '24 12:02 nilnor