aports/community/jool-modules-lts/APKBUILD

101 lines
2.5 KiB
Plaintext

# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
# Jool version
# Keep _ver in sync with community/jool-tools!
# When changing _ver we *must* bump _rel!
_name=jool-modules
_ver=4.1.9
_rel=1
# For custom kernels set $FLAVOR.
_flavor="$FLAVOR"
_extra_flavors=""
if [ -z "$FLAVOR" ]; then
_flavor=lts
case $CARCH in
x86 | x86_64) _extra_flavors="virt";;
esac
fi
# Kernel version
# Keep in sync with main/linux-lts!
# When changing _kver/_krel make sure _rel=0
_kpkg=linux-$_flavor
_kver=6.1.27
_krel=2
_kpkgver="$_kver-r$_krel"
pkgname=$_name-$_flavor
pkgver=$_kver
pkgrel=$(( _krel + _rel ))
pkgdesc="SIIT and NAT64 for Linux (kernel modules for linux-$_flavor)"
url="https://jool.mx"
arch="all !armhf !riscv64"
license="GPL-2.0-or-later"
depends="$_kpkg=$_kpkgver"
makedepends="$_kpkg-dev=$_kpkgver linux-headers"
install_if="$_kpkg=$_kpkgver jool-tools"
source="https://github.com/NICMx/Jool/releases/download/v$_ver/jool-$_ver.tar.gz"
builddir="$srcdir/jool-$_ver"
options="!check" # no tests provided
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
# building common first appears to fix a parallell build issue.
make -C "$srcdir"/"$flavor"/src/mod/common \
MODULES_DIR="/lib/modules/$_kver-$_krel-$flavor"
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 jool-tools"
pkgdesc="SIIT and NAT64 for Linux (kernel modules for linux-$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="
469b0f39821ede3852ce33f46b2ea5af78a426f3c2852b330dcf546ccd1326ec6b7bc36ab371c7e3e44d987596967c3ff60f13f5a2cf54a9b3432377b0ea9819 jool-4.1.9.tar.gz
"