git: ad3bef286df6 - main - archivers/libunrar: Update to 7.0.9

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 14 Jun 2024 01:45:59 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ad3bef286df69674ccf4e199c2f5363c20c632d6

commit ad3bef286df69674ccf4e199c2f5363c20c632d6
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-06-14 01:15:52 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-06-14 01:45:53 +0000

    archivers/libunrar: Update to 7.0.9
---
 archivers/libunrar/Makefile                 |  4 +-
 archivers/libunrar/distinfo                 |  6 +--
 archivers/libunrar/files/patch-os.hpp       | 10 ++--
 archivers/libunrar/files/patch-rijndael.cpp | 84 ++++++++++++++++++-----------
 archivers/libunrar/files/patch-rijndael.hpp | 16 +++---
 5 files changed, 72 insertions(+), 48 deletions(-)

diff --git a/archivers/libunrar/Makefile b/archivers/libunrar/Makefile
index d25f713b0212..ce4f45219d21 100644
--- a/archivers/libunrar/Makefile
+++ b/archivers/libunrar/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	libunrar
-PORTVERSION=	6.2.12
+PORTVERSION=	7.0.9
 PORTEPOCH=	1
 CATEGORIES=	archivers
 MASTER_SITES=	http://www.rarlab.com/rar/
@@ -24,7 +24,7 @@ MAKE_ARGS=	AR="${AR}" \
 		CXXFLAGS="${CXXFLAGS} -fPIC" \
 		LDFLAGS="-Wl,-soname,${SONAME} -pthread ${LDFLAGS}" \
 		STRIP="${STRIP_CMD}"
-SONAME=		libunrar.so.6
+SONAME=		libunrar.so.${PORTVERSION:R:R}
 WRKSRC=		${WRKDIR}/unrar
 
 OPTIONS_DEFINE=		OPENSSL_AES
diff --git a/archivers/libunrar/distinfo b/archivers/libunrar/distinfo
index 0c053b59197c..9e79fd04e174 100644
--- a/archivers/libunrar/distinfo
+++ b/archivers/libunrar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696565467
-SHA256 (unrarsrc-6.2.12.tar.gz) = a008b5f949bca9bb4ffa1bebbfc8b3c14b89df10a10354809b845232d5f582e5
-SIZE (unrarsrc-6.2.12.tar.gz) = 246918
+TIMESTAMP = 1718185508
+SHA256 (unrarsrc-7.0.9.tar.gz) = 505c13f9e4c54c01546f2e29b2fcc2d7fabc856a060b81e5cdfe6012a9198326
+SIZE (unrarsrc-7.0.9.tar.gz) = 258287
diff --git a/archivers/libunrar/files/patch-os.hpp b/archivers/libunrar/files/patch-os.hpp
index ef633fb42257..900ac20f3c86 100644
--- a/archivers/libunrar/files/patch-os.hpp
+++ b/archivers/libunrar/files/patch-os.hpp
@@ -1,10 +1,10 @@
---- os.hpp.orig	2023-01-17 16:25:54 UTC
+--- os.hpp.orig	2024-05-12 10:19:01 UTC
 +++ os.hpp
-@@ -173,6 +173,10 @@
- #include <locale.h>
- 
+@@ -166,6 +166,10 @@
+ #endif
+ #endif
  
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
 +#include <openssl/evp.h>
 +#endif // OPENSSL_AES
 +
diff --git a/archivers/libunrar/files/patch-rijndael.cpp b/archivers/libunrar/files/patch-rijndael.cpp
index 92b411d99b5c..87a02086af3c 100644
--- a/archivers/libunrar/files/patch-rijndael.cpp
+++ b/archivers/libunrar/files/patch-rijndael.cpp
@@ -1,37 +1,45 @@
---- rijndael.cpp.orig	2023-01-17 16:25:54 UTC
+--- rijndael.cpp.orig	2024-05-12 10:19:02 UTC
 +++ rijndael.cpp
-@@ -3,6 +3,8 @@
+@@ -3,6 +3,7 @@
   **************************************************************************/
  #include "rar.hpp"
  
-+#ifndef OPENSSL_AES
-+
++#if !defined(OPENSSL_AES)
  #ifdef USE_SSE
  #include <wmmintrin.h>
  #endif
-@@ -75,6 +77,7 @@ inline void Copy128(byte *dest,const byte *src)
+@@ -74,6 +75,7 @@ inline void Copy128(byte *dest,const byte *src)
+     dest[I]=src[I];
  #endif
  }
- 
 +#endif // OPENSSL_AES
  
+ 
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // API
-@@ -82,14 +85,41 @@ inline void Copy128(byte *dest,const byte *src)
+@@ -82,21 +84,50 @@ Rijndael::Rijndael()
  
  Rijndael::Rijndael()
  {
-+#ifndef OPENSSL_AES
++#if !defined(OPENSSL_AES)
    if (S5[0]==0)
      GenerateTables();
 +#endif // OPENSSL_AES
+   m_uRounds = 0;
    CBCMode = true; // Always true for RAR.
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+   AES_NI=false;
+ #endif
+ #ifdef USE_NEON_AES
+   AES_Neon=false;
+ #endif
++#endif // OPENSSL_AES
  }
  
  
  void Rijndael::Init(bool Encrypt,const byte *key,uint keyLen,const byte * initVector)
  {
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
 +  const EVP_CIPHER *cipher;
 +  switch(keyLen)
 +  {
@@ -50,16 +58,16 @@
 +  EVP_CIPHER_CTX_init(&ctx);
 +  EVP_CipherInit_ex(&ctx, cipher, NULL, key, initVector, Encrypt);
 +  EVP_CIPHER_CTX_set_padding(&ctx, 0);
-+#else
++#else // OPENSSL_VERSION_NUMBER
 +  EVP_CIPHER_CTX_init(ctx);
 +  EVP_CipherInit_ex(ctx, cipher, NULL, key, initVector, Encrypt);
 +  EVP_CIPHER_CTX_set_padding(ctx, 0);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
 +#else // OPENSSL_AES
    // Check SIMD here instead of constructor, so if object is a part of some
    // structure memset'ed before use, these variables are not lost.
  #if defined(USE_SSE)
-@@ -141,6 +171,7 @@ void Rijndael::Init(bool Encrypt,const byte *key,uint 
+@@ -166,6 +197,7 @@ void Rijndael::Init(bool Encrypt,const byte *key,uint 
  
    if(!Encrypt)
      keyEncToDec();
@@ -67,23 +75,23 @@
  }
  
  
-@@ -149,6 +180,15 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
+@@ -174,6 +206,15 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
    if (inputLen <= 0)
      return;
  
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
 +  int outLen;
 +#if OPENSSL_VERSION_NUMBER < 0x10100000L
 +  EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
-+#else
++#else // OPENSSL_VERSION_NUMBER
 +  EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
 +  return;
 +#else // OPENSSL_AES
    size_t numBlocks = inputLen/16;
  #if defined(USE_SSE)
    if (AES_NI)
-@@ -213,6 +253,7 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
+@@ -238,9 +279,11 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
      input += 16;
    }
    Copy128(m_initVector,prevBlock);
@@ -91,46 +99,62 @@
  }
  
  
-@@ -288,6 +329,15 @@ void Rijndael::blockDecrypt(const byte *input, size_t 
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+ void Rijndael::blockEncryptSSE(const byte *input,size_t numBlocks,byte *outBuffer)
+ {
+@@ -306,6 +349,7 @@ void Rijndael::blockEncryptNeon(const byte *input,size
+   return;
+ }
+ #endif
++#endif // OPENSSL_AES
+ 
+   
+ void Rijndael::blockDecrypt(const byte *input, size_t inputLen, byte *outBuffer)
+@@ -313,6 +357,15 @@ void Rijndael::blockDecrypt(const byte *input, size_t 
    if (inputLen <= 0)
      return;
  
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
 +  int outLen;
 +#if OPENSSL_VERSION_NUMBER < 0x10100000L
 +  EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
-+#else
++#else // OPENSSL_VERSION_NUMBER
 +  EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
 +  return;
 +#else // OPENSSL_AES
    size_t numBlocks=inputLen/16;
  #if defined(USE_SSE)
    if (AES_NI)
-@@ -356,6 +406,8 @@ void Rijndael::blockDecrypt(const byte *input, size_t 
+@@ -381,9 +434,11 @@ void Rijndael::blockDecrypt(const byte *input, size_t 
    }
  
    memcpy(m_initVector,iv,16);
-+
 +#endif // OPENSSL_AES
  }
  
  
-@@ -426,7 +478,7 @@ void Rijndael::blockDecryptNeon(const byte *input, siz
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+ void Rijndael::blockDecryptSSE(const byte *input, size_t numBlocks, byte *outBuffer)
+ {
+@@ -450,8 +505,10 @@ void Rijndael::blockDecryptNeon(const byte *input, siz
+   memcpy(m_initVector,iv,16);
  }
  #endif
++#endif // OPENSSL_AES
  
--
-+#ifndef OPENSSL_AES
+ 
++#if !defined(OPENSSL_AES)
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  // ALGORITHM
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-@@ -555,7 +607,7 @@ void Rijndael::GenerateTables()
+@@ -580,6 +637,7 @@ void Rijndael::GenerateTables()
      U1[b][0]=U2[b][1]=U3[b][2]=U4[b][3]=T5[I][0]=T6[I][1]=T7[I][2]=T8[I][3]=gmul(b,0xe);
    }
  }
--
 +#endif // OPENSSL_AES
  
+ 
  #if 0
- static void TestRijndael();
diff --git a/archivers/libunrar/files/patch-rijndael.hpp b/archivers/libunrar/files/patch-rijndael.hpp
index 0e1ccbfbd379..09ab2a798f94 100644
--- a/archivers/libunrar/files/patch-rijndael.hpp
+++ b/archivers/libunrar/files/patch-rijndael.hpp
@@ -1,20 +1,20 @@
---- rijndael.hpp.orig	2023-01-17 16:25:54 UTC
+--- rijndael.hpp.orig	2024-02-26 09:03:53 UTC
 +++ rijndael.hpp
-@@ -12,6 +12,13 @@
+@@ -12,6 +12,13 @@ class Rijndael
  class Rijndael
  { 
    private:
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
 +#if OPENSSL_VERSION_NUMBER < 0x10100000L
 +    EVP_CIPHER_CTX ctx;
-+#else
++#else // OPENSSL_VERSION_NUMBER
 +    EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
 +#else // OPENSSL_AES
+ 
  #ifdef USE_SSE
-     void blockEncryptSSE(const byte *input,size_t numBlocks,byte *outBuffer);
-     void blockDecryptSSE(const byte *input, size_t numBlocks, byte *outBuffer);
-@@ -31,6 +38,7 @@ class Rijndael
+ #ifdef __GNUC__
+@@ -40,6 +47,7 @@ class Rijndael
      void keySched(byte key[_MAX_KEY_COLUMNS][4]);
      void keyEncToDec();
      void GenerateTables();