# Maintainer: Bruno Pagani # Maintainer: Filipe LaĆ­ns (FFY00) # Maintainer: Frederik Schwan # Contributor: Mirco Tischler # ALARM: Kevin Mihelich # - remove depends on libsmbios, efivar, fwupd-efi, tmp2-tss # - remove makedepends on valgrind, gnu-efi-libs # - meson with -Dplugin_uefi_capsule=disabled -Dplugin_uefi_pk=disabled -Dplugin_redfish=disabled -Dplugin_nvme=disabled (efivar, gnu-efi-libs dependency) # - meson with -Dplugin_msr=disabled # - meson with -Dplugin_intel_spi=false # - remove makedepend on pandoc, meson with -Dman=false pkgbase=fwupd pkgname=( fwupd fwupd-docs ) pkgver=1.9.17 pkgrel=2 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 gcab gcc-libs glib2 glibc gnutls hicolor-icon-theme json-glib libarchive libcbor libgudev libgusb libjcat libmbim libmm-glib libqmi 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 ) checkdepends=(umockdev) source=( "https://github.com/fwupd/fwupd/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc} fwupd.sysusers 0001-Use-simple-allow-listing-for-the-syscall-filter.patch ) sha512sums=('7aa0e24915d51858e1fcd3f04b9c2162d084654991809ce7c19154c8e392a97a4012a967083c171c123b77d0c6174331b8763f1668f499b767c05abdd4a5578d' 'SKIP' '637203080b55eda74a659f58c853a9a723a2dad5da70915b2b0e036c6145a649468ebec700cc83975d9cb5378b9dced8b3a3b26bdbcc75ddc774837355e75deb' '2fcec451c4e48ffaeb880668ea916dc55066da9574c9f44c6b731cfd7365a77605e25543c67202adaac7fb466c5060cdb636e81d9b6248903de6c4c5dfd255c2') b2sums=('2fb5b8c058bdee887fd5fe74451bb08923a4b2f906073c714cd7d9e9b2c45872334f1e2729135f5fe016b459c1440dd084f39ffdf4f45fa14df669c7cbf349b7' 'SKIP' 'e65ca7da22a20a40882cfc1fe4479643f9a38c90a4f2c3e71e6e5e3de1d6db212a0f17d600097619fe3cdb0a9b860422f8b0b9a9d45441518e51a7eb12a918bb' '0fd942b3dcb9ee720c2dad647e942fe57e61d7e8d06ee891cc3de773c0de01d80c96bdd146c9e5faaf70e9dcf74118e788033910e3b3c9e5818d23b6b2256b20') validpgpkeys=(163EB50119225DB3DF8F49EA17ACBA8DFA970E17) # Richard Hughes prepare() { cd ${pkgname}-${pkgver} # Unbreak syscall filtering check # https://gitlab.archlinux.org/archlinux/packaging/packages/fwupd/-/issues/1 # https://github.com/fwupd/fwupd/issues/7144#issuecomment-2070886920 patch -Np1 -i ../0001-Use-simple-allow-listing-for-the-syscall-filter.patch } build() { local meson_options=( -D docs=enabled -D efi_binary=false -D launchd=disabled -D plugin_amdgpu=disabled -D plugin_intel_spi=false -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 ) 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 -r "${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}" }