commit:     a3eab6f3f859d0c4c0c3a59dff2fb06589efd720
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  2 12:30:13 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec  2 12:30:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3eab6f3

sys-apps/fwupd: add 2.0.18

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/fwupd/Manifest                         |   1 +
 sys-apps/fwupd/files/fwupd-2.0.18-elogind.patch |  49 +++++++
 sys-apps/fwupd/fwupd-2.0.18.ebuild              | 179 ++++++++++++++++++++++++
 3 files changed, 229 insertions(+)

diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest
index ce7f9097164f..13192a21dd09 100644
--- a/sys-apps/fwupd/Manifest
+++ b/sys-apps/fwupd/Manifest
@@ -2,4 +2,5 @@ DIST fwupd-1.9.24.tar.xz 4305048 BLAKE2B 
5ac7bbc5cdcee13a39fe25cd5b83dfbb9615e63
 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.18.tar.xz 5100336 BLAKE2B 
c2de6d314b1c146f487c48e45b203e299b0aa3f78de926fe9233f426f22130b6f710af3fb7223173b09c7e81e8830b6fbac2a942d5666544cf1da0dbd1dc6282
 SHA512 
a70d490d0cb261a9b0b27d0b4340e0603260817658c259763b250ff38e0204b59ed4e1abdf298d674f78876fd205e224859b3a68d009d7f2fc03d2f425af5e34
 DIST fwupd-2.0.3.tar.xz 5085932 BLAKE2B 
82e5170c8f3771685f3c3bed9f02c934104f9953d6dc4eb00290f3a283305a30ae9cebab165c88725a016e86f5610d9699c5f86cc5acf7a32cc4454d82df7c84
 SHA512 
68321ecf655f12352fd12182e000d9295c3421015ae13012c37bd5e711a0e240a331a6ae5d17a42c2608be79f005e121470c77c28b5fae61fe3383c7579e2bfd

diff --git a/sys-apps/fwupd/files/fwupd-2.0.18-elogind.patch 
b/sys-apps/fwupd/files/fwupd-2.0.18-elogind.patch
new file mode 100644
index 000000000000..0141902fb38b
--- /dev/null
+++ b/sys-apps/fwupd/files/fwupd-2.0.18-elogind.patch
@@ -0,0 +1,49 @@
+--- a/meson.build
++++ b/meson.build
+@@ -713,6 +713,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')
+@@ -940,6 +945,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,
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -48,6 +48,10 @@ option(
+   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',
+--- 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.18.ebuild 
b/sys-apps/fwupd/fwupd-2.0.18.ebuild
new file mode 100644
index 000000000000..2168b3b95fd8
--- /dev/null
+++ b/sys-apps/fwupd/fwupd-2.0.18.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-1.82.0-r2 )
+       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.18-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
+}

Reply via email to