# Template file for 'fwupd'
pkgname=fwupd
version=1.4.6
revision=2
build_style=meson
build_helper="gir"
# tests require unpackaged umockdev
configure_args="-Dconsolekit=false -Dgtkdoc=true -Dintrospection=true
 -Dsystemd=false -Dplugin_altos=false -Dtests=false
 -Dpkcs7=false -Db_lto=false -Defi-includedir=${XBPS_CROSS_BASE}/usr/include/efi
 -Defi-ldsdir=${XBPS_CROSS_BASE}/usr/lib -Defi-ld=${XBPS_CROSS_BASE}/usr/bin/ld
 -Defi-libdir=${XBPS_CROSS_BASE}/usr/lib -Delogind=true
 $(vopt_bool uefi plugin_uefi) $(vopt_bool uefi plugin_redfish)
 $(vopt_bool dell plugin_dell)"
hostmakedepends="dejavu-fonts-ttf gnutls-tools help2man pkg-config gcab
 vala glib-devel polkit gettext gtk-doc $(vopt_if uefi efivar)"
makedepends="libxmlb-devel cairo-devel colord-devel libarchive-devel
 gnutls-devel gpgme-devel json-glib-devel libgusb-devel polkit-devel
 sqlite-devel libsoup-devel gcab-devel pango-devel python3-gobject
 python3-Pillow elogind-devel tpm2-tss-devel libjcat-devel
 $(vopt_if uefi 'libefivar-devel gnu-efi-libs') $(vopt_if dell libsmbios-devel)"
depends="udisks2"
conf_files="
 /etc/fwupd/daemon.conf
 /etc/fwupd/remotes.d/*.conf"
short_desc="Daemon to allow session software to update firmware"
maintainer="Érico Nogueira <ericonr@disroot.org>"
license="LGPL-2.1-or-later"
homepage="https://github.com/hughsie/fwupd"
distfiles="https://github.com/hughsie/fwupd/archive/${version}.tar.gz"
checksum=2e70a4221e6ca09dae768af25f19fddcdbdafb9f7d7984d19e8686846fa4420a
replaces="fwupdate>=0"

build_options="uefi dell"
desc_option_uefi="Enable support for UEFI firmware update"
desc_option_dell="Enable support for Dell specific firmware update"

# no efi on non-efi platforms
case "$XBPS_TARGET_MACHINE" in
	x86_64*|i686*)
		build_options_default="uefi dell"
		;;
	aarch64*|arm*)
		build_options_default="uefi"
		;;
esac

if [ "$CROSS_BUILD" ]; then
	configure_args+=" -Defi-cc=/usr/bin/${XBPS_CROSS_TRIPLET}-gcc"

	configure_args+=" -Dman=false"
	# steal man pages from native package
	hostmakedepends+=" fwupd"
else
	configure_args+=" -Dman=true"
fi

pre_configure() {
	# Replace the values from our patch into the system itself
	vsed -i -e "s|@XBPS_CROSS_BASE@|${XBPS_CROSS_BASE}|g" meson.build
	# Replace host objcopy with the cross one
	vsed -i -e "s|command -v objcopy|command -v ${XBPS_CROSS_BASE}/usr/bin/objcopy|" plugins/uefi/efi/generate_binary.sh
}

post_install() {
	if [ "$CROSS_BUILD" ]; then
		for _page in dbxtool dfu-tool fwupdagent fwupdate fwupdmgr fwupdtool fwupdtpmevlog
		do
			vman /usr/share/man/man1/$_page.1
		done
	fi
}

fwupd-devel_package() {
	depends="${sourcepkg}>=${version}_${revision} libglib-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		vmove usr/share/gir-1.0
		vmove usr/share/vala
		vmove usr/share/gtk-doc
	}
}
