mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-01-14 05:28:01 +08:00
[zlib, minizip] Update to 1.2.13, and embed the ZLIB_DLL setting. (#27226)
* Don't use external ZLIB_DLL * Update versions * [minizip] Bump to zlib version * Update versions * [libkml] Fix mingw build * [libkml] Modernize * [libkml] Fix minizip dependency * [libkml] No DLL * Update versions * [libkml] Update mingw patch * Update versions * Update versions * [zlib] Update to 1.2.13 This picks up the official fix for CVE-2022-37434. * Cherry pick installing the correct license from https://github.com/microsoft/vcpkg/pull/27242/ * Update version database. * More version database. * Also update minizip. * Also guard ZLIB_DLL properties for BUILD_SHARED_LIBS. * Version database. * Fix minizip usage. Co-authored-by: Kai Pastor <dg0yt@darc.de>
This commit is contained in:
parent
7ad236f60f
commit
e0a9559a9b
41
ports/libkml/fix-mingw.patch
Normal file
41
ports/libkml/fix-mingw.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 028f50a..bb63ffb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -26,6 +26,9 @@ set(LIBKML_DATA_DIR ${CMAKE_SOURCE_DIR}/testdata CACHE "Directory containing te
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti")
|
||||
set(TEST_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-rtti -DGTEST_HAS_RTTI=0")
|
||||
+if(WIN32)
|
||||
+ add_definitions(-DUNICODE -D_UNICODE)
|
||||
+endif()
|
||||
|
||||
else()
|
||||
if(MSVC)
|
||||
diff --git a/src/kml/base/file_win32.cc b/src/kml/base/file_win32.cc
|
||||
index 28ccb36..6ba79cd 100644
|
||||
--- a/src/kml/base/file_win32.cc
|
||||
+++ b/src/kml/base/file_win32.cc
|
||||
@@ -34,7 +34,9 @@
|
||||
#include "kml/base/file.h"
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
+#ifndef __MINGW32__
|
||||
#include <xstring>
|
||||
+#endif
|
||||
#include <algorithm>
|
||||
|
||||
namespace kmlbase {
|
||||
diff --git a/src/kml/base/string_util.cc b/src/kml/base/string_util.cc
|
||||
index b3a9654..842f1cd 100644
|
||||
--- a/src/kml/base/string_util.cc
|
||||
+++ b/src/kml/base/string_util.cc
|
||||
@@ -113,7 +113,7 @@ bool StringEndsWith(const string& str, const string& end) {
|
||||
}
|
||||
|
||||
bool StringCaseEqual(const string& a, const string& b) {
|
||||
-#ifdef WIN32
|
||||
+#if defined(WIN32) && !defined(__MINGW32__)
|
||||
# define strncasecmp(s1, s2, n) _strnicmp (s1, s2, n)
|
||||
#endif
|
||||
return a.size() == b.size() && strncasecmp(a.data(), b.data(), a.size()) == 0;
|
72
ports/libkml/fix-minizip.patch
Normal file
72
ports/libkml/fix-minizip.patch
Normal file
@ -0,0 +1,72 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9728ead..028f50a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -110,9 +110,9 @@ else()
|
||||
list(APPEND MINIZIP_DEPENDS ZLIB)
|
||||
endif()
|
||||
|
||||
-find_package(MiniZip)
|
||||
+find_package(MINIZIP NAMES minizip REQUIRED)
|
||||
if(MINIZIP_FOUND)
|
||||
- include_directories(${MINIZIP_INCLUDE_DIR})
|
||||
+ set(MINIZIP_LIBRARY minizip::minizip)
|
||||
else()
|
||||
include(External_minizip)
|
||||
list(APPEND KMLBASE_DEPENDS MINIZIP)
|
||||
diff --git a/cmake/LibKMLConfig.cmake.in b/cmake/LibKMLConfig.cmake.in
|
||||
index 3e295f4..97826df 100644
|
||||
--- a/cmake/LibKMLConfig.cmake.in
|
||||
+++ b/cmake/LibKMLConfig.cmake.in
|
||||
@@ -1,3 +1,6 @@
|
||||
+include(CMakeFindDependencyMacro)
|
||||
+find_dependency(minizip CONFIG)
|
||||
+
|
||||
# Compute paths
|
||||
get_filename_component(LIBKML_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
|
||||
diff --git a/src/kml/base/contrib/minizip/iomem_simple.c b/src/kml/base/contrib/minizip/iomem_simple.c
|
||||
index be89226..6be61d5 100644
|
||||
--- a/src/kml/base/contrib/minizip/iomem_simple.c
|
||||
+++ b/src/kml/base/contrib/minizip/iomem_simple.c
|
||||
@@ -219,7 +219,7 @@ int ZCALLBACK mem_error (opaque, stream)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-ZEXTERN void* ZEXPORT mem_simple_create_file(zlib_filefunc_def* api, void* buffer, size_t buf_len)
|
||||
+extern void* mem_simple_create_file(zlib_filefunc_def* api, void* buffer, size_t buf_len)
|
||||
{
|
||||
MEMFILE* handle = malloc(sizeof(*handle));
|
||||
api->zopen_file = NULL;
|
||||
diff --git a/src/kml/base/contrib/minizip/iomem_simple.h b/src/kml/base/contrib/minizip/iomem_simple.h
|
||||
index ec11396..515e24e 100644
|
||||
--- a/src/kml/base/contrib/minizip/iomem_simple.h
|
||||
+++ b/src/kml/base/contrib/minizip/iomem_simple.h
|
||||
@@ -70,7 +70,7 @@ void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
|
||||
* This declaration is from the proposed iomem_simple package found at
|
||||
* http://code.trak.dk. See iomem_simple.c
|
||||
*/
|
||||
-extern void* ZEXPORT mem_simple_create_file(zlib_filefunc_def* pzlib_filefunc_def, void* buffer, size_t buflen);
|
||||
+extern void* mem_simple_create_file(zlib_filefunc_def* pzlib_filefunc_def, void* buffer, size_t buflen);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
diff --git a/src/kml/base/contrib/minizip/unzip.c b/src/kml/base/contrib/minizip/unzip.c
|
||||
index a062863..fb69189 100644
|
||||
--- a/src/kml/base/contrib/minizip/unzip.c
|
||||
+++ b/src/kml/base/contrib/minizip/unzip.c
|
||||
@@ -43,6 +43,14 @@ woven in by Terry Thorsen 1/2003.
|
||||
#include "unzip.h"
|
||||
#include "iomem_simple.h"
|
||||
#undef NOUNCRYPT
|
||||
+#ifdef ZEXPORT
|
||||
+# undef ZEXPORT
|
||||
+#endif
|
||||
+#define ZEXPORT
|
||||
+#ifdef ZEXTERN
|
||||
+# undef ZEXTERN
|
||||
+#endif
|
||||
+#define ZEXTERN extern
|
||||
|
||||
#ifdef STDC
|
||||
# include <stddef.h>
|
@ -1,3 +1,7 @@
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
endif()
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO libkml/libkml
|
||||
@ -6,26 +10,31 @@ vcpkg_from_github(
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
patch_empty_literal_on_vc.patch
|
||||
fix-mingw.patch
|
||||
fix-minizip.patch
|
||||
)
|
||||
|
||||
file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
file(REMOVE
|
||||
"${SOURCE_PATH}/cmake/External_boost.cmake"
|
||||
"${SOURCE_PATH}/cmake/External_expat.cmake"
|
||||
"${SOURCE_PATH}/cmake/External_minizip.cmake"
|
||||
"${SOURCE_PATH}/cmake/External_uriparser.cmake"
|
||||
"${SOURCE_PATH}/cmake/External_zlib.cmake"
|
||||
"${SOURCE_PATH}/src/kml/base/contrib/minizip/ioapi.h"
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if (VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
|
||||
elseif (VCPKG_TARGET_IS_LINUX)
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml)
|
||||
elseif (VCPKG_TARGET_IS_OSX)
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH cmake)
|
||||
else()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libkml)
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
@ -1,19 +1,23 @@
|
||||
{
|
||||
"name": "libkml",
|
||||
"version-string": "1.3.0",
|
||||
"port-version": 8,
|
||||
"version": "1.3.0",
|
||||
"port-version": 9,
|
||||
"description": "Reference implementation of OGC KML 2.2",
|
||||
"homepage": "https://github.com/libkml/libkml",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": [
|
||||
"boost-smart-ptr",
|
||||
"expat",
|
||||
{
|
||||
"name": "minizip",
|
||||
"features": [
|
||||
"bzip2"
|
||||
]
|
||||
},
|
||||
"minizip",
|
||||
"uriparser",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
},
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/contrib/minizip/iowin32.c b/contrib/minizip/iowin32.c
|
||||
index 274f39eb1..9736fbb0f 100644
|
||||
--- a/contrib/minizip/iowin32.c
|
||||
+++ b/contrib/minizip/iowin32.c
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
// see Include/shared/winapifamily.h in the Windows Kit
|
||||
-#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
||||
+#if defined(WINAPI_FAMILY_ONE_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
||||
#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
|
||||
#define IOWIN32_USING_WINRT_API 1
|
||||
#endif
|
@ -1,10 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
project(minizip C)
|
||||
|
||||
set(PROJECT_VERSION 1.2.11)
|
||||
set(PROJECT_VERSION_MAJOR 1)
|
||||
set(PROJECT_VERSION_MINOR 2)
|
||||
set(PROJECT_VERSION_PATCH 11)
|
||||
project(minizip VERSION 1.2.13 LANGUAGES C)
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
|
||||
|
@ -1,20 +1,22 @@
|
||||
# When this port is updated, the minizip port should be updated at the same time
|
||||
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO madler/zlib
|
||||
REF v1.2.11
|
||||
SHA512 104c62ed1228b5f1199bc037081861576900eb0697a226cafa62a35c4c890b5cb46622e399f9aad82ee5dfb475bae26ae75e2bd6da3d261361b1c8b996970faf
|
||||
REF v1.2.13
|
||||
SHA512 44b834fbfb50cca229209b8dbe1f96b258f19a49f5df23b80970b716371d856a4adf525edb4c6e0e645b180ea949cb90f5365a1d896160f297f56794dd888659
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
0001-remove-ifndef-NOUNCRYPT.patch
|
||||
0002-add-declaration-for-mkdir.patch
|
||||
0003-no-io64.patch
|
||||
0004-define.patch
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
bzip2 ENABLE_BZIP2
|
||||
FEATURES
|
||||
bzip2 ENABLE_BZIP2
|
||||
)
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/minizipConfig.cmake.in" "${SOURCE_PATH}/cmake/minizipConfig.cmake.in" COPYONLY)
|
||||
@ -43,4 +45,5 @@ if ("bzip2" IN_LIST FEATURES)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
4
ports/minizip/usage
Normal file
4
ports/minizip/usage
Normal file
@ -0,0 +1,4 @@
|
||||
minizip provides CMake targets:
|
||||
|
||||
find_package(minizip CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE minizip::minizip)
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "minizip",
|
||||
"version-semver": "1.2.11",
|
||||
"port-version": 11,
|
||||
"version-semver": "1.2.13",
|
||||
"description": "Zip compression library",
|
||||
"homepage": "https://github.com/madler/zlib",
|
||||
"license": "Zlib",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
{
|
||||
|
17
ports/zlib/0002-skip-building-examples.patch
Normal file
17
ports/zlib/0002-skip-building-examples.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b412dc7..f46c8e6 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -194,6 +194,7 @@ endif()
|
||||
# Example binaries
|
||||
#============================================================================
|
||||
|
||||
+if (0)
|
||||
add_executable(example test/example.c)
|
||||
target_link_libraries(example zlib)
|
||||
add_test(example example)
|
||||
@@ -211,3 +212,4 @@ if(HAVE_OFF64_T)
|
||||
target_link_libraries(minigzip64 zlib)
|
||||
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
||||
endif()
|
||||
+endif()
|
53
ports/zlib/0003-build-static-or-shared-not-both.patch
Normal file
53
ports/zlib/0003-build-static-or-shared-not-both.patch
Normal file
@ -0,0 +1,53 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f46c8e6..6fa5575 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -121,9 +121,11 @@ set(ZLIB_SRCS
|
||||
)
|
||||
|
||||
if(NOT MINGW)
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS
|
||||
win32/zlib1.rc # If present will override custom build rule below.
|
||||
)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
|
||||
@@ -144,13 +146,16 @@ if(MINGW)
|
||||
-I ${CMAKE_CURRENT_BINARY_DIR}
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
+ endif()
|
||||
endif(MINGW)
|
||||
|
||||
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
+if (BUILD_SHARED_LIBS)
|
||||
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
||||
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
||||
+endif()
|
||||
|
||||
if(NOT CYGWIN)
|
||||
# This property causes shared libraries on Linux to have the full version
|
||||
@@ -165,7 +170,7 @@ endif()
|
||||
|
||||
if(UNIX)
|
||||
# On unix-like platforms the library is almost always called libz
|
||||
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
|
||||
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
|
||||
if(NOT APPLE)
|
||||
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
||||
endif()
|
||||
@@ -175,7 +180,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
|
||||
endif()
|
||||
|
||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||
- install(TARGETS zlib zlibstatic
|
||||
+ install(TARGETS zlib
|
||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
@ -1,7 +1,17 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt (date 1618364429263)
|
||||
+++ b/CMakeLists.txt (date 1618364429263)
|
||||
@@ -170,7 +170,7 @@
|
||||
index 6fa5575..7c345db 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -56,7 +56,7 @@ endif()
|
||||
#
|
||||
check_include_file(unistd.h Z_HAVE_UNISTD_H)
|
||||
|
||||
-if(MSVC)
|
||||
+if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
@@ -133,7 +133,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
|
||||
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
|
||||
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
|
||||
|
||||
@ -10,12 +20,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
# This gets us DLL resource information when compiling on MinGW.
|
||||
if(NOT CMAKE_RC_COMPILER)
|
||||
set(CMAKE_RC_COMPILER windres.exe)
|
||||
@@ -186,7 +186,7 @@
|
||||
@@ -149,7 +149,7 @@ if(MINGW)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
endif()
|
||||
-endif(MINGW)
|
||||
+endif(MINGW AND NOT ANDROID)
|
||||
|
||||
add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
||||
if (BUILD_SHARED_LIBS)
|
@ -1,17 +0,0 @@
|
||||
diff --git a/inflate.c b/inflate.c
|
||||
index 7be8c6366..7a7289749 100644
|
||||
--- a/inflate.c
|
||||
+++ b/inflate.c
|
||||
@@ -763,9 +763,10 @@ int flush;
|
||||
copy = state->length;
|
||||
if (copy > have) copy = have;
|
||||
if (copy) {
|
||||
if (state->head != Z_NULL &&
|
||||
- state->head->extra != Z_NULL) {
|
||||
- len = state->head->extra_len - state->length;
|
||||
+ state->head->extra != Z_NULL &&
|
||||
+ (len = state->head->extra_len - state->length) <
|
||||
+ state->head->extra_max) {
|
||||
zmemcpy(state->head->extra + len, next,
|
||||
len + copy > state->head->extra_max ?
|
||||
state->head->extra_max - len : copy);
|
@ -1,74 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0fe939d..a1291d5 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -7,6 +7,7 @@ set(VERSION "1.2.12")
|
||||
|
||||
option(ASM686 "Enable building i686 assembly implementation")
|
||||
option(AMD64 "Enable building amd64 assembly implementation")
|
||||
+option(SKIP_BUILD_EXAMPLES "Skip build of the examples" OFF)
|
||||
|
||||
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
|
||||
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
|
||||
@@ -124,9 +125,11 @@ set(ZLIB_SRCS
|
||||
)
|
||||
|
||||
if(NOT MINGW)
|
||||
- set(ZLIB_DLL_SRCS
|
||||
- win32/zlib1.rc # If present will override custom build rule below.
|
||||
- )
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
+ set(ZLIB_DLL_SRCS
|
||||
+ win32/zlib1.rc # If present will override custom build rule below.
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
@@ -180,11 +183,12 @@ if(MINGW)
|
||||
-I ${CMAKE_CURRENT_BINARY_DIR}
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
|
||||
- set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
+ set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
+ endif()
|
||||
endif(MINGW)
|
||||
|
||||
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
||||
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
||||
|
||||
@@ -201,7 +205,7 @@ endif()
|
||||
|
||||
if(UNIX)
|
||||
# On unix-like platforms the library is almost always called libz
|
||||
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
|
||||
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
|
||||
if(NOT APPLE)
|
||||
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
||||
endif()
|
||||
@@ -211,7 +215,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
|
||||
endif()
|
||||
|
||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||
- install(TARGETS zlib zlibstatic
|
||||
+ install(TARGETS zlib
|
||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
||||
@@ -230,6 +234,7 @@ endif()
|
||||
# Example binaries
|
||||
#============================================================================
|
||||
|
||||
+if (NOT SKIP_BUILD_EXAMPLES)
|
||||
add_executable(example test/example.c)
|
||||
target_link_libraries(example zlib)
|
||||
add_test(example example)
|
||||
@@ -247,3 +252,4 @@ if(HAVE_OFF64_T)
|
||||
target_link_libraries(minigzip64 zlib)
|
||||
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
||||
endif()
|
||||
+endif()
|
@ -1,13 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0fe939d..e4fc213 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -59,7 +59,7 @@ endif()
|
||||
#
|
||||
check_include_file(unistd.h Z_HAVE_UNISTD_H)
|
||||
|
||||
-if(MSVC)
|
||||
+if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
@ -1,15 +1,15 @@
|
||||
# When this port is updated, the minizip port should be updated at the same time
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO madler/zlib
|
||||
REF v1.2.12
|
||||
SHA512 5b029532a9f5f12ad425c12eccdf1b77c8d91801342c5b5e26ffb539f76a204e6c4882b40f0130f143f2cd38df90e90af2978cf4bb997e1fa3a0d1eff2ca979e
|
||||
REF v1.2.13
|
||||
SHA512 44b834fbfb50cca229209b8dbe1f96b258f19a49f5df23b80970b716371d856a4adf525edb4c6e0e645b180ea949cb90f5365a1d896160f297f56794dd888659
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
cmake_dont_build_more_than_needed.patch
|
||||
0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch
|
||||
debug-postfix-mingw.patch
|
||||
0002-android-build-mingw.patch
|
||||
CVE-2022-37434.patch
|
||||
0002-skip-building-examples.patch
|
||||
0003-build-static-or-shared-not-both.patch
|
||||
0004-android-and-mingw-fixes.patch
|
||||
)
|
||||
|
||||
# This is generated during the cmake build
|
||||
@ -19,7 +19,6 @@ vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DSKIP_INSTALL_FILES=ON
|
||||
-DSKIP_BUILD_EXAMPLES=ON
|
||||
OPTIONS_DEBUG
|
||||
-DSKIP_INSTALL_HEADERS=ON
|
||||
)
|
||||
@ -44,5 +43,11 @@ endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 0")
|
||||
else()
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 1")
|
||||
endif()
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"name": "zlib",
|
||||
"version": "1.2.12",
|
||||
"port-version": 2,
|
||||
"version": "1.2.13",
|
||||
"description": "A compression library",
|
||||
"homepage": "https://www.zlib.net/",
|
||||
"license": "Zlib",
|
||||
|
@ -3874,7 +3874,7 @@
|
||||
},
|
||||
"libkml": {
|
||||
"baseline": "1.3.0",
|
||||
"port-version": 8
|
||||
"port-version": 9
|
||||
},
|
||||
"liblas": {
|
||||
"baseline": "1.8.1",
|
||||
@ -4849,8 +4849,8 @@
|
||||
"port-version": 1
|
||||
},
|
||||
"minizip": {
|
||||
"baseline": "1.2.11",
|
||||
"port-version": 11
|
||||
"baseline": "1.2.13",
|
||||
"port-version": 0
|
||||
},
|
||||
"minizip-ng": {
|
||||
"baseline": "3.0.7",
|
||||
@ -8181,8 +8181,8 @@
|
||||
"port-version": 2
|
||||
},
|
||||
"zlib": {
|
||||
"baseline": "1.2.12",
|
||||
"port-version": 2
|
||||
"baseline": "1.2.13",
|
||||
"port-version": 0
|
||||
},
|
||||
"zlib-ng": {
|
||||
"baseline": "2.0.6",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "9941e66029546372544fed13066e9a9756981dd3",
|
||||
"version": "1.3.0",
|
||||
"port-version": 9
|
||||
},
|
||||
{
|
||||
"git-tree": "1ce9dd050baf9ae42da2bb0c6d0feae1241b6e01",
|
||||
"version-string": "1.3.0",
|
||||
|
@ -1,5 +1,15 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "c0843dcfad42a538a772797a3f50627b5c8d411a",
|
||||
"version-semver": "1.2.13",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "65a32bfac58033a215e271db94d5e022fce816e3",
|
||||
"version-semver": "1.2.12",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "528703ed8d2b78aeaa55695765535efafa24540b",
|
||||
"version-semver": "1.2.11",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "ad5a49006f73b45b715299515f31164131b51982",
|
||||
"version": "1.2.13",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "d40d86865ecbcc5b54d21f840dd2212556aeadd5",
|
||||
"version": "1.2.12",
|
||||
|
Loading…
x
Reference in New Issue
Block a user