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
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>
-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"