| 1 |
|
# Copyright 1999-2025 Gentoo Authors
|
|
1 |
# Copyright 1999-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
PYTHON_COMPAT=( python3_{11..13} )
|
| 7 |
|
|
| 8 |
|
inherit meson python-single-r1 vala udev xdg
|
|
6 |
PYTHON_COMPAT=( python3_{11..14} )
|
|
7 |
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/hughsie.asc
|
|
8 |
inherit meson python-single-r1 vala verify-sig udev xdg
|
| 9 |
9 |
|
| 10 |
10 |
DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
|
| 11 |
11 |
HOMEPAGE="https://fwupd.org"
|
| 12 |
|
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
|
|
12 |
SRC_URI="
|
|
13 |
https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz
|
|
14 |
verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )
|
|
15 |
"
|
| 13 |
16 |
|
| 14 |
17 |
LICENSE="LGPL-2.1+"
|
| 15 |
18 |
SLOT="0"
|
| 16 |
19 |
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
| 17 |
|
IUSE="amdgpu amt +archive bash-completion bluetooth cbor elogind fastboot flashrom gnutls gtk-doc introspection logitech lzma minimal modemmanager nvme policykit spi +sqlite synaptics systemd test tpm uefi"
|
|
20 |
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"
|
| 18 |
21 |
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
| 19 |
22 |
^^ ( elogind minimal systemd )
|
| 20 |
23 |
minimal? ( !introspection )
|
| 21 |
24 |
spi? ( lzma )
|
|
25 |
seccomp? ( systemd )
|
| 22 |
26 |
synaptics? ( gnutls )
|
| 23 |
27 |
test? ( archive )
|
| 24 |
28 |
uefi? ( gnutls )
|
| ... | ... | |
| 48 |
52 |
dev-python/pygobject:3[cairo]
|
| 49 |
53 |
')
|
| 50 |
54 |
)
|
|
55 |
verify-sig? ( sec-keys/openpgp-keys-hughsie )
|
| 51 |
56 |
"
|
| 52 |
57 |
COMMON_DEPEND="${PYTHON_DEPS}
|
| 53 |
58 |
>=app-arch/gcab-1.0
|
| ... | ... | |
| 66 |
71 |
flashrom? ( >=sys-apps/flashrom-1.2-r3 )
|
| 67 |
72 |
gnutls? ( >=net-libs/gnutls-3.6.0 )
|
| 68 |
73 |
virtual/libusb:1
|
| 69 |
|
logitech? ( dev-libs/protobuf-c:= )
|
|
74 |
protobuf? ( dev-libs/protobuf-c:= )
|
| 70 |
75 |
lzma? ( app-arch/xz-utils )
|
| 71 |
|
modemmanager? ( net-misc/modemmanager[mbim,qmi] )
|
|
76 |
modemmanager? ( >=net-misc/modemmanager-1.22.0[mbim,qmi] )
|
| 72 |
77 |
policykit? ( >=sys-auth/polkit-0.114 )
|
| 73 |
|
sqlite? ( dev-db/sqlite )
|
| 74 |
|
systemd? ( >=sys-apps/systemd-211 )
|
| 75 |
|
tpm? ( app-crypt/tpm2-tss:= )
|
|
78 |
seccomp? ( sys-apps/systemd[seccomp] )
|
|
79 |
dev-db/sqlite
|
|
80 |
systemd? ( >=sys-apps/systemd-249 )
|
| 76 |
81 |
uefi? (
|
| 77 |
82 |
sys-apps/fwupd-efi
|
| 78 |
83 |
sys-boot/efibootmgr
|
| ... | ... | |
| 88 |
93 |
DEPEND="
|
| 89 |
94 |
${COMMON_DEPEND}
|
| 90 |
95 |
x11-libs/pango[introspection]
|
|
96 |
sys-kernel/linux-headers
|
| 91 |
97 |
amdgpu? (
|
| 92 |
|
sys-kernel/linux-headers
|
| 93 |
98 |
x11-libs/libdrm[video_cards_amdgpu]
|
| 94 |
99 |
)
|
| 95 |
100 |
"
|
| 96 |
101 |
|
|
102 |
PATCHES=(
|
|
103 |
"${FILESDIR}"/${PN}-2.0.18-elogind.patch
|
|
104 |
)
|
|
105 |
|
| 97 |
106 |
src_prepare() {
|
| 98 |
107 |
default
|
| 99 |
108 |
|
| ... | ... | |
| 107 |
116 |
|
| 108 |
117 |
src_configure() {
|
| 109 |
118 |
local plugins=(
|
| 110 |
|
-Dplugin_gpio="enabled"
|
| 111 |
|
-Dplugin_uf2="enabled"
|
| 112 |
|
$(meson_feature amdgpu plugin_amdgpu)
|
| 113 |
|
$(meson_feature amt plugin_intel_me)
|
| 114 |
|
$(meson_feature fastboot plugin_fastboot)
|
| 115 |
119 |
$(meson_feature flashrom plugin_flashrom)
|
| 116 |
|
$(meson_feature logitech plugin_logitech_bulkcontroller)
|
|
120 |
$(meson_feature protobuf protobuf)
|
| 117 |
121 |
$(meson_feature modemmanager plugin_modem_manager)
|
| 118 |
|
$(meson_feature nvme plugin_nvme)
|
| 119 |
|
$(meson_feature synaptics plugin_synaptics_mst)
|
| 120 |
|
$(meson_feature synaptics plugin_synaptics_rmi)
|
| 121 |
|
$(meson_feature tpm plugin_tpm)
|
| 122 |
|
$(meson_feature uefi plugin_uefi_capsule)
|
| 123 |
122 |
$(meson_use uefi plugin_uefi_capsule_splash)
|
| 124 |
|
$(meson_feature uefi plugin_uefi_pk)
|
| 125 |
123 |
)
|
| 126 |
|
if use ppc64 || use riscv ; then
|
| 127 |
|
plugins+=( -Dplugin_msr="disabled" )
|
| 128 |
|
fi
|
| 129 |
124 |
|
| 130 |
125 |
local emesonargs=(
|
| 131 |
126 |
--localstatedir "${EPREFIX}"/var
|
| 132 |
127 |
-Dbuild="$(usex minimal standalone all)"
|
| 133 |
|
-Dconsolekit="disabled"
|
| 134 |
|
-Dcurl="enabled"
|
| 135 |
128 |
-Defi_binary="false"
|
|
129 |
-Defi_os_dir="gentoo"
|
| 136 |
130 |
-Dman="true"
|
| 137 |
131 |
-Dsupported_build="enabled"
|
| 138 |
132 |
-Dsystemd_unit_user=""
|
| ... | ... | |
| 143 |
137 |
$(meson_feature elogind)
|
| 144 |
138 |
$(meson_feature gnutls)
|
| 145 |
139 |
$(meson_feature gtk-doc docs)
|
| 146 |
|
$(meson_feature lzma)
|
| 147 |
140 |
$(meson_feature introspection)
|
| 148 |
141 |
$(meson_feature policykit polkit)
|
| 149 |
|
$(meson_feature sqlite)
|
| 150 |
142 |
$(meson_feature systemd)
|
| 151 |
143 |
$(meson_use test tests)
|
| 152 |
144 |
|
| 153 |
145 |
${plugins[@]}
|
| 154 |
146 |
)
|
| 155 |
|
use uefi && emesonargs+=( -Defi_os_dir="gentoo" )
|
| 156 |
147 |
export CACHE_DIRECTORY="${T}"
|
| 157 |
148 |
meson_src_configure
|
| 158 |
149 |
}
|