summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2024-03-26 11:01:52 -0400
committerSam James <sam@gentoo.org>2024-04-04 02:06:39 +0100
commitb7c4eb1b798b791446313398ac949be011aca3a1 (patch)
treed8d7adf0c75616d4a28087ca0cdf818b18f72606 /sys-apps/systemd-utils
parentmeson.eclass: call die -n in phase helpers (diff)
downloadgentoo-b7c4eb1b798b791446313398ac949be011aca3a1.tar.gz
gentoo-b7c4eb1b798b791446313398ac949be011aca3a1.tar.bz2
gentoo-b7c4eb1b798b791446313398ac949be011aca3a1.zip
sys-apps/systemd-utils: add workaround for no-multilib
meson.build has some logic to build ia32 EFI binaries on x86_64 if the toolchain is compatible. Rather than trying to reproduce this logic in the ebuild, just try to build it and ignore any failures. If meson.build actually defines the targets but we have some other compile error, this will move the failure to the install phase instead. Signed-off-by: Mike Gilbert <floppym@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps/systemd-utils')
-rw-r--r--sys-apps/systemd-utils/systemd-utils-255.4.ebuild12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys-apps/systemd-utils/systemd-utils-255.4.ebuild b/sys-apps/systemd-utils/systemd-utils-255.4.ebuild
index a4f60f47e7f3..4c64afbd80c1 100644
--- a/sys-apps/systemd-utils/systemd-utils-255.4.ebuild
+++ b/sys-apps/systemd-utils/systemd-utils-255.4.ebuild
@@ -253,7 +253,7 @@ multilib_src_configure() {
}
multilib_src_compile() {
- local targets=()
+ local targets=() optional_targets=()
if multilib_is_native_abi; then
if use boot; then
local efi_arch= efi_arch_alt=
@@ -275,7 +275,10 @@ multilib_src_compile() {
src/boot/efi/addon${efi_arch}.efi.stub
)
if [[ -n ${efi_arch_alt} ]]; then
- targets+=(
+ # If we have a multilib toolchain, meson.build will build the
+ # "alt" arch (ia32). There's no easy way to detect this, so try
+ # to build it and ignore failure.
+ optional_targets+=(
src/boot/efi/systemd-boot${efi_arch_alt}.efi
src/boot/efi/linux${efi_arch_alt}.efi.stub
src/boot/efi/addon${efi_arch_alt}.efi.stub
@@ -392,9 +395,12 @@ multilib_src_compile() {
)
fi
fi
- if multilib_is_native_abi || use udev; then
+ if [[ ${#targets[@]} -ne 0 ]]; then
meson_src_compile "${targets[@]}"
fi
+ if [[ ${#optional_targets[@]} -ne 0 ]]; then
+ nonfatal meson_src_compile "${optional_targets[@]}"
+ fi
}
multilib_src_test() {