aboutsummaryrefslogtreecommitdiffstats
path: root/testing/jool/APKBUILD
blob: f640b3e7a3db04a34be7e06b894d2023ed45803a (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
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer:

# jool version
# when changing _ver we *must* bump _rel!
_name=jool
_ver=4.0.6
_rel=1

# for custom kernels set $FLAVOR
_flavor="$FLAVOR"
_extra_flavors=""
if [ -z "$FLAVOR" ]; then
	_flavor=vanilla
	case $CARCH in
		x86 | x86_64) _extra_flavors="virt";;
	esac
fi

# kernel verson
_kpkg=linux-$_flavor
_kver=4.19.80
_krel=0

_kpkgver="$_kver-r$_krel"
_kabi="$_kver-$_krel-$_flavor"

pkgname=$_name-$_flavor
pkgver=$_kver
pkgrel=$(( $_krel + $_rel ))
pkgdesc="SIIT and NAT64 for Linux (kernel modules for $_flavor)"
url="https://jool.mx"
arch="all"
license="GPL-2.0-or-later"
depends="$_kpkg=$_kpkgver"
makedepends="$_kpkg-dev=$_kpkgver linux-headers"
install_if="$_kpkg=$_kpkgver $_name"
subpackages=""
source="https://github.com/NICMx/Jool/releases/download/v$_ver/$_name-$_ver.tar.gz"
builddir="$srcdir/$_name-$_ver"
options="!check"

for _f in $_extra_flavors; do
	makedepends="$makedepends linux-$_f-dev=$_kpkgver"
	subpackages="$subpackages $_name-$_f:_extra"
done

prepare() {
	default_prepare

	if [ -z "$FLAVOR" ]; then
		(	. "$startdir"/../../main/linux-$_flavor/APKBUILD
			[ "$_kver" != "$pkgver" ] && die "please update _kver to $pkgver"
			[ "$_krel" != "$pkgrel" ] && die "please update _krel to $pkgrel"
			return 0
		)
	fi

	local flavor; for flavor in $_flavor $_extra_flavors; do
		cp -r "$builddir" "$srcdir"/$flavor
	done
}

build() {
	unset LDFLAGS

	local flavor; for flavor in $_flavor $_extra_flavors; do
		make -C "$srcdir"/"$flavor"/src/mod \
			MODULES_DIR="/lib/modules/$_kver-$_krel-$flavor"
	done
}

package() {
	_modules_install "$_flavor" "$pkgdir"
}

_extra() {
	local flavor=${subpkgname##*-}
	depends="linux-$flavor=$_kpkgver"
	install_if="linux-$flavor=$_kpkgver $_name"
	pkgdesc="SIIT and NAT64 for Linux (kernel modules for $flavor)"

	_modules_install "$flavor" "$subpkgdir"
}

_modules_install() {
	local flavor="$1"
	local destdir="$2"

	make -C "$srcdir"/$flavor/src/mod modules_install \
		MODULES_DIR=/lib/modules/$_kver-$_krel-$flavor \
		INSTALL_MOD_PATH="$destdir"
}

sha512sums="8648cc876d801b34c4bc9616da642727d1e49ed2937daa7fdca58c0fd80dbd1c432018af410c44c1d24224aba5289f726f43adc259cdf8193832d39a86d0f6a6  jool-4.0.6.tar.gz"