[libarchive] Fix zstd compression (#41792)

This commit is contained in:
Kai Pastor 2024-10-29 08:00:23 +01:00 committed by GitHub
parent ca0da70aa0
commit 67b9204bc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 36 additions and 35 deletions

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3539519..95b44ba 100644
index dc61b28..7dcdefd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -407,6 +407,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
@@ -446,6 +446,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
SET(ADDITIONAL_LIBS "")
@ -11,7 +11,7 @@ index 3539519..95b44ba 100644
#
# Find ZLIB
#
@@ -420,6 +422,7 @@ IF(ZLIB_FOUND)
@@ -462,6 +464,7 @@ IF(ZLIB_FOUND)
SET(HAVE_ZLIB_H 1)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
@ -19,7 +19,7 @@ index 3539519..95b44ba 100644
IF(WIN32 AND NOT CYGWIN)
SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box
IF(ZLIB_WINAPI)
@@ -452,6 +455,7 @@ IF(BZIP2_FOUND)
@@ -494,6 +497,7 @@ IF(BZIP2_FOUND)
SET(HAVE_BZLIB_H 1)
INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES})
@ -27,7 +27,7 @@ index 3539519..95b44ba 100644
# Test if a macro is needed for the library.
TRY_MACRO_FOR_LIBRARY(
"${BZIP2_INCLUDE_DIR}" "${BZIP2_LIBRARIES}"
@@ -480,6 +484,8 @@ ENDIF()
@@ -522,6 +526,8 @@ ENDIF()
IF(LIBLZMA_FOUND)
SET(HAVE_LIBLZMA 1)
SET(HAVE_LZMA_H 1)
@ -36,7 +36,7 @@ index 3539519..95b44ba 100644
CMAKE_PUSH_CHECK_STATE()
SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
@@ -521,6 +528,7 @@ IF(LZO2_FOUND)
@@ -569,6 +575,7 @@ IF(LZO2_FOUND)
SET(HAVE_LZO_LZO1X_H 1)
INCLUDE_DIRECTORIES(${LZO2_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${LZO2_LIBRARY})
@ -44,8 +44,7 @@ index 3539519..95b44ba 100644
#
# TODO: test for static library.
#
@@ -548,7 +556,8 @@ IF(LIBB2_FOUND)
SET(HAVE_BLAKE2_H 1)
@@ -597,6 +604,7 @@ IF(LIBB2_FOUND)
SET(ARCHIVE_BLAKE2 FALSE)
LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY})
INCLUDE_DIRECTORIES(${LIBB2_INCLUDE_DIR})
@ -53,7 +52,7 @@ index 3539519..95b44ba 100644
CMAKE_PUSH_CHECK_STATE()
SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR})
@@ -560,6 +569,8 @@ ENDIF(LIBB2_FOUND)
@@ -609,6 +617,8 @@ ENDIF(LIBB2_FOUND)
# Find LZ4
#
IF(ENABLE_LZ4)
@ -62,7 +61,7 @@ index 3539519..95b44ba 100644
IF (LZ4_INCLUDE_DIR)
# Already in cache, be silent
SET(LZ4_FIND_QUIETLY TRUE)
@@ -575,6 +586,10 @@ ENDIF(ENABLE_LZ4)
@@ -624,6 +634,10 @@ ENDIF(ENABLE_LZ4)
IF(LZ4_FOUND)
SET(HAVE_LIBLZ4 1)
SET(HAVE_LZ4_H 1)
@ -73,7 +72,7 @@ index 3539519..95b44ba 100644
CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
SET(CMAKE_REQUIRED_INCLUDES ${LZ4_INCLUDE_DIR})
CHECK_INCLUDE_FILES("lz4hc.h" HAVE_LZ4HC_H)
@@ -591,6 +606,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY)
@@ -640,6 +654,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY)
# Find Zstd
#
IF(ENABLE_ZSTD)
@ -82,23 +81,19 @@ index 3539519..95b44ba 100644
IF (ZSTD_INCLUDE_DIR)
# Already in cache, be silent
SET(ZSTD_FIND_QUIETLY TRUE)
@@ -610,6 +627,15 @@ ELSE(ENABLE_ZSTD)
@@ -659,6 +675,11 @@ ELSE(ENABLE_ZSTD)
ENDIF(ENABLE_ZSTD)
IF(ZSTD_FOUND)
SET(HAVE_ZSTD_H 1)
+ SET(HAVE_LIBZSTD 1)
+ SET(HAVE_LIBZSTD_COMPRESSOR 1)
+ IF(TARGET zstd::libzstd_shared)
+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_shared)
+ ELSE()
+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static)
+ ENDIF(TARGET zstd::libzstd_shared)
+ SET(HAVE_ZSTD_compressStream 1)
+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd)
+ STRING(APPEND LIBSREQUIRED " libzstd")
+elseif(0)
INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY})
CMAKE_PUSH_CHECK_STATE()
@@ -718,6 +744,7 @@ IF(ENABLE_CNG)
@@ -768,6 +789,7 @@ IF(ENABLE_CNG)
LA_CHECK_INCLUDE_FILE("bcrypt.h" HAVE_BCRYPT_H)
IF(HAVE_BCRYPT_H)
LIST(APPEND ADDITIONAL_LIBS "bcrypt")
@ -106,7 +101,7 @@ index 3539519..95b44ba 100644
ENDIF(HAVE_BCRYPT_H)
ELSE(ENABLE_CNG)
UNSET(HAVE_BCRYPT_H CACHE)
@@ -749,6 +776,7 @@ IF(ENABLE_MBEDTLS)
@@ -799,6 +821,7 @@ IF(ENABLE_MBEDTLS)
IF(MBEDTLS_FOUND)
SET(HAVE_LIBMBEDCRYPTO 1)
LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY})
@ -114,7 +109,7 @@ index 3539519..95b44ba 100644
INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS})
LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS})
@@ -769,6 +797,7 @@ IF(ENABLE_NETTLE)
@@ -819,6 +842,7 @@ IF(ENABLE_NETTLE)
IF(NETTLE_FOUND)
SET(HAVE_LIBNETTLE 1)
LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARIES})
@ -122,7 +117,7 @@ index 3539519..95b44ba 100644
INCLUDE_DIRECTORIES(${NETTLE_INCLUDE_DIR})
LIST(APPEND CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIR})
@@ -792,8 +821,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
@@ -842,8 +866,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
FIND_PACKAGE(OpenSSL)
IF(OPENSSL_FOUND)
SET(HAVE_LIBCRYPTO 1)
@ -133,7 +128,7 @@ index 3539519..95b44ba 100644
SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
LA_CHECK_INCLUDE_FILE("openssl/evp.h" HAVE_OPENSSL_EVP_H)
@@ -807,6 +836,7 @@ IF(NOT OPENSSL_FOUND)
@@ -861,6 +885,7 @@ IF(NOT OPENSSL_FOUND)
SET(CMAKE_REQUIRED_LIBRARIES "md")
FIND_LIBRARY(LIBMD_LIBRARY NAMES md)
LIST(APPEND ADDITIONAL_LIBS ${LIBMD_LIBRARY})
@ -141,7 +136,7 @@ index 3539519..95b44ba 100644
CMAKE_POP_CHECK_STATE() # Restore the state of the variables
ENDIF(LIBMD_FOUND)
ENDIF(NOT OPENSSL_FOUND)
@@ -912,7 +942,8 @@ main(int argc, char **argv)
@@ -974,7 +999,8 @@ main(int argc, char **argv)
IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES})
@ -151,7 +146,7 @@ index 3539519..95b44ba 100644
ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM})
@@ -1086,6 +1117,7 @@ IF(ENABLE_ICONV)
@@ -1148,6 +1174,7 @@ IF(ENABLE_ICONV)
CHECK_ICONV("libiconv" "")
IF (HAVE_ICONV)
LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH})
@ -159,7 +154,7 @@ index 3539519..95b44ba 100644
ENDIF(HAVE_ICONV)
ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH)
ENDIF(ICONV_INCLUDE_DIR)
@@ -1119,6 +1151,7 @@ IF(ENABLE_ICONV)
@@ -1181,6 +1208,7 @@ IF(ENABLE_ICONV)
ENDIF(WIN32 AND NOT CYGWIN)
IF(HAVE_LOCALE_CHARSET)
LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH})
@ -167,7 +162,7 @@ index 3539519..95b44ba 100644
ENDIF(HAVE_LOCALE_CHARSET)
ENDIF(LIBCHARSET_PATH)
ENDIF(LIBICONV_PATH)
@@ -1152,6 +1185,7 @@ IF(LIBXML2_FOUND)
@@ -1214,6 +1242,7 @@ IF(LIBXML2_FOUND)
CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${LIBXML2_LIBRARIES})
@ -175,7 +170,7 @@ index 3539519..95b44ba 100644
SET(HAVE_LIBXML2 1)
# libxml2's include files use iconv.h
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
@@ -1181,6 +1215,7 @@ ELSE(LIBXML2_FOUND)
@@ -1243,6 +1272,7 @@ ELSE(LIBXML2_FOUND)
CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${EXPAT_LIBRARIES})
@ -183,7 +178,7 @@ index 3539519..95b44ba 100644
SET(HAVE_LIBEXPAT 1)
LA_CHECK_INCLUDE_FILE("expat.h" HAVE_EXPAT_H)
CMAKE_POP_CHECK_STATE() # Restore the state of the variables
@@ -1211,6 +1246,7 @@ IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
@@ -1273,6 +1303,7 @@ IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
CHECK_FUNCTION_EXISTS_GLIBC(regcomp HAVE_REGCOMP_LIBREGEX)
IF(HAVE_REGCOMP_LIBREGEX)
LIST(APPEND ADDITIONAL_LIBS ${REGEX_LIBRARY})
@ -191,7 +186,7 @@ index 3539519..95b44ba 100644
#
# If regex.h is not found, retry looking for regex.h at
# REGEX_INCLUDE_DIR
@@ -1260,6 +1296,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
@@ -1322,6 +1353,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
IF(PCREPOSIX_FOUND)
INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${PCREPOSIX_LIBRARIES})
@ -199,7 +194,7 @@ index 3539519..95b44ba 100644
# Test if a macro is needed for the library.
TRY_MACRO_FOR_LIBRARY(
"${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}"
@@ -1271,6 +1308,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
@@ -1333,6 +1365,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
ELSEIF(NOT WITHOUT_PCRE_STATIC AND NOT PCRE_STATIC AND PCRE_FOUND)
# Determine if pcre static libraries are to be used.
LIST(APPEND ADDITIONAL_LIBS ${PCRE_LIBRARIES})
@ -207,7 +202,7 @@ index 3539519..95b44ba 100644
SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES})
MESSAGE(STATUS "trying again with -lpcre included")
TRY_MACRO_FOR_LIBRARY(
@@ -1286,6 +1324,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
@@ -1348,6 +1381,7 @@ IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$"
# ___chkstk_ms.
MESSAGE(STATUS "Visual Studio build detected, trying again with -lgcc included")
LIST(APPEND ADDITIONAL_LIBS ${LIBGCC_LIBRARIES})
@ -215,7 +210,7 @@ index 3539519..95b44ba 100644
SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES})
TRY_MACRO_FOR_LIBRARY(
"${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}"
@@ -1805,6 +1844,7 @@ IF(ENABLE_ACL)
@@ -1919,6 +1953,7 @@ IF(ENABLE_ACL)
SET(CMAKE_REQUIRED_LIBRARIES "acl")
FIND_LIBRARY(ACL_LIBRARY NAMES acl)
LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY})
@ -223,7 +218,7 @@ index 3539519..95b44ba 100644
ENDIF(HAVE_LIBACL)
CHECK_TYPE_EXISTS(acl_t "sys/types.h;sys/acl.h" HAVE_ACL_T)
@@ -1944,6 +1984,7 @@ int main(void) { return ACL_SYNCHRONIZE; }" HAVE_DECL_ACL_SYNCHRONIZE)
@@ -2058,6 +2093,7 @@ int main(void) { return ACL_SYNCHRONIZE; }" HAVE_DECL_ACL_SYNCHRONIZE)
SET(CMAKE_REQUIRED_LIBRARIES "richacl")
FIND_LIBRARY(RICHACL_LIBRARY NAMES richacl)
LIST(APPEND ADDITIONAL_LIBS ${RICHACL_LIBRARY})

View File

@ -1,6 +1,7 @@
{
"name": "libarchive",
"version": "3.7.7",
"port-version": 1,
"description": "Library for reading and writing streaming archives",
"homepage": "https://www.libarchive.org",
"license": null,

View File

@ -4282,7 +4282,7 @@
},
"libarchive": {
"baseline": "3.7.7",
"port-version": 0
"port-version": 1
},
"libass": {
"baseline": "0.17.3",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b77dc1277af32b25c44e58cc233a034fa6659110",
"version": "3.7.7",
"port-version": 1
},
{
"git-tree": "7d00f1e4f90cc54f34e5868664bf6e876146a13b",
"version": "3.7.7",