aboutsummaryrefslogtreecommitdiffstats
path: root/community/lua-luv/APKBUILD
blob: 857cbb5c72e823ae8629c18e54497316d79a7af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer:
pkgname=lua-luv
_rockname=luv
pkgver=1.44.2.1
_pkgver=${pkgver%.*}-${pkgver##*.}
pkgrel=1
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-dev
	libluv
	"
source="https://github.com/luvit/luv/archive/$_pkgver/lua-luv-$_pkgver.tar.gz
	disable-udp-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() {
	local lver; for lver in $_luaversions $_luajit; do
		cmake -B "build-$lver" -G Ninja \
			-DCMAKE_INSTALL_PREFIX=/usr \
			-DCMAKE_VERBOSE_MAKEFILE=ON \
			-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
}

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-${_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="
efcdc636ab636fc3b63f847da922da3110ebc2ca2a97328a5e074f558429778cac71a0f0d58a38a0e3e967dc1785bc502deb0ca1a2fcc4ade8f50e5dd1c5701d  lua-luv-1.44.2-1.tar.gz
de720e872a45aaa9d104b7646f5aee63e44d5ccfcd4b74c804a71c762dd5fe9e9f735bb82aa45e1d4631bf065f6a407fd09fbed7fc29e02e8aa756077fb71d94  disable-udp-test.patch
"