aboutsummaryrefslogtreecommitdiff
path: root/ports/harfbuzz
diff options
context:
space:
mode:
Diffstat (limited to 'ports/harfbuzz')
-rw-r--r--ports/harfbuzz/0001-Add-an-extra-path-input-for-Freetype.patch40
-rw-r--r--ports/harfbuzz/0001-Set-d-suffix-for-debug-freetype-lib.patch28
-rw-r--r--ports/harfbuzz/CONTROL4
-rw-r--r--ports/harfbuzz/portfile.cmake55
4 files changed, 38 insertions, 89 deletions
diff --git a/ports/harfbuzz/0001-Add-an-extra-path-input-for-Freetype.patch b/ports/harfbuzz/0001-Add-an-extra-path-input-for-Freetype.patch
deleted file mode 100644
index 75b81c28f..000000000
--- a/ports/harfbuzz/0001-Add-an-extra-path-input-for-Freetype.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From be3c446b1dd798b835052188813ee4e7cf135a81 Mon Sep 17 00:00:00 2001
-From: Vincent Lejeune <vljn.ovi@gmail.com>
-Date: Wed, 12 Oct 2016 00:27:35 +0200
-Subject: [PATCH] Add an extra path input for Freetype.
-
----
- win32/config-msvc.mak | 3 +++
- win32/detectenv-msvc.mak | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
-index e0c6468..1ad0913 100644
---- a/win32/config-msvc.mak
-+++ b/win32/config-msvc.mak
-@@ -124,6 +124,9 @@ HB_DEFINES = $(HB_DEFINES) /DHAVE_CAIRO=1
-
- # Enable freetype if desired
- !if "$(FREETYPE)" == "1"
-+HB_CFLAGS = \
-+ $(HB_CFLAGS) \
-+ /I$(FREETYPE_DIR)
- HB_DEFINES = $(HB_DEFINES) /DHAVE_FREETYPE=1
- HB_SOURCES = $(HB_SOURCES) $(HB_FT_sources)
- HB_HEADERS = $(HB_HEADERS) $(HB_FT_headers)
-diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
-index 83d8786..ad67493 100644
---- a/win32/detectenv-msvc.mak
-+++ b/win32/detectenv-msvc.mak
-@@ -129,7 +129,7 @@ LDFLAGS_ARCH = /machine:x86
- !if "$(VALID_CFGSET)" == "TRUE"
- CFLAGS = $(CFLAGS_ADD) /W3 /Zi /I.. /I..\src /I. /I$(PREFIX)\include
-
--LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(PREFIX)\lib /DEBUG
-+LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(PREFIX)\lib /libpath:$(VCPKG_LIB_DIR) /DEBUG
-
- !if "$(CFG)" == "debug"
- LDFLAGS = $(LDFLAGS_BASE)
---
-2.10.0.windows.1
-
diff --git a/ports/harfbuzz/0001-Set-d-suffix-for-debug-freetype-lib.patch b/ports/harfbuzz/0001-Set-d-suffix-for-debug-freetype-lib.patch
deleted file mode 100644
index fce3ba562..000000000
--- a/ports/harfbuzz/0001-Set-d-suffix-for-debug-freetype-lib.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2be3a687a3079c3988d718293e4ee5d8fc9797b7 Mon Sep 17 00:00:00 2001
-From: vlj <vljn.ovi@gmail.com>
-Date: Sat, 8 Oct 2016 21:14:57 +0200
-Subject: [PATCH] Set d suffix for debug freetype lib.
-
----
- win32/config-msvc.mak | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
-index 9cc6608..236aef7 100644
---- a/win32/config-msvc.mak
-+++ b/win32/config-msvc.mak
-@@ -12,7 +12,11 @@ HB_GLIB_LIBS = glib-2.0.lib
- HB_GOBJECT_DEP_LIBS = gobject-2.0.lib $(HB_GLIB_LIBS)
-
- # Freetype is needed for building FreeType support and hb-view
-+!if "$(CFG)" == "debug"
-+FREETYPE_LIB = freetyped.lib
-+!else
- FREETYPE_LIB = freetype.lib
-+!endif
-
- # Cairo is needed for building hb-view
- CAIRO_LIB = cairo.lib
---
-2.10.0.windows.1
-
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index dd5207077..6a54dc583 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.3.2
+Version: 1.3.4-2
Description: HarfBuzz OpenType text shaping engine
-Build-Depends: freetype
+Build-Depends: freetype, glib
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 6a46dda10..ac3252455 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -6,36 +6,48 @@
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#
-include(${CMAKE_TRIPLET_FILE})
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Warning: Static building not supported yet. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.3.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/harfbuzz-1.3.4)
find_program(NMAKE nmake)
vcpkg_download_distfile(ARCHIVE
- URLS "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.3.2.tar.bz2"
- FILENAME "harfbuzz-1.3.2.tar.bz2"
- SHA512 19f846ee75d8a2d94da2a2b489fa8e54a5120599f998e451187f6695aa3931b28c491bbc0837892eaaebbd1da3441effe01f5f2470454f83cfa6a7c510ebcb32
+ URLS "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.3.4.tar.bz2"
+ FILENAME "harfbuzz-1.3.4.tar.bz2"
+ SHA512 72027ce64d735f1f7ecabcc78ba426d6155cebd564439feb77cefdfc28b00bfd9f6314e6735addaa90cee1d98cf6d2c0b61f77b446ba34e11f7eb7cdfdcd386a
)
-vcpkg_extract_source_archive(${ARCHIVE})
+# Harfbuzz only supports in-source builds, so to make sure we get a clean build, we need to re-extract every time
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
+vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Add-an-extra-path-input-for-Freetype.patch"
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Set-d-suffix-for-debug-freetype-lib.patch"
-)
+file(WRITE ${SOURCE_PATH}/win32/msvc_recommended_pragmas.h "/* I'm expected to exist */")
+
+# for GObject support, harfbuzz expects glib-mkenums tool (perl script) to be availible in $(PREFIX)/bin
+file(COPY ${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums DESTINATION ${SOURCE_PATH}/bin)
+vcpkg_find_acquire_program(PERL)
+
+file(TO_NATIVE_PATH "${PERL}" PERL_INTERPRETER)
+file(TO_NATIVE_PATH "${SOURCE_PATH}" MKENUMS_TOOL_DIR)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include" FREETYPE_INCLUDE_DIR)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib" FREETYPE_LIB_DIR_DBG)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib" FREETYPE_LIB_DIR_REL)
+file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include" INCLUDE_DIR)
+file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib" LIB_DIR_DBG)
+file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib" LIB_DIR_REL)
+
+set(DEPENDENCIES FREETYPE=1 GLIB=1 GOBJECT=1)
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=debug FREETYPE=1 FREETYPE_DIR=${FREETYPE_INCLUDE_DIR} VCPKG_LIB_DIR=${FREETYPE_LIB_DIR_DBG}
+ COMMAND ${NMAKE} -f Makefile.vc CFG=debug ${DEPENDENCIES} FREETYPE_DIR=${INCLUDE_DIR} ADDITIONAL_LIB_DIR=${LIB_DIR_DBG}
+ PREFIX=${MKENUMS_TOOL_DIR} PERL=${PERL_INTERPRETER}
WORKING_DIRECTORY ${SOURCE_PATH}/win32/
LOGNAME nmake-build-${TARGET_TRIPLET}-debug
)
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=release FREETYPE=1 FREETYPE_DIR=${FREETYPE_INCLUDE_DIR} VCPKG_LIB_DIR=${FREETYPE_LIB_DIR_REL}
+ COMMAND ${NMAKE} -f Makefile.vc CFG=release ${DEPENDENCIES} FREETYPE_DIR=${INCLUDE_DIR} ADDITIONAL_LIB_DIR=${LIB_DIR_REL}
+ PREFIX=${MKENUMS_TOOL_DIR} PERL=${PERL_INTERPRETER}
WORKING_DIRECTORY ${SOURCE_PATH}/win32/
LOGNAME nmake-build-${TARGET_TRIPLET}-release
)
@@ -43,7 +55,7 @@ vcpkg_execute_required_process(
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" NATIVE_PACKAGES_DIR_DBG)
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=debug FREETYPE=1 PREFIX=${NATIVE_PACKAGES_DIR_DBG} install
+ COMMAND ${NMAKE} -f Makefile.vc CFG=debug ${DEPENDENCIES} PREFIX=${NATIVE_PACKAGES_DIR_DBG} install
WORKING_DIRECTORY ${SOURCE_PATH}/win32/
LOGNAME nmake-install-${TARGET_TRIPLET}-debug
)
@@ -52,11 +64,16 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR_REL)
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=release FREETYPE=1 PREFIX=${NATIVE_PACKAGES_DIR_REL} install
+ COMMAND ${NMAKE} -f Makefile.vc CFG=release ${DEPENDENCIES} PREFIX=${NATIVE_PACKAGES_DIR_REL} install
WORKING_DIRECTORY ${SOURCE_PATH}/win32/
LOGNAME nmake-install-${TARGET_TRIPLET}-release
)
+file(GLOB EXECUTABLES
+ ${CURRENT_PACKAGES_DIR}/bin/*.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+file(REMOVE ${EXECUTABLES})
+
# Handle copyright
-file(COPY ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.3.2/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz)
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/harfbuzz/COPYING ${CURRENT_PACKAGES_DIR}/share/harfbuzz/copyright)