aboutsummaryrefslogtreecommitdiff
path: root/ports/harfbuzz
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2021-04-26 19:28:21 +0200
committerGitHub <noreply@github.com>2021-04-26 10:28:21 -0700
commit546813ae7b9e2873dd3d38e78b27ac5582feae10 (patch)
tree6acb3bf022bf9060c70c0665d3586bb33a60f4d9 /ports/harfbuzz
parenta9b27ed5dffbf70b135eddb0c4729f3ca87f106c (diff)
downloadvcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.tar.gz
vcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.zip
[glib up to gtk] update and make it work with meson (#13100)
* update glib to meson * update ci baseline * update glib to 2.66.3 remove cmakelists * fix some minor meson issue but meson is still a mess * add_bin_to_path to vcpkg_install_meson * regen docs * try fixing/touching all glib dependent ports * fix libsigcpp-3 version * fix glibmm * fix gmime * fix libcroco * update libnice * fix atk build * update harfbuzz * fix few builds * update libxmlpp * fix gdk-pixbuf * fix gts * gts add patch * remove old libsigcpp * add missing comma * fix supports logic * fix name mismatch * restore original ci baseline. * fix a lot of small details. increment controls. * fix harfbuzz & glib * bump port version * update port_versions * fix version field * update versions * fix glib in harfbuzz * update port versions * silly uppercase type * update port-versions * fix cairo build * update version * fix atk * update atk port-verisons * fix gts public includes * update versions * fix cairomm * fix pango * fix ignition * update versions. * fix gtk * fix librsvg * update versions * fix atk linux * fix libgpod * update versions * fix lcm * fix librsvg * update pango and pangomm * update pango to meson * more updates * update pixman * fix cairo * fix cairo * some fixes * reorder meson a bit * add none.txt for meson * fix x86_x64 to x86 "cross" builds * add tiff pkgconfig * update gdk-pixbuf * fix tiff and jpeg * add graphene * fix gdk-pixbuf * add sassc * update gtk * fix cairo complete build * add harfbuzz inlcude in pango since meson does not add it into pkgconfig. * fix gtk build. Remaining issue fix install script. * fix gtk build * fix io2d * add supports field * fix cartographer? * fix librsvg build * fix gtk build * fix cartographer * fix sassc on linux * fix tiff and libjpeg pc files * fix pixman x86 * _isnanf is undefined on arm- * merge fix for make on arm64 * fix gdk-pixbuf on arm64-windows * pixman remove test/demos. should fix it on osx. * [vcpkg_install_meson] add bin to path to run code generators * [vcpkg_configure_meson] deactivate native compiler in cross builds make x86 on x86_x64 a native instead of a cross build (as long as we are not building for UWP) * pixman reenable UWP support. * pixman reenable arm support * add pixman:arm-uwp=fail to baseline * update gtkmm * remove double whitespaces * gtk baseline gtk dependency on cairo x11 remove double spaces in flags * fix linux build * native none again * cairo fix cairo-script.pc * comment out patch since the cairo changes should have fixed it. * disable wayland backend in GTK since CI is missing system packages * silly typo in cairo pc file correction install lzo pc on windows * remove double spaces in _FLAGS remove unnecessary comments * actually disabling wayland backend * fix glib codegen issue having the wrong path * try to fix paths in glib codegen * integrate changes form #12860 * add the uwp patch back in * deactivate extra harfbuzz shapers. * vcpkg x-add-version --all --overwrite-version * remove patches in tesseract. * fix version * rerun add-version * add libgpod:x64-linux=fail to baseline due to missing system tools/libraries * change regex to take double - into account. * run x-add-version * run format-manifest * add missing removal of multiple spaces back into the regex * remove ws diff change * fix gtkmm the upstream way * remove ws to reduce diff * make glib build on osx * format manifest * run x-add-version * add pthread dependency * update baseline due to glib compiling on osx now. * add meson as a dep to glib * - add glib host dependencies - switch to manifest of touched ports * switch to manifest. * [libxml2] add gnuinstalldirs * [libxml2] add missing include of GNUInstallDirs * add version info * add include dir to pc files .... * update version * add UWP as crosscompiling target * Apply suggestions from code review * trying to fix cairo pthread detection on osx. * fix libmicrohttpd by adding the required system frameworks on osx * fix poppler by not removing the CXX standard * fix missing coretext header from harfbuzz in pano * fix formating issues * fix librsvg on osx * revert version changes * bump version * version stuff. * fix graphene version stuff * fix version stuff * removing ports from ci baseline to cause me pain * move cairomm:x64-linux=fail to gtkmm:x64-linx=fail remove pangomm:x64-osx=fail * fix typo * revert ws changes to vcpkg_install_meson * update port version after merge * version stuff * fix fluidsynth by adding vcpkg_check_features * move cairo to ci baseline on osx * version stuff * fluidsynth corrections * more version stuff * apply code review changes * clean version stuff. * update version stuff * code review cleanup * version stuff * formating * update version stuff again * remove gdi again * version stuff * version stuff * version baseline * Apply strega-nil suggestions from code review * run x-add-version * reset versions to upstream/master * v8 CONTROL -> json * reset fluidsynth to upstream/master * first batch of version-string -> version conversion * second and last batch of version-string -> version conversions * update version stuff * disable gdi feature in harfbuzz (missing user32 linkage in qt5-base) * version stuff * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * more CR stuff * update versions * back out provision changes so that pr can be merged. Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Diffstat (limited to 'ports/harfbuzz')
-rw-r--r--ports/harfbuzz/portfile.cmake74
-rw-r--r--ports/harfbuzz/vcpkg.json13
2 files changed, 65 insertions, 22 deletions
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 54cc71fba..ad30ce710 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -5,34 +5,59 @@ vcpkg_from_github(
SHA512 d231a788ea4e52231d4c363c1eca76424cb82ed0952b5c24d0b082e88b3dddbda967e7fffe67fffdcb22c7ebfbf0ec923365eb4532be772f2e61fa7d29b51998
HEAD_REF master
PATCHES
- # This patch is a workaround that is needed until the following issues are resolved upstream:
- # - https://github.com/mesonbuild/meson/issues/8375
- # - https://github.com/harfbuzz/harfbuzz/issues/2870
- # Details: https://github.com/microsoft/vcpkg/issues/16262
- 0001-circumvent-samefile-error.patch
+ # This patch is a workaround that is needed until the following issues are resolved upstream:
+ # - https://github.com/mesonbuild/meson/issues/8375
+ # - https://github.com/harfbuzz/harfbuzz/issues/2870
+ # Details: https://github.com/microsoft/vcpkg/issues/16262
+ 0001-circumvent-samefile-error.patch
0002-fix-uwp-build.patch
)
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- icu icu
- graphite2 graphite
- glib glib
-)
+if("icu" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dicu=enabled) # Enable ICU library unicode functions
+else()
+ list(APPEND FEATURE_OPTIONS -Dicu=disabled)
+endif()
+if("graphite2" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dgraphite=enabled) #Enable Graphite2 complementary shaper
+else()
+ list(APPEND FEATURE_OPTIONS -Dgraphite=disabled)
+endif()
+if("coretext" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dcoretext=enabled) # Enable CoreText shaper backend on macOS
+ if(NOT VCPKG_TARGET_IS_OSX)
+ message(FATAL_ERROR "Feature 'coretext' os only available on OSX")
+ endif()
+else()
+ list(APPEND FEATURE_OPTIONS -Dcoretext=disabled)
+endif()
+if("glib" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dglib=enabled) # Enable GLib unicode functions
+ list(APPEND FEATURE_OPTIONS -Dgobject=enabled) #Enable GObject bindings
+else()
+ list(APPEND FEATURE_OPTIONS -Dglib=disabled)
+ list(APPEND FEATURE_OPTIONS -Dgobject=disabled)
+endif()
+list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers
+#if(VCPKG_TARGET_IS_WINDOWS)
+ #link errors in qt5-base. probably requires changes to the pc files generated by meson
+ #list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only)
+#endif()
-string(REPLACE "=ON" "=enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
-string(REPLACE "=OFF" "=disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS ${FEATURE_OPTIONS}
- -Dfreetype=enabled
- -Dgobject=disabled
- -Dcairo=disabled
- -Dfontconfig=disabled
- -Dintrospection=disabled
- -Ddocs=disabled
+ -Dcairo=disabled # Use Cairo graphics library
+ -Dfontconfig=disabled # Use fontconfig
+ -Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files)
+ -Ddocs=disabled # Generate documentation with gtk-doc
-Dtests=disabled
-Dbenchmark=disabled
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
@@ -45,4 +70,15 @@ configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY)
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+
+if("glib" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure)
+endif()
+if(TOOL_NAMES)
+ vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
diff --git a/ports/harfbuzz/vcpkg.json b/ports/harfbuzz/vcpkg.json
index c2e9ab742..1fc28ff5a 100644
--- a/ports/harfbuzz/vcpkg.json
+++ b/ports/harfbuzz/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "harfbuzz",
- "version-string": "2.7.4",
- "port-version": 1,
+ "version": "2.7.4",
+ "port-version": 2,
"description": "HarfBuzz OpenType text shaping engine",
"homepage": "https://github.com/harfbuzz/harfbuzz",
"dependencies": [
@@ -15,10 +15,17 @@
}
],
"features": {
+ "coretext": {
+ "description": "Enable CoreText shaper backend on macOS"
+ },
"glib": {
"description": "Glib Unicode callbacks support",
"dependencies": [
- "glib"
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ }
]
},
"graphite2": {