Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libpng] update to 1.6.45 #43200

Merged
merged 8 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 79 additions & 2 deletions ports/libpng/cmake.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patch checked.

Original file line number Diff line number Diff line change
@@ -1,8 +1,45 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e355e4d..6dfe543 100644
index f10f489..28ce98a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -632,7 +632,7 @@ else()
@@ -119,6 +119,12 @@ find_package(ZLIB REQUIRED)
if(UNIX
AND NOT (APPLE OR BEOS OR HAIKU)
AND NOT EMSCRIPTEN)
+ block(SCOPE_FOR VARIABLES)
+ if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ list(PREPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ endif()
+ find_library(M_LIBRARY m PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
+ endblock()
find_library(M_LIBRARY m)
if(M_LIBRARY)
set(M_LIBRARY m)
@@ -208,8 +214,8 @@ if(PNG_HARDWARE_OPTIMIZATIONS)

# Set definitions and sources for MIPS.
if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)")
- set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
- set(PNG_MIPS_MSA "on"
+ set(PNG_MIPS_MSA_POSSIBLE_VALUES on off check)
+ set(PNG_MIPS_MSA "check"
CACHE STRING "Enable MIPS_MSA optimizations: on|off; on is default")
set_property(CACHE PNG_MIPS_MSA
PROPERTY STRINGS ${PNG_MIPS_MSA_POSSIBLE_VALUES})
@@ -241,6 +247,12 @@ if(PNG_HARDWARE_OPTIMIZATIONS)
mips/filter_msa_intrinsics.c)
add_definitions(-DPNG_MIPS_MSA_OPT=2)
add_definitions(-DPNG_MIPS_MMI_OPT=0)
+ elseif(PNG_MIPS_MSA STREQUAL "check")
+ set(libpng_mips_sources
+ mips/mips_init.c
+ mips/filter_msa_intrinsics.c)
+ add_definitions(-DPNG_MIPS_MSA_CHECK_SUPPORTED)
+ add_definitions(-DPNG_MIPS_MMI_CHECK_SUPPORTED)
elseif(PNG_MIPS_MMI STREQUAL "on")
set(libpng_mips_sources
mips/mips_init.c
@@ -594,7 +606,7 @@ else()
# We also need to use a custom suffix, in order to distinguish between the
# shared import library name and the static library name.
set(PNG_SHARED_OUTPUT_NAME "libpng${PNGLIB_ABI_VERSION}")
Expand All @@ -11,3 +48,43 @@ index e355e4d..6dfe543 100644
endif()

if(PNG_SHARED)
@@ -858,9 +870,9 @@ if(PNG_TESTS AND PNG_SHARED)
FILES ${PNGSUITE_PNGS})
endif()

-if(PNG_SHARED AND PNG_TOOLS)
+if(PNG_TOOLS)
add_executable(pngfix ${pngfix_sources})
- target_link_libraries(pngfix PRIVATE png_shared)
+ target_link_libraries(pngfix PRIVATE $<TARGET_NAME_IF_EXISTS:png_shared> $<TARGET_NAME_IF_EXISTS:png_static>) # in vcpkg there's only one
set(PNG_BIN_TARGETS pngfix)

add_executable(png-fix-itxt ${png_fix_itxt_sources})
@@ -944,12 +956,15 @@ endif()
# We use the same files like ./configure, so we have to set its vars.
# Only do this on Windows for Cygwin - the files don't make much sense
# outside of a UNIX look-alike.
-if(NOT WIN32 OR CYGWIN OR MINGW)
+if(1)
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
- set(LIBS "-lz -lm")
+ set(LIBS "")
+ if(M_LIBRARY)
+ string(APPEND LIBS "-lm")
+ endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
${CMAKE_CURRENT_BINARY_DIR}/libpng${PNGLIB_ABI_VERSION}.pc
@ONLY)
@@ -1008,6 +1023,9 @@ if(NOT SKIP_INSTALL_PROGRAMS AND NOT SKIP_INSTALL_ALL)
endif()

if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${PNGLIB_ABI_VERSION}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+elseif(0)
# Install the man pages.
install(FILES libpng.3 libpngpf.3
DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
28 changes: 0 additions & 28 deletions ports/libpng/fix-msa-support-for-mips.patch

This file was deleted.

16 changes: 0 additions & 16 deletions ports/libpng/fix-tools-static.patch

This file was deleted.

17 changes: 0 additions & 17 deletions ports/libpng/libm.patch

This file was deleted.

32 changes: 0 additions & 32 deletions ports/libpng/pkgconfig.patch

This file was deleted.

10 changes: 3 additions & 7 deletions ports/libpng/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if ("apng" IN_LIST FEATURES)
vcpkg_download_distfile(LIBPNG_APNG_PATCH_ARCHIVE
URLS "https://downloads.sourceforge.net/project/libpng-apng/libpng16/${VERSION}/${LIBPNG_APNG_PATCH_NAME}.gz"
FILENAME "${LIBPNG_APNG_PATCH_NAME}.gz"
SHA512 ea89018a02ed171b82af9644ec2ff658c8a288e99b5470c7a3fd142c6fa95bbe19cd34c4fae654bc8783b41c3eb3b2d15b486bda3b0307ec3090e99f34465e20
SHA512 60a0b3072f4d1fddcce79eaa89f461d27c32e4c1a4cf3e6dc30ff1091aeceeb2fbfacf830bdb59bad98e39091fdd47458589411b59f94e2d4fc9c121b0545291
)
set(LIBPNG_APNG_PATCH_PATH "${CURRENT_BUILDTREES_DIR}/src/${LIBPNG_APNG_PATCH_NAME}")
if (NOT EXISTS "${LIBPNG_APNG_PATCH_PATH}")
Expand All @@ -28,17 +28,13 @@ endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO glennrp/libpng
REPO pnggroup/libpng
REF v${VERSION}
SHA512 c023bc7dcf3d0ea045a63204f2266b2c53b601b99d7c5f5a7b547bc9a48b205a277f699eefa47f136483f495175b226527097cd447d6b0fbceb029eb43638f63
SHA512 b999c241ce5d95dfae5bb2c71e8b686a1c4af69b67262bda309a58c83967b5f3eacd7987d6990f71ebc16aa89f4f7a59c846857d56c80bca7e9ec657caff62c7
HEAD_REF master
PATCHES
"${LIBPNG_APNG_PATCH_PATH}"
cmake.patch
libm.patch
pkgconfig.patch
fix-msa-support-for-mips.patch
fix-tools-static.patch
)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PNG_SHARED)
Expand Down
4 changes: 2 additions & 2 deletions ports/libpng/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "libpng",
"version": "1.6.44",
"version": "1.6.45",
"description": "libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files",
"homepage": "https://github.com/glennrp/libpng",
"homepage": "https://github.com/pnggroup/libpng",
"license": "libpng-2.0",
"dependencies": [
{
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -4989,7 +4989,7 @@
"port-version": 1
},
"libpng": {
"baseline": "1.6.44",
"baseline": "1.6.45",
"port-version": 0
},
"libpopt": {
Expand Down
5 changes: 5 additions & 0 deletions versions/l-/libpng.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "081166e70f56cd851b212f93a9ee5531d58fb9b9",
"version": "1.6.45",
"port-version": 0
},
{
"git-tree": "bda480fe3c3cef1113fe8bfdecda127a5b3b2a77",
"version": "1.6.44",
Expand Down