From 50c0c74cb0ba876dd69fad2c1cb96bac9244204d Mon Sep 17 00:00:00 2001 From: Torsten Kurbad Date: Tue, 16 Sep 2025 16:03:56 +0200 Subject: [PATCH] Add new fwupd --- sys-apps/fwupd/Manifest | 4 + sys-apps/fwupd/files/fwupd-r2 | 13 ++ sys-apps/fwupd/fwupd-2.0.16.ebuild | 199 +++++++++++++++++++++++++++++ sys-apps/fwupd/metadata.xml | 34 +++++ 4 files changed, 250 insertions(+) create mode 100644 sys-apps/fwupd/Manifest create mode 100644 sys-apps/fwupd/files/fwupd-r2 create mode 100644 sys-apps/fwupd/fwupd-2.0.16.ebuild create mode 100644 sys-apps/fwupd/metadata.xml diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest new file mode 100644 index 0000000..f8898e8 --- /dev/null +++ b/sys-apps/fwupd/Manifest @@ -0,0 +1,4 @@ +AUX fwupd-r2 308 BLAKE2B 4494e69515347569965f0966ce2fe0779a6273df18412b4f6045c6186730dc8088f85eb029347b01c22897662d9205f98871752dee99690871a39cbb26db3899 SHA512 0f5070dc73cb6e0cfad7a66781afb85c695faffd05685e9df8c9798b94d55b31c0977134015d0d5418f5815d10529d79c898ae0efb2bdf0dc9ee44b696d5fdd7 +DIST fwupd-2.0.16.tar.xz 4999552 BLAKE2B 219dea379cd716df4f8e4e33c602db576b166609d65f28ef87e53ed32555dfbf1867aad2f2e230462dc9528a922c978370930b16caf56b27de8508a6d50b4ea4 SHA512 c923b843f48aeb4a313504a9b7b56c66cbb845f7c9d809d9103e610bebc2b3aed891b913a43f1c4f543f978f2de87d9173e542a103a67fa20b868a916cd1bf46 +EBUILD fwupd-2.0.16.ebuild 4934 BLAKE2B cc1fc9d43fbaf05849e45243a2cf3824aef34f1b519f369ec6772718a75db3ca94f8b84a0c01d91e523e684bfb4cd91c813398bf113e3a41ecb5c02a205649d8 SHA512 409f9a22cade0756ef4d349f7cae91a6e204c0e720a331b4fba1ed49e70bccd72a2deae711b60485ce07ebbfee9cdd00a39f51f05c0ee1c767365b5f3bff1f11 +MISC metadata.xml 1674 BLAKE2B b451d794c2be5515f1f5889a88e5c512ab5e8c62f53105b68374cd07007f0032fdb5f99bf2c0c403f4f6ac558fc3fc4513a06cb1acb06dbd321e1e4814c220bf SHA512 e176cca39887ad3eaccf7699c8d8fb8bb76587bec0e797f1952ce8d83bd259e43334870232f9660fe29cf177a2abaa1ca8e8e5527e88ade43e6a7a022510c025 diff --git a/sys-apps/fwupd/files/fwupd-r2 b/sys-apps/fwupd/files/fwupd-r2 new file mode 100644 index 0000000..d30bf1d --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-r2 @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Firmware update daemon" +pidfile="/var/run/fwupd.pid" +command="/usr/libexec/fwupd/fwupd" +command_background="true" + +depend() { + need elogind dbus + before display-manager +} 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 0000000..07d1d17 --- /dev/null +++ b/sys-apps/fwupd/fwupd-2.0.16.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +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 amt +archive bash-completion bluetooth cbor elogind fastboot flashrom gnutls gtk-doc introspection logitech lzma minimal modemmanager nvme policykit seccomp spi +sqlite 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 + logitech? ( dev-libs/protobuf-c:= ) + lzma? ( app-arch/xz-utils ) + modemmanager? ( net-misc/modemmanager[mbim,qmi] ) + policykit? ( >=sys-auth/polkit-0.114 ) + seccomp? ( sys-apps/systemd[seccomp] ) + sqlite? ( dev-db/sqlite ) + systemd? ( >=sys-apps/systemd-211 ) + tpm? ( app-crypt/tpm2-tss:= ) + 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] + amdgpu? ( + sys-kernel/linux-headers + x11-libs/libdrm[video_cards_amdgpu] + ) +" + +#PATCHES=( +# "${FILESDIR}"/${PN}-2.0.3-pango.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=( + -Dplugin_gpio="enabled" + -Dplugin_uf2="enabled" + $(meson_feature amdgpu plugin_amdgpu) + $(meson_feature amt plugin_intel_me) + $(meson_feature fastboot plugin_fastboot) + $(meson_feature flashrom plugin_flashrom) + $(meson_feature logitech plugin_logitech_bulkcontroller) + $(meson_feature modemmanager plugin_modem_manager) + $(meson_feature nvme plugin_nvme) + $(meson_feature synaptics plugin_synaptics_mst) + $(meson_feature synaptics plugin_synaptics_rmi) + $(meson_feature tpm plugin_tpm) + $(meson_feature uefi plugin_uefi_capsule) + $(meson_use uefi plugin_uefi_capsule_splash) + $(meson_feature uefi plugin_uefi_pk) + ) + if use ppc64 || use riscv ; then + plugins+=( -Dplugin_msr="disabled" ) + fi + + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + -Dconsolekit="disabled" + -Dcurl="enabled" + -Defi_binary="false" + -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 lzma) + $(meson_feature introspection) + $(meson_feature policykit polkit) + $(meson_feature sqlite) + $(meson_feature systemd) + $(meson_use seccomp systemd_syscall_filter) + $(meson_use test tests) + + ${plugins[@]} + ) + use uefi && emesonargs+=( -Defi_os_dir="gentoo" ) + 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 +} diff --git a/sys-apps/fwupd/metadata.xml b/sys-apps/fwupd/metadata.xml new file mode 100644 index 0000000..f6aae55 --- /dev/null +++ b/sys-apps/fwupd/metadata.xml @@ -0,0 +1,34 @@ + + + + + johnmh@johnmh.me + John M. Harris, Jr. + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Use app-arch/libarchive for archives support + Build and install AMD dGPU (Navi3x and above) plugin + Build and install Intel AMT plugin + Enable CBOR support for coSWID and uSWID via dev-libs/libcbor + Build and install fastboot plugin + Enable flashrom plugin via sys-apps/flashrom + Enable dev-libs/libgusb support + Build and install Logitech bulk controller plugin + Build and install NVMe plugin + Build and install Modem Manager plugin + Install Intel-SPI plugin + Install synaptics plugin + Enable tests known not to play nicely with the sandbox + Install Trusted Platform Module plugin + Enable UEFI support + + + https://github.com/fwupd/fwupd/issues + fwupd/fwupd + cpe:/a:fwupd:fwupd + +