mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
app-arch/7zip: respect build environment
Closes: https://bugs.gentoo.org/913186 Closes: https://bugs.gentoo.org/913188 Closes: https://bugs.gentoo.org/913189 Signed-off-by: Martin Matouš <m@matous.dev>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs
|
||||
inherit edos2unix toolchain-funcs
|
||||
|
||||
NO_DOT_PV=$(ver_rs 1- '')
|
||||
DESCRIPTION="A free file archiver for extremely high compression"
|
||||
@@ -45,14 +45,22 @@ pkg_setup() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# patch doesn't deal with CRLF even if file+patch match
|
||||
# not even with --ignore-whitespace, --binary or --force
|
||||
edos2unix ./7zip_gcc.mak ./var_gcc{,_x64}.mak ./var_clang{,_x64}.mak
|
||||
PATCHES+=( "${FILESDIR}/${P}-respect-build-env.patch" )
|
||||
|
||||
sed -i -e 's/-Werror //g' ./7zip_gcc.mak || die "Error removing -Werror"
|
||||
sed -i -e 's/$(LFLAGS_STRIP)//g' ./7zip_gcc.mak \
|
||||
|| die "Error removing hardcoded strip"
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
pushd "./Bundles/Alone2" || die "Unable to switch directory"
|
||||
export G_CC=$(tc-getCC)
|
||||
export G_CXX=$(tc-getCXX)
|
||||
export G_CFLAGS=${CFLAGS}
|
||||
export G_CXXFLAGS=${CXXFLAGS}
|
||||
export G_LDFLAGS=${LDFLAGS}
|
||||
# USE_JWASM=1 - if asm: use JWasm assembler instead of Asmc (not a gentoo package)
|
||||
emake DISABLE_RAR=1 USE_JWASM=1 --file "../../${mfile}"
|
||||
popd > /dev/null || die "Unable to switch directory"
|
||||
|
||||
98
app-arch/7zip/files/7zip-23.01-respect-build-env.patch
Normal file
98
app-arch/7zip/files/7zip-23.01-respect-build-env.patch
Normal file
@@ -0,0 +1,98 @@
|
||||
Respect build environment settings
|
||||
|
||||
Bug: https://bugs.gentoo.org/913186
|
||||
Bug: https://bugs.gentoo.org/913188
|
||||
Bug: https://bugs.gentoo.org/913189
|
||||
|
||||
|
||||
--- a/7zip_gcc.mak
|
||||
+++ b/7zip_gcc.mak
|
||||
@@ -87,14 +87,14 @@ SHARED_EXT=.dll
|
||||
LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
|
||||
else
|
||||
SHARED_EXT=.so
|
||||
-LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
|
||||
+LDFLAGS = -shared -fPIC $(G_LDFLAGS) $(LDFLAGS_STATIC)
|
||||
CC_SHARED=-fPIC
|
||||
endif
|
||||
|
||||
|
||||
else
|
||||
|
||||
-LDFLAGS = $(LDFLAGS_STATIC)
|
||||
+LDFLAGS = $(LDFLAGS_STATIC) $(G_LDFLAGS)
|
||||
# -s is not required for clang, do we need it for GCC ???
|
||||
|
||||
#-static -static-libgcc -static-libstdc++
|
||||
@@ -149,7 +149,7 @@ endif
|
||||
|
||||
|
||||
|
||||
-CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) -o $@
|
||||
+CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) $(G_CFLAGS) -o $@
|
||||
|
||||
|
||||
ifdef IS_MINGW
|
||||
@@ -190,7 +190,7 @@ CXX_WARN_FLAGS =
|
||||
#-Wno-invalid-offsetof
|
||||
#-Wno-reorder
|
||||
|
||||
-CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) -o $@
|
||||
+CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) $(G_CXXFLAGS) -o $@
|
||||
|
||||
STATIC_TARGET=
|
||||
ifdef COMPL_STATIC
|
||||
@@ -208,7 +208,7 @@ $(O):
|
||||
# -Wl,--print-gc-sections
|
||||
|
||||
ifneq ($(CC), $(CROSS_COMPILE)clang)
|
||||
-LFLAGS_STRIP = -s
|
||||
+
|
||||
endif
|
||||
|
||||
LFLAGS_ALL = $(LFLAGS_STRIP) $(MY_ARCH_2) $(LDFLAGS) $(FLAGS_FLTO) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
|
||||
--- a/var_clang.mak
|
||||
+++ b/var_clang.mak
|
||||
@@ -6,6 +6,6 @@ IS_ARM64=
|
||||
CROSS_COMPILE=
|
||||
MY_ARCH=
|
||||
USE_ASM=
|
||||
-CC=$(CROSS_COMPILE)clang
|
||||
-CXX=$(CROSS_COMPILE)clang++
|
||||
+CC=$(G_CC)
|
||||
+CXX=$(G_CXX)
|
||||
USE_CLANG=1
|
||||
--- a/var_clang_x64.mak
|
||||
+++ b/var_clang_x64.mak
|
||||
@@ -6,7 +6,7 @@ IS_ARM64=
|
||||
CROSS_COMPILE=
|
||||
MY_ARCH=
|
||||
USE_ASM=1
|
||||
-CC=$(CROSS_COMPILE)clang
|
||||
-CXX=$(CROSS_COMPILE)clang++
|
||||
+CC=$(G_CC)
|
||||
+CXX=$(G_CXX)
|
||||
USE_CLANG=1
|
||||
|
||||
--- a/var_gcc.mak
|
||||
+++ b/var_gcc.mak
|
||||
@@ -6,7 +6,7 @@ IS_ARM64=
|
||||
CROSS_COMPILE=
|
||||
MY_ARCH=
|
||||
USE_ASM=
|
||||
-CC=$(CROSS_COMPILE)gcc
|
||||
-CXX=$(CROSS_COMPILE)g++
|
||||
+CC=$(G_CC)
|
||||
+CXX=$(G_CXX)
|
||||
|
||||
# -march=armv8-a+crc+crypto
|
||||
--- a/var_gcc_x64.mak
|
||||
+++ b/var_gcc_x64.mak
|
||||
@@ -6,5 +6,5 @@ IS_ARM64=
|
||||
CROSS_COMPILE=
|
||||
MY_ARCH=
|
||||
USE_ASM=1
|
||||
-CC=$(CROSS_COMPILE)gcc
|
||||
-CXX=$(CROSS_COMPILE)g++
|
||||
+CC=$(G_CC)
|
||||
+CXX=$(G_CXX)
|
||||
Reference in New Issue
Block a user