Skip to content

Commit d83bf17

Browse files
committed
integrate changes form #12860
1 parent 8cabf78 commit d83bf17

7 files changed

Lines changed: 98 additions & 173 deletions

File tree

ports/harfbuzz/0002-fix-uwp-build.patch

Lines changed: 0 additions & 15 deletions
This file was deleted.

ports/harfbuzz/0003-remove-broken-test.patch

Lines changed: 0 additions & 26 deletions
This file was deleted.

ports/harfbuzz/CMakeLists.patch

Lines changed: 0 additions & 74 deletions
This file was deleted.

ports/harfbuzz/CONTROL

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ Source: harfbuzz
22
Version: 2.7.4
33
Port-Version: 1
44
Description: HarfBuzz OpenType text shaping engine
5-
Homepage: https://github.com/behdad/harfbuzz
6-
Build-Depends: freetype[core], ragel, gettext (osx)
5+
Homepage: https://github.com/harfbuzz/harfbuzz
6+
Build-Depends: freetype[core], gettext (osx)
77

88
Feature: graphite2
99
Build-Depends: graphite2
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
if(TARGET harfbuzz OR TARGET harfbuzz::harfbuzz)
2+
return()
3+
endif()
4+
5+
add_library(harfbuzz INTERFACE IMPORTED GLOBAL)
6+
add_library(harfbuzz::harfbuzz ALIAS harfbuzz)
7+
8+
find_library(HARFBUZZ_LIBRARY_DEBUG NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH)
9+
if(HARFBUZZ_LIBRARY_DEBUG)
10+
target_link_libraries(harfbuzz INTERFACE $<$<CONFIG:DEBUG>:${HARFBUZZ_LIBRARY_DEBUG}>)
11+
endif()
12+
13+
find_library(HARFBUZZ_LIBRARY_RELEASE NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH)
14+
if(HARFBUZZ_LIBRARY_RELEASE)
15+
target_link_libraries(harfbuzz INTERFACE $<$<NOT:$<CONFIG:DEBUG>>:${HARFBUZZ_LIBRARY_RELEASE}>)
16+
endif()
17+
18+
set(HARFBUZZ_FEATURES @FEATURES@)
19+
20+
if(APPLE)
21+
find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
22+
target_link_libraries(harfbuzz INTERFACE ${APPLICATIONSERVICES_LIBRARY})
23+
endif()
24+
25+
find_package(freetype CONFIG REQUIRED)
26+
target_link_libraries(harfbuzz INTERFACE freetype)
27+
28+
if ("graphite2" IN_LIST HARFBUZZ_FEATURES)
29+
find_library(GRAPHITE2_LIBRARY_DEBUG NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH)
30+
if(GRAPHITE2_LIBRARY_DEBUG)
31+
target_link_libraries(harfbuzz INTERFACE $<$<CONFIG:DEBUG>:${GRAPHITE2_LIBRARY_DEBUG}>)
32+
endif()
33+
34+
find_library(GRAPHITE2_LIBRARY_RELEASE NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH)
35+
if(GRAPHITE2_LIBRARY_RELEASE)
36+
target_link_libraries(harfbuzz INTERFACE $<$<NOT:$<CONFIG:DEBUG>>:${GRAPHITE2_LIBRARY_RELEASE}>)
37+
endif()
38+
endif()
39+
40+
if ("icu" IN_LIST HARFBUZZ_FEATURES)
41+
find_package(ICU 61 COMPONENTS uc REQUIRED)
42+
target_link_libraries(harfbuzz INTERFACE ICU::uc)
43+
endif()
44+
45+
get_filename_component(_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
46+
target_include_directories(harfbuzz INTERFACE ${_INSTALL_DIR}/include/harfbuzz)

ports/harfbuzz/portfile.cmake

Lines changed: 49 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,75 +4,69 @@ vcpkg_from_github(
44
REF 7236c7e29cef1c2d76c7a284c5081ff4d3aa1127 # 2.7.4
55
SHA512 d231a788ea4e52231d4c363c1eca76424cb82ed0952b5c24d0b082e88b3dddbda967e7fffe67fffdcb22c7ebfbf0ec923365eb4532be772f2e61fa7d29b51998
66
HEAD_REF master
7-
PATCHES
8-
0002-fix-uwp-build.patch
9-
0003-remove-broken-test.patch
10-
CMakeLists.patch
117
)
128

13-
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
14-
icu HB_HAVE_ICU
15-
graphite2 HB_HAVE_GRAPHITE2
16-
glib HB_HAVE_GLIB
17-
)
9+
if("icu" IN_LIST FEATURES)
10+
list(APPEND FEATURE_OPTIONS -Dicu=enabled)
11+
else()
12+
list(APPEND FEATURE_OPTIONS -Dicu=disabled)
13+
endif()
14+
if("graphite2" IN_LIST FEATURES)
15+
list(APPEND FEATURE_OPTIONS -Dgraphite=enabled)
16+
else()
17+
list(APPEND FEATURE_OPTIONS -Dgraphite=disabled)
18+
endif()
19+
if("glib" IN_LIST FEATURES)
20+
list(APPEND FEATURE_OPTIONS -Dglib=enabled)
21+
list(APPEND FEATURE_OPTIONS -Dgobject=enabled)
22+
else()
23+
list(APPEND FEATURE_OPTIONS -Dglib=disabled)
24+
list(APPEND FEATURE_OPTIONS -Dgobject=disabled)
25+
endif()
26+
list(APPEND FEATURE_OPTIONS -Dfreetype=enabled)
1827
if(VCPKG_TARGET_IS_WINDOWS)
19-
list(APPEND FEATURE_OPTIONS -DHP_HAVE_GDI=ON)
28+
list(APPEND FEATURE_OPTIONS -Dgdi=enabled)
29+
elseif(VCPKG_TARGET_IS_OSX)
30+
list(APPEND FEATURE_OPTIONS -Dcoretext=enabled)
2031
endif()
21-
vcpkg_find_acquire_program(PKGCONFIG)
22-
vcpkg_configure_cmake(
32+
33+
vcpkg_configure_meson(
2334
SOURCE_PATH ${SOURCE_PATH}
24-
PREFER_NINJA
2535
OPTIONS ${FEATURE_OPTIONS}
26-
-DHB_HAVE_FREETYPE=ON
27-
-DHB_BUILD_TESTS=OFF
28-
-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
29-
OPTIONS_DEBUG
30-
-DSKIP_INSTALL_HEADERS=ON
36+
-Dcairo=disabled
37+
-Dfontconfig=disabled
38+
-Dintrospection=disabled
39+
-Ddocs=disabled
40+
-Dtests=disabled
41+
-Dbenchmark=disabled
42+
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
43+
glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
44+
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
45+
glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
3146
)
32-
vcpkg_install_cmake()
33-
34-
# if("icu" IN_LIST FEATURES)
35-
# list(APPEND FEATURE_OPTIONS -Dicu=enabled)
36-
# else()
37-
# list(APPEND FEATURE_OPTIONS -Dicu=disabled)
38-
# endif()
39-
# if("graphite2" IN_LIST FEATURES)
40-
# list(APPEND FEATURE_OPTIONS -Dgraphite=enabled)
41-
# else()
42-
# list(APPEND FEATURE_OPTIONS -Dgraphite=disabled)
43-
# endif()
44-
# if("glib" IN_LIST FEATURES)
45-
# list(APPEND FEATURE_OPTIONS -Dglib=enabled)
46-
# list(APPEND FEATURE_OPTIONS -Dgobject=enabled)
47-
# else()
48-
# list(APPEND FEATURE_OPTIONS -Dglib=disabled)
49-
# list(APPEND FEATURE_OPTIONS -Dgobject=disabled)
50-
# endif()
51-
# list(APPEND FEATURE_OPTIONS -Dfreetype=enabled)
52-
# if(VCPKG_TARGET_IS_WINDOWS)
53-
# list(APPEND FEATURE_OPTIONS -Dgdi=enabled)
54-
# endif()
55-
# vcpkg_configure_meson(
56-
# SOURCE_PATH ${SOURCE_PATH}
57-
# PREFER_NINJA
58-
# OPTIONS ${FEATURE_OPTIONS}
59-
# -Dtests=disabled
60-
# -Dintrospection=disabled
61-
# -Ddocs=disabled
62-
# -Dbenchmark=disabled
63-
# -Dfontconfig=disabled
64-
# )
65-
# vcpkg_install_meson()
6647

67-
vcpkg_fixup_pkgconfig()
68-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
48+
vcpkg_install_meson()
6949
vcpkg_copy_pdbs()
50+
vcpkg_fixup_pkgconfig()
7051

52+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake")
53+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake")
54+
configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in"
55+
"${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY)
7156

7257
# Handle copyright
73-
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
58+
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
7459

60+
if("glib" IN_LIST FEATURES)
61+
list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure)
62+
endif()
63+
if(TOOL_NAMES)
64+
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
65+
endif()
7566

67+
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
68+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
69+
endif()
7670
# # HarfBuzz feature options
7771
# option('glib', type: 'feature', value: 'auto',
7872
# description: 'Enable GLib unicode functions')

ports/pango/CONTROL

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ Version: 1.48.0
33
Port-Version: 0
44
Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/
55
Description: Text and font handling library.
6-
Build-Depends: glib, gettext, cairo[gobject], fontconfig, freetype, harfbuzz[glib] (!(windows&static)&!osx), fribidi
6+
Build-Depends: glib, gettext, cairo[gobject], fontconfig, freetype, harfbuzz, fribidi

0 commit comments

Comments
 (0)