commit:     a3a05ceaf70e8c46d99df714107aa5922c7b7977
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu May 15 11:14:29 2025 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu May 15 11:14:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3a05cea

app-arch/p7zip: drop 16.02-r8, 17.05-r1

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 app-arch/p7zip/Manifest                       |   1 -
 app-arch/p7zip/files/CVE-2016-9296.patch      |  12 -
 app-arch/p7zip/files/CVE-2017-17969.patch     |  26 ---
 app-arch/p7zip/files/CVE-2018-10115.patch     | 311 --------------------------
 app-arch/p7zip/files/CVE-2018-5996.patch      | 221 ------------------
 app-arch/p7zip/files/WimHandler.cpp.patch     |  11 -
 app-arch/p7zip/files/p7zip-16.02-darwin.patch |  46 ----
 app-arch/p7zip/p7zip-16.02-r8.ebuild          | 149 ------------
 app-arch/p7zip/p7zip-17.05-r1.ebuild          | 112 ----------
 9 files changed, 889 deletions(-)

diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index c03f71b7e19b..d3db328a9ab2 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -1,2 +1 @@
 DIST p7zip-17.05.tar.gz 6722154 BLAKE2B 
0bcba638d3acaf2aa270e02693ad4295dfcc6b388037bdb446e25f3f4e1cb34f1b05bbc9a845364ca770625c32b2d7f55f63f504ad8e0863fff4bf940ae1fddd
 SHA512 
97a7cfd15287998eb049c320548477be496c4ddf6b45c833c42adca4ab88719b07a442ae2e71cf2dc3b30a0777a3acab0a1a30f01fd85bacffa3fa9bd22c3f7d
-DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 
075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6
 SHA512 
d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f

diff --git a/app-arch/p7zip/files/CVE-2016-9296.patch 
b/app-arch/p7zip/files/CVE-2016-9296.patch
deleted file mode 100644
index 773f92a46e0e..000000000000
--- a/app-arch/p7zip/files/CVE-2016-9296.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./CPP/7zip/Archive/7z/7zIn.cpp.orig        2016-11-21 01:42:29.460901230 
+0000
-+++ ./CPP/7zip/Archive/7z/7zIn.cpp     2016-11-21 01:42:57.481197725 +0000
-@@ -1097,7 +1097,8 @@ HRESULT CInArchive::ReadAndDecodePackedS
-       if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
-         ThrowIncorrect();
-   }
--  HeadersSize += folders.PackPositions[folders.NumPackStreams];
-+  if (folders.PackPositions)
-+      HeadersSize += folders.PackPositions[folders.NumPackStreams];
-   return S_OK;
- }
- 

diff --git a/app-arch/p7zip/files/CVE-2017-17969.patch 
b/app-arch/p7zip/files/CVE-2017-17969.patch
deleted file mode 100644
index 9a820af73067..000000000000
--- a/app-arch/p7zip/files/CVE-2017-17969.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: =?utf-8?q?Antoine_Beaupr=C3=A9?= <[email protected]>
-Date: Sun, 28 Jan 2018 21:19:50 +0100
-Subject: backport of the CVE-2017-17969 fix from 7zip 18.00-beta
-
----
- CPP/7zip/Compress/ShrinkDecoder.cpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/CPP/7zip/Compress/ShrinkDecoder.cpp 
b/CPP/7zip/Compress/ShrinkDecoder.cpp
-index 80b7e67..4acdce5 100644
---- a/CPP/7zip/Compress/ShrinkDecoder.cpp
-+++ b/CPP/7zip/Compress/ShrinkDecoder.cpp
-@@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-     {
-       _stack[i++] = _suffixes[cur];
-       cur = _parents[cur];
--    }
-+      if (i >= kNumItems)
-+        break;
-+     }
-+
-+    if (i >= kNumItems)
-+      break;
-     
-     _stack[i++] = (Byte)cur;
-     lastChar2 = (Byte)cur;

diff --git a/app-arch/p7zip/files/CVE-2018-10115.patch 
b/app-arch/p7zip/files/CVE-2018-10115.patch
deleted file mode 100644
index 7d9c4bf81f00..000000000000
--- a/app-arch/p7zip/files/CVE-2018-10115.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-From: Robert Luberda <[email protected]>
-Date: Tue, 29 May 2018 23:59:09 +0200
-Subject: Fix CVE-2018-10115
-
-Apply "patch" taken from https://landave.io/files/patch_7zip_CVE-2018-10115.txt
-
-
-Bugs-Debian: https://bugs.debian.org/897674
----
- CPP/7zip/Compress/Rar1Decoder.cpp | 16 +++++++++++-----
- CPP/7zip/Compress/Rar1Decoder.h   |  3 ++-
- CPP/7zip/Compress/Rar2Decoder.cpp | 17 +++++++++++++----
- CPP/7zip/Compress/Rar2Decoder.h   |  3 ++-
- CPP/7zip/Compress/Rar3Decoder.cpp | 19 +++++++++++++++----
- CPP/7zip/Compress/Rar3Decoder.h   |  3 ++-
- CPP/7zip/Compress/Rar5Decoder.cpp |  8 ++++++++
- CPP/7zip/Compress/Rar5Decoder.h   |  1 +
- 8 files changed, 54 insertions(+), 16 deletions(-)
-
-diff --git a/CPP/7zip/Compress/Rar1Decoder.cpp 
b/CPP/7zip/Compress/Rar1Decoder.cpp
-index 68030c7..8c890c8 100644
---- a/CPP/7zip/Compress/Rar1Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar1Decoder.cpp
-@@ -29,7 +29,7 @@ public:
- };
- */
- 
--CDecoder::CDecoder(): m_IsSolid(false), _errorMode(false) { }
-+CDecoder::CDecoder(): _isSolid(false), _solidAllowed(false), 
_errorMode(false) { }
- 
- void CDecoder::InitStructures()
- {
-@@ -345,7 +345,7 @@ void CDecoder::GetFlagsBuf()
- 
- void CDecoder::InitData()
- {
--  if (!m_IsSolid)
-+  if (!_isSolid)
-   {
-     AvrPlcB = AvrLn1 = AvrLn2 = AvrLn3 = NumHuf = Buf60 = 0;
-     AvrPlc = 0x3500;
-@@ -391,6 +391,11 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-   if (inSize == NULL || outSize == NULL)
-     return E_INVALIDARG;
- 
-+  if (_isSolid && !_solidAllowed)
-+    return S_FALSE;
-+
-+  _solidAllowed = false;
-+
-   if (!m_OutWindowStream.Create(kHistorySize))
-     return E_OUTOFMEMORY;
-   if (!m_InBitStream.Create(1 << 20))
-@@ -398,13 +403,13 @@ HRESULT CDecoder::CodeReal(ISequentialInStream 
*inStream, ISequentialOutStream *
- 
-   m_UnpackSize = (Int64)*outSize;
-   m_OutWindowStream.SetStream(outStream);
--  m_OutWindowStream.Init(m_IsSolid);
-+  m_OutWindowStream.Init(_isSolid);
-   m_InBitStream.SetStream(inStream);
-   m_InBitStream.Init();
- 
-   // CCoderReleaser coderReleaser(this);
-   InitData();
--  if (!m_IsSolid)
-+  if (!_isSolid)
-   {
-     _errorMode = false;
-     InitStructures();
-@@ -475,6 +480,7 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-   }
-   if (m_UnpackSize < 0)
-     return S_FALSE;
-+  _solidAllowed = true;
-   return m_OutWindowStream.Flush();
- }
- 
-@@ -491,7 +497,7 @@ STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte 
*data, UInt32 size)
- {
-   if (size < 1)
-     return E_INVALIDARG;
--  m_IsSolid = ((data[0] & 1) != 0);
-+  _isSolid = ((data[0] & 1) != 0);
-   return S_OK;
- }
- 
-diff --git a/CPP/7zip/Compress/Rar1Decoder.h b/CPP/7zip/Compress/Rar1Decoder.h
-index 01b606b..8abb3a3 100644
---- a/CPP/7zip/Compress/Rar1Decoder.h
-+++ b/CPP/7zip/Compress/Rar1Decoder.h
-@@ -38,7 +38,8 @@ public:
-   UInt32 LastLength;
- 
-   Int64 m_UnpackSize;
--  bool m_IsSolid;
-+  bool _isSolid;
-+  bool _solidAllowed;
-   bool _errorMode;
- 
-   UInt32 ReadBits(int numBits);
-diff --git a/CPP/7zip/Compress/Rar2Decoder.cpp 
b/CPP/7zip/Compress/Rar2Decoder.cpp
-index 0580c8d..be8d842 100644
---- a/CPP/7zip/Compress/Rar2Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar2Decoder.cpp
-@@ -80,7 +80,8 @@ static const UInt32 kHistorySize = 1 << 20;
- static const UInt32 kWindowReservSize = (1 << 22) + 256;
- 
- CDecoder::CDecoder():
--  m_IsSolid(false),
-+  _isSolid(false),
-+  _solidAllowed(false),
-   m_TablesOK(false)
- {
- }
-@@ -320,6 +321,10 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-   if (inSize == NULL || outSize == NULL)
-     return E_INVALIDARG;
- 
-+  if (_isSolid && !_solidAllowed)
-+    return S_FALSE;
-+  _solidAllowed = false;
-+
-   if (!m_OutWindowStream.Create(kHistorySize))
-     return E_OUTOFMEMORY;
-   if (!m_InBitStream.Create(1 << 20))
-@@ -330,12 +335,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream 
*inStream, ISequentialOutStream *
-   UInt64 pos = 0, unPackSize = *outSize;
-   
-   m_OutWindowStream.SetStream(outStream);
--  m_OutWindowStream.Init(m_IsSolid);
-+  m_OutWindowStream.Init(_isSolid);
-   m_InBitStream.SetStream(inStream);
-   m_InBitStream.Init();
- 
-   // CCoderReleaser coderReleaser(this);
--  if (!m_IsSolid)
-+  if (!_isSolid)
-   {
-     InitStructures();
-     if (unPackSize == 0)
-@@ -343,6 +348,7 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-       if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: 
probably incorrect;
-         if (!ReadTables())
-           return S_FALSE;
-+      _solidAllowed = true;
-       return S_OK;
-     }
-     if (!ReadTables())
-@@ -386,6 +392,9 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
- 
-   if (!ReadLastTables())
-     return S_FALSE;
-+
-+  _solidAllowed = true;
-+
-   return m_OutWindowStream.Flush();
- }
- 
-@@ -402,7 +411,7 @@ STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte 
*data, UInt32 size)
- {
-   if (size < 1)
-     return E_INVALIDARG;
--  m_IsSolid = ((data[0] & 1) != 0);
-+  _isSolid = ((data[0] & 1) != 0);
-   return S_OK;
- }
- 
-diff --git a/CPP/7zip/Compress/Rar2Decoder.h b/CPP/7zip/Compress/Rar2Decoder.h
-index 0e9005f..370bce2 100644
---- a/CPP/7zip/Compress/Rar2Decoder.h
-+++ b/CPP/7zip/Compress/Rar2Decoder.h
-@@ -138,7 +138,8 @@ class CDecoder :
-   Byte m_LastLevels[kMaxTableSize];
- 
-   UInt64 m_PackSize;
--  bool m_IsSolid;
-+  bool _isSolid;
-+  bool _solidAllowed;
-   bool m_TablesOK;
- 
-   void InitStructures();
-diff --git a/CPP/7zip/Compress/Rar3Decoder.cpp 
b/CPP/7zip/Compress/Rar3Decoder.cpp
-index 6cb8a6a..7b85833 100644
---- a/CPP/7zip/Compress/Rar3Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar3Decoder.cpp
-@@ -92,7 +92,8 @@ CDecoder::CDecoder():
-   _writtenFileSize(0),
-   _vmData(0),
-   _vmCode(0),
--  m_IsSolid(false),
-+  _isSolid(false),
-+  _solidAllowed(false),
-   _errorMode(false)
- {
-   Ppmd7_Construct(&_ppmd);
-@@ -821,7 +822,7 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
- {
-   _writtenFileSize = 0;
-   _unsupportedFilter = false;
--  if (!m_IsSolid)
-+  if (!_isSolid)
-   {
-     _lzSize = 0;
-     _winPos = 0;
-@@ -840,12 +841,15 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo 
*progress)
-   if (_errorMode)
-     return S_FALSE;
- 
--  if (!m_IsSolid || !TablesRead)
-+  if (!_isSolid || !TablesRead)
-   {
-     bool keepDecompressing;
-     RINOK(ReadTables(keepDecompressing));
-     if (!keepDecompressing)
-+    {
-+      _solidAllowed = true;
-       return S_OK;
-+    }
-   }
- 
-   for (;;)
-@@ -870,6 +874,9 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
-     if (!keepDecompressing)
-       break;
-   }
-+
-+  _solidAllowed = true;
-+
-   RINOK(WriteBuf());
-   UInt64 packSize = m_InBitStream.BitDecoder.GetProcessedSize();
-   RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize));
-@@ -890,6 +897,10 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream 
*inStream, ISequentialOutStream
-     if (!inSize)
-       return E_INVALIDARG;
- 
-+    if (_isSolid && !_solidAllowed)
-+      return S_FALSE;
-+    _solidAllowed = false;
-+
-     if (!_vmData)
-     {
-       _vmData = (Byte *)::MidAlloc(kVmDataSizeMax + kVmCodeSizeMax);
-@@ -928,7 +939,7 @@ STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte 
*data, UInt32 size)
- {
-   if (size < 1)
-     return E_INVALIDARG;
--  m_IsSolid = ((data[0] & 1) != 0);
-+  _isSolid = ((data[0] & 1) != 0);
-   return S_OK;
- }
- 
-diff --git a/CPP/7zip/Compress/Rar3Decoder.h b/CPP/7zip/Compress/Rar3Decoder.h
-index 2f72d7d..32c8943 100644
---- a/CPP/7zip/Compress/Rar3Decoder.h
-+++ b/CPP/7zip/Compress/Rar3Decoder.h
-@@ -191,7 +191,8 @@ class CDecoder:
-   CRecordVector<CTempFilter *>  _tempFilters;
-   UInt32 _lastFilter;
- 
--  bool m_IsSolid;
-+  bool _isSolid;
-+  bool _solidAllowed;
-   bool _errorMode;
- 
-   bool _lzMode;
-diff --git a/CPP/7zip/Compress/Rar5Decoder.cpp 
b/CPP/7zip/Compress/Rar5Decoder.cpp
-index dc8830f..a826d5a 100644
---- a/CPP/7zip/Compress/Rar5Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar5Decoder.cpp
-@@ -72,6 +72,7 @@ CDecoder::CDecoder():
-     _writtenFileSize(0),
-     _dictSizeLog(0),
-     _isSolid(false),
-+    _solidAllowed(false),
-     _wasInit(false),
-     _inputBuf(NULL)
- {
-@@ -801,7 +802,10 @@ HRESULT CDecoder::CodeReal()
-   */
- 
-   if (res == S_OK)
-+  {
-+    _solidAllowed = true;
-     res = res2;
-+  }
-      
-   if (res == S_OK && _unpackSize_Defined && _writtenFileSize != _unpackSize)
-     return S_FALSE;
-@@ -821,6 +825,10 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream 
*inStream, ISequentialOutStream
- {
-   try
-   {
-+    if (_isSolid && !_solidAllowed)
-+      return S_FALSE;
-+    _solidAllowed = false;
-+
-     if (_dictSizeLog >= sizeof(size_t) * 8)
-       return E_NOTIMPL;
- 
-diff --git a/CPP/7zip/Compress/Rar5Decoder.h b/CPP/7zip/Compress/Rar5Decoder.h
-index b0a4dd1..3db5018 100644
---- a/CPP/7zip/Compress/Rar5Decoder.h
-+++ b/CPP/7zip/Compress/Rar5Decoder.h
-@@ -271,6 +271,7 @@ class CDecoder:
-   Byte _dictSizeLog;
-   bool _tableWasFilled;
-   bool _isSolid;
-+  bool _solidAllowed;
-   bool _wasInit;
- 
-   UInt32 _reps[kNumReps];

diff --git a/app-arch/p7zip/files/CVE-2018-5996.patch 
b/app-arch/p7zip/files/CVE-2018-5996.patch
deleted file mode 100644
index 6733bff91895..000000000000
--- a/app-arch/p7zip/files/CVE-2018-5996.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From: Robert Luberda <[email protected]>
-Date: Sun, 28 Jan 2018 23:47:40 +0100
-Subject: CVE-2018-5996
-
-Hopefully fix Memory Corruptions via RAR PPMd (CVE-2018-5996) by
-applying a few changes from 7Zip 18.00-beta.
-
-Bug-Debian: https://bugs.debian.org/#888314
----
- CPP/7zip/Compress/Rar1Decoder.cpp | 13 +++++++++----
- CPP/7zip/Compress/Rar1Decoder.h   |  1 +
- CPP/7zip/Compress/Rar2Decoder.cpp | 10 +++++++++-
- CPP/7zip/Compress/Rar2Decoder.h   |  1 +
- CPP/7zip/Compress/Rar3Decoder.cpp | 23 ++++++++++++++++++++---
- CPP/7zip/Compress/Rar3Decoder.h   |  2 ++
- 6 files changed, 42 insertions(+), 8 deletions(-)
-
-diff --git a/CPP/7zip/Compress/Rar1Decoder.cpp 
b/CPP/7zip/Compress/Rar1Decoder.cpp
-index 1aaedcc..68030c7 100644
---- a/CPP/7zip/Compress/Rar1Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar1Decoder.cpp
-@@ -29,7 +29,7 @@ public:
- };
- */
- 
--CDecoder::CDecoder(): m_IsSolid(false) { }
-+CDecoder::CDecoder(): m_IsSolid(false), _errorMode(false) { }
- 
- void CDecoder::InitStructures()
- {
-@@ -406,9 +406,14 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-   InitData();
-   if (!m_IsSolid)
-   {
-+    _errorMode = false;
-     InitStructures();
-     InitHuff();
-   }
-+
-+  if (_errorMode)
-+    return S_FALSE;
-+
-   if (m_UnpackSize > 0)
-   {
-     GetFlagsBuf();
-@@ -477,9 +482,9 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, 
ISequentialOutStream
-     const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo 
*progress)
- {
-   try { return CodeReal(inStream, outStream, inSize, outSize, progress); }
--  catch(const CInBufferException &e) { return e.ErrorCode; }
--  catch(const CLzOutWindowException &e) { return e.ErrorCode; }
--  catch(...) { return S_FALSE; }
-+  catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; 
}
-+  catch(const CLzOutWindowException &e) { _errorMode = true; return 
e.ErrorCode; }
-+  catch(...) { _errorMode = true; return S_FALSE; }
- }
- 
- STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
-diff --git a/CPP/7zip/Compress/Rar1Decoder.h b/CPP/7zip/Compress/Rar1Decoder.h
-index 630f089..01b606b 100644
---- a/CPP/7zip/Compress/Rar1Decoder.h
-+++ b/CPP/7zip/Compress/Rar1Decoder.h
-@@ -39,6 +39,7 @@ public:
- 
-   Int64 m_UnpackSize;
-   bool m_IsSolid;
-+  bool _errorMode;
- 
-   UInt32 ReadBits(int numBits);
-   HRESULT CopyBlock(UInt32 distance, UInt32 len);
-diff --git a/CPP/7zip/Compress/Rar2Decoder.cpp 
b/CPP/7zip/Compress/Rar2Decoder.cpp
-index b3f2b4b..0580c8d 100644
---- a/CPP/7zip/Compress/Rar2Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar2Decoder.cpp
-@@ -80,7 +80,8 @@ static const UInt32 kHistorySize = 1 << 20;
- static const UInt32 kWindowReservSize = (1 << 22) + 256;
- 
- CDecoder::CDecoder():
--  m_IsSolid(false)
-+  m_IsSolid(false),
-+  m_TablesOK(false)
- {
- }
- 
-@@ -100,6 +101,8 @@ UInt32 CDecoder::ReadBits(unsigned numBits) { return 
m_InBitStream.ReadBits(numB
- 
- bool CDecoder::ReadTables(void)
- {
-+  m_TablesOK = false;
-+
-   Byte levelLevels[kLevelTableSize];
-   Byte newLevels[kMaxTableSize];
-   m_AudioMode = (ReadBits(1) == 1);
-@@ -170,6 +173,8 @@ bool CDecoder::ReadTables(void)
-   }
-   
-   memcpy(m_LastLevels, newLevels, kMaxTableSize);
-+  m_TablesOK = true;
-+
-   return true;
- }
- 
-@@ -344,6 +349,9 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, 
ISequentialOutStream *
-       return S_FALSE;
-   }
- 
-+  if (!m_TablesOK)
-+    return S_FALSE;
-+
-   UInt64 startPos = m_OutWindowStream.GetProcessedSize();
-   while (pos < unPackSize)
-   {
-diff --git a/CPP/7zip/Compress/Rar2Decoder.h b/CPP/7zip/Compress/Rar2Decoder.h
-index 3a0535c..0e9005f 100644
---- a/CPP/7zip/Compress/Rar2Decoder.h
-+++ b/CPP/7zip/Compress/Rar2Decoder.h
-@@ -139,6 +139,7 @@ class CDecoder :
- 
-   UInt64 m_PackSize;
-   bool m_IsSolid;
-+  bool m_TablesOK;
- 
-   void InitStructures();
-   UInt32 ReadBits(unsigned numBits);
-diff --git a/CPP/7zip/Compress/Rar3Decoder.cpp 
b/CPP/7zip/Compress/Rar3Decoder.cpp
-index 3bf2513..6cb8a6a 100644
---- a/CPP/7zip/Compress/Rar3Decoder.cpp
-+++ b/CPP/7zip/Compress/Rar3Decoder.cpp
-@@ -92,7 +92,8 @@ CDecoder::CDecoder():
-   _writtenFileSize(0),
-   _vmData(0),
-   _vmCode(0),
--  m_IsSolid(false)
-+  m_IsSolid(false),
-+  _errorMode(false)
- {
-   Ppmd7_Construct(&_ppmd);
- }
-@@ -545,6 +546,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
-     return InitPPM();
-   }
- 
-+  TablesRead = false;
-+  TablesOK = false;
-+
-   _lzMode = true;
-   PrevAlignBits = 0;
-   PrevAlignCount = 0;
-@@ -606,6 +610,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
-       }
-     }
-   }
-+  if (InputEofError())
-+    return S_FALSE;
-+
-   TablesRead = true;
- 
-   // original code has check here:
-@@ -623,6 +630,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
-   RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + 
kAlignTableSize]));
- 
-   memcpy(m_LastLevels, newLevels, kTablesSizesSum);
-+
-+  TablesOK = true;
-+
-   return S_OK;
- }
- 
-@@ -824,7 +834,12 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo 
*progress)
-     PpmEscChar = 2;
-     PpmError = true;
-     InitFilters();
-+    _errorMode = false;
-   }
-+
-+  if (_errorMode)
-+    return S_FALSE;
-+
-   if (!m_IsSolid || !TablesRead)
-   {
-     bool keepDecompressing;
-@@ -838,6 +853,8 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
-     bool keepDecompressing;
-     if (_lzMode)
-     {
-+      if (!TablesOK)
-+        return S_FALSE;
-       RINOK(DecodeLZ(keepDecompressing))
-     }
-     else
-@@ -901,8 +918,8 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, 
ISequentialOutStream
-     _unpackSize = outSize ? *outSize : (UInt64)(Int64)-1;
-     return CodeReal(progress);
-   }
--  catch(const CInBufferException &e)  { return e.ErrorCode; }
--  catch(...) { return S_FALSE; }
-+  catch(const CInBufferException &e)  { _errorMode = true; return 
e.ErrorCode; }
-+  catch(...) { _errorMode = true; return S_FALSE; }
-   // CNewException is possible here. But probably CNewException is caused
-   // by error in data stream.
- }
-diff --git a/CPP/7zip/Compress/Rar3Decoder.h b/CPP/7zip/Compress/Rar3Decoder.h
-index c130cec..2f72d7d 100644
---- a/CPP/7zip/Compress/Rar3Decoder.h
-+++ b/CPP/7zip/Compress/Rar3Decoder.h
-@@ -192,6 +192,7 @@ class CDecoder:
-   UInt32 _lastFilter;
- 
-   bool m_IsSolid;
-+  bool _errorMode;
- 
-   bool _lzMode;
-   bool _unsupportedFilter;
-@@ -200,6 +201,7 @@ class CDecoder:
-   UInt32 PrevAlignCount;
- 
-   bool TablesRead;
-+  bool TablesOK;
- 
-   CPpmd7 _ppmd;
-   int PpmEscChar;

diff --git a/app-arch/p7zip/files/WimHandler.cpp.patch 
b/app-arch/p7zip/files/WimHandler.cpp.patch
deleted file mode 100644
index db7d73a2b942..000000000000
--- a/app-arch/p7zip/files/WimHandler.cpp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./CPP/7zip/Archive/Wim/WimHandler.cpp      2016-06-11 11:08:06.000000000 
+0300
-+++ ./CPP/7zip/Archive/Wim/WimHandler.cpp.new  2020-01-22 09:36:59.671803569 
+0300
-@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchivePropert
- 
-       AString res;
- 
--      bool numMethods = 0;
-+      int numMethods = 0;
-       for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++)
-       {
-         if (methodMask & ((UInt32)1 << i))

diff --git a/app-arch/p7zip/files/p7zip-16.02-darwin.patch 
b/app-arch/p7zip/files/p7zip-16.02-darwin.patch
deleted file mode 100644
index 1c3899f30a53..000000000000
--- a/app-arch/p7zip/files/p7zip-16.02-darwin.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/CPP/myWindows/StdAfx.h
-+++ b/CPP/myWindows/StdAfx.h
-@@ -32,7 +32,7 @@
- #include <errno.h>
- #include <math.h>
- 
--#ifdef __NETWARE__
-+#if defined(__NETWARE__) || defined(__MACH__)
- #include <sys/types.h>
- #endif
- 
-
-https://svnweb.freebsd.org/ports/head/archivers/p7zip/files/patch-CPP_Windows_ErrorMsg.cpp?view=markup&pathrev=458172
-This fixes the build with Clang 6.0:
-
- ../../../../CPP/Windows/ErrorMsg.cpp:24:10: error: case value evaluates to 
-2147024809, which cannot be narrowed to type 'DWORD' (aka  'unsigned int') 
[-Wc++11-narrowing]
-     case E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
-          ^
- ../../../../CPP/Common/MyWindows.h:89:22: note: expanded from macro 
'E_INVALIDARG'
- #define E_INVALIDARG ((HRESULT)0x80070057L)
-                      ^
-
-The HRESULT cast in the macro causes the value to be read as signed int.
---- a/CPP/Windows/ErrorMsg.cpp
-+++ b/CPP/Windows/ErrorMsg.cpp
-@@ -15,13 +15,13 @@ UString MyFormatMessage(DWORD errorCode)
- 
-   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 (DWORD)(E_NOTIMPL)             : txt = "E_NOTIMPL"; break ;
-+    case (DWORD)(E_NOINTERFACE)         : txt = "E_NOINTERFACE"; break ;
-+    case (DWORD)(E_ABORT)               : txt = "E_ABORT"; break ;
-+    case (DWORD)(E_FAIL)                : txt = "E_FAIL"; break ;
-+    case (DWORD)(STG_E_INVALIDFUNCTION) : txt = "STG_E_INVALIDFUNCTION"; 
break ;
-+    case (DWORD)(E_OUTOFMEMORY)         : txt = "E_OUTOFMEMORY"; break ;
-+    case (DWORD)(E_INVALIDARG)          : txt = "E_INVALIDARG"; break ;
-     case ERROR_DIRECTORY          : txt = "Error Directory"; break ;
-     default:
-       txt = strerror(errorCode);

diff --git a/app-arch/p7zip/p7zip-16.02-r8.ebuild 
b/app-arch/p7zip/p7zip-16.02-r8.ebuild
deleted file mode 100644
index d8d3ab7c0146..000000000000
--- a/app-arch/p7zip/p7zip-16.02-r8.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-inherit multilib toolchain-funcs wrapper wxwidgets xdg
-
-DESCRIPTION="Port of 7-Zip archiver for Unix"
-HOMEPAGE="http://p7zip.sourceforge.net/";
-SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV}_src_all.tar.bz2";
-S="${WORKDIR}/${PN}_${PV}"
-
-LICENSE="LGPL-2.1 rar? ( unRAR )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="abi_x86_x32 kde +pch rar static wxwidgets"
-REQUIRED_USE="kde? ( wxwidgets )"
-
-RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
-       abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
-       amd64? ( dev-lang/yasm )
-       x86? ( dev-lang/nasm )"
-
-PATCHES=(
-       "${FILESDIR}"/${P}-darwin.patch
-       "${FILESDIR}"/CVE-2016-9296.patch
-       "${FILESDIR}"/CVE-2017-17969.patch
-       "${FILESDIR}"/CVE-2018-5996.patch
-       "${FILESDIR}"/CVE-2018-10115.patch
-       "${FILESDIR}"/WimHandler.cpp.patch
-)
-
-src_prepare() {
-       default
-
-       if ! use pch; then
-               sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" 
-i makefile.* || die
-       fi
-
-       sed \
-               -e 's|-m32 ||g' \
-               -e 's|-m64 ||g' \
-               -e 's|-pipe||g' \
-               -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
-               -e "/CFLAGS=/s|=|+=|" \
-               -e "/CXXFLAGS=/s|=|+=|" \
-               -i makefile* || die
-
-       # remove non-free RAR codec
-       if use rar; then
-               ewarn "Enabling nonfree RAR decompressor"
-       else
-               sed \
-                       -e '/Rar/d' \
-                       -e '/RAR/d' \
-                       -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || 
die
-               rm -r CPP/7zip/Compress/Rar || die
-       fi
-
-       if use abi_x86_x32; then
-               sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
-               cp -f makefile.linux_amd64_asm makefile.machine || die
-       elif use amd64; then
-               cp -f makefile.linux_amd64_asm makefile.machine || die
-       elif use x86; then
-               cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
-       elif [[ ${CHOST} == *-darwin* ]] ; then
-               # Mac OS X needs this special makefile, because it has a non-GNU
-               # linker, it doesn't matter so much for bitwidth, for it doesn't
-               # do anything with it
-               cp -f makefile.macosx_llvm_64bits makefile.machine || die
-               # bundles have extension .bundle but don't die because USE=-rar
-               # removes the Rar directory
-               sed -i -e '/strcpy(name/s/\.so/.bundle/' \
-                       CPP/Windows/DLL.cpp || die
-               sed -i -e '/^PROG=/s/\.so/.bundle/' \
-                       CPP/7zip/Bundles/Format7zFree/makefile.list \
-                       $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) 
|| die
-       fi
-
-       if use static; then
-               sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' 
makefile.machine || die
-       fi
-
-       if use kde || use wxwidgets; then
-               setup-wxwidgets unicode
-               einfo "Preparing dependency list"
-               emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" depend
-       fi
-}
-
-src_compile() {
-       emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
-       if use kde || use wxwidgets; then
-               emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -- 7zG
-       fi
-}
-
-src_test() {
-       emake test test_7z test_7zr
-}
-
-src_install() {
-       # these wrappers cannot be symlinks, p7zip should be called with full 
path
-       make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
-       make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
-       make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
-
-       if use kde || use wxwidgets; then
-               make_wrapper 7zG /usr/$(get_libdir)/p7zip/7zG
-
-               dobin GUI/p7zipForFilemanager
-               exeinto /usr/$(get_libdir)/p7zip
-               doexe bin/7zG
-
-               insinto /usr/$(get_libdir)/p7zip
-               doins -r GUI/Lang
-
-               insinto /usr/share/icons/hicolor/16x16/apps/
-               newins GUI/p7zip_16_ok.png p7zip.png
-
-               if use kde; then
-                       rm GUI/kde4/p7zip_compress.desktop || die
-                       insinto /usr/share/kservices5/ServiceMenus
-                       doins GUI/kde4/*.desktop
-               fi
-       fi
-
-       dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
-       doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
-
-       exeinto /usr/$(get_libdir)/p7zip
-       doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
-       doexe bin/*$(get_modname)
-       if use rar; then
-               exeinto /usr/$(get_libdir)/p7zip/Codecs
-               doexe bin/Codecs/*$(get_modname)
-       fi
-
-       doman man1/7z.1 man1/7za.1 man1/7zr.1
-
-       dodoc ChangeLog README TODO
-       dodoc DOC/*.txt
-       docinto html
-       dodoc -r DOC/MANUAL/.
-}

diff --git a/app-arch/p7zip/p7zip-17.05-r1.ebuild 
b/app-arch/p7zip/p7zip-17.05-r1.ebuild
deleted file mode 100644
index 1f66ce63a7a3..000000000000
--- a/app-arch/p7zip/p7zip-17.05-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib toolchain-funcs wrapper xdg
-
-DESCRIPTION="Port of 7-Zip archiver for Unix"
-HOMEPAGE="https://github.com/p7zip-project/p7zip";
-SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-
-LICENSE="LGPL-2.1 rar? ( unRAR )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc 
~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="abi_x86_x32 natspec +pch rar test"
-
-REQUIRED_USE="test? ( rar )" # bug 907221
-RESTRICT="!test? ( test )"
-
-RDEPEND="natspec? ( dev-libs/libnatspec )"
-DEPEND="${RDEPEND}"
-BDEPEND="
-       abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
-       amd64? ( dev-lang/yasm )
-       x86? ( dev-lang/nasm )"
-
-PATCHES=( "${FILESDIR}/p7zip-17.05-unit64.patch" )
-
-src_prepare() {
-       default
-
-       if use natspec; then
-               eapply "${FILESDIR}"/${P}-natspec.patch
-               sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die
-       fi
-
-       if ! use pch; then
-               sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" 
-i makefile.* || die
-       fi
-
-       sed \
-               -e 's|-m32 ||g' \
-               -e 's|-m64 ||g' \
-               -e 's|-pipe||g' \
-               -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
-               -e "/CFLAGS=/s|=|+=|" \
-               -e "/CXXFLAGS=/s|=|+=|" \
-               -i makefile* || die
-
-       # remove non-free RAR codec
-       if ! use rar; then
-               sed \
-                       -e '/Rar/d' \
-                       -e '/RAR/d' \
-                       -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || 
die
-               rm -r CPP/7zip/Compress/Rar || die
-       fi
-
-       if use abi_x86_x32; then
-               sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
-               cp makefile.linux_amd64_asm makefile.machine || die
-       elif use amd64; then
-               cp makefile.linux_amd64_asm makefile.machine || die
-       elif use x86; then
-               cp makefile.linux_x86_asm_gcc_4.X makefile.machine || die
-       elif [[ ${CHOST} == *-darwin* ]] ; then
-               # Mac OS X needs this special makefile, because it has a non-GNU
-               # linker, it doesn't matter so much for bitwidth, for it doesn't
-               # do anything with it
-               cp makefile.macosx_llvm_64bits makefile.machine || die
-               # bundles have extension .bundle but don't die because USE=-rar
-               # removes the Rar directory
-               sed -i -e '/strcpy(name/s/\.so/.bundle/' \
-                       CPP/Windows/DLL.cpp || die
-               sed -i -e '/^PROG=/s/\.so/.bundle/' \
-                       CPP/7zip/Bundles/Format7zFree/makefile.list \
-                       $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) 
|| die
-       fi
-}
-
-src_compile() {
-       emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
-}
-
-src_test() {
-       emake test test_7z test_7zr
-}
-
-src_install() {
-       # these wrappers cannot be symlinks, p7zip should be called with full 
path
-       make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
-       make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
-       make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
-
-       dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
-       doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
-
-       exeinto /usr/$(get_libdir)/p7zip
-       doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
-       doexe bin/*$(get_modname)
-       if use rar; then
-               exeinto /usr/$(get_libdir)/p7zip/Codecs
-               doexe bin/Codecs/*$(get_modname)
-       fi
-
-       doman man1/7z.1 man1/7za.1 man1/7zr.1
-
-       dodoc ChangeLog README TODO
-       dodoc DOC/*.txt
-       docinto html
-       dodoc -r DOC/MANUAL/.
-}

Reply via email to