aports/community/lua-luv/APKBUILD
mio 01ae961364 community/lua-luv: skip test-tty test
`tty normal` test passes on CI but fails on the builders due to no tty,
and no tty stream is returned.

```
  ./tests/test-tty.lua:19: bad argument #1 to 'is_readable' (Expected uv_stream userdata)
  stack traceback:
  	[C]: in function 'is_readable'
  	./tests/test-tty.lua:19: in function 'fn'
  	./lib/tap.lua:59: in function <./lib/tap.lua:48>
  	[C]: in function 'xpcall'
  	./lib/tap.lua:48: in function 'run'
  	./lib/tap.lua:146: in function 'tap'
  	tests/run.lua:23: in main chunk
  	[C]: at 0xaab99c555420
not ok 143 tty - tty normal
```
2025-05-17 20:38:40 +00:00

120 lines
3 KiB
Text

# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer:
pkgname=lua-luv
_rockname=luv
pkgver=1.51.0.1
_pkgver=${pkgver%.*}-${pkgver##*.}
pkgrel=0
pkgdesc="Bare libuv bindings for Lua"
url="https://github.com/luvit/luv"
arch="all"
license="Apache-2.0"
makedepends="
cmake
libuv-dev
lua-compat53-dev
ninja
"
subpackages="
$pkgname-static
$pkgname-dev
libluv
"
source="https://github.com/luvit/luv/archive/$_pkgver/lua-luv-$_pkgver.tar.gz
skip-tty-test.patch
"
builddir="$srcdir/luv-$_pkgver"
case "$CARCH" in
riscv64)
_luajit=""
;;
*)
_luajit="jit"
makedepends="$makedepends luajit-dev"
;;
esac
_luaversions="5.1 5.4"
for _v in $_luaversions; do
makedepends="$makedepends lua$_v-dev"
subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
done
build() {
# shared module loop
local lver; for lver in $_luaversions $_luajit; do
cmake -B "build-$lver" -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWITH_LUA_ENGINE=Lua \
-DWITH_SHARED_LIBUV=ON \
-DLUA_BUILD_TYPE=System \
-DLUA_INCLUDE_DIR="$(pkg-config --variable=includedir "lua$lver")" \
-DLUA_COMPAT53_DIR="/usr/include/lua${lver/jit/5.1}" \
-DBUILD_MODULE=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF
cmake --build "build-$lver"
done
# separate static because cmake tracks all installed and makes it impossible to split
cmake -B build-static -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWITH_LUA_ENGINE=Lua \
-DWITH_SHARED_LIBUV=ON \
-DLUA_BUILD_TYPE=System \
-DLUA_INCLUDE_DIR="$(pkg-config --variable=includedir "lua5.1")" \
-DLUA_COMPAT53_DIR="/usr/include/lua5.1" \
-DBUILD_MODULE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON
cmake --build build-static
}
check() {
local lver; for lver in $_luaversions $_luajit; do
msg "Running tests with lua$lver"
LUA_CPATH="build-${lver/jit/5.1}/lib?.so;;" lua$lver tests/run.lua
done
}
package() {
DESTDIR="$pkgdir" cmake --install build-static
DESTDIR="$pkgdir" cmake --install build-${_luajit:-"5.1"}
rm -rf "$pkgdir"/usr/lib/lua
}
dev() {
default_dev
local lver; for lver in $_luaversions; do
mkdir -p "$subpkgdir/usr/include/lua$lver"
ln -s ../luv "$subpkgdir"/usr/include/lua$lver/
done
}
# This is needed for neovim.
libluv() {
pkgdesc="$pkgdesc (shared library)"
amove usr
}
_subpackage() {
local lver="${subpkgname:3:3}"
pkgdesc="$pkgdesc $lver"
depends="lua$lver"
install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_rockname/$_pkgver"
install -D -m755 "$builddir"/build-$lver/luv.so -t "$subpkgdir"/usr/lib/lua/$lver/
mkdir -p "$rockdir"
echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
}
sha512sums="
b8c7dd1b371969220854a5eaeb4f570b888df95e88c59de29375abe2dc1fc1c9c4acdd8999ad633989ac0be5033f0e7adfa3a67f324170b1a053296b88465512 lua-luv-1.51.0-1.tar.gz
3f64c2c3aa6a688042081f3ff31c569fc184b02aec03fb848a6bb890b8c572707ad8c79c520a6e520f4b390192abfd689e1bdbf61bc61412784a5f749acaf92f skip-tty-test.patch
"