From dd6fd59ff22c6d924b637b7352751b5c244228d6 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Mon, 30 Aug 2021 19:05:16 +0200 Subject: [PATCH] [freetype] update to 2.11.0 (#19284) * [freetype] update to 2.11.0 * add version files --- ports/freetype/0001-Fix-install-command.patch | 32 ----------- ports/freetype/CONTROL | 21 -------- ports/freetype/brotli-static.patch | 53 +++++++++---------- ports/freetype/fix-bzip2-pc.patch | 13 +++++ ports/freetype/fix-exports.patch | 9 ++-- ports/freetype/pkgconfig.patch | 20 ------- ports/freetype/portfile.cmake | 18 +++---- ports/freetype/vcpkg.json | 48 +++++++++++++++++ versions/baseline.json | 2 +- versions/f-/freetype.json | 5 ++ 10 files changed, 103 insertions(+), 118 deletions(-) delete mode 100644 ports/freetype/0001-Fix-install-command.patch delete mode 100644 ports/freetype/CONTROL create mode 100644 ports/freetype/fix-bzip2-pc.patch delete mode 100644 ports/freetype/pkgconfig.patch create mode 100644 ports/freetype/vcpkg.json diff --git a/ports/freetype/0001-Fix-install-command.patch b/ports/freetype/0001-Fix-install-command.patch deleted file mode 100644 index feee3aefa57e69..00000000000000 --- a/ports/freetype/0001-Fix-install-command.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad8ded0..32324d6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -407,6 +407,7 @@ endif () - include(GNUInstallDirs) - - if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) -+ if(UNIX) - install( - # Note the trailing slash in the argument to `DIRECTORY'! - DIRECTORY ${PROJECT_SOURCE_DIR}/include/ -@@ -420,6 +421,19 @@ if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) - ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config - COMPONENT headers) -+ else() -+ install( -+ # Note the trailing slash in the argument to `DIRECTORY'! -+ DIRECTORY ${PROJECT_SOURCE_DIR}/include/ -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2 -+ COMPONENT headers -+ PATTERN "internal" EXCLUDE -+ PATTERN "ftoption.h" EXCLUDE) -+ install( -+ FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config -+ COMPONENT headers) -+ endif() - endif () - - if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL deleted file mode 100644 index efb570b7b8afb9..00000000000000 --- a/ports/freetype/CONTROL +++ /dev/null @@ -1,21 +0,0 @@ -Source: freetype -Version: 2.10.4 -Homepage: https://www.freetype.org/ -Description: A library to render fonts. -Default-Features: zlib, bzip2, png, brotli - -Feature: zlib -Build-Depends: zlib -Description: Use zlib instead of internal library for DEFLATE - -Feature: bzip2 -Build-Depends: bzip2 -Description: Support bzip2 compressed fonts. - -Feature: png -Build-Depends: libpng -Description: Support PNG compressed OpenType embedded bitmaps. - -Feature: brotli -Build-Depends: brotli -Description: Support decompression of WOFF2 streams diff --git a/ports/freetype/brotli-static.patch b/ports/freetype/brotli-static.patch index 1635311ade0ecc..8ef7fd5e3b3c8a 100644 --- a/ports/freetype/brotli-static.patch +++ b/ports/freetype/brotli-static.patch @@ -1,29 +1,24 @@ -diff --git a/builds/cmake/FindBrotliDec.cmake b/builds/cmake/FindBrotliDec.cmake -index 7c484c7df..0bd49b825 100644 ---- a/builds/cmake/FindBrotliDec.cmake -+++ b/builds/cmake/FindBrotliDec.cmake -@@ -34,14 +34,22 @@ find_path(BROTLIDEC_INCLUDE_DIRS - PATH_SUFFIXES brotli) - - find_library(BROTLIDEC_LIBRARIES -- NAMES brotlidec -+ NAMES brotlidec brotlidec-static - HINTS ${PC_BROTLIDEC_LIBDIR} - ${PC_BROTLIDEC_LIBRARY_DIRS}) - -+find_library(BROTLICOMMON_LIBRARIES -+ NAMES brotlicommon-static -+ HINTS ${PC_BROTLIDEC_LIBDIR} -+ ${PC_BROTLIDEC_LIBRARY_DIRS}) -+ -+if(BROTLICOMMON_LIBRARIES) -+ set(BROTLIDEC_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES}) -+endif() - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args( -- brotlidec -+ BrotliDec - REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES - FOUND_VAR BROTLIDEC_FOUND - VERSION_VAR BROTLIDEC_VERSION) +diff --git a/builds/cmake/FindBrotliDec.cmake b/builds/cmake/FindBrotliDec.cmake +index 46356b1fd..ed4cc2409 100644 +--- a/builds/cmake/FindBrotliDec.cmake ++++ b/builds/cmake/FindBrotliDec.cmake +@@ -35,10 +35,18 @@ find_path(BROTLIDEC_INCLUDE_DIRS + PATH_SUFFIXES brotli) + + find_library(BROTLIDEC_LIBRARIES +- NAMES brotlidec ++ NAMES brotlidec brotlidec-static + HINTS ${PC_BROTLIDEC_LIBDIR} + ${PC_BROTLIDEC_LIBRARY_DIRS}) + ++find_library(BROTLICOMMON_LIBRARIES ++ NAMES brotlicommon-static ++ HINTS ${PC_BROTLIDEC_LIBDIR} ++ ${PC_BROTLIDEC_LIBRARY_DIRS}) ++ ++if(BROTLICOMMON_LIBRARIES) ++ set(BROTLIDEC_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES}) ++endif() + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args( diff --git a/ports/freetype/fix-bzip2-pc.patch b/ports/freetype/fix-bzip2-pc.patch new file mode 100644 index 00000000000000..dac43924c07e24 --- /dev/null +++ b/ports/freetype/fix-bzip2-pc.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cb1b9a0f2..53d0bfc68 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -503,7 +503,7 @@ endif () + if (BZIP2_FOUND) + target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES}) + target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS +- list(APPEND PKG_CONFIG_LIBS_PRIVATE "-lbz2") ++ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "bzip2") + endif () + if (PNG_FOUND) + target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES}) diff --git a/ports/freetype/fix-exports.patch b/ports/freetype/fix-exports.patch index 3574588274798f..44dea78010d1f0 100644 --- a/ports/freetype/fix-exports.patch +++ b/ports/freetype/fix-exports.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2314c79..994c602 100644 +index cb1b9a0f2..edca5d579 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -446,7 +446,7 @@ endif () - set(PKG_CONFIG_REQUIRED_PRIVATE "") +@@ -496,7 +496,7 @@ set(PKG_CONFIG_REQUIRED_PRIVATE "") + set(PKG_CONFIG_LIBS_PRIVATE "") if (ZLIB_FOUND) - target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) @@ -11,7 +11,7 @@ index 2314c79..994c602 100644 target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "zlib") endif () -@@ -560,12 +560,26 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) +@@ -596,12 +596,25 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) install( EXPORT freetype-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype @@ -22,7 +22,6 @@ index 2314c79..994c602 100644 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype COMPONENT headers) + -+ + if(ZLIB_FOUND) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake" +[[include(CMakeFindDependencyMacro) diff --git a/ports/freetype/pkgconfig.patch b/ports/freetype/pkgconfig.patch deleted file mode 100644 index cf8da2c3f76d34..00000000000000 --- a/ports/freetype/pkgconfig.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 61b174e..2314c79 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -509,7 +509,6 @@ endif () - - if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - # Generate the pkg-config file -- if (UNIX) - file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN) - - string(REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}") -@@ -543,7 +542,6 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - FILES ${PROJECT_BINARY_DIR}/freetype2.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - COMPONENT pkgconfig) -- endif () - - include(CMakePackageConfigHelpers) - write_basic_package_version_file( diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index 76e5d891ec7a19..bac143343e2c20 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,15 +1,14 @@ -set(FT_VERSION 2.10.4) +set(FT_VERSION 2.11.0) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO freetype/freetype2 REF ${FT_VERSION} FILENAME freetype-${FT_VERSION}.tar.xz - SHA512 827cda734aa6b537a8bcb247549b72bc1e082a5b32ab8d3cccb7cc26d5f6ee087c19ce34544fa388a1eb4ecaf97600dbabc3e10e950f2ba692617fee7081518f + SHA512 bf1991f3c382832586be1d21ae73c20840ee8546807ba60d0eb0215134545656c0c8de488f27357d4a4f6497d7cb540998cda98ec59061a3e640036fb209147d PATCHES - 0001-Fix-install-command.patch 0003-Fix-UWP.patch - pkgconfig.patch + fix-bzip2-pc.patch # we have a bzip2 file that we can use - https://gitlab.freedesktop.org/freetype/freetype/-/commit/b2aeca5fda870751f3c9d645e0dca4c80fa1ae5a brotli-static.patch fix-exports.patch ) @@ -27,17 +26,16 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS brotli CMAKE_DISABLE_FIND_PACKAGE_BrotliDec ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=ON ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/freetype) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/freetype) # Rename for easy usage (VS integration; CMake and autotools will not care) file(RENAME ${CURRENT_PACKAGES_DIR}/include/freetype2/freetype ${CURRENT_PACKAGES_DIR}/include/freetype) @@ -100,4 +98,4 @@ file(COPY ${SOURCE_PATH}/docs/GPLv2.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} ) -file(INSTALL ${SOURCE_PATH}/docs/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/freetype/vcpkg.json b/ports/freetype/vcpkg.json new file mode 100644 index 00000000000000..137163537ab7a6 --- /dev/null +++ b/ports/freetype/vcpkg.json @@ -0,0 +1,48 @@ +{ + "name": "freetype", + "version-semver": "2.11.0", + "description": "A library to render fonts.", + "homepage": "https://www.freetype.org/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "brotli", + "bzip2", + "png", + "zlib" + ], + "features": { + "brotli": { + "description": "Support decompression of WOFF2 streams", + "dependencies": [ + "brotli" + ] + }, + "bzip2": { + "description": "Support bzip2 compressed fonts.", + "dependencies": [ + "bzip2" + ] + }, + "png": { + "description": "Support PNG compressed OpenType embedded bitmaps.", + "dependencies": [ + "libpng" + ] + }, + "zlib": { + "description": "Use zlib instead of internal library for DEFLATE", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 7651a4fcd3359a..6dd9af2166331c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2149,7 +2149,7 @@ "port-version": 1 }, "freetype": { - "baseline": "2.10.4", + "baseline": "2.11.0", "port-version": 0 }, "freetype-gl": { diff --git a/versions/f-/freetype.json b/versions/f-/freetype.json index 4462655c851df0..b3b5e8c7308fb5 100644 --- a/versions/f-/freetype.json +++ b/versions/f-/freetype.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6814e10440bcdc58c4bd29a0373d2f902783ba54", + "version-semver": "2.11.0", + "port-version": 0 + }, { "git-tree": "dabcba1d5153c796480c50c459ef045b5db8d2a4", "version-string": "2.10.4",