diff options
| author | Oskari Timperi <oswjk@users.noreply.github.com> | 2020-09-04 15:12:25 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-04 15:12:25 +0300 |
| commit | b6cd5996b636ae7e0e4fb28e1a6e52d9ce9bbf00 (patch) | |
| tree | 8f0788aac585632d3d318e54d231530a2e8342f2 | |
| download | vcpkg-minizip-fork-b6cd5996b636ae7e0e4fb28e1a6e52d9ce9bbf00.tar.gz vcpkg-minizip-fork-b6cd5996b636ae7e0e4fb28e1a6e52d9ce9bbf00.zip | |
| -rw-r--r-- | CONTROL | 53 | ||||
| -rw-r--r-- | fix-lzma.patch | 63 | ||||
| -rw-r--r-- | fix-zstd.patch | 13 | ||||
| -rw-r--r-- | name.patch | 30 | ||||
| -rw-r--r-- | portfile.cmake | 52 |
5 files changed, 211 insertions, 0 deletions
@@ -0,0 +1,53 @@ +Source: minizipfork +Version: 2.10.0 +Port-Version: 1 +Homepage: https://github.com/nmoinvaz/minizip +Description: minizip is a zip manipulation library written in C that is supported on Windows, macOS, and Linux. +Default-Features: compat, zlib, bzip2, lzma, zstd, pkcrypt, wzaes, signing + +Feature: compat +Description: Enables compatibility layer + +Feature: zlib +Description: Enables ZLIB compression +Build-Depends: zlib + +Feature: bzip2 +Description: Enables BZIP2 compression +Build-Depends: bzip2 + +Feature: lzma +Description: Enables LZMA compression +Build-Depends: liblzma + +Feature: zstd +Description: Enables ZSTD compression +Build-Depends: zstd + +Feature: pkcrypt +Description: Enables PKWARE traditional encryption + +Feature: wzaes +Description: Enables WinZIP AES encryption + +Feature: libcomp +Description: Enables Apple compression + +Feature: openssl +Description: Enables OpenSSL for encryption +Build-Depends: openssl + +Feature: brg +Description: Enables Brian Gladman's encryption library + +Feature: signing +Description: Enables zip signing support + +Feature: compress_only +Description: Only support compression + +Feature: decompress_only +Description: Only support decompression + +Feature: file32_api +Description: Builds using posix 32-bit file api diff --git a/fix-lzma.patch b/fix-lzma.patch new file mode 100644 index 0000000..2c64a5c --- /dev/null +++ b/fix-lzma.patch @@ -0,0 +1,63 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e1a2584..b5014b4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -163,6 +163,15 @@ if(MZ_BZIP2) + endif() + endif() + ++if(MZ_LZMA) ++ find_package(LibLZMA) ++ if(LibLZMA_FOUND) ++ message(STATUS "Using LZMA ${LIBLZMA_VERSION_STRING}") ++ list(APPEND MINIZIP_INC ${LibLZMA_INCLUDE_DIRS}) ++ list(APPEND MINIZIP_DEF -DHAVE_LZMA) ++ endif() ++endif() ++ + # Check to see if openssl installation is present + if(MZ_OPENSSL) + find_package(PkgConfig) +@@ -520,6 +529,11 @@ endif() + + # Include LZMA + if(MZ_LZMA) ++ list(APPEND MINIZIP_DEF -DHAVE_LZMA) ++ list(APPEND MINIZIP_SRC "mz_strm_lzma.c") ++ list(APPEND MINIZIP_PUBLIC_HEADERS "mz_strm_lzma.h") ++ ++ if(NOT LibLZMA_FOUND) + check_include_file(limits.h HAVE_LIMITS_H) + check_include_file(string.h HAVE_STRING_H) + check_include_file(strings.h HAVE_STRINGS_H) +@@ -548,12 +562,8 @@ if(MZ_LZMA) + list(APPEND MINIZIP_DEF -DHAVE_IMMINTRIN_H) + endif() + +- list(APPEND MINIZIP_DEF -DHAVE_LZMA) + list(APPEND MINIZIP_DEF -DLZMA_API_STATIC) + +- list(APPEND MINIZIP_SRC "mz_strm_lzma.c") +- list(APPEND MINIZIP_PUBLIC_HEADERS "mz_strm_lzma.h") +- + set(LZMA_CHECK_SRC + lib/liblzma/check/check.c + lib/liblzma/check/crc32_fast.c +@@ -652,6 +662,7 @@ if(MZ_LZMA) + source_group("LZMA\\LZ" FILES ${LZMA_LZ_SRC} ${LZMA_LZ_HEADERS}) + source_group("LZMA\\LZMA" FILES ${LZMA_LZMA_SRC} ${LZMA_LZMA_HEADERS}) + source_group("LZMA\\RangeCoder" FILES ${LZMA_RANGECODER_SRC} ${LZMA_RANGECODER_HEADERS}) ++ endif() + endif() + + macro(mz_configure_target target) +@@ -746,6 +757,9 @@ endif() + if(MZ_BZIP2 AND BZIP2_FOUND) + target_link_libraries(${PROJECT_NAME} ${BZIP2_LIBRARIES}) + endif() ++if(MZ_LZMA AND LibLZMA_FOUND) ++ target_link_libraries(${PROJECT_NAME} ${LibLZMA_LIBRARIES}) ++endif() + if(MZ_LIBCOMP) + target_link_libraries(${PROJECT_NAME} compression) + endif() diff --git a/fix-zstd.patch b/fix-zstd.patch new file mode 100644 index 0000000..9d9fd72 --- /dev/null +++ b/fix-zstd.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a6deb4c..e1a2584 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -732,7 +732,7 @@ if(MZ_ZLIB AND NOT MZ_LIBCOMP) + endif() + if(MZ_ZSTD) + if(ZSTD_FOUND) +- target_link_libraries(${PROJECT_NAME} ${ZSTD_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} libzstd) + else() + # Have to add zlib to install targets + if(NOT DEFINED BUILD_SHARED_LIBS OR NOT ${BUILD_SHARED_LIBS}) diff --git a/name.patch b/name.patch new file mode 100644 index 0000000..71ced00 --- /dev/null +++ b/name.patch @@ -0,0 +1,30 @@ +--- A/CMakeLists.txt Tue Aug 11 16:06:08 2020
++++ B/CMakeLists.txt Tue Aug 11 16:21:29 2020
+@@ -802,21 +802,21 @@
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}")
+ install(EXPORT ${PROJECT_NAME}
+ DESTINATION "${INSTALL_CMAKE_DIR}"
+- NAMESPACE "MINIZIP::")
++ NAMESPACE "MINIZIPFORK::")
+
+ # Create and install CMake package config version file to allow find_package()
+ include(CMakePackageConfigHelpers)
+- write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/minizipConfigVersion.cmake
++ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/minizipforkConfigVersion.cmake
+ COMPATIBILITY SameMajorVersion)
+
+- file(WRITE minizipConfig.cmake.in "@PACKAGE_INIT@")
++ file(WRITE minizipforkConfig.cmake.in "@PACKAGE_INIT@")
+
+ # Create config for find_package()
+- configure_package_config_file(minizipConfig.cmake.in minizipConfig.cmake
++ configure_package_config_file(minizipforkConfig.cmake.in minizipforkConfig.cmake
+ INSTALL_DESTINATION "${INSTALL_CMAKE_DIR}")
+
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/minizipConfigVersion.cmake
+- ${CMAKE_CURRENT_BINARY_DIR}/minizipConfig.cmake
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/minizipforkConfigVersion.cmake
++ ${CMAKE_CURRENT_BINARY_DIR}/minizipforkConfig.cmake
+ DESTINATION "${INSTALL_CMAKE_DIR}")
+ endif()
+ if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
diff --git a/portfile.cmake b/portfile.cmake new file mode 100644 index 0000000..23c2b43 --- /dev/null +++ b/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nmoinvaz/minizip + REF 2.10.0 + SHA512 8717e00242ba4f8247ef60c925813bcfaf104243cdbfff4cca690e7c1f7da1132084e1b939b3adf1f019d220a1034f46f2fe2a543cca19106af5136e09d6af16 + HEAD_REF master + PATCHES + fix-zstd.patch + fix-lzma.patch + name.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + compat MZ_COMPAT + zlib MZ_ZLIB + bzip2 MZ_BZIP2 + lzma MZ_LZMA + zstd MZ_ZSTD + pkcrypt MZ_PKCRYPT + wzaes MZ_WZAES + libcomp MZ_LIBCOMP + openssl MZ_OPENSSL + brg MZ_BRG + signing MZ_SIGNING + compress_only MZ_COMPRESS_ONLY + decompress_only MZ_DECOMPRESS_ONLY + file32_api MZ_FILE32_API +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + -DMZ_LIBBSD=OFF + -DMZ_PROJECT_SUFFIX=fork +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/minizipfork TARGET_PATH share/minizipfork) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/minizipfork RENAME copyright) |
