summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-arch/7-zip/7-zip-21.03_beta-r1.ebuild (renamed from app-arch/7-zip/7-zip-21.03_beta.ebuild)8
-rw-r--r--app-arch/7-zip/files/7-zip-flags.patch49
2 files changed, 51 insertions, 6 deletions
diff --git a/app-arch/7-zip/7-zip-21.03_beta.ebuild b/app-arch/7-zip/7-zip-21.03_beta-r1.ebuild
index 15ce7ee..0d94eca 100644
--- a/app-arch/7-zip/7-zip-21.03_beta.ebuild
+++ b/app-arch/7-zip/7-zip-21.03_beta-r1.ebuild
@@ -22,6 +22,8 @@ BDEPEND="|| ( virtual/7z app-arch/libarchive app-arch/unar )"
S=${WORKDIR}/7z${MY_PV}-src
+PATCHES=( ${FILESDIR}/7-zip-flags.patch )
+
src_unpack() {
if command -v 7z >/dev/null 2>&1; then
7z x ${DISTDIR}/7z${MY_PV}-src.7z -o$S || die
@@ -35,14 +37,8 @@ src_unpack() {
fi
}
-src_prepare() {
- default
- sed -i -e 's/-Werror//g' -e "s/-O2/$CFLAGS/" CPP/7zip/7zip_gcc.mak || die
-}
-
src_compile() {
cd CPP/7zip/Bundles/Alone2
- append-ldflags -Wl,-z,noexecstack
make -f ../../cmpl_gcc.mak
}
diff --git a/app-arch/7-zip/files/7-zip-flags.patch b/app-arch/7-zip/files/7-zip-flags.patch
new file mode 100644
index 0000000..372819d
--- /dev/null
+++ b/app-arch/7-zip/files/7-zip-flags.patch
@@ -0,0 +1,49 @@
+diff -ru a/CPP/7zip/7zip_gcc.mak b/CPP/7zip/7zip_gcc.mak
+--- a/CPP/7zip/7zip_gcc.mak 2021-07-16 08:23:49.524088300 -0400
++++ b/CPP/7zip/7zip_gcc.mak 2021-08-14 14:43:34.618587556 -0400
+@@ -13,13 +13,13 @@
+
+
+ ifneq ($(CC), xlc)
+-CFLAGS_WARN_WALL = -Wall -Werror -Wextra
++CFLAGS_WARN_WALL = -Wall -Wextra -Wno-misleading-indentation
+ endif
+
+ # for object file
+ CFLAGS_BASE_LIST = -c
+ # CFLAGS_BASE_LIST = -S
+-CFLAGS_BASE = -O2 $(CFLAGS_BASE_LIST) $(CFLAGS_WARN_WALL) $(CFLAGS_WARN) \
++CFLAGS_BASE = $(CFLAGS_BASE_LIST) $(CFLAGS_WARN_WALL) $(CFLAGS_WARN) \
+ -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+ -fPIC
+
+@@ -62,17 +62,17 @@
+
+ ifdef IS_MINGW
+ SHARED_EXT=.dll
+-LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
++MY_LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
+ else
+ SHARED_EXT=.so
+-LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
++MY_LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
+ CC_SHARED=-fPIC
+ endif
+
+
+ else
+
+-LDFLAGS = $(LDFLAGS_STATIC)
++MY_LDFLAGS = $(LDFLAGS_STATIC)
+ # -s is not required for clang, do we need it for GGC ???
+ # -s
+
+@@ -156,7 +156,7 @@
+ $(MY_MKDIR) $(O)
+
+ $(PROGPATH): $(OBJS)
+- $(CXX) -o $(PROGPATH) -s $(MY_ARCH_2) $(LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
++ $(CXX) -o $(PROGPATH) $(MY_ARCH_2) $(LDFLAGS) $(MY_LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
+
+ # -s strips debug sections from executable in GCC
+