Same string as the kernel commit, for the three compiled aports this image builds itself: -march=armv8.6-a+fp16fml+aes+sha3+sm4 -mtune=cortex-a720 appended to CFLAGS (and CXXFLAGS for libcamera). abuild builds these with Alpine's GCC; the string is gcc's own -march=native expansion on the phone re-based on armv8.6-a, and it assembles on GCC 15 with binutils 2.45.1 and on GCC 16 (whose -mcpu=cortex-a720 expansion binutils 2.45 rejects). On the phone itself gcc -flto, g++ and clang all compile, link and run it. The base stops at 8.6 on purpose: this phone exposes neither SVE nor MTE (userspace autovectorised for SVE2 would SIGILL), and not WFxT either. pkgrel bumps so apk upgrade delivers the rebuilt binaries.
77 lines
2.4 KiB
Text
77 lines
2.4 KiB
Text
# fp6-img fork of Alpine community/libqmi: snapshot bumped to upstream main
|
|
# just past the !470 merge (LOC Register Events client-identification TLVs,
|
|
# half of working GNSS on the FP6) - which also provides the qmi-glib 1.39.1
|
|
# our modemmanager patches require. Drop when Alpine's snapshot catches up.
|
|
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
|
|
maintainer="Achill Gilgenast <achill@achill.org>"
|
|
pkgname=libqmi
|
|
pkgver=1.39.1_git20260808
|
|
_commit=30f3e998e6cbda364ac1bc73223de20561e6d555
|
|
pkgrel=101
|
|
pkgdesc="QMI modem protocol helper library"
|
|
url="https://www.freedesktop.org/wiki/Software/libqmi"
|
|
arch="all"
|
|
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
|
makedepends="
|
|
bash-completion-dev
|
|
glib-dev
|
|
gobject-introspection-dev
|
|
help2man
|
|
libgudev-dev
|
|
libmbim-dev
|
|
libqrtr-glib-dev
|
|
linux-headers
|
|
meson
|
|
python3
|
|
"
|
|
# fp6-img: crossdirect breaks meson compiler introspection (cc1 spawn
|
|
# failure), same as modemmanager; build under plain qemu.
|
|
options="!pmb:crossdirect"
|
|
# fp6-img: this package only ever runs on the FP6 (4x Cortex-A520 + 4x
|
|
# Cortex-A720), so build for it. armv8.6-a is the highest level whose
|
|
# mandatory set the phone exposes (8.7 would assume WFxT, 9.x SVE2; neither
|
|
# is in its hwcaps); +fp16fml+aes+sha3+sm4 are the optional extensions it
|
|
# has, the same set `gcc -march=native` derives on the phone. One spelling
|
|
# for gcc and clang, and the same string the kernel aport uses.
|
|
export CFLAGS="$CFLAGS -march=armv8.6-a+fp16fml+aes+sha3+sm4 -mtune=cortex-a720"
|
|
subpackages="
|
|
$pkgname-dev
|
|
$pkgname-doc
|
|
$pkgname-bash-completion
|
|
qmi-utils
|
|
"
|
|
#source="https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$pkgver/libqmi-$pkgver.tar.gz"
|
|
# fp6-img: local tarball, generated by build.sh from a git clone — fd.o's
|
|
# archive endpoint 504s for hours at a stretch (killed CI runs 27/30/31)
|
|
source="libqmi-$_commit.tar.gz
|
|
"
|
|
builddir="$srcdir/$pkgname-$_commit"
|
|
|
|
build() {
|
|
abuild-meson \
|
|
-Db_lto=true \
|
|
. output
|
|
meson compile -C output
|
|
}
|
|
|
|
check() {
|
|
local tests=$(meson test --list -C output)
|
|
case "$CARCH" in
|
|
s390x) tests=${tests//test-message} ;;
|
|
esac
|
|
meson test --print-errorlogs -C output $tests
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" meson install --no-rebuild -C output
|
|
}
|
|
|
|
utils() {
|
|
pkgdesc="$pkgdesc (CLI utilities)"
|
|
|
|
amove usr/bin
|
|
}
|
|
|
|
sha512sums="
|
|
fc178689675b47faaa46c14b126dc054354044238ea00464b4cc4910c5f2c73faaa12d80a5219fbfad65ab575e38f7af3fd79ae7974ea80ed67bfffe027b85c3 libqmi-cff17a676e10d75081516dafa997fe9bc9043c38.tar.gz
|
|
"
|