# 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 libsmbios, efivar, fwupd-efi
#  - remove makedepends on valgrind, gnu-efi-libs, tpm2-tss
#  - meson with -Dplugin_dell=disabled (smbios dependency)
#  - 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=disabled
#  - replace efi_sbat_distro_url with ALARM URL
#  - remove makedepend on pandoc, meson with -Dman=false

pkgname=fwupd
pkgver=1.8.14
pkgrel=1
pkgdesc="Simple daemon to allow session software to update firmware"
arch=(x86_64)
url="https://github.com/fwupd/fwupd"
license=(LGPL)
depends=(libxmlb python libgusb
         polkit shared-mime-info tpm2-tss flashrom
         libjcat gcab hicolor-icon-theme
         bluez gnutls
         libarchive.so libcurl.so libcbor.so
         libjson-glib-1.0.so libgudev-1.0.so libmm-glib.so
         libqmi-glib.so libprotobuf-c.so)
optdepends=(
    'udisks2: UEFI firmware upgrade support'
)
makedepends=(meson gobject-introspection gi-docgen
             python-cairo noto-fonts noto-fonts-cjk python-gobject vala
             bash-completion python-pillow)
checkdepends=(umockdev)
provides=(libfwupd.so)
backup=('etc/fwupd/daemon.conf'
        'etc/fwupd/redfish.conf'
        'etc/fwupd/remotes.d/dell-esrt.conf'
        'etc/fwupd/remotes.d/fwupd-tests.conf'
        'etc/fwupd/remotes.d/lvfs-testing.conf'
        'etc/fwupd/remotes.d/lvfs.conf'
        'etc/fwupd/remotes.d/vendor-directory.conf'
        'etc/fwupd/remotes.d/vendor.conf'
        'etc/fwupd/thunderbolt.conf'
        'etc/fwupd/uefi_capsule.conf'
)
source=("https://github.com/fwupd/fwupd/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc})
sha512sums=('80669f1c8ca60ac646f9a7aa4028edd23d1fc6853d999f60d292fabbfc81733f06b1f76a2987f0af62a739aa2cf5cc75fc40c9283fd37f4d8157f1a08df6fcd2'
            'SKIP')
b2sums=('6d17ee9ce1fb46a9d0a8a97d54f1873888635805af00a05ad365b32d48d6e58b48b52d706400067ca8cf6f6b846f6b8799c44d66ec64ab2fca5812b199ac2ac5'
        'SKIP')
validpgpkeys=(163EB50119225DB3DF8F49EA17ACBA8DFA970E17) # Richard Hughes <richard@hughsie.com>

build() {
    arch-meson ${pkgname}-${pkgver} build \
        -D b_lto=false \
        -D docs=enabled \
        -D plugin_intel_spi=false \
        -D supported_build=enabled \
        -D efi_binary=false \
        -Dplugin_dell=disabled -Dplugin_uefi_capsule=disabled -Dplugin_uefi_pk=disabled -Dplugin_redfish=disabled -Dplugin_nvme=disabled -Dplugin_msr=disabled -Dman=false
    meson compile -C build
}

check() {
    meson test -C build
}

package() {
    DESTDIR="${pkgdir}" meson install -C build
    # Fixup mode to match polkit
    install -d -o root -g 102 -m 750 "${pkgdir}"/usr/share/polkit-1/rules.d
    # Remove the tests
    rm -r "${pkgdir}"/usr/share/installed-tests/
    #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 -f "${pkgdir}"/usr/lib/modules-load.d/fwupd-msr.conf
    rm -rf "${pkgdir}"/usr/lib/modules-load.d
}