mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
luvi, lit, luvi: fix build, statically compile everything; luv: add LuaJIT variant, allow tests on LuaJIT variant (#13884)
This commit is contained in:
@@ -82,5 +82,5 @@ INSTALL()
|
||||
|
||||
TEST()
|
||||
{
|
||||
make test
|
||||
make test LUA_TEST_BIN="lua"
|
||||
}
|
||||
|
||||
97
dev-lua/luv/luv_luajit-1.52.1_0.recipe
Normal file
97
dev-lua/luv/luv_luajit-1.52.1_0.recipe
Normal 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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -16,22 +16,31 @@ COPYRIGHT="2012 The Luvit Authors
|
||||
"
|
||||
LICENSE="Apache v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://lit.luvit.io/packages/luvit/lit/v$portVersion.zip"
|
||||
CHECKSUM_SHA256="5dd3eb583815afc0589fd330144b2a8ac6a572c79b4cd7d34471d464bb2dde12"
|
||||
SOURCE_URI="$HOMEPAGE/archive/refs/tags/$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="7675c451f0465036f06ee96c5cb26ab24ef82a408fc9379feca5fb5e807674e1"
|
||||
SOURCE_FILENAME="lit-$portVersion.zip"
|
||||
SOURCE_DIR=""
|
||||
SOURCE_DIR="lit-$portVersion"
|
||||
srcGitRev_2="00bd21b8cc3a2e233276f5a70b57ca7347fdf520"
|
||||
SOURCE_URI_2="https://github.com/creationix/lua-git/archive/$srcGitRev_2.tar.gz"
|
||||
CHECKSUM_SHA256_2="8de544b4a1e7981233c6a452c204505c30f90b79b4b4446e2035897a01a142c8"
|
||||
SOURCE_FILENAME_2="lua-git-$srcGitRev_2.zip"
|
||||
SOURCE_DIR_2="lua-git-$srcGitRev_2"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
fi
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
lit = $portVersion
|
||||
lit$secondaryArchSuffix = $portVersion
|
||||
cmd:lulit = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
haiku$secondaryArchSuffix
|
||||
luv_luajit${secondaryArchSuffix}
|
||||
lib:libcrypto$secondaryArchSuffix
|
||||
lib:libluajit_5.1$secondaryArchSuffix
|
||||
lib:libpcre2_8$secondaryArchSuffix
|
||||
lib:libssl$secondaryArchSuffix
|
||||
lib:libuv$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
@@ -40,8 +49,14 @@ BUILD_PREREQUIRES="
|
||||
cmd:which
|
||||
"
|
||||
|
||||
TEST_REQUIRES="
|
||||
cmd:luvi
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
rm -df deps/git
|
||||
ln -sf $sourceDir2 deps/git
|
||||
mkdir -p /tmp/luvithome
|
||||
HOME=/tmp/luvithome luvi . -- make . lit $(which luvi)
|
||||
}
|
||||
@@ -52,3 +67,8 @@ INSTALL()
|
||||
# Rename lit to lulit to avoid conflict with LLVM's cmd:lit (like it's done in AUR)
|
||||
install -m 0755 lit $prefix/bin/lulit
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
luvi tests -- tests/run.lua
|
||||
}
|
||||
|
||||
@@ -8,41 +8,97 @@ COPYRIGHT="2012 The Luvit Authors
|
||||
"
|
||||
LICENSE="Apache v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/luvit/luvi/releases/download/v$portVersion/luvi-source.tar.gz"
|
||||
CHECKSUM_SHA256="91f40fb6421888c2ee403de80248250c234f3bfb6dd1edbbc9188a89e4b9708a"
|
||||
SOURCE_URI="$HOMEPAGE/archive/refs/tags/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="54b3a77781dad81abafeef5d972123798900d5498852d0667eacd8358cbb0f8d"
|
||||
SOURCE_FILENAME="luvi-$portVersion.tar.gz"
|
||||
SOURCE_DIR=""
|
||||
SOURCE_DIR="luvi-$portVersion"
|
||||
srcGitRev_2="55bbd00e53890e50e05018907140f4f3d3e234f4"
|
||||
SOURCE_URI_2="https://github.com/luvit/lpeg/archive/$srcGitRev_2.tar.gz"
|
||||
CHECKSUM_SHA256_2="63f8b88357361f72b04b2096b2e3540825c5c1ba226fb659cb8cc59783a134b7"
|
||||
SOURCE_FILENAME_2="lpeg-$srcGitRev_2.tar.gz"
|
||||
SOURCE_DIR_2="lpeg-$srcGitRev_2"
|
||||
srcGitRev_3="9aa5e7e9ca47da1bd0e023dfa0b1b2d43aa358f3"
|
||||
SOURCE_URI_3="https://github.com/rrthomas/lrexlib/archive/$srcGitRev_3.tar.gz"
|
||||
CHECKSUM_SHA256_3="c2c028549e4f634ec3c81c591f4bdafcad0e3a9a98a933b6bab76af709c3b444"
|
||||
SOURCE_FILENAME_3="lrexlib-$srcGitRev_3.tar.gz"
|
||||
SOURCE_DIR_3="lrexlib-$srcGitRev_3"
|
||||
version_4="0.11.0-2"
|
||||
SOURCE_URI_4="https://github.com/zhaozg/lua-openssl/releases/download/$version_4/openssl-$version_4.tar.gz"
|
||||
CHECKSUM_SHA256_4="61d7450c53afe11ba1936a3916df68a454476a05a753f3b2c8332f981883ea34"
|
||||
SOURCE_FILENAME_4="openssl-$version_4.tar.gz"
|
||||
SOURCE_DIR_4="openssl-$version_4"
|
||||
srcGitRev_5="bf7a1f0a5aa1deae9cab2d73b5ef9edec41b877c"
|
||||
SOURCE_URI_5="https://github.com/richgel999/miniz/archive/$srcGitRev_5.tar.gz"
|
||||
CHECKSUM_SHA256_5="d8ae3141fb67d280587224dcb80f02f4d39ab42aafe46e8e0c4b8bb6a810b542"
|
||||
SOURCE_FILENAME_5="miniz-$srcGitRev_5.tar.gz"
|
||||
SOURCE_DIR_5="miniz-$srcGitRev_5"
|
||||
srcGitRev_6="79f6934306367e700050de9614eab9ac01bd4d6f"
|
||||
SOURCE_URI_6="https://github.com/luvit/luv/archive/$srcGitRev_6.tar.gz"
|
||||
CHECKSUM_SHA256_6="0f6f9d33ccf8278d0d288f8f90ba5633efe376c3c8cd0fb05a85f1fc7f1a0db1"
|
||||
SOURCE_FILENAME_6="luv-$srcGitRev_6.tar.gz"
|
||||
SOURCE_DIR_6="luv-$srcGitRev_6"
|
||||
PATCHES="luvi-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
SECONDARY_ARCHITECTURES="?x86" # luv has this, and official Windows build of luvi supports 32 bit, so assuming that it works
|
||||
fi
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
luvi = $portVersion
|
||||
luvi$secondaryArchSuffix = $portVersion
|
||||
cmd:luvi
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
haiku$secondaryArchSuffix
|
||||
luv_luajit${secondaryArchSuffix}
|
||||
lib:libluajit_5.1$secondaryArchSuffix
|
||||
lib:libpcre2_8$secondaryArchSuffix
|
||||
lib:libssl$secondaryArchSuffix
|
||||
lib:libuv$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
luv_luajit${secondaryArchSuffix}_devel
|
||||
devel:libluajit_5.1$secondaryArchSuffix
|
||||
devel:libpcre2_8$secondaryArchSuffix
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libuv$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc
|
||||
cmd:ld
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:install
|
||||
cmd:cmake
|
||||
cmd:perl
|
||||
cmd:git
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
make regular
|
||||
make $jobArgs
|
||||
rm -df deps/lpeg deps/lrexlib deps/lua-openssl deps/miniz deps/luv $sourceDir6/deps/libuv
|
||||
ln -sf $sourceDir2 deps/lpeg
|
||||
ln -sf $sourceDir3 deps/lrexlib
|
||||
ln -sf $sourceDir4 deps/lua-openssl
|
||||
ln -sf $sourceDir5 deps/miniz
|
||||
ln -sf $sourceDir6 deps/luv
|
||||
ln -sf $sourceDir4/deps/compat-5.3 deps/luv/deps/lua-compat-5.3
|
||||
|
||||
echo $portVersion > VERSION
|
||||
|
||||
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release \
|
||||
-DWITH_LUA_ENGINE=LuaJIT \
|
||||
-DLUA_BUILD_TYPE=System \
|
||||
-DWITH_AMALG=ON \
|
||||
-DWithOpenSSLASM=ON \
|
||||
-DWithOpenSSL=ON \
|
||||
-DWithPCRE2=ON \
|
||||
-DWithLPEG=ON \
|
||||
-DWithZLIB=OFF \
|
||||
-DWithSharedOpenSSL=ON \
|
||||
-DWithSharedPCRE2=ON \
|
||||
-DWithSharedLPEG=ON \
|
||||
-DWithSharedZLIB=ON \
|
||||
-DWITH_SHARED_LIBUV=ON \
|
||||
-DWithSharedLibluv=ON
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
|
||||
46
net-libs/luvi/patches/luvi-2.15.0.patchset
Normal file
46
net-libs/luvi/patches/luvi-2.15.0.patchset
Normal file
@@ -0,0 +1,46 @@
|
||||
From c0c9feb7e1b1332b74ed0cedfce2b6be5c998578 Mon Sep 17 00:00:00 2001
|
||||
From: nilFinx <nulflox@disroot.org>
|
||||
Date: Sun, 29 Mar 2026 21:03:14 +0900
|
||||
Subject: Fix build on Haiku with manual dependencies pulling
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
deps/lua-openssl.cmake | 2 ++
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0b0007d..ffc3461 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -109,7 +109,7 @@ else (WithSharedLibluv)
|
||||
add_subdirectory(deps/luv) # Build luv
|
||||
endif (WithSharedLibluv)
|
||||
|
||||
-set(LUA_COMPAT53_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/luv/deps/lua-compat-5.3" CACHE PATH "Path to lua-compat-5.3")
|
||||
+set(LUA_COMPAT53_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/lua-openssl/deps/compat-5.3" CACHE PATH "Path to lua-compat-5.3")
|
||||
include_directories(${LUA_COMPAT53_DIR})
|
||||
include_directories(${LUA_COMPAT53_DIR}/c-api)
|
||||
|
||||
diff --git a/deps/lua-openssl.cmake b/deps/lua-openssl.cmake
|
||||
index 6cd47fc..dd9ddd0 100644
|
||||
--- a/deps/lua-openssl.cmake
|
||||
+++ b/deps/lua-openssl.cmake
|
||||
@@ -6,6 +6,7 @@ include_directories(
|
||||
${CMAKE_BINARY_DIR}/include
|
||||
${LUA_OPENSSL_DIR}/deps/auxiliar
|
||||
${LUA_OPENSSL_DIR}/deps/lua-compat
|
||||
+ ${LUA_OPENSSL_DIR}/deps/lua-compat/c-api
|
||||
${LUA_OPENSSL_DIR}/src
|
||||
)
|
||||
|
||||
@@ -47,6 +48,7 @@ add_library(lua_openssl STATIC
|
||||
${LUA_OPENSSL_DIR}/src/pkcs7.c
|
||||
${LUA_OPENSSL_DIR}/src/pkey.c
|
||||
${LUA_OPENSSL_DIR}/src/private.h
|
||||
+ ${LUA_OPENSSL_DIR}/src/provider.c
|
||||
${LUA_OPENSSL_DIR}/src/rsa.c
|
||||
${LUA_OPENSSL_DIR}/src/sk.h
|
||||
${LUA_OPENSSL_DIR}/src/srp.c
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -29,10 +29,10 @@ COPYRIGHT="2012 The Luvit Authors
|
||||
"
|
||||
LICENSE="Apache v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://lit.luvit.io/packages/luvit/luvit/v$portVersion.zip"
|
||||
CHECKSUM_SHA256="c75cb97f71a6f10213a9dfc0d99bc07dc82fd970bb41c51a6c456dbb77aa0bcc"
|
||||
SOURCE_URI="https://github.com/luvit/luvit/archive/refs/tags/$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="b792781d77028edb7e5761e96618c96162bd68747b8fced9a6fc52f123837c2c"
|
||||
SOURCE_FILENAME="luvit-$portVersion.zip"
|
||||
SOURCE_DIR=""
|
||||
SOURCE_DIR="luvit-$portVersion"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
@@ -40,25 +40,35 @@ SECONDARY_ARCHITECTURES="?x86"
|
||||
fi
|
||||
|
||||
PROVIDES="
|
||||
luvit = $portVersion
|
||||
luvit$secondaryArchSuffix = $portVersion
|
||||
cmd:luvit = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
haiku$secondaryArchSuffix
|
||||
luv_luajit$secondaryArchSuffix
|
||||
lib:libcrypto$secondaryArchSuffix
|
||||
lib:libluajit_5.1$secondaryArchSuffix
|
||||
lib:libpcre2_8$secondaryArchSuffix
|
||||
lib:libssl$secondaryArchSuffix
|
||||
lib:libuv$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:install
|
||||
cmd:lit
|
||||
cmd:lulit
|
||||
cmd:luvi
|
||||
cmd:make
|
||||
cmd:which
|
||||
"
|
||||
|
||||
TEST_REQUIRES="
|
||||
cmd:luvit
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p /tmp/luvitbuild
|
||||
HOME=/tmp/luvitbuild lit make . luvit $(which luvi)
|
||||
HOME=/tmp/luvitbuild lulit make . luvit $(which luvi)
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
@@ -66,3 +76,8 @@ INSTALL()
|
||||
mkdir -p $prefix/bin
|
||||
install -m 0755 luvit $prefix/bin
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
luvit tests/run.lua
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user