unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob 20a40488d875f691de4b2b04b2d90d415c7635ab 1721 bytes (raw)
name: packages/patches/p7zip-fix-build-with-gcc-11.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
Building p7zip with GCC 11 or newer normally fails with error messages like

  ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an
  operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
    308 |           numMethods++;
        |           ^~~~~~~~~~

This patch causes GCC to interpret the code using the GNU dialect of the C++14
standard, as GCC 10 did by default, and reduces these errors to warnings.

diff --git a/makefile.linux_amd64_asm b/makefile.linux_amd64_asm
index 075c6a8..b7d73ee 100644
--- a/makefile.linux_amd64_asm
+++ b/makefile.linux_amd64_asm
@@ -11,6 +11,8 @@ ALLFLAGS=-m64 ${OPTFLAGS} -pipe \
 	-D_7ZIP_ASM \
 	$(LOCAL_FLAGS)
 
+ALLFLAGS_CPP=-std=gnu++14
+
 CXX=g++
 CC=gcc
 CC_SHARED=-fPIC
diff --git a/makefile.linux_any_cpu_gcc_4.X b/makefile.linux_any_cpu_gcc_4.X
index be093b5..c0f3120 100644
--- a/makefile.linux_any_cpu_gcc_4.X
+++ b/makefile.linux_any_cpu_gcc_4.X
@@ -10,7 +10,7 @@ ALLFLAGS=${OPTFLAGS} -pipe \
 	-D_7ZIP_LARGE_PAGES \
 	$(LOCAL_FLAGS)
 
-ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden
+ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -std=gnu++14 -fvisibility=hidden -fvisibility-inlines-hidden
 
 CXX=g++
 CC=gcc
diff --git a/makefile.linux_x86_asm_gcc_4.X b/makefile.linux_x86_asm_gcc_4.X
index 1ac339b..6e736d9 100644
--- a/makefile.linux_x86_asm_gcc_4.X
+++ b/makefile.linux_x86_asm_gcc_4.X
@@ -12,7 +12,7 @@ ALLFLAGS=${OPTFLAGS} -pipe -m32 \
 	-D_7ZIP_ASM \
 	$(LOCAL_FLAGS)
 
-ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden
+ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -std=gnu++14 -fvisibility=hidden -fvisibility-inlines-hidden
 
 CXX=g++
 CC=gcc

debug log:

solving 20a40488d875f691de4b2b04b2d90d415c7635ab ...
found 20a40488d875f691de4b2b04b2d90d415c7635ab in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).