diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-12-24 00:26:04 +0100 |
|---|---|---|
| committer | dan-shaw <51385773+dan-shaw@users.noreply.github.com> | 2019-12-23 15:26:04 -0800 |
| commit | a5590520f050d9308337951d4e5aaefbbb168116 (patch) | |
| tree | 5d132a752bbe5bd82a47fb8d771a28418493d64b | |
| parent | 13c4d0c18dff57ce73c3ddf360ee5d0aa2f1540d (diff) | |
| download | vcpkg-a5590520f050d9308337951d4e5aaefbbb168116.tar.gz vcpkg-a5590520f050d9308337951d4e5aaefbbb168116.zip | |
[libpng] Strong cleanup of the port (#9198)
* [libpng] strong cleanup of the port
* [libpng] do not install unhandled tools
* [libpng] restore library proper name on windows-static triplets
| -rw-r--r-- | ports/libpng/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libpng/cmake.patch | 47 | ||||
| -rw-r--r-- | ports/libpng/fix-libm-unix.patch | 12 | ||||
| -rw-r--r-- | ports/libpng/libpngConfig.cmake | 6 | ||||
| -rw-r--r-- | ports/libpng/portfile.cmake | 41 | ||||
| -rw-r--r-- | ports/libpng/skip-install-symlink.patch | 22 | ||||
| -rw-r--r-- | ports/libpng/use_abort.patch (renamed from ports/libpng/use-abort-on-all-platforms.patch) | 4 | ||||
| -rw-r--r-- | ports/libpng/vcpkg-cmake-wrapper.cmake | 6 |
8 files changed, 59 insertions, 81 deletions
diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL index e7e3f3f0e..d03709b00 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,5 +1,5 @@ Source: libpng -Version: 1.6.37-5 +Version: 1.6.37-6 Build-Depends: zlib Homepage: https://github.com/glennrp/libpng Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files. diff --git a/ports/libpng/cmake.patch b/ports/libpng/cmake.patch new file mode 100644 index 000000000..f2eb6aa8e --- /dev/null +++ b/ports/libpng/cmake.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6451fcf..6599e1d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,7 @@ if(NOT PNG_BUILD_ZLIB) + endif() + + if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) +- find_library(M_LIBRARY m) ++ set(M_LIBRARY m) + else() + # libm is not needed and/or not available + set(M_LIBRARY "") +@@ -551,21 +551,14 @@ endif() + + if(PNG_STATIC) + # does not work without changing name +- set(PNG_LIB_NAME_STATIC png_static) + add_library(png_static STATIC ${libpng_sources}) + add_dependencies(png_static genfiles) + # MSVC doesn't use a different file extension for shared vs. static + # libs. We are able to change OUTPUT_NAME to remove the _static + # for all other platforms. +- if(NOT MSVC) +- set_target_properties(png_static PROPERTIES +- OUTPUT_NAME "${PNG_LIB_NAME}" +- CLEAN_DIRECT_OUTPUT 1) +- else() +- set_target_properties(png_static PROPERTIES +- OUTPUT_NAME "${PNG_LIB_NAME}_static" +- CLEAN_DIRECT_OUTPUT 1) +- endif() ++ set_target_properties(png_static PROPERTIES ++ OUTPUT_NAME "${PNG_LIB_NAME}" ++ CLEAN_DIRECT_OUTPUT 1) + list(APPEND PNG_LIB_TARGETS png_static) + if(MSVC) + # msvc does not append 'lib' - do it here to have consistent name +@@ -915,7 +908,7 @@ endif() + + # Create an export file that CMake users can include() to import our targets. + if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) +- install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) ++ install(EXPORT libpng DESTINATION lib/libpng FILE libpngConfig.cmake) + endif() + + # what's with libpng-manual.txt and all the extra files? diff --git a/ports/libpng/fix-libm-unix.patch b/ports/libpng/fix-libm-unix.patch deleted file mode 100644 index 0abd20879..000000000 --- a/ports/libpng/fix-libm-unix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2019-04-14 20:10:32.000000000 +0200 -+++ b/CMakeLists.txt 2019-09-06 14:14:39.425498139 +0200 -@@ -44,7 +44,7 @@ - endif() - - if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) -- find_library(M_LIBRARY m) -+ set(M_LIBRARY m) - else() - # libm is not needed and/or not available - set(M_LIBRARY "") diff --git a/ports/libpng/libpngConfig.cmake b/ports/libpng/libpngConfig.cmake deleted file mode 100644 index 18108035a..000000000 --- a/ports/libpng/libpngConfig.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# The upstream CMakeLists.txt exports libpng's targets to a file named `libpng16.cmake`.
-# However, `find_package(libpng CONFIG)` expects a file named `libpngConfig.cmake` to exist instead.
-#
-# By including `libpng.cmake` from this file, `find_package(libpng CONFIG)` will work.
-get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-include("${_DIR}/libpng16.cmake")
diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake index 829719d3f..e9a200455 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -13,17 +13,17 @@ if ("apng" IN_LIST FEATURES) FILENAME "${LIBPNG_APG_PATCH_NAME}.gz" SHA512 226adcb3a8c60f2267fe2976ab531329ae43c2603dab4d0cf8f16217d64069936b879f3d6516b75d259c47d6f5c5b1f24f887602206c8e46abde0fb7f5c7946b ) - + vcpkg_find_acquire_program(7Z) - + vcpkg_execute_required_process( COMMAND ${7Z} x ${LIBPNG_APNG_PATCH_ARCHIVE} -aoa WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src LOGNAME extract-patch.log ) endif() - - set(APNG_EXTRA_PATCH ${LIBPNG_APG_PATCH_PATH}) + + set(APNG_EXTRA_PATCH ${LIBPNG_APG_PATCH_PATH}) set(LIBPNG_APNG_OPTION "-DPNG_PREFIX=a") endif() @@ -34,8 +34,8 @@ vcpkg_from_github( SHA512 ccb3705c23b2724e86d072e2ac8cfc380f41fadfd6977a248d588a8ad57b6abe0e4155e525243011f245e98d9b7afbe2e8cc7fd4ff7d82fcefb40c0f48f88918 HEAD_REF master PATCHES - use-abort-on-all-platforms.patch - fix-libm-unix.patch + use_abort.patch + cmake.patch ${APNG_EXTRA_PATCH} ) @@ -58,37 +58,14 @@ vcpkg_configure_cmake( -DSKIP_INSTALL_PROGRAMS=ON -DSKIP_INSTALL_EXECUTABLES=ON -DSKIP_INSTALL_FILES=ON - -DSKIP_INSTALL_SYMLINK=ON - OPTIONS_DEBUG - -DSKIP_INSTALL_HEADERS=ON + OPTIONS_DEBUG + -DSKIP_INSTALL_HEADERS=ON ) vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpng16_static.lib ${CURRENT_PACKAGES_DIR}/lib/libpng16.lib) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libpng16d.lib) - endif() - - foreach(FILE ${CURRENT_PACKAGES_DIR}/share/libpng/libpng16-release.cmake ${CURRENT_PACKAGES_DIR}/share/libpng/libpng16-debug.cmake) - file(READ ${FILE} _contents) - string(REGEX REPLACE "libpng16_static.lib" "libpng16.lib" _contents "${_contents}") - string(REGEX REPLACE "libpng16_staticd.lib" "libpng16d.lib" _contents "${_contents}") - file(WRITE ${FILE} "${_contents}") - endforeach() -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/libpngConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -if(NOT VCPKG_TARGET_IS_WINDOWS) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/png) -endif() - vcpkg_copy_pdbs() + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libpng/skip-install-symlink.patch b/ports/libpng/skip-install-symlink.patch deleted file mode 100644 index c25075941..000000000 --- a/ports/libpng/skip-install-symlink.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48c6fa2..589e5f9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -853,7 +853,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
-- if(PNG_SHARED)
-+ if(PNG_SHARED AND NOT SKIP_INSTALL_SYMLINK)
- # Create a symlink for libpng.dll.a => libpng16.dll.a on Cygwin
- if(CYGWIN OR MINGW)
- create_symlink(libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} TARGET png)
-@@ -868,7 +868,7 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
- endif()
- endif()
-
-- if(PNG_STATIC)
-+ if(PNG_STATIC AND NOT SKIP_INSTALL_SYMLINK)
- if(NOT WIN32 OR CYGWIN OR MINGW)
- create_symlink(libpng${CMAKE_STATIC_LIBRARY_SUFFIX} TARGET png_static)
- install(FILES $<TARGET_LINKER_FILE_DIR:png_static>/libpng${CMAKE_STATIC_LIBRARY_SUFFIX}
diff --git a/ports/libpng/use-abort-on-all-platforms.patch b/ports/libpng/use_abort.patch index 0a629e059..c52df5c2b 100644 --- a/ports/libpng/use-abort-on-all-platforms.patch +++ b/ports/libpng/use_abort.patch @@ -1,8 +1,8 @@ diff --git a/pngpriv.h b/pngpriv.h -index fe3355d..5a049b5 100644 +index 583c26f..135651c 100644 --- a/pngpriv.h +++ b/pngpriv.h -@@ -457,11 +457,7 @@ +@@ -556,11 +556,7 @@ /* Memory model/platform independent fns */ #ifndef PNG_ABORT diff --git a/ports/libpng/vcpkg-cmake-wrapper.cmake b/ports/libpng/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index cb9c74f32..000000000 --- a/ports/libpng/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,6 +0,0 @@ -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16.a" CACHE FILEPATH "")
-elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}")
- set(PNG_LIBRARY_RELEASE "${CMAKE_CURRENT_LIST_DIR}/../../lib/libpng16${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE FILEPATH "")
-endif()
-_find_package(${ARGS})
|
