commit:     841c181bcfa1725454bd1cbfefe1064608dbc726
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 24 08:03:08 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 25 01:41:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=841c181b

dev-libs/elfutils: fix bashisms in configure

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...utils-0.189.ebuild => elfutils-0.189-r1.ebuild} |  6 ++-
 .../files/elfutils-0.189-configure-bashisms.patch  | 49 ++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/dev-libs/elfutils/elfutils-0.189.ebuild 
b/dev-libs/elfutils/elfutils-0.189-r1.ebuild
similarity index 94%
rename from dev-libs/elfutils/elfutils-0.189.ebuild
rename to dev-libs/elfutils/elfutils-0.189-r1.ebuild
index 0df16d8efdf8..285cb3c8c192 100644
--- a/dev-libs/elfutils/elfutils-0.189.ebuild
+++ b/dev-libs/elfutils/elfutils-0.189-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/elfutils.gpg
-inherit flag-o-matic multilib-minimal verify-sig
+inherit autotools flag-o-matic multilib-minimal verify-sig
 
 DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement 
for libelf)"
 HOMEPAGE="https://sourceware.org/elfutils/";
@@ -44,6 +44,7 @@ BDEPEND="
 
 PATCHES=(
        "${WORKDIR}"/${PN}-0.187-patches/
+       "${FILESDIR}"/${P}-configure-bashisms.patch
 )
 
 src_unpack() {
@@ -62,6 +63,9 @@ src_prepare() {
                eapply "${WORKDIR}"/${PN}-0.187-patches/musl/
        fi
 
+       # Only here for ${P}-configure-bashisms.patch, delete on next bump!
+       eautoreconf
+
        if ! use static-libs; then
                sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' 
lib{asm,dw,elf}/Makefile.in || die
        fi

diff --git a/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch 
b/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch
new file mode 100644
index 000000000000..04c01b0ecf88
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch
@@ -0,0 +1,49 @@
+https://sourceware.org/git/?p=elfutils.git;a=commit;h=a9834d7df68afde4ee44ee8fef888cf7e799171a
+
+From a9834d7df68afde4ee44ee8fef888cf7e799171a Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <[email protected]>
+Date: Sun, 5 Mar 2023 13:09:34 +0100
+Subject: [PATCH] configure.ac contains Bashisms
+
+Autoconf scripts are supposed to be written in POSIX-compatible shell
+language. elfutils commits 0ffe2874e75d48cb88936e119e5284ff2bf664d9
+and 3fa98a6f29b0f370e32549ead7eb897c839af980 introduced Bashisms to
+configure.ac that cause errors when /bin/sh is not Bash.
+
+Example error when /bin/sh is Dash:
+
+./configure: 8748: test: xyes: unexpected operator
+
+The cause of the error is the use of a non-existent == operator in
+expressions passed to the 'test' built-in command. POSIX shell
+specifies only an = operator for testing string equality.
+
+  * configure.ac: Replace == by = in use_msan and enable_demangler
+  comparisons.
+
+https://sourceware.org/bugzilla/show_bug.cgi?id=30196
+
+Reported-by: Matt Whitlock <[email protected]>
+Signed-off-by: Mark Wielaard <[email protected]>
+--- a/configure.ac
++++ b/configure.ac
+@@ -169,7 +169,7 @@ if test "$use_msan" = yes; then
+   CXXFLAGS="$CXXFLAGS -fsanitize=memory -fsanitize-memory-track-origins 
-D_FORTIFY_SOURCE=0"
+   LDFLAGS="-shared"
+   AC_LINK_IFELSE([AC_LANG_SOURCE([int main (int argc, char **argv) { return 
0; }])], use_msan=yes, use_msan=no)
+-  AS_IF([test "x$use_msan" == xyes],
++  AS_IF([test "x$use_msan" = xyes],
+         ac_cv_zdefs=no NO_UNDEFINED=,
+         AC_MSG_WARN([clang memory sanitizer not available])
+         CFLAGS="$old_CFLAGS" CXXFLAGS="$old_CXXFLAGS")
+@@ -493,7 +493,7 @@ AC_ARG_ENABLE([demangler],
+ AS_HELP_STRING([--disable-demangler],
+              [Disable libstdc++ demangle support]),
+              [], [enable_demangler=yes])
+-AS_IF([test "x$enable_demangler" == xyes],
++AS_IF([test "x$enable_demangler" = xyes],
+ AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
+ AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
+ AM_CONDITIONAL(DEMANGLE, test "x$ac_cv_lib_stdcpp___cxa_demangle" = "xyes")
+-- 
+2.31.1

Reply via email to