luvi, lit, luvi: fix build, statically compile everything; luv: add LuaJIT variant, allow tests on LuaJIT variant (#13884)

This commit is contained in:
nilFinx
2026-04-01 09:11:19 +00:00
committed by GitHub
parent 729309c868
commit 110d06a7e0
7 changed files with 266 additions and 32 deletions

View File

@@ -82,5 +82,5 @@ INSTALL()
TEST()
{
make test
make test LUA_TEST_BIN="lua"
}

View File

@@ -0,0 +1,97 @@
SUMMARY="Bare libuv bindings for Lua"
DESCRIPTION="luv are bare libuv bindings for Lua."
HOMEPAGE="https://github.com/luvit/luv"
COPYRIGHT="2014 The Luvit Authors"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/luvit/luv/archive/refs/tags/${portVersion//_/-}.tar.gz"
CHECKSUM_SHA256="e8b8774b31d24be4fcf2b021b90599ecccc8e476c61efcc59c3c10cab813a885"
SOURCE_DIR="luv-${portVersion//_/-}"
srcGitRev_2="64ed183ab243cdc737203e835892b4e6cb446e46"
SOURCE_URI_2="https://github.com/lunarmodules/lua-compat-5.3/archive/$srcGitRev_2.tar.gz"
CHECKSUM_SHA256_2="a646a752cb4639ea17823870b30a49a4072f980b9bc96e3d1f0b4c2e3d2be230"
SOURCE_FILENAME_2="lua-compat-5.3-$srcGitRev_2.tar.gz"
SOURCE_DIR_2="lua-compat-5.3-$srcGitRev_2"
PATCHES="luv-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="x86"
fi
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
luv_luajit$secondaryArchSuffix = $portVersion
lib:libluv$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:liblua$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
"
CONFLICTS="
luv$secondaryArchSuffix
"
PROVIDES_devel="
luv_luajit${secondaryArchSuffix}_devel = $portVersion
devel:libluv$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
luv_luajit$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libluajit_5.1$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:cmake
"
TEST_REQUIRES="
cmd:luajit
"
BUILD()
{
rm -df deps/lua-compat-5.3
ln -sf $sourceDir2 deps/lua-compat-5.3
cmake \
-B build -S.\
-DWITH_LUA_ENGINE=LuaJIT \
-DLUA_BUILD_TYPE=System \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_SHARED_LIBUV=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DSHAREDLIBS_INSTALL_BIN_DIR=$binDir \
-DSHAREDLIBS_INSTALL_INC_DIR=$includeDir \
-DSHAREDLIBS_INSTALL_LIB_DIR=$libDir
make -C build $jobArgs
}
INSTALL()
{
LUAVERSION="5.1"
make -C build install
make -C build BUILD_MODULE=0 install
prepareInstalledDevelLib libluv
fixPkgconfig
packageEntries devel $developDir
}
TEST()
{
LUAVERSION="5.1"
make test LUA_TEST_BIN="luajit"
}

View File

@@ -15,7 +15,7 @@ index 70679fe..ed51b01 100644
-test: luv
- ${LUABIN} tests/run.lua
+test:
+ LUA_CPATH=";build/?.so" lua tests/run.lua
+ LUA_CPATH=";build/?.so" $(LUA_TEST_BIN) tests/run.lua
$(MAKE) -C $(BUILD_DIR) test
$(BUILD_DIR)/test tests/manual-test-external-loop.lua