aports/community/fwupd/APKBUILD

153 lines
3.2 KiB
Text

# Contributor: Timo Teräs <timo.teras@iki.fi>
maintainer="fossdd <fossdd@pwned.life>"
pkgname=fwupd
pkgver=2.0.11
pkgrel=0
pkgdesc="Firmware update daemon"
url="https://fwupd.org/"
# armhf, ppc64le and s390x blocked by gnu-efi/fwupd-efi
arch="all !armhf !ppc64le !s390x"
license="LGPL-2.1-or-later"
depends="dbus hwdata-usb"
makedepends="
cairo-dev
curl-dev
efivar-dev
elfutils-dev
elogind-dev
eudev-dev
flashrom-dev
font-opensans
fontconfig-dev
freetype-dev
glib-dev
gnu-efi-dev
gnutls-dev
gnutls-utils
gobject-introspection-dev
gpgme-dev
help2man
json-glib-dev
libarchive-dev
libcbor-dev
libdrm-dev
libgcab-dev
libgusb-dev
libjcat-dev
libmbim-dev
libqmi-dev
libxmlb-dev
linux-headers
meson
modemmanager-dev
polkit-dev
protobuf-c-dev
py3-cairo
py3-gobject3
py3-jinja2
py3-markdown
py3-pillow
py3-setuptools
python3
tpm2-tss-dev
tpm2-tss-esys
vala
"
checkdepends="
bubblewrap
umockdev
"
subpackages="
$pkgname-dbg
$pkgname-dev
$pkgname-doc
$pkgname-fish-completion
$pkgname-lang
$pkgname-openrc
$pkgname-polkit
$pkgname-tests
"
source="https://github.com/fwupd/fwupd/releases/download/$pkgver/fwupd-$pkgver.tar.xz
$pkgname.initd
$pkgname.confd
elogind.patch
"
# libsmbios is a library for DELL devices which are x86/x86_64-only
case "$CARCH" in
x86*)
makedepends="$makedepends libsmbios-dev"
;;
*) ;;
esac
case "$CARCH" in
x86*|aarch64)
# fwupd-efi needed for uefi-capsule
makedepends="$makedepends fwupd-efi-dev"
subpackages="$subpackages $pkgname-grub"
;;
*) ;;
esac
build() {
abuild-meson \
-Db_lto=true \
-Dfirmware-packager=true \
-Ddocs=disabled \
-Dhsi=enabled \
-Dlvfs=true \
-Dman=true \
-Dsystemd=disabled \
-Delogind=enabled \
-Dtests=true \
. output
meson compile -C output
}
check() {
# tests fail if usb is not available
[ -e /dev/bus/usb ] || return 0
meson test --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
grub() {
pkgdesc="$pkgdesc (grub integration)"
depends=""
install_if="$pkgname=$pkgver-r$pkgrel grub"
amove etc/grub.d
}
polkit() {
pkgdesc="$pkgdesc (polkit integration)"
depends=""
install_if="$pkgname=$pkgver-r$pkgrel polkit"
amove usr/share/polkit-1
}
tests() {
pkgdesc="$pkgdesc (data files for installed tests)"
depends=""
amove usr/share/fwupd/host-emulate.d/*.json.gz
amove usr/share/installed-tests
amove usr/libexec/installed-tests
amove usr/share/fwupd/remotes.d/fwupd-tests.conf
}
sha512sums="
5e832c92ac00f76d2b2eab789872d8f36defc4b3298694e1e7abd97cec8eac576b9b64db1ef9491e30858c43158b7f3e378470e23cc77083bbaced5a0a07931b fwupd-2.0.11.tar.xz
2c34891ec273aa1a4d105602cd5e99add5a17d6e240fa93a015d5bb2e11e54937b04781de2a854c472be376524b50fc5bb48edf7b875afb54e3ca07dcda117b0 fwupd.initd
0bf773a2c52b0306e99e5192d259f38cce8a25487e95a41b6e0200a1ed629235971795a1f9ba12a633cd902671d888610695658f2cc2c750e2afca70f87ee589 fwupd.confd
06ea147f77f9fcdf3759c00bdb8d33d357184f3889003c8fcd59e67965740da78cb1329a3af7caed3f7c8266f92cde75c36cee64d76e08f77f218bfba86ce981 elogind.patch
"