diff options
| -rw-r--r-- | sys-apps/fwupd/Manifest | 1 | ||||
| -rw-r--r-- | sys-apps/fwupd/files/fwupd-2.0.16-elogind.patch | 67 | ||||
| -rw-r--r-- | sys-apps/fwupd/fwupd-2.0.16.ebuild | 179 |
3 files changed, 247 insertions, 0 deletions
diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest index 97022a8ca6ca..ce7f9097164f 100644 --- a/sys-apps/fwupd/Manifest +++ b/sys-apps/fwupd/Manifest @@ -1,4 +1,5 @@ DIST fwupd-1.9.24.tar.xz 4305048 BLAKE2B 5ac7bbc5cdcee13a39fe25cd5b83dfbb9615e6349cd39e8b25cc654c0318870de603c1f6ce550da6662d3f9cd7d275cf6254058f6b71dcb9f7916329147ab771 SHA512 2f9935bbfc3ffc49bf0939a75dd52861eea9108d8f7026dbcdf4c07ad234f70f0b1cb6740eefe555dc2a49aba1ea4d65a78427aad7a0ba9de1fe318734255bfe DIST fwupd-2.0.1.tar.xz 4971220 BLAKE2B 44d95bae51cb299ab4130805f1a57ebfb0fd5ba8872b6679f5fdde46150cb245f25fdd888f47e57eb35842b6e34f105feefca2f90bb84950ad93748f9f294820 SHA512 bf4e1bdd9ebfc593490a0d5d6fd6e31718e89aff5bb0feda9babf235676e26bff0e6e751a5df96e884a9f86db11b40ad00b63c7a5385c3fa9ab89f7f154b945f DIST fwupd-2.0.14.tar.xz 4980572 BLAKE2B f3dfe427e9c01629e1dd3a860d305d3b60d094387b507b01de6f082041f7a13fd673eda650c7ddac7e353aaa41fdd476a67654a298632bc13895f7a5ab6d86bf SHA512 627ecf8f4951c22b6e497032de2a00d27af8d9348bf6f6ae49e8c89565eb0ee5a0b8ffc142717908955483090d6671de2e34297880138a31e87e11317fc5dbaf +DIST fwupd-2.0.16.tar.xz 4999552 BLAKE2B 219dea379cd716df4f8e4e33c602db576b166609d65f28ef87e53ed32555dfbf1867aad2f2e230462dc9528a922c978370930b16caf56b27de8508a6d50b4ea4 SHA512 c923b843f48aeb4a313504a9b7b56c66cbb845f7c9d809d9103e610bebc2b3aed891b913a43f1c4f543f978f2de87d9173e542a103a67fa20b868a916cd1bf46 DIST fwupd-2.0.3.tar.xz 5085932 BLAKE2B 82e5170c8f3771685f3c3bed9f02c934104f9953d6dc4eb00290f3a283305a30ae9cebab165c88725a016e86f5610d9699c5f86cc5acf7a32cc4454d82df7c84 SHA512 68321ecf655f12352fd12182e000d9295c3421015ae13012c37bd5e711a0e240a331a6ae5d17a42c2608be79f005e121470c77c28b5fae61fe3383c7579e2bfd diff --git a/sys-apps/fwupd/files/fwupd-2.0.16-elogind.patch b/sys-apps/fwupd/files/fwupd-2.0.16-elogind.patch new file mode 100644 index 000000000000..5badf97f9924 --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-2.0.16-elogind.patch @@ -0,0 +1,67 @@ +From 6b34109666bae2916bc20d43f291e95b1d285b3d Mon Sep 17 00:00:00 2001 +From: "John M. Harris Jr." <johnmh@johnmh.me> +Date: Sat, 6 Sep 2025 09:10:08 -0700 +Subject: [PATCH] Revert "Remove support for elogind" + +This reverts commit bbda9dec06674757da55ce6a241953c37553aaf9. +--- + meson.build | 6 ++++++ + meson_options.txt | 4 ++++ + plugins/logind/meson.build | 4 +++- + 3 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 3a16333..19db97b 100644 +--- a/meson.build ++++ b/meson.build +@@ -712,6 +712,11 @@ if libsystemd.found() + endif + endif + ++elogind = dependency('systemd', 'libelogind', required: get_option('elogind')) ++if elogind.found() ++ conf.set('HAVE_LOGIND' , '1') ++endif ++ + supported_build = get_option('supported_build').disable_auto_if(not tag).allowed() + if supported_build + conf.set('SUPPORTED_BUILD', '1') +@@ -923,6 +928,7 @@ summary( + 'dbus_socket_address': get_option('dbus_socket_address'), + 'vendor_ids_dir': vendor_ids_dir, + 'docs': build_docs, ++ 'elogind': elogind, + 'gnutls': gnutls, + 'introspection': introspection.allowed(), + 'libblkid': libblkid, +diff --git a/meson_options.txt b/meson_options.txt +index 40103c0..bf8e964 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -39,6 +39,10 @@ option('efi_os_dir', + type: 'string', + description: 'the hardcoded name of OS directory in ESP, e.g. fedora', + ) ++option('elogind', ++ type: 'feature', ++ description: 'elogind support', ++) + option('firmware-packager', + type: 'boolean', + value: true, +diff --git a/plugins/logind/meson.build b/plugins/logind/meson.build +index bd66fab..30b6073 100644 +--- a/plugins/logind/meson.build ++++ b/plugins/logind/meson.build +@@ -1,4 +1,4 @@ +-libsystemd.found() or subdir_done() ++if libsystemd.found() or elogind.found() + + cargs = ['-DG_LOG_DOMAIN="FuPluginLogind"'] + plugins += {meson.current_source_dir().split('/')[-1]: true} +@@ -12,3 +12,5 @@ plugin_builtins += static_library('fu_plugin_logind', + c_args: cargs, + dependencies: plugin_deps, + ) ++ ++endif diff --git a/sys-apps/fwupd/fwupd-2.0.16.ebuild b/sys-apps/fwupd/fwupd-2.0.16.ebuild new file mode 100644 index 000000000000..df702e0c29a7 --- /dev/null +++ b/sys-apps/fwupd/fwupd-2.0.16.ebuild @@ -0,0 +1,179 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit meson python-single-r1 vala udev xdg + +DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable" +HOMEPAGE="https://fwupd.org" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="amdgpu +archive bash-completion bluetooth cbor elogind flashrom gnutls gtk-doc introspection lzma minimal modemmanager nvme policykit protobuf seccomp spi synaptics systemd test tpm uefi" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ^^ ( elogind minimal systemd ) + minimal? ( !introspection ) + spi? ( lzma ) + seccomp? ( systemd ) + synaptics? ( gnutls ) + test? ( archive ) + uefi? ( gnutls ) +" +RESTRICT="!test? ( test )" + +BDEPEND="$(vala_depend) + $(python_gen_cond_dep ' + dev-python/jinja2[${PYTHON_USEDEP}] + ') + >=dev-build/meson-1.3.2 + virtual/pkgconfig + sys-apps/hwdata + gtk-doc? ( + $(python_gen_cond_dep ' + >=dev-python/markdown-3.2[${PYTHON_USEDEP}] + ') + >=dev-util/gi-docgen-2021.1 + ) + bash-completion? ( >=app-shells/bash-completion-2.0 ) + introspection? ( dev-libs/gobject-introspection ) + test? ( + net-libs/gnutls[tools] + ) + uefi? ( + $(python_gen_cond_dep ' + dev-python/pygobject:3[cairo] + ') + ) +" +COMMON_DEPEND="${PYTHON_DEPS} + >=app-arch/gcab-1.0 + app-arch/xz-utils + >=dev-libs/glib-2.72:2 + >=dev-libs/json-glib-1.6.0 + >=dev-libs/libjcat-0.2.0[gpg,pkcs7] + >=dev-libs/libxmlb-0.3.19:=[introspection?] + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + >=net-misc/curl-7.62.0 + archive? ( app-arch/libarchive:= ) + cbor? ( >=dev-libs/libcbor-0.7.0:= ) + elogind? ( >=sys-auth/elogind-211 ) + flashrom? ( >=sys-apps/flashrom-1.2-r3 ) + gnutls? ( >=net-libs/gnutls-3.6.0 ) + virtual/libusb:1 + protobuf? ( dev-libs/protobuf-c:= ) + lzma? ( app-arch/xz-utils ) + modemmanager? ( >=net-misc/modemmanager-1.22.0[mbim,qmi] ) + policykit? ( >=sys-auth/polkit-0.114 ) + seccomp? ( sys-apps/systemd[seccomp] ) + dev-db/sqlite + systemd? ( >=sys-apps/systemd-249 ) + uefi? ( + sys-apps/fwupd-efi + sys-boot/efibootmgr + sys-fs/udisks + sys-libs/efivar + ) +" +RDEPEND=" + ${COMMON_DEPEND} + sys-apps/dbus +" + +DEPEND=" + ${COMMON_DEPEND} + x11-libs/pango[introspection] + sys-kernel/linux-headers + amdgpu? ( + x11-libs/libdrm[video_cards_amdgpu] + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.16-elogind.patch +) + +src_prepare() { + default + + vala_setup + + sed -e "/install_dir.*'doc'/s/doc/gtk-doc/" \ + -i docs/meson.build || die + + python_fix_shebang "${S}"/contrib/*.py +} + +src_configure() { + local plugins=( + $(meson_feature flashrom plugin_flashrom) + $(meson_feature protobuf protobuf) + $(meson_feature modemmanager plugin_modem_manager) + $(meson_use uefi plugin_uefi_capsule_splash) + ) + + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + -Defi_binary="false" + -Defi_os_dir="gentoo" + -Dman="true" + -Dsupported_build="enabled" + -Dsystemd_unit_user="" + $(meson_feature archive libarchive) + $(meson_use bash-completion bash_completion) + $(meson_feature bluetooth bluez) + $(meson_feature cbor) + $(meson_feature elogind) + $(meson_feature gnutls) + $(meson_feature gtk-doc docs) + $(meson_feature introspection) + $(meson_feature policykit polkit) + $(meson_feature systemd) + $(meson_use test tests) + + ${plugins[@]} + ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_test() { + LC_ALL="C" meson_src_test +} + +src_install() { + meson_src_install + + if ! use minimal ; then + newinitd "${FILESDIR}"/${PN}-r2 ${PN} + fi + + if use test; then + # Preventing tests from being installed in the first place is a moving target, + # just axe them all afterwards. + rm -rf \ + "${ED}"/usr/libexec/installed-tests \ + "${ED}"/usr/share/fwupd/device-tests \ + "${ED}"/usr/share/fwupd/host-emulate.d/thinkpad-p1-iommu.json.gz \ + "${ED}"/usr/share/fwupd/remotes.d/fwupd-tests.conf \ + "${ED}"/usr/share/installed-tests \ + || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + use minimal || udev_reload +} + +pkg_postrm() { + xdg_pkg_postrm + use minimal || udev_reload +} |
