summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2023-02-27 12:53:56 +0000
committerMarek Szuba <marecki@gentoo.org>2023-02-27 13:15:23 +0000
commit3e68014936059256d40d745a4e60dd46aeca52f9 (patch)
tree337f54511772af407b7ab7fabbb9578428a3ad34 /sys-apps
parentdev-embedded/esptool: add 4.5 (diff)
downloadgentoo-3e68014936059256d40d745a4e60dd46aeca52f9.tar.gz
gentoo-3e68014936059256d40d745a4e60dd46aeca52f9.tar.bz2
gentoo-3e68014936059256d40d745a4e60dd46aeca52f9.zip
sys-apps/fwupd-efi: restore the old option for setting the linker
Between 1.3 and 1.4, fwupd-efi upstream phased this option out in favour of using standard Meson toolchain management for both the compiler and the linker. However, the transition has not been completed yet and the linking phase still involves a custom target explicitly calling the linker executable - and the way the name of said executable is determined at the moment is not entirely robust. Closes: https://bugs.gentoo.org/892339 Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/fwupd-efi/files/fwupd-efi-1.4-efi_ld_override.patch26
-rw-r--r--sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild7
2 files changed, 32 insertions, 1 deletions
diff --git a/sys-apps/fwupd-efi/files/fwupd-efi-1.4-efi_ld_override.patch b/sys-apps/fwupd-efi/files/fwupd-efi-1.4-efi_ld_override.patch
new file mode 100644
index 000000000000..0b703a41d2e6
--- /dev/null
+++ b/sys-apps/fwupd-efi/files/fwupd-efi-1.4-efi_ld_override.patch
@@ -0,0 +1,26 @@
+--- a/efi/meson.build
++++ b/efi/meson.build
+@@ -1,6 +1,7 @@
+ generate_sbat = find_program('generate_sbat.py', native: true)
+ generate_binary = find_program('generate_binary.py', native: true)
+
++efi_ld = get_option('efi-ld')
+ efi_ldsdir = get_option('efi-ldsdir')
+ efi_incdir = get_option('efi-includedir')
+
+@@ -226,7 +227,7 @@
+ so = custom_target('fwup.so',
+ input : [o_file1, o_file2, o_file3, o_file4, o_file5],
+ output : 'fwup.so',
+- command : [ld, '-o', '@OUTPUT@'] +
++ command : [efi_ld, '-o', '@OUTPUT@'] +
+ efi_ldflags + ['@INPUT@'] +
+ ['-lefi', '-lgnuefi', libgcc_file_name],
+ depends: fwupd_so_deps)
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,4 @@
++option('efi-ld', type : 'string', value : 'ld', description : 'the linker to use for EFI modules')
+ option('efi-libdir', type : 'string', description : 'path to the EFI lib directory')
+ option('efi-ldsdir', type : 'string', description : 'path to the EFI lds directory')
+ option('efi-includedir', type : 'string', value : '/usr/include/efi', description : 'path to the EFI header directory')
diff --git a/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild b/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild
index d90dd1db3a4e..a10efcfde644 100644
--- a/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild
+++ b/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit meson python-any-r1
+inherit meson python-any-r1 toolchain-funcs
DESCRIPTION="EFI executable for fwupd"
HOMEPAGE="https://fwupd.org"
@@ -31,6 +31,10 @@ DEPEND="sys-boot/gnu-efi"
RDEPEND="!<sys-apps/fwupd-1.6.0"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4-efi_ld_override.patch # Bug #892339
+)
+
python_check_deps() {
python_has_version "dev-python/pefile[${PYTHON_USEDEP}]"
}
@@ -43,6 +47,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
+ -Defi-ld="$(tc-getLD)"
-Defi-libdir="${EPREFIX}"/usr/$(get_libdir)
-Defi_sbat_distro_id="gentoo"
-Defi_sbat_distro_summary="Gentoo GNU/Linux"