aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libarchive/fix-deps.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libarchive/fix-deps.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libarchive/fix-deps.patch')
-rw-r--r--vcpkg/ports/libarchive/fix-deps.patch259
1 files changed, 259 insertions, 0 deletions
diff --git a/vcpkg/ports/libarchive/fix-deps.patch b/vcpkg/ports/libarchive/fix-deps.patch
new file mode 100644
index 0000000..2339a2e
--- /dev/null
+++ b/vcpkg/ports/libarchive/fix-deps.patch
@@ -0,0 +1,259 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 38664d2..d0882b2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -439,6 +439,8 @@ IF(0)
+ ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
+
+ SET(ADDITIONAL_LIBS "")
++SET(LIBARCHIVE_LIBS_PRIVATE "") # additional libs for which the pc module is unknown
++SET(LIBSREQUIRED "") # pc modules for additonal libs
+ #
+ # Find ZLIB
+ #
+@@ -455,6 +457,7 @@ IF(ZLIB_FOUND)
+ SET(HAVE_ZLIB_H 1)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
++ STRING(APPEND LIBSREQUIRED " zlib")
+ IF(WIN32 AND NOT CYGWIN)
+ #
+ # Test if ZLIB_WINAPI macro is needed to use.
+@@ -494,6 +497,7 @@ IF(BZIP2_FOUND)
+ SET(HAVE_BZLIB_H 1)
+ INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES})
++ STRING(APPEND LIBSREQUIRED " bzip2")
+ # Test if a macro is needed for the library.
+ TRY_MACRO_FOR_LIBRARY(
+ "${BZIP2_INCLUDE_DIR}" "${BZIP2_LIBRARIES}"
+@@ -522,6 +526,8 @@ ENDIF()
+ IF(LIBLZMA_FOUND)
+ SET(HAVE_LIBLZMA 1)
+ SET(HAVE_LZMA_H 1)
++ LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA)
++ STRING(APPEND LIBSREQUIRED " liblzma")
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
+ SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
+@@ -569,6 +575,7 @@ IF(LZO2_FOUND)
+ SET(HAVE_LZO_LZO1X_H 1)
+ INCLUDE_DIRECTORIES(${LZO2_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${LZO2_LIBRARY})
++ STRING(APPEND LIBSREQUIRED " lzo2")
+ #
+ # TODO: test for static library.
+ #
+@@ -598,6 +605,7 @@ IF(LIBB2_FOUND)
+ SET(ARCHIVE_BLAKE2 FALSE)
+ LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY})
+ INCLUDE_DIRECTORIES(${LIBB2_INCLUDE_DIR})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBB2_LIBRARY})
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY})
+ SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR})
+@@ -615,6 +623,8 @@ ENDIF(LIBB2_FOUND)
+ # Find LZ4
+ #
+ IF(ENABLE_LZ4)
++ FIND_PACKAGE(LZ4 NAMES lz4 CONFIG REQUIRED)
++elseif(0)
+ IF (LZ4_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(LZ4_FIND_QUIETLY TRUE)
+@@ -630,6 +640,10 @@ ENDIF(ENABLE_LZ4)
+ IF(LZ4_FOUND)
+ SET(HAVE_LIBLZ4 1)
+ SET(HAVE_LZ4_H 1)
++ SET(HAVE_LZ4HC_H 1)
++ LIST(APPEND ADDITIONAL_LIBS lz4::lz4)
++ STRING(APPEND LIBSREQUIRED " liblz4")
++elseif(0)
+ 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)
+@@ -646,6 +660,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY)
+ # Find Zstd
+ #
+ IF(ENABLE_ZSTD)
++ FIND_PACKAGE(ZSTD NAMES zstd CONFIG REQUIRED)
++elseif(0)
+ IF (ZSTD_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(ZSTD_FIND_QUIETLY TRUE)
+@@ -665,6 +681,11 @@ ELSE(ENABLE_ZSTD)
+ ENDIF(ENABLE_ZSTD)
+ IF(ZSTD_FOUND)
+ SET(HAVE_ZSTD_H 1)
++ SET(HAVE_LIBZSTD 1)
++ 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()
+@@ -774,6 +795,7 @@ IF(ENABLE_CNG)
+ LA_CHECK_INCLUDE_FILE("bcrypt.h" HAVE_BCRYPT_H)
+ IF(HAVE_BCRYPT_H)
+ LIST(APPEND ADDITIONAL_LIBS "bcrypt")
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE "bcrypt")
+ ENDIF(HAVE_BCRYPT_H)
+ ELSE(ENABLE_CNG)
+ UNSET(HAVE_BCRYPT_H CACHE)
+@@ -805,6 +827,7 @@ IF(ENABLE_MBEDTLS)
+ IF(MBEDTLS_FOUND)
+ SET(HAVE_LIBMBEDCRYPTO 1)
+ LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${MBEDCRYPTO_LIBRARY})
+ INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS})
+
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS})
+@@ -825,6 +848,7 @@ IF(ENABLE_NETTLE)
+ IF(NETTLE_FOUND)
+ SET(HAVE_LIBNETTLE 1)
+ LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARIES})
++ STRING(APPEND LIBSREQUIRED " nettle")
+ INCLUDE_DIRECTORIES(${NETTLE_INCLUDE_DIR})
+
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIR})
+@@ -848,8 +872,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ FIND_PACKAGE(OpenSSL)
+ IF(OPENSSL_FOUND)
+ SET(HAVE_LIBCRYPTO 1)
+- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
+- LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY})
++ LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto)
++ STRING(APPEND LIBSREQUIRED " libcrypto")
+ 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)
+@@ -868,6 +892,7 @@ IF(NOT OPENSSL_FOUND)
+ SET(CMAKE_REQUIRED_LIBRARIES "md")
+ FIND_LIBRARY(LIBMD_LIBRARY NAMES md)
+ LIST(APPEND ADDITIONAL_LIBS ${LIBMD_LIBRARY})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBMD_LIBRARY})
+ CMAKE_POP_CHECK_STATE() # Restore the state of the variables
+ ENDIF(LIBMD_FOUND)
+ ENDIF(NOT OPENSSL_FOUND)
+@@ -981,7 +1006,7 @@ main(int argc, char **argv)
+ IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+ INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES})
+- LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS)
++ STRING(APPEND LIBSREQUIRED " libssl")
+ ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND)
+ ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION})
+ ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM})
+@@ -1155,6 +1180,7 @@ IF(ENABLE_ICONV)
+ IF (HAVE_ICONV)
+ SET(HAVE_LIBICONV 1)
+ LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBICONV_PATH})
+ ENDIF(HAVE_ICONV)
+ ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH)
+ ENDIF(ICONV_INCLUDE_DIR)
+@@ -1188,6 +1214,7 @@ IF(ENABLE_ICONV)
+ ENDIF(WIN32 AND NOT CYGWIN)
+ IF(HAVE_LOCALE_CHARSET)
+ LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBCHARSET_PATH})
+ ENDIF(HAVE_LOCALE_CHARSET)
+ ENDIF(LIBCHARSET_PATH)
+ ENDIF(LIBICONV_PATH)
+@@ -1222,6 +1249,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})
++ STRING(APPEND LIBSREQUIRED " libxml-2.0")
+ SET(HAVE_LIBXML2 1)
+ # libxml2's include files use iconv.h
+ SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
+@@ -1252,6 +1280,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})
++ STRING(APPEND LIBSREQUIRED " expat")
+ SET(HAVE_LIBEXPAT 1)
+ LA_CHECK_INCLUDE_FILE("expat.h" HAVE_EXPAT_H)
+ CMAKE_POP_CHECK_STATE() # Restore the state of the variables
+@@ -1272,6 +1301,7 @@ ELSE(LIBXML2_FOUND)
+ IF(HAVE_XMLLITE_H)
+ SET(XMLLITE_FOUND TRUE)
+ LIST(APPEND ADDITIONAL_LIBS "xmllite" "uuid")
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE xmllite uuid)
+ ENDIF()
+ ENDIF()
+ ENDIF(EXPAT_FOUND)
+@@ -1301,6 +1331,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})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${REGEX_LIBRARY})
+ #
+ # If regex.h is not found, retry looking for regex.h at
+ # REGEX_INCLUDE_DIR
+@@ -1350,6 +1381,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})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCREPOSIX_LIBRARIES})
+ # Test if a macro is needed for the library.
+ TRY_MACRO_FOR_LIBRARY(
+ "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}"
+@@ -1361,6 +1393,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})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCRE_LIBRARIES})
+ SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES})
+ MESSAGE(STATUS "trying again with -lpcre included")
+ TRY_MACRO_FOR_LIBRARY(
+@@ -1376,6 +1409,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})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBGCC_LIBRARIES})
+ SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES})
+ TRY_MACRO_FOR_LIBRARY(
+ "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}"
+@@ -1954,6 +1988,7 @@ IF(ENABLE_ACL)
+ SET(CMAKE_REQUIRED_LIBRARIES "acl")
+ FIND_LIBRARY(ACL_LIBRARY NAMES acl)
+ LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${ACL_LIBRARY})
+ pkg_check_modules(LIBACL libacl)
+ IF(LIBACL_VERSION)
+ SET(LIBACL_PKGCONFIG_VERSION ${LIBACL_VERSION})
+@@ -2099,6 +2134,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})
++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${RICHACL_LIBRARY})
+ pkg_check_modules(LIBRICHACL librichacl)
+ IF(LIBRICHACL_VERSION)
+ SET(LIBRICHACL_PKGCONFIG_VERSION ${LIBRICHACL_VERSION})
+diff --git a/build/cmake/CreatePkgConfigFile.cmake b/build/cmake/CreatePkgConfigFile.cmake
+index bc5a43f..422b83b 100644
+--- a/build/cmake/CreatePkgConfigFile.cmake
++++ b/build/cmake/CreatePkgConfigFile.cmake
+@@ -8,7 +8,7 @@ SET(libdir \${exec_prefix}/lib)
+ SET(includedir \${prefix}/include)
+ # Now, this is not particularly pretty, nor is it terribly accurate...
+ # Loop over all our additional libs
+-FOREACH(mylib ${ADDITIONAL_LIBS})
++FOREACH(mylib ${LIBARCHIVE_LIBS_PRIVATE})
+ # Extract the filename from the absolute path
+ GET_FILENAME_COMPONENT(mylib_name ${mylib} NAME_WE)
+ # Strip the lib prefix
+@@ -16,10 +16,6 @@ FOREACH(mylib ${ADDITIONAL_LIBS})
+ # Append it to our LIBS string
+ SET(LIBS "${LIBS} -l${mylib_name}")
+ ENDFOREACH()
+-# libxml2 is easier, since it's already using pkg-config
+-FOREACH(mylib ${PC_LIBXML_STATIC_LDFLAGS})
+- SET(LIBS "${LIBS} ${mylib}")
+-ENDFOREACH()
+ # FIXME: The order of the libraries doesn't take dependencies into account,
+ # thus there's a good chance it'll make some binutils versions unhappy...
+ # This only affects Libs.private (looked up for static builds) though.