diff options
Diffstat (limited to 'vcpkg/ports/libarchive/fix-deps.patch')
| -rw-r--r-- | vcpkg/ports/libarchive/fix-deps.patch | 259 |
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. |