aboutsummaryrefslogtreecommitdiffstats
path: root/main/luajit/APKBUILD
blob: 5a7f42231de09ef3d0f9ec4166e7f3b9f8b521c7 (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
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
pkgname=luajit
_pkgname=luajit2
pkgver=2.1_p20230410
_pkgver=${pkgver/_p/-}
pkgrel=3
_gitrev_tests=1fa1f103f9235e22aac5331fe04b267ee7be6206
pkgdesc="OpenResty's branch of LuaJIT"
url="https://github.com/openresty/luajit2"
# ppc64le: fails tests/not really supported
# riscv64 loongarch64: does not build/not supported
arch="all !ppc64le !riscv64 !loongarch64"
license="MIT"
checkdepends="
	perl
	perl-parallel-forkmanager
	sqlite-dev
	zlib-dev
	"
provides="lua"
# lower than 5.1
provider_priority=90
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/openresty/luajit2/archive/v$_pkgver/$_pkgname-$_pkgver.tar.gz
	https://github.com/openresty/luajit2-test-suite/archive/$_gitrev_tests/luajit2-test-suite-$_gitrev_tests.tar.gz
	fix-tests-alpine.patch
	module-paths.patch
	"
builddir="$srcdir/$_pkgname-$_pkgver"

prepare() {
	cp -Rl ../luajit2-test-suite-$_gitrev_tests test-suite

	default_prepare

	case "$CARCH" in
		# bit.tobit test failed (got 280328, expected 277312)
		arm*) rm test-suite/test/misc/bit_op.lua;;
		# 35: declaration specifier expected near '_Alignas' at line 882
		x86) rm test-suite/test/sysdep/ffi_include_std.lua;;
	esac
}

build() {
	# It's a language runtime, performance does matter. Users for whom disk
	# size is more important can use lua5.1 instead.
	export CFLAGS="${CFLAGS/-Os/-O2}"

	# These flags are recommended by OpenResty.
	local xcflags="-DLUAJIT_ENABLE_LUA52COMPAT -DLUAJIT_NUMMODE=2"

	make amalg PREFIX=/usr XCFLAGS="$xcflags"
}

check() {
	local prefix="$builddir/test-suite/target"
	mkdir -p "$prefix"

	make install PREFIX="$prefix"

	cd test-suite
	LUA52=1 ./run-tests "$prefix"
}

package() {
	make install DESTDIR="$pkgdir" PREFIX=/usr

	install -Dm644 COPYRIGHT \
		"$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT
}

sha512sums="
b861b4182f4e6814878a9de84ed5a864429a8b9a29f8d1b20b2ec5f42e8883214f3d04ee0e8d7f80e3e58debfedff7a8b6363310b74d926f5cfe7be13ce0892c  luajit2-2.1-20230410.tar.gz
9931f56998f89638e97ce60d9dab8e8e091d5001a576f7bb4125a8bf7c55cee391421fdf8c60c4454f2518c2865c9374e727ec24a09594b3edb08f2c100950d7  luajit2-test-suite-1fa1f103f9235e22aac5331fe04b267ee7be6206.tar.gz
684be4199634ac6e52183e98b65c9bcdc99217865c47b83a1f579a9f0e1ec55fb1a5fe8ae2f1293ac561c8c806aef269e451e3d73bf168ec20a4fd343c7a89d4  fix-tests-alpine.patch
9c6c410e142838c5128c70570e66beb53cc5422df5ecfb8ab0b5f362637b21ab5978c00f19bc1759165df162fd6438a2ed43e25020400011b7bb14014d87c62e  module-paths.patch
"