aboutsummaryrefslogtreecommitdiff
path: root/ports/zstd
diff options
context:
space:
mode:
Diffstat (limited to 'ports/zstd')
-rw-r--r--ports/zstd/0001-export-zstd-config.patch93
-rw-r--r--ports/zstd/CONTROL4
-rw-r--r--ports/zstd/fix_assert.patch13
-rw-r--r--ports/zstd/install_dll.patch12
-rw-r--r--ports/zstd/install_pkgpc.patch13
-rw-r--r--ports/zstd/portfile.cmake31
6 files changed, 65 insertions, 101 deletions
diff --git a/ports/zstd/0001-export-zstd-config.patch b/ports/zstd/0001-export-zstd-config.patch
deleted file mode 100644
index 43b39d493..000000000
--- a/ports/zstd/0001-export-zstd-config.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
-index 7adca875..8835d1c6 100644
---- a/build/cmake/lib/CMakeLists.txt
-+++ b/build/cmake/lib/CMakeLists.txt
-@@ -78,20 +78,20 @@ endif ()
-
- # Split project to static and shared libraries build
- if (ZSTD_BUILD_SHARED)
-- add_library(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
-+ add_library(libzstd SHARED ${Sources} ${Headers} ${PlatformDependResources})
- if (ZSTD_MULTITHREAD_SUPPORT)
-- set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
-+ set_property(TARGET libzstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
- if (UNIX)
-- target_link_libraries(libzstd_shared ${THREADS_LIBS})
-+ target_link_libraries(libzstd ${THREADS_LIBS})
- endif ()
- endif()
- endif ()
- if (ZSTD_BUILD_STATIC)
-- add_library(libzstd_static STATIC ${Sources} ${Headers})
-+ add_library(libzstd STATIC ${Sources} ${Headers})
- if (ZSTD_MULTITHREAD_SUPPORT)
-- set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
-+ set_property(TARGET libzstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
- if (UNIX)
-- target_link_libraries(libzstd_static ${THREADS_LIBS})
-+ target_link_libraries(libzstd ${THREADS_LIBS})
- endif ()
- endif ()
- endif ()
-@@ -99,16 +99,16 @@ endif ()
- # Add specific compile definitions for MSVC project
- if (MSVC)
- if (ZSTD_BUILD_SHARED)
-- set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
-+ set_property(TARGET libzstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
- endif ()
- if (ZSTD_BUILD_STATIC)
-- set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
-+ set_property(TARGET libzstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
- endif ()
- endif ()
-
- # With MSVC static library needs to be renamed to avoid conflict with import library
- if (MSVC)
-- set(STATIC_LIBRARY_BASE_NAME zstd_static)
-+ set(STATIC_LIBRARY_BASE_NAME zstd)
- else ()
- set(STATIC_LIBRARY_BASE_NAME zstd)
- endif ()
-@@ -116,7 +116,7 @@ endif ()
- # Define static and shared library names
- if (ZSTD_BUILD_SHARED)
- set_target_properties(
-- libzstd_shared
-+ libzstd
- PROPERTIES
- OUTPUT_NAME zstd
- VERSION ${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}
-@@ -125,7 +125,7 @@ endif ()
-
- if (ZSTD_BUILD_STATIC)
- set_target_properties(
-- libzstd_static
-+ libzstd
- PROPERTIES
- OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
- endif ()
-@@ -154,12 +154,14 @@ install(FILES
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
-
- if (ZSTD_BUILD_SHARED)
-- install(TARGETS libzstd_shared RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
-+ install(TARGETS libzstd EXPORT zstd-config
-+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
- endif()
- if (ZSTD_BUILD_STATIC)
-- install(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-+ install(TARGETS libzstd EXPORT zstd-config
-+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
- endif ()
-
- # uninstall target
-@@ -172,3 +174,6 @@ if (NOT TARGET uninstall)
- add_custom_target(uninstall
- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
- endif ()
-+
-+target_include_directories(libzstd PUBLIC $<INSTALL_INTERFACE:include>)
-+install(EXPORT zstd-config DESTINATION share/cmake/zstd)
diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL
index 7c8ba66f2..f87e519c9 100644
--- a/ports/zstd/CONTROL
+++ b/ports/zstd/CONTROL
@@ -1,5 +1,5 @@
Source: zstd
-Version: 1.4.4
-Port-Version: 3
+Version: 1.4.5
+Port-Version: 1
Description: Zstandard - Fast real-time compression algorithm
Homepage: https://facebook.github.io/zstd/
diff --git a/ports/zstd/fix_assert.patch b/ports/zstd/fix_assert.patch
new file mode 100644
index 000000000..b7fa3dc8d
--- /dev/null
+++ b/ports/zstd/fix_assert.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/decompress/zstd_decompress.c b/lib/decompress/zstd_decompress.c
+index be5c7cfc3..539190998 100644
+--- a/lib/decompress/zstd_decompress.c
++++ b/lib/decompress/zstd_decompress.c
+@@ -721,7 +721,7 @@ static size_t ZSTD_decompressMultiFrame(ZSTD_DCtx* dctx,
+ decodedSize = ZSTD_decompressLegacy(dst, dstCapacity, src, frameSize, dict, dictSize);
+ if (ZSTD_isError(decodedSize)) return decodedSize;
+
+- assert(decodedSize <=- dstCapacity);
++ assert(decodedSize <= dstCapacity);
+ dst = (BYTE*)dst + decodedSize;
+ dstCapacity -= decodedSize;
+
diff --git a/ports/zstd/install_dll.patch b/ports/zstd/install_dll.patch
new file mode 100644
index 000000000..569b481f1
--- /dev/null
+++ b/ports/zstd/install_dll.patch
@@ -0,0 +1,12 @@
+diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
+index 4274cbdd3..ea1b5f088 100644
+--- a/build/cmake/lib/CMakeLists.txt
++++ b/build/cmake/lib/CMakeLists.txt
+@@ -163,6 +163,7 @@ install(TARGETS ${library_targets}
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ )
+
+ # uninstall target
diff --git a/ports/zstd/install_pkgpc.patch b/ports/zstd/install_pkgpc.patch
new file mode 100644
index 000000000..4936f05f6
--- /dev/null
+++ b/ports/zstd/install_pkgpc.patch
@@ -0,0 +1,13 @@
+diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
+index 666da60c1..4274cbdd3 100644
+--- a/build/cmake/lib/CMakeLists.txt
++++ b/build/cmake/lib/CMakeLists.txt
+@@ -134,7 +134,7 @@ if (ZSTD_BUILD_STATIC)
+ OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
+ endif ()
+
+-if (UNIX)
++if (1)
+ # pkg-config
+ set(PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(LIBDIR "${CMAKE_INSTALL_LIBDIR}")
diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake
index af1af2b2f..73cc2b185 100644
--- a/ports/zstd/portfile.cmake
+++ b/ports/zstd/portfile.cmake
@@ -1,12 +1,14 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/zstd
- REF 10f0e6993f9d2f682da6d04aa2385b7d53cbb4ee # v1.4.4
- SHA512 869eb031d2f8cfd9d93502835a373f6f2ec39dc1f41dd5fd0463d3d442c153915987d00bc862ae66bded5c5697e1803a1e68491803bd1a7b358397e6eba58f64
+ REF b706286adbba780006a47ef92df0ad7a785666b6 # v1.4.5
+ SHA512 1be43e8cc1dad9dd59036f86a7dd579b8fcbf16b3ebae62f38aa0397f45ab0eab2e97e924cede40428fa9125a2e5e567694bb04a0c9ec0c4275a79cd2ef8eb11
HEAD_REF dev
PATCHES
- 0001-export-zstd-config.patch
0002-crosscompile-windows.patch
+ fix_assert.patch
+ install_pkgpc.patch
+ install_dll.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@@ -35,14 +37,29 @@ vcpkg_configure_cmake(
-DZSTD_BUILD_TESTS=0
-DZSTD_BUILD_CONTRIB=0
OPTIONS_DEBUG
- -DCMAKE_DEBUG_POSTFIX=d)
+ -DCMAKE_DEBUG_POSTFIX=d) # this is against the maintainer guidelines.
+ # Removing it probably requires a vcpkg-cmake-wrapper.cmake to correct downstreams FindZSTD.cmake
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/zstd)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/zstd)
+
+# This enables find_package(ZSTD) and find_package(zstd) to find zstd on Linux(case sensitive filesystems)
+file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstdConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstd-config.cmake")
+file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstdConfigVersion.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstd-configVersion.cmake")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND VCPKG_TARGET_IS_WINDOWS)
+ set(static_suffix "_static")
+else()
+ set(static_suffix )
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libzstd.pc")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libzstd.pc" "-lzstd" "-lzstd${static_suffix}")
+endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc")
- vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc" "-lzstd" "-lzstdd")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc" "-lzstd" "-lzstd${static_suffix}d")
endif()
+
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
@@ -58,3 +75,5 @@ endif()
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "ZSTD is dual licensed - see LICENSE and COPYING files\n")
+
+