commit:     119e2da03535900226fede22f92ce061f3a55a98
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 27 19:12:24 2022 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Jun 27 19:12:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=119e2da0

sys-libs/efivar: fix build with non-English locale

Closes: https://bugs.gentoo.org/854147
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 sys-libs/efivar/efivar-38.ebuild                |  1 +
 sys-libs/efivar/files/efivar-38-ld-locale.patch | 30 +++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/sys-libs/efivar/efivar-38.ebuild b/sys-libs/efivar/efivar-38.ebuild
index f753fbea6e4e..eecc85f7cbca 100644
--- a/sys-libs/efivar/efivar-38.ebuild
+++ b/sys-libs/efivar/efivar-38.ebuild
@@ -33,6 +33,7 @@ src_prepare() {
                "${FILESDIR}"/efivar-38-march-native.patch
                "${FILESDIR}"/efivar-38-Makefile-dep.patch
                "${FILESDIR}"/efivar-38-binutils-2.36.patch
+               "${FILESDIR}"/efivar-38-ld-locale.patch
        )
        default
 }

diff --git a/sys-libs/efivar/files/efivar-38-ld-locale.patch 
b/sys-libs/efivar/files/efivar-38-ld-locale.patch
new file mode 100644
index 000000000000..b1dd699a4461
--- /dev/null
+++ b/sys-libs/efivar/files/efivar-38-ld-locale.patch
@@ -0,0 +1,30 @@
+From 01de7438520868650bfaa1ef3e2bfaf00cacbcc6 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+Date: Fri, 24 Jun 2022 17:00:33 -0400
+Subject: [PATCH] Set LC_ALL=C to force English output from ld
+
+If the user has a different locale set, ld --version may not contain the
+string "GNU ld".
+
+For example, in Italian, ld --version outputs "ld di GNU".
+
+Signed-off-by: Mike Gilbert <[email protected]>
+---
+ src/include/workarounds.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk
+index 143e7902..b72fbaf6 100644
+--- a/src/include/workarounds.mk
++++ b/src/include/workarounds.mk
+@@ -2,8 +2,8 @@
+ #
+ # workarounds.mk - workarounds for weird stuff behavior
+ 
+-LD_FLAVOR := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g')
+-LD_VERSION := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //')
++LD_FLAVOR := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 
's/ .*//g')
++LD_VERSION := $(shell LC_ALL=C $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 
's/.* //')
+ # 2.35 is definitely broken and 2.36 seems to work
+ LD_DASH_T := $(shell \
+       if [ "x${LD_FLAVOR}" = xLLD ] ; then \

Reply via email to