diff --git a/srcpkgs/fwupd/patches/fix-cross.patch b/srcpkgs/fwupd/patches/fix-cross.patch new file mode 100644 index 0000000000..6bff6ffdbe --- /dev/null +++ b/srcpkgs/fwupd/patches/fix-cross.patch @@ -0,0 +1,54 @@ +diff --git a/meson.build b/meson.build +index d7c21fa..fcf8dae 100644 +--- meson.build ++++ meson.build +@@ -237,9 +237,15 @@ if get_option('plugin_uefi') + gnu_efi_arch = '' + endif + conf.set_quoted('EFI_MACHINE_TYPE_NAME', EFI_MACHINE_TYPE_NAME) +- r = run_command([python3, 'po/test-deps']) ++ if meson.is_cross_build() ++ qemu = '/usr/bin/qemu-' + gnu_efi_arch + '-static' ++ qemu_python3_cmd = qemu + ' -L @XBPS_CROSS_BASE@ @XBPS_CROSS_BASE@/bin/python3' ++ r = run_command('sh', '-c', qemu_python3_cmd + ' po/test-deps') ++ else ++ r = run_command([python3, 'po/test-deps']) ++ endif + if r.returncode() != 0 +- error(r.stdout()) ++ error(r.stderr()) + endif + endif + +diff --git a/po/meson.build b/po/meson.build +index 6e78d2e..36d9989 100644 +--- po/meson.build ++++ po/meson.build +@@ -5,6 +5,12 @@ i18n.gettext(meson.project_name(), + ] + ) + ++if meson.is_cross_build() ++ python3_cmd = qemu_python3_cmd ++else ++ python3_cmd = python3.path() ++endif ++ + if get_option('plugin_uefi') +-meson.add_install_script('make-images.sh', localedir, python3.path()) ++meson.add_install_script('make-images.sh', localedir, python3_cmd) + endif +diff --git po/make-images.sh po/make-images.sh +index b5b95ba..04999bf 100755 +--- po/make-images.sh ++++ po/make-images.sh +@@ -7,7 +7,7 @@ + # + + LOCALEDIR=${DESTDIR}$1 +-PYTHON3=$2 ++PYTHON3="$2" + + install -m 0755 -d $LOCALEDIR + ${PYTHON3} ${MESON_SOURCE_ROOT}/po/make-images "Installing firmware update…" $LOCALEDIR ${MESON_SOURCE_ROOT}/po/LINGUAS + diff --git a/srcpkgs/fwupd/patches/fix-systemd-breakage.patch b/srcpkgs/fwupd/patches/fix-systemd-breakage.patch deleted file mode 100644 index 59af1857ce..0000000000 --- a/srcpkgs/fwupd/patches/fix-systemd-breakage.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- data/meson.build -+++ data/meson.build -@@ -30,12 +30,12 @@ if get_option('daemon') - ) - endif - --if get_option('systemd') -- con2 = configuration_data() -- con2.set('libexecdir', libexecdir) -- con2.set('bindir', bindir) -- con2.set('datadir', datadir) -+con2 = configuration_data() -+con2.set('libexecdir', libexecdir) -+con2.set('bindir', bindir) -+con2.set('datadir', datadir) - -+if get_option('systemd') - rw_directories = [] - rw_directories += join_paths (localstatedir, 'lib', 'fwupd') - rw_directories += join_paths (default_sysconfdir, 'fwupd', 'remotes.d') -@@ -57,17 +57,20 @@ if get_option('systemd') - endif - con2.set('dynamic_options', '\n'.join(dynamic_options)) - -- # replace @libexecdir@ -- configure_file( -- input : 'org.freedesktop.fwupd.service.in', -- output : 'org.freedesktop.fwupd.service', -- configuration : con2, -- install: true, -- install_dir: join_paths(datadir, -- 'dbus-1', -- 'system-services'), -- ) -+endif - -+# replace @libexecdir@ -+configure_file( -+ input : 'org.freedesktop.fwupd.service.in', -+ output : 'org.freedesktop.fwupd.service', -+ configuration : con2, -+ install: true, -+ install_dir: join_paths(datadir, -+ 'dbus-1', -+ 'system-services'), -+) -+ -+if get_option('systemd') - # replace @bindir@ - configure_file( - input : 'fwupd-offline-update.service.in', diff --git a/srcpkgs/fwupd/template b/srcpkgs/fwupd/template index cca8aed695..c0f4699853 100644 --- a/srcpkgs/fwupd/template +++ b/srcpkgs/fwupd/template @@ -1,31 +1,52 @@ # Template file for 'fwupd' pkgname=fwupd -version=1.2.4 +version=1.2.5 revision=1 build_style=meson +build_helper="gir" # manpages fail to build # tests require unpackaged umockdev configure_args="-Dconsolekit=false -Dgtkdoc=false -Dintrospection=true -Dsystemd=false -Dplugin_altos=false -Dtests=false -Dman=false - -Dpkcs7=false -Db_lto=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" hostmakedepends="dejavu-fonts-ttf gnutls-tools help2man pkg-config gcab - gobject-introspection python3-Pillow" + vala glib-devel polkit" makedepends="libxmlb-devel cairo-devel colord-devel libarchive-devel gnutls-devel gpgme-devel json-glib-devel libgusb-devel polkit-devel - python3-gobject sqlite-devel libsoup-devel gcab-devel pango-devel" + sqlite-devel libsoup-devel gcab-devel pango-devel python3-gobject + python3-Pillow" short_desc="Daemon to allow session software to update firmware" maintainer="maxice8 " license="LGPL-2.1-or-later" homepage="https://github.com/hughsie/fwupd" distfiles="https://github.com/hughsie/fwupd/archive/${version}.tar.gz" -checksum=ffb2d1b5b1d334182b25d40ff6d1541444783abe24771629a0a661057f0f3a16 -nocross="depends on python3-gobject whether or not introspection is enabled" -conf_files="/etc/dbus-1/system.d/org.freedesktop.fwupd.conf - /etc/fwupd/daemon.conf /etc/fwupd/remotes.d/*.conf" +checksum=d65ea134f1b60ce5b11bf0224e3ec477be3eb01c3435d1364a40ea5403400e8c + +conf_files=" + /etc/dbus-1/system.d/org.freedesktop.fwupd.conf + /etc/fwupd/daemon.conf + /etc/fwupd/remotes.d/*.conf" + +if [ "$CROSS_BUILD" ]; then + configure_args+=" -Defi-cc=/usr/bin/${XBPS_CROSS_TRIPLET}-gcc" +fi case "$XBPS_TARGET_MACHINE" in - x86_64|i686) makedepends+=" libsmbios-devel" ;; - *-musl) configure_args+=" -Dplugin_dell=false" ;; + x86_64*|i686*) + makedepends+=" libsmbios-devel" + configure_args+=" -Dplugin_dell=true" + ;; + *) + configure_args+=" -Dplugin_dell=false" + ;; +esac + +case "$XBPS_TARGET_MACHINE" in + i686-musl|x86_64-musl) ;; + *-musl) broken="gobject introspection" ;; + *) ;; esac case "$XBPS_TARGET_MACHINE" in @@ -33,11 +54,17 @@ case "$XBPS_TARGET_MACHINE" in configure_args+=" -Dplugin_uefi=false" configure_args+=" -Dplugin_redfish=false" configure_args+=" -Dplugin_nvme=false" - configure_args+=" -Dplugin_dell=false" ;; *) makedepends+=" gnu-efi-libs libefivar-devel" ;; esac +pre_configure() { + if [ "$CROSS_BUILD" ]; then + # Replace the values from our patch into the system itself + sed -i -e "s|@XBPS_CROSS_BASE@|${XBPS_CROSS_BASE}|g" meson.build + fi +} + fwupd-devel_package() { depends="${sourcepkg}>=${version}_${revision} libglib-devel" short_desc+=" - development files"