PKGBUILDs/extra/fwupd/PKGBUILD
2024-10-13 12:16:57 +00:00

165 lines
4.7 KiB
Bash

# Maintainer: Bruno Pagani <archange@archlinux.org>
# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Mirco Tischler <mt-ml at gmx dot de>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove depends on fwupd-efi, tmp2-tss
# - remove makedepends on valgrind, gnu-efi-libs, libdrm (amdgpu dependency)
# - meson with -Dplugin_uefi_capsule=disabled -Dplugin_uefi_pk=disabled -Dplugin_redfish=disabled -Dplugin_nvme=disabled (gnu-efi-libs dependency)
# - meson with -Dplugin_msr=disabled
# - meson with -Dplugin_amdgpu=disabled
# - remove makedepend on pandoc, meson with -Dman=false
# - disable tests, failing in chroot
# - move umockdev to makedepends
pkgbase=fwupd
pkgname=(
fwupd
fwupd-docs
)
pkgver=2.0.0
pkgrel=1
pkgdesc="Simple daemon to allow session software to update firmware"
arch=(x86_64)
url='https://github.com/fwupd/fwupd'
license=(LGPL-2.1-or-later)
depends=(
bash
bluez
curl
flashrom
gcc-libs
glib2
glibc
gnutls
hicolor-icon-theme
json-glib
libarchive
libcbor
libjcat
libmbim
libmm-glib
libqmi
libusb
libxmlb
passim
polkit
protobuf-c
python
shared-mime-info
sqlite
systemd-libs
xz
zlib
)
makedepends=(
bash-completion
gi-docgen
gobject-introspection
meson
noto-fonts
noto-fonts-cjk
python-cairo
python-dbus
python-gobject
python-pillow
vala
umockdev
)
checkdepends=(
python-dbusmock
)
source=(
"https://github.com/fwupd/fwupd/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc}
fwupd.sysusers
fix-2.0.0-build.patch::https://github.com/fwupd/fwupd/commit/9637c35339111d92add461fc3ad2a032e90abc9c.patch
)
sha512sums=('5558bfb53128bb13a8e6802bb663043877b65509fbb37f6abbc23713f9414e888f0fa4be9a4bcef2a971c6a6d819342cbb2044efd7af8c9d7c43b34b3ffd04a3'
'SKIP'
'637203080b55eda74a659f58c853a9a723a2dad5da70915b2b0e036c6145a649468ebec700cc83975d9cb5378b9dced8b3a3b26bdbcc75ddc774837355e75deb'
'2a29ae3e41b5ee871ffa5a183595734ac5ef47c033f59a8d798d0c5dc773eb71e941074c5c4b918dca8329fb9262136e803f9bb2deba2f06349c51ef9aca2e21')
b2sums=('4563abe4d61e929573fcab478e0c94f7568f476f315ea9a9b2c4162776d309cd7985d1fb4a1c1c62d95ee4bfeddab7264ed2a63b543572236ca76323a009d28a'
'SKIP'
'e65ca7da22a20a40882cfc1fe4479643f9a38c90a4f2c3e71e6e5e3de1d6db212a0f17d600097619fe3cdb0a9b860422f8b0b9a9d45441518e51a7eb12a918bb'
'c03a978e6558d039257219c16e385acd2b6e3c0e1b640f1793e8642a5ebd1ffe22397b48829090ea5dd5740e1e2ff034d9011d1fab4573a43e6ab12ba0e43685')
validpgpkeys=(163EB50119225DB3DF8F49EA17ACBA8DFA970E17) # Richard Hughes <richard@hughsie.com>
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 < ../fix-2.0.0-build.patch
}
build() {
local meson_options=(
-D docs=enabled
-D efi_binary=false
-D launchd=disabled
-D plugin_amdgpu=disabled
-D supported_build=enabled
-D systemd_unit_user=fwupd
-Dplugin_uefi_capsule=disabled -Dplugin_uefi_pk=disabled -Dplugin_redfish=disabled -Dplugin_nvme=disabled -Dplugin_msr=disabled -Dman=false -Dtests=false
)
arch-meson ${pkgname}-${pkgver} build "${meson_options[@]}"
}
check() {
meson test -C build --print-errorlogs
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_fwupd() {
depends+=(
libarchive.so
libcbor.so
libcurl.so
libgudev-1.0.so
libjson-glib-1.0.so
libmm-glib.so
libpassim.so
libprotobuf-c.so
libqmi-glib.so
)
optdepends=(
'python-dbus: Firmware packaging tools'
'python-gobject: Firmware packaging tools'
'udisks2: UEFI firmware upgrade support'
)
provides=(libfwupd.so)
backup=(
'etc/fwupd/fwupd.conf'
'etc/fwupd/remotes.d/lvfs-testing.conf'
'etc/fwupd/remotes.d/lvfs.conf'
'etc/fwupd/remotes.d/vendor-directory.conf'
)
meson install -C build --destdir "${pkgdir}"
# Add fwupd user https://bugs.archlinux.org/task/79653
install -D -m644 fwupd.sysusers "${pkgdir}"/usr/lib/sysusers.d/fwupd.conf
# Remove the tests
rm -rf "${pkgdir}"/usr/{lib,share}/installed-tests/
# Conflicts with the dbxtool package
mv "${pkgdir}"/usr/bin/{,fwupd-}dbxtool
#mv "${pkgdir}"/usr/share/man/man1/{,fwupd-}dbxtool.1
# Remove msr module-load config as it is built-in
#rm "${pkgdir}"/usr/lib/modules-load.d/fwupd-msr.conf
#rmdir "${pkgdir}"/usr/lib/modules-load.d
_pick docs "${pkgdir}"/usr/share/doc/{,fwupd/}{libfwupdplugin,libfwupd}
}
package_fwupd-docs() {
pkgdesc="Simple daemon to allow session software to update firmware - documentation"
depends=()
mv docs/* "${pkgdir}"
}