commit:     cb511555ca37e2ae023f4de885508d4c9ef73450
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 11 11:49:54 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Sep 11 11:52:57 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb511555

sys-cluster/galera: don't call objdump directly

Closes: https://bugs.gentoo.org/729026
Package-Manager: Portage-3.0.6, Repoman-3.0.1
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/galera-26.4.5-respect-toolchain.patch    | 55 ++++++++++++++++++++++
 sys-cluster/galera/galera-26.4.5.ebuild            |  4 +-
 2 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/sys-cluster/galera/files/galera-26.4.5-respect-toolchain.patch 
b/sys-cluster/galera/files/galera-26.4.5-respect-toolchain.patch
new file mode 100644
index 00000000000..c82c870b4f3
--- /dev/null
+++ b/sys-cluster/galera/files/galera-26.4.5-respect-toolchain.patch
@@ -0,0 +1,55 @@
+--- a/SConscript
++++ b/SConscript
+@@ -33,15 +33,17 @@ if has_version_script:
+ def check_dynamic_symbols(target, source, env):
+     import subprocess
+ 
++    objdump = env['OBJDUMP']
++
+     # Check if objdump exists
+-    p = subprocess.Popen(['objdump', '--version'], stdout=subprocess.PIPE)
++    p = subprocess.Popen([objdump, '--version'], stdout=subprocess.PIPE)
+     p.wait()
+     if p.returncode != 0:
+         print('objdump utility is not found. Skipping checks...')
+         return 0
+ 
+     # Check that DSO doesn't contain asio-related dynamic symbols
+-    if env.Execute(Action(['! objdump -T ' + target[0].abspath + ' | grep 
asio'], None)):
++    if env.Execute(Action(['! ' + objdump + ' -T ' + target[0].abspath + ' | 
grep asio'], None)):
+         return 1
+     return 0
+ 
+--- a/SConstruct
++++ b/SConstruct
+@@ -5,6 +5,7 @@
+ # SCons build script to build galera libraries
+ #
+ # How to control the build with environment variables:
++# Set AR       to specify archive utility
+ # Set CC       to specify C compiler
+ # Set CXX      to specify C++ compiler
+ # Set CPPFLAGS to add non-standard include paths and preprocessor macros
+@@ -13,6 +14,7 @@
+ # Set CXXFLAGS to supply C++ compiler options
+ # Set LDFLAGS  to *override* linking flags
+ # Set LIBPATH  to add non-standard linker paths
++# Set OBJDUMP  to specify objdump utility
+ # Set RPATH    to add rpaths
+ #
+ # Some useful CPPFLAGS:
+@@ -205,6 +207,13 @@ if cxx != 'default':
+ link = os.getenv('LINK', 'default')
+ if link != 'default':
+     env.Replace(LINK = link)
++ar = os.getenv('AR', 'default')
++if ar != 'default':
++    env.Replace(AR = ar)
++objdump = os.getenv('OBJDUMP', 'default')
++if objdump != 'default':
++    env.Replace(OBJDUMP = objdump)
++
+ 
+ # Get compiler name/version, CXX may be set to "c++" which may be clang or gcc
+ cc_version = str(read_first_line(env['CC'].split() + ['--version']))
+ 

diff --git a/sys-cluster/galera/galera-26.4.5.ebuild 
b/sys-cluster/galera/galera-26.4.5.ebuild
index 760070fc8af..9cdd6baf8cd 100644
--- a/sys-cluster/galera/galera-26.4.5.ebuild
+++ b/sys-cluster/galera/galera-26.4.5.ebuild
@@ -37,7 +37,7 @@ RDEPEND="${CDEPEND}"
 # Respect {C,LD}FLAGS.
 PATCHES=(
        "${FILESDIR}"/${PN}-26.4.5-strip-extra-cflags.patch
-       "${FILESDIR}"/${PN}-26.4.4-respect-AR.patch
+       "${FILESDIR}"/${PN}-26.4.5-respect-toolchain.patch
 )
 
 S="${WORKDIR}/${MY_P}"
@@ -55,7 +55,7 @@ src_prepare() {
 }
 
 src_configure() {
-       tc-export AR CC CXX
+       tc-export AR CC CXX OBJDUMP
        # Uses hardware specific code that seems to depend on SSE4.2
        if use cpu_flags_x86_sse4_2 ; then
                append-cflags -msse4.2

Reply via email to