aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2020-11-25 04:43:51 -0300
committerLeo <thinkabit.ukim@gmail.com>2020-11-25 08:14:20 +0000
commitb09c9273d8abec0fb444115062b5c1614f6d7db8 (patch)
tree1fb3afc8f998368e15f73f9e54924ffa63ca7467
parent32781fefa431de57a466439b6f1bf09856d5baac (diff)
main/p7zip: fix build under gcc-10, and g++ warnings
-rw-r--r--main/p7zip/APKBUILD10
-rw-r--r--main/p7zip/g++-warning.patch24
-rw-r--r--main/p7zip/gcc-10.patch26
3 files changed, 57 insertions, 3 deletions
diff --git a/main/p7zip/APKBUILD b/main/p7zip/APKBUILD
index 211613f2894..0d8b244e4c0 100644
--- a/main/p7zip/APKBUILD
+++ b/main/p7zip/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=p7zip
pkgver=16.02
-pkgrel=3
-pkgdesc="A command-line port of the 7zip compression utility"
+pkgrel=4
+pkgdesc="command-line port of the 7zip compression utility"
url="http://p7zip.sourceforge.net"
arch="all"
license="LGPL-2.0-or-later"
@@ -15,6 +15,8 @@ source="https://downloads.sourceforge.net/sourceforge/p7zip/p7zip_${pkgver}_src_
CVE-2017-17969.patch
CVE-2018-5996.patch
CVE-2018-10115.patch
+ g++-warning.patch
+ gcc-10.patch
"
builddir="$srcdir/p7zip_$pkgver"
@@ -65,4 +67,6 @@ sha512sums="d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa749644
7a7fddf4122c3f5d4632640149a94c285a18515f38510388709c2fb9ecd450f9f34ae2e5fe4926c1c68507567b0affa2c8e9194c732673171dd5ee625192b194 CVE-2016-9296.patch
22b6437770f2fb70675ed6971239ec3d40d5b9c7e1c5aa28c670d082bd2e7d861863f2f00feacec759eab216081dc49544b980b2ebe9fe40c7d0d1ca1dfc3069 CVE-2017-17969.patch
7962a03430b94aec7c93d6dabee340f4f5915d728ba4df0dcaae483ab9c29115818e5e944572a3fd910addad8799c6a1e3911f6a0a02b661f804eea11c3a0f40 CVE-2018-5996.patch
-757d0f50ccce2a21dce81f165a9f408a71ea53c226ef29b4d3843f30b2fc518d06cd784e2de644904813cd16a87f24387c5cc35c2499b1df9d86377057be032a CVE-2018-10115.patch"
+757d0f50ccce2a21dce81f165a9f408a71ea53c226ef29b4d3843f30b2fc518d06cd784e2de644904813cd16a87f24387c5cc35c2499b1df9d86377057be032a CVE-2018-10115.patch
+43e995b92ab7d167c5b8df4bae89c32291ada309489d52f4d95c32c33ec57385de0b97fc4862b3ddb41b1936ea62a1b2bfaffe24adf818a35097e32bcf509468 g++-warning.patch
+395d8e6df9da997609a219ffbfb6b17ca7102a1070904966cc1810b363128d01504702ee9e413f648ac9083bfcbab84d84f18937ffda5436c820e5a95597fad6 gcc-10.patch"
diff --git a/main/p7zip/g++-warning.patch b/main/p7zip/g++-warning.patch
new file mode 100644
index 00000000000..226e239ee99
--- /dev/null
+++ b/main/p7zip/g++-warning.patch
@@ -0,0 +1,24 @@
+From: Robert Luberda <robert@debian.org>
+Date: Sun, 28 Jan 2018 22:19:13 +0100
+Subject: Fix g++ warning
+
+Fix for "use of an operand of type 'bool' in 'operator++'
+is deprecated [-Wdeprecated]" warning taken from 7zip 18.00.beta
+package.
+---
+ CPP/7zip/Archive/Wim/WimHandler.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp
+index 27d3298..4ff5cfe 100644
+--- a/CPP/7zip/Archive/Wim/WimHandler.cpp
++++ b/CPP/7zip/Archive/Wim/WimHandler.cpp
+@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value)
+
+ AString res;
+
+- bool numMethods = 0;
++ unsigned numMethods = 0;
+ for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++)
+ {
+ if (methodMask & ((UInt32)1 << i))
diff --git a/main/p7zip/gcc-10.patch b/main/p7zip/gcc-10.patch
new file mode 100644
index 00000000000..45f9f84af4e
--- /dev/null
+++ b/main/p7zip/gcc-10.patch
@@ -0,0 +1,26 @@
+diff -Nrup a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp
+--- a/CPP/Windows/ErrorMsg.cpp 2015-01-18 11:20:28.000000000 -0700
++++ b/CPP/Windows/ErrorMsg.cpp 2019-09-24 13:01:18.887289152 -0600
+@@ -14,14 +14,14 @@ UString MyFormatMessage(DWORD errorCode)
+ AString msg;
+
+ switch(errorCode) {
+- case ERROR_NO_MORE_FILES : txt = "No more files"; break ;
+- case E_NOTIMPL : txt = "E_NOTIMPL"; break ;
+- case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ;
+- case E_ABORT : txt = "E_ABORT"; break ;
+- case E_FAIL : txt = "E_FAIL"; break ;
+- case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
+- case E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ;
+- case E_INVALIDARG : txt = "E_INVALIDARG"; break ;
++ case unsigned (ERROR_NO_MORE_FILES) : txt = "No more files"; break ;
++ case unsigned (E_NOTIMPL) : txt = "E_NOTIMPL"; break ;
++ case unsigned (E_NOINTERFACE) : txt = "E_NOINTERFACE"; break ;
++ case unsigned (E_ABORT) : txt = "E_ABORT"; break ;
++ case unsigned (E_FAIL) : txt = "E_FAIL"; break ;
++ case unsigned (STG_E_INVALIDFUNCTION) : txt = "STG_E_INVALIDFUNCTION"; break ;
++ case unsigned (E_OUTOFMEMORY) : txt = "E_OUTOFMEMORY"; break ;
++ case unsigned (E_INVALIDARG) : txt = "E_INVALIDARG"; break ;
+ case ERROR_DIRECTORY : txt = "Error Directory"; break ;
+ default:
+ txt = strerror(errorCode);