mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-23 02:57:09 +01:00
fix build for harfbuzz on macOS (#4776)
* fix library exports for iconv on macOS, add Threads dependency for cairo, add the iconv, intl and Threads dependencies to harfbuzz * updated portfile from harfbuzz fix * fix indenting and order * fix portfile * [gettext] Add unofficial-gettext targets * [gettext] Fixup for Linux
This commit is contained in:
parent
0b79c4bb74
commit
1eceb88c71
@ -167,6 +167,9 @@ find_package(Freetype REQUIRED)
|
|||||||
find_package(unofficial-glib CONFIG REQUIRED)
|
find_package(unofficial-glib CONFIG REQUIRED)
|
||||||
find_package(unofficial-fontconfig CONFIG REQUIRED)
|
find_package(unofficial-fontconfig CONFIG REQUIRED)
|
||||||
find_package(unofficial-pixman CONFIG REQUIRED)
|
find_package(unofficial-pixman CONFIG REQUIRED)
|
||||||
|
if(APPLE)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Cairo needs to be told which features of FreeType are availible
|
# Cairo needs to be told which features of FreeType are availible
|
||||||
add_definitions(
|
add_definitions(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Source: cairo
|
Source: cairo
|
||||||
Version: 1.15.8-4
|
Version: 1.15.8-5
|
||||||
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
|
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
|
||||||
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
|
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
|
||||||
|
@ -116,8 +116,22 @@ if(NOT WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS libintl
|
install(TARGETS libintl
|
||||||
|
EXPORT unofficial-gettext-targets
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
LIBRARY DESTINATION bin
|
LIBRARY DESTINATION bin
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION lib
|
||||||
)
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
EXPORT unofficial-gettext-targets
|
||||||
|
FILE unofficial-gettext-targets.cmake
|
||||||
|
NAMESPACE unofficial::gettext::
|
||||||
|
DESTINATION share/unofficial-gettext
|
||||||
|
)
|
||||||
|
|
||||||
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-gettext-config.cmake" "
|
||||||
|
include(CMakeFindDependencyMacro)
|
||||||
|
find_dependency(unofficial-iconv)
|
||||||
|
find_dependency(Threads)
|
||||||
|
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-targets.cmake)
|
||||||
|
")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Source: gettext
|
Source: gettext
|
||||||
Version: 0.19-5
|
Version: 0.19-7
|
||||||
Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages
|
Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl.
|
||||||
Build-Depends: libiconv
|
Build-Depends: libiconv
|
||||||
|
@ -1,18 +1,28 @@
|
|||||||
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||||
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext)
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#Based on https://github.com/winlibs/gettext
|
#Based on https://github.com/winlibs/gettext
|
||||||
|
|
||||||
include(vcpkg_common_functions)
|
include(vcpkg_common_functions)
|
||||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gettext-0.19)
|
|
||||||
|
set(GETTEXT_VERSION 0.19)
|
||||||
|
|
||||||
vcpkg_download_distfile(ARCHIVE
|
vcpkg_download_distfile(ARCHIVE
|
||||||
URLS "https://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gettext/gettext-0.19.tar.gz"
|
URLS "https://ftp.gnu.org/pub/gnu/gettext/gettext-${GETTEXT_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gettext/gettext-${GETTEXT_VERSION}.tar.gz"
|
||||||
FILENAME "gettext-0.19.tar.gz"
|
FILENAME "gettext-${GETTEXT_VERSION}.tar.gz"
|
||||||
SHA512 a5db035c582ff49d45ee6eab9466b2bef918e413a882019c204a9d8903cb3770ddfecd32c971ea7c7b037c7b69476cf7c56dcabc8b498b94ab99f132516c9922
|
SHA512 a5db035c582ff49d45ee6eab9466b2bef918e413a882019c204a9d8903cb3770ddfecd32c971ea7c7b037c7b69476cf7c56dcabc8b498b94ab99f132516c9922
|
||||||
)
|
)
|
||||||
vcpkg_extract_source_archive(${ARCHIVE})
|
vcpkg_extract_source_archive_ex(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
ARCHIVE ${ARCHIVE}
|
||||||
|
REF ${GETTEXT_VERSION}
|
||||||
|
PATCHES
|
||||||
|
0001-Fix-macro-definitions.patch
|
||||||
|
0002-Fix-uwp-build.patch
|
||||||
|
)
|
||||||
|
|
||||||
file(COPY
|
file(COPY
|
||||||
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
|
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
|
||||||
@ -24,12 +34,6 @@ file(REMOVE ${SOURCE_PATH}/gettext-runtime/intl/libgnuintl.h ${SOURCE_PATH}/gett
|
|||||||
|
|
||||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/libgnuintl.win32.h DESTINATION ${SOURCE_PATH}/gettext-runtime/intl)
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/libgnuintl.win32.h DESTINATION ${SOURCE_PATH}/gettext-runtime/intl)
|
||||||
|
|
||||||
vcpkg_apply_patches(
|
|
||||||
SOURCE_PATH ${SOURCE_PATH}
|
|
||||||
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Fix-macro-definitions.patch"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/0002-Fix-uwp-build.patch"
|
|
||||||
)
|
|
||||||
|
|
||||||
vcpkg_configure_cmake(
|
vcpkg_configure_cmake(
|
||||||
SOURCE_PATH ${SOURCE_PATH}/gettext-runtime
|
SOURCE_PATH ${SOURCE_PATH}/gettext-runtime
|
||||||
PREFER_NINJA
|
PREFER_NINJA
|
||||||
@ -38,6 +42,8 @@ vcpkg_configure_cmake(
|
|||||||
|
|
||||||
vcpkg_install_cmake()
|
vcpkg_install_cmake()
|
||||||
|
|
||||||
|
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-gettext TARGET_PATH share/unofficial-gettext)
|
||||||
|
|
||||||
# Handle copyright
|
# Handle copyright
|
||||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gettext)
|
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gettext)
|
||||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gettext/COPYING ${CURRENT_PACKAGES_DIR}/share/gettext/copyright)
|
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gettext/COPYING ${CURRENT_PACKAGES_DIR}/share/gettext/copyright)
|
||||||
|
1
ports/gettext/unofficial-gettext-config.cmake
Normal file
1
ports/gettext/unofficial-gettext-config.cmake
Normal file
@ -0,0 +1 @@
|
|||||||
|
add_library(unofficial::gettext::libintl INTERFACE IMPORTED)
|
21
ports/harfbuzz/0002-fix-macos-build.patch
Normal file
21
ports/harfbuzz/0002-fix-macos-build.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 5c613e0..32d3a29 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-cmake_minimum_required(VERSION 2.8.0)
|
||||||
|
+cmake_minimum_required(VERSION 3.5.0)
|
||||||
|
project(harfbuzz)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
@@ -316,6 +316,10 @@ if (HB_HAVE_GLIB)
|
||||||
|
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
find_package(unofficial-iconv REQUIRED)
|
||||||
|
+ if(APPLE)
|
||||||
|
+ find_package(unofficial-gettext CONFIG REQUIRED)
|
||||||
|
+ list(APPEND THIRD_PARTY_LIBS unofficial::gettext::libintl)
|
||||||
|
+ endif()
|
||||||
|
find_package(unofficial-glib CONFIG REQUIRED)
|
||||||
|
|
||||||
|
list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc)
|
@ -1,7 +1,7 @@
|
|||||||
Source: harfbuzz
|
Source: harfbuzz
|
||||||
Version: 1.8.4-3
|
Version: 1.8.4-4
|
||||||
Description: HarfBuzz OpenType text shaping engine
|
Description: HarfBuzz OpenType text shaping engine
|
||||||
Build-Depends: freetype, ragel
|
Build-Depends: freetype, ragel, gettext (osx)
|
||||||
Default-Features: ucdn
|
Default-Features: ucdn
|
||||||
|
|
||||||
Feature: graphite2
|
Feature: graphite2
|
||||||
|
@ -11,6 +11,7 @@ vcpkg_from_github(
|
|||||||
find-package-freetype-2.patch
|
find-package-freetype-2.patch
|
||||||
glib-cmake.patch
|
glib-cmake.patch
|
||||||
0001-fix-cmake-export.patch
|
0001-fix-cmake-export.patch
|
||||||
|
0002-fix-macos-build.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(HB_HAVE_ICU "OFF")
|
SET(HB_HAVE_ICU "OFF")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user