diff --git a/dev-lua/luv/luv-1.52.1_0.recipe b/dev-lua/luv/luv-1.52.1_0.recipe index bf7e5fb78..44ead79d2 100644 --- a/dev-lua/luv/luv-1.52.1_0.recipe +++ b/dev-lua/luv/luv-1.52.1_0.recipe @@ -82,5 +82,5 @@ INSTALL() TEST() { - make test + make test LUA_TEST_BIN="lua" } diff --git a/dev-lua/luv/luv_luajit-1.52.1_0.recipe b/dev-lua/luv/luv_luajit-1.52.1_0.recipe new file mode 100644 index 000000000..a27072aa2 --- /dev/null +++ b/dev-lua/luv/luv_luajit-1.52.1_0.recipe @@ -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" +} diff --git a/dev-lua/luv/patches/luv-1.52.1_0.patchset b/dev-lua/luv/patches/luv-1.52.1_0.patchset index 9ffc99d8d..0ad72fd69 100644 --- a/dev-lua/luv/patches/luv-1.52.1_0.patchset +++ b/dev-lua/luv/patches/luv-1.52.1_0.patchset @@ -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 diff --git a/net-libs/lit/lit-3.9.0.recipe b/net-libs/lit/lit-3.9.0.recipe index 7ebcdf9ab..afde2dc58 100644 --- a/net-libs/lit/lit-3.9.0.recipe +++ b/net-libs/lit/lit-3.9.0.recipe @@ -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 +} diff --git a/net-libs/luvi/luvi-2.15.0.recipe b/net-libs/luvi/luvi-2.15.0.recipe index 8da3431f5..65dc465b9 100644 --- a/net-libs/luvi/luvi-2.15.0.recipe +++ b/net-libs/luvi/luvi-2.15.0.recipe @@ -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() diff --git a/net-libs/luvi/patches/luvi-2.15.0.patchset b/net-libs/luvi/patches/luvi-2.15.0.patchset new file mode 100644 index 000000000..1fbb8c7f3 --- /dev/null +++ b/net-libs/luvi/patches/luvi-2.15.0.patchset @@ -0,0 +1,46 @@ +From c0c9feb7e1b1332b74ed0cedfce2b6be5c998578 Mon Sep 17 00:00:00 2001 +From: nilFinx +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 + diff --git a/net-libs/luvit/luvit-2.18.1.recipe b/net-libs/luvit/luvit-2.18.1.recipe index 18c06d917..c8ab35a0f 100644 --- a/net-libs/luvit/luvit-2.18.1.recipe +++ b/net-libs/luvit/luvit-2.18.1.recipe @@ -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 +}