[vlc-commits] Contribs: update harfbuzz to 2.6.4
Jean-Baptiste Kempf
git at videolan.org
Sun Mar 29 19:10:57 CEST 2020
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Sun Mar 29 16:30:51 2020 +0200| [d2a01fe376d438eeb42795ecb2cfcd13458f1572] | committer: Jean-Baptiste Kempf
Contribs: update harfbuzz to 2.6.4
This is an update of 30 releases...
It might break some setups, hopefully not.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d2a01fe376d438eeb42795ecb2cfcd13458f1572
---
contrib/src/harfbuzz/SHA512SUMS | 2 +-
contrib/src/harfbuzz/harfbuzz-aarch64.patch | 14 ++---
contrib/src/harfbuzz/harfbuzz-clang.patch | 17 -----
.../harfbuzz/harfbuzz-create-pkgconfig-file.patch | 73 +++++++++-------------
.../harfbuzz/harfbuzz-fix-coretext-detection.patch | 40 ++----------
.../harfbuzz/harfbuzz-fix-freetype-detect.patch | 21 +++----
contrib/src/harfbuzz/harfbuzz-no-tests.patch | 18 ------
contrib/src/harfbuzz/rules.mak | 21 ++++---
8 files changed, 65 insertions(+), 141 deletions(-)
diff --git a/contrib/src/harfbuzz/SHA512SUMS b/contrib/src/harfbuzz/SHA512SUMS
index 162222ee3e..5458bef1a2 100644
--- a/contrib/src/harfbuzz/SHA512SUMS
+++ b/contrib/src/harfbuzz/SHA512SUMS
@@ -1 +1 @@
-259656574b1ec2916ada951b759a591f45c11c5c639fa29831e06320312bf951f4f5ef6306f9ffc373abf0d40dbf944db918d4c54aca3bd7eab2c3a886db7a68 harfbuzz-1.7.6.tar.bz2
+d8664bb64fda11ff7646693070637e3827f8b3d1de50e11ecf108ce4d19c878b26b2ba4cff278da6e6cc0cb431e1630d9eaa7c32a9bebb9655a7aa8dabf7114f harfbuzz-2.6.4.tar.xz
diff --git a/contrib/src/harfbuzz/harfbuzz-aarch64.patch b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
index bcd9dc1093..21825299af 100644
--- a/contrib/src/harfbuzz/harfbuzz-aarch64.patch
+++ b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
@@ -1,6 +1,6 @@
---- harfbuzz-1.0.6/src/hb-atomic-private.hh.orig 2015-09-29 15:48:46.947083938 +0200
-+++ harfbuzz-1.0.6/src/hb-atomic-private.hh 2015-10-26 00:06:08.564306388 +0100
-@@ -73,10 +73,8 @@
+--- harfbuzz-2.0.0/src/hb-atomic.hh.orig 2018-10-01 19:49:23.000000000 +0200
++++ harfbuzz-2.0.0/src/hb-atomic.hh 2020-03-29 16:44:27.520441550 +0200
+@@ -163,10 +163,8 @@
#elif !defined(HB_NO_MT) && defined(__APPLE__)
#include <libkern/OSAtomic.h>
@@ -11,15 +11,15 @@
-#include <Availability.h>
#endif
+ #define _hb_memory_barrier() OSMemoryBarrier ()
+@@ -174,7 +172,11 @@
+ #define hb_atomic_int_impl_add(AI, V) (OSAtomicAdd32Barrier ((V), (AI)) - (V))
-@@ -86,7 +84,11 @@
-
- #define hb_atomic_ptr_impl_get(P) (OSMemoryBarrier (), (void *) *(P))
#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
+#if __aarch64__
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
+#else
- #define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
+ #define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((O), (N), (P))
+#endif
#else
#if __ppc64__ || __x86_64__ || __aarch64__
diff --git a/contrib/src/harfbuzz/harfbuzz-clang.patch b/contrib/src/harfbuzz/harfbuzz-clang.patch
deleted file mode 100644
index c84cc89275..0000000000
--- a/contrib/src/harfbuzz/harfbuzz-clang.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- harfbuzz-1.0.6/configure.ac.orig 2015-10-26 00:06:30.060254321 +0100
-+++ harfbuzz-1.0.6/configure.ac 2015-10-26 00:07:17.364140612 +0100
-@@ -93,14 +93,6 @@
- ;;
- esac
-
-- case "$host" in
-- arm-*-*)
-- if test "x$ac_cv_alignof_struct_char__" != x1; then
-- # Request byte alignment
-- CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8"
-- fi
-- ;;
-- esac
- fi
-
- AM_CONDITIONAL(HAVE_GCC, test "x$GCC" = "xyes")
diff --git a/contrib/src/harfbuzz/harfbuzz-create-pkgconfig-file.patch b/contrib/src/harfbuzz/harfbuzz-create-pkgconfig-file.patch
index 52aff8ddff..a93334d656 100644
--- a/contrib/src/harfbuzz/harfbuzz-create-pkgconfig-file.patch
+++ b/contrib/src/harfbuzz/harfbuzz-create-pkgconfig-file.patch
@@ -1,28 +1,28 @@
---- harfbuzz/CMakeLists.txt.old 2018-05-27 12:03:25.000000000 +0200
-+++ harfbuzz/CMakeLists.txt 2018-05-27 12:02:45.000000000 +0200
-@@ -385,18 +385,21 @@ if (APPLE AND HB_HAVE_CORETEXT)
- find_library(CORETEXT_FRAMEWORK CoreText)
- if (CORETEXT_FRAMEWORK)
- list(APPEND THIRD_PARTY_LIBS ${CORETEXT_FRAMEWORK})
-+ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreText")
- endif (CORETEXT_FRAMEWORK)
- mark_as_advanced(CORETEXT_FRAMEWORK)
-
- find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
- if (COREFOUNDATION_FRAMEWORK)
- list(APPEND THIRD_PARTY_LIBS ${COREFOUNDATION_FRAMEWORK})
-+ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreFoundation")
- endif (COREFOUNDATION_FRAMEWORK)
- mark_as_advanced(COREFOUNDATION_FRAMEWORK)
-
- find_library(COREGRAPHICS_FRAMEWORK CoreGraphics)
- if (COREGRAPHICS_FRAMEWORK)
- list(APPEND THIRD_PARTY_LIBS ${COREGRAPHICS_FRAMEWORK})
-+ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreGraphics")
- endif (COREGRAPHICS_FRAMEWORK)
- mark_as_advanced(COREGRAPHICS_FRAMEWORK)
- endif ()
-@@ -561,6 +564,18 @@ endif ()
+--- harfbuzz-2.0.0/CMakeLists.txt.orig 2020-03-29 16:57:36.480432086 +0200
++++ harfbuzz-2.0.0/CMakeLists.txt 2020-03-29 16:59:29.568430730 +0200
+@@ -396,18 +396,21 @@
+ find_library(COREFOUNDATION CoreFoundation)
+ if (COREFOUNDATION)
+ list(APPEND THIRD_PARTY_LIBS ${COREFOUNDATION})
++ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreText")
+ endif ()
+ mark_as_advanced(COREFOUNDATION)
+
+ find_library(CORETEXT CoreText)
+ if (CORETEXT)
+ list(APPEND THIRD_PARTY_LIBS ${CORETEXT})
++ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreFoundation")
+ endif ()
+ mark_as_advanced(CORETEXT)
+
+ find_library(COREGRAPHICS CoreGraphics)
+ if (COREGRAPHICS)
+ list(APPEND THIRD_PARTY_LIBS ${COREGRAPHICS})
++ set(FRAMEWORK_FLAGS "${FRAMEWORK_FLAGS} -framework CoreGraphics")
+ endif ()
+ mark_as_advanced(COREGRAPHICS)
+ else ()
+@@ -579,6 +582,18 @@
add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers})
target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS})
@@ -34,25 +34,10 @@
+endforeach()
+
+set(PRIVATE_LIBS "${PRIVATE_LIBS} ${FRAMEWORK_FLAGS}")
-+configure_file("harfbuzz-cmake.pc.in" "harfbuzz.pc" @ONLY)
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/harfbuzz.pc"
++configure_file("src/harfbuzz.pc.in" "src/harfbuzz.pc" @ONLY)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/src/harfbuzz.pc"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+
## Define harfbuzz-subset library
- add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers})
- add_dependencies(harfbuzz-subset harfbuzz)
---- /dev/null 2018-05-27 12:22:37.000000000 +0200
-+++ harfbuzz/harfbuzz-cmake.pc.in 2018-05-27 12:24:00.000000000 +0200
-@@ -0,0 +1,12 @@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${prefix}/lib
-+includedir=${prefix}/include
-+
-+Name: harfbuzz
-+Description: HarfBuzz text shaping library
-+Version: @HB_VERSION@
-+
-+Libs: -L${libdir} -lharfbuzz -lm @PRIVATE_LIBS@
-+Requires.private:
-+Cflags: -I${includedir}/harfbuzz
+ if (NOT HB_DISABLE_SUBSET)
+ add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers})
diff --git a/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
index 977600c5ed..ee7337a5cb 100644
--- a/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
+++ b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
@@ -1,11 +1,9 @@
-diff -ru harfbuzz/CMakeLists.txt harfbuzz/CMakeLists.txt
---- harfbuzz/CMakeLists.txt 2018-05-26 17:51:35.000000000 +0200
-+++ harfbuzz/CMakeLists.txt 2018-05-26 17:47:57.000000000 +0200
-@@ -364,16 +364,41 @@
- if (APPLE AND HB_HAVE_CORETEXT)
+--- harfbuzz-2.6.0/CMakeLists.txt.orig 2020-03-29 18:34:37.596362257 +0200
++++ harfbuzz-2.6.0/CMakeLists.txt 2020-03-29 18:34:53.984362061 +0200
+@@ -287,6 +287,20 @@
# Apple Advanced Typography
add_definitions(-DHAVE_CORETEXT)
-+
+
+ set(CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_OSX_SYSROOT}
+ ${CMAKE_PREFIX_PATH} CACHE string "appleOS find search path root" FORCE)
+ # Default to searching for frameworks first.
@@ -19,33 +17,7 @@ diff -ru harfbuzz/CMakeLists.txt harfbuzz/CMakeLists.txt
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
- list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-coretext.cc)
++
list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-coretext.h)
-- find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices)
-- if (APPLICATION_SERVICES_FRAMEWORK)
-- list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK})
-- endif (APPLICATION_SERVICES_FRAMEWORK)
--
-- mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK)
-+ find_library(CORETEXT_FRAMEWORK CoreText)
-+ if (CORETEXT_FRAMEWORK)
-+ list(APPEND THIRD_PARTY_LIBS ${CORETEXT_FRAMEWORK})
-+ endif (CORETEXT_FRAMEWORK)
-+ mark_as_advanced(CORETEXT_FRAMEWORK)
-+
-+ find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
-+ if (COREFOUNDATION_FRAMEWORK)
-+ list(APPEND THIRD_PARTY_LIBS ${COREFOUNDATION_FRAMEWORK})
-+ endif (COREFOUNDATION_FRAMEWORK)
-+ mark_as_advanced(COREFOUNDATION_FRAMEWORK)
-+
-+ find_library(COREGRAPHICS_FRAMEWORK CoreGraphics)
-+ if (COREGRAPHICS_FRAMEWORK)
-+ list(APPEND THIRD_PARTY_LIBS ${COREGRAPHICS_FRAMEWORK})
-+ endif (COREGRAPHICS_FRAMEWORK)
-+ mark_as_advanced(COREGRAPHICS_FRAMEWORK)
- endif ()
-
- if (WIN32 AND HB_HAVE_UNISCRIBE)
+ if (HB_IOS)
diff --git a/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch b/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch
index 484dee2aef..ee3a2bfba5 100644
--- a/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch
+++ b/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch
@@ -1,12 +1,12 @@
---- harfbuzz/CMakeLists.txt.pkg-freetype 2018-05-22 15:42:04.861877600 +0200
-+++ harfbuzz/CMakeLists.txt 2018-05-22 15:53:50.808676800 +0200
-@@ -267,6 +267,14 @@ set (subset_project_headers
+--- harfbuzz-2.6.0/CMakeLists.txt.orig 2019-07-26 23:23:47.000000000 +0200
++++ harfbuzz-2.6.0/CMakeLists.txt 2020-03-29 18:32:04.608364093 +0200
+@@ -201,6 +201,14 @@
## Find and include needed header folders and libraries
if (HB_HAVE_FREETYPE)
+ find_package(PkgConfig)
+ pkg_check_modules(PC_FREETYPE2 QUIET freetype2)
-+
++
+ if (PC_FREETYPE2_FOUND)
+ include_directories(AFTER ${PC_FREETYPE2_STATIC_INCLUDE_DIRS})
+ list(APPEND THIRD_PARTY_LIBS ${PC_FREETYPE2_STATIC_LIBRARIES})
@@ -15,25 +15,22 @@
include (FindFreetype)
if (NOT FREETYPE_FOUND)
message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix")
-@@ -274,15 +282,17 @@ if (HB_HAVE_FREETYPE)
+@@ -208,13 +216,15 @@
- list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES} -lz)
+ list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES})
include_directories(AFTER ${FREETYPE_INCLUDE_DIRS})
- add_definitions(-DHAVE_FREETYPE=1)
-
-- list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
- list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
# So check_funcs can find its headers
set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FREETYPE_INCLUDE_DIRS})
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FREETYPE_LIBRARIES})
+ endif ()
-
-+ list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
-+ list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
+
+ add_definitions(-DHAVE_FREETYPE=1)
-+
++
++ list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
+
check_funcs(FT_Get_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates FT_Done_MM_Var)
endif ()
-
diff --git a/contrib/src/harfbuzz/harfbuzz-no-tests.patch b/contrib/src/harfbuzz/harfbuzz-no-tests.patch
deleted file mode 100644
index 5ba52030da..0000000000
--- a/contrib/src/harfbuzz/harfbuzz-no-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- harfbuzz/CMakeLists.txt.notests 2018-05-24 15:14:05.682443200 +0200
-+++ harfbuzz/CMakeLists.txt 2018-05-24 15:14:17.437916300 +0200
-@@ -808,6 +808,7 @@ endif ()
-
-
- ## src/ executables
-+if(NOT WIN32 OR NOT ${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore")
- foreach (prog main test test-would-substitute test-size-params test-buffer-serialize hb-ot-tag test-unicode-ranges)
- set (prog_name ${prog})
- if (${prog_name} STREQUAL "test")
-@@ -818,6 +819,7 @@ foreach (prog main test test-would-subst
- target_link_libraries(${prog_name} harfbuzz ${THIRD_PARTY_LIBS})
- endforeach ()
- set_target_properties(hb-ot-tag PROPERTIES COMPILE_FLAGS "-DMAIN")
-+endif()
-
- ## Tests
- if (UNIX OR MINGW)
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index dc8d7f9a8b..374a4ff1da 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -1,24 +1,25 @@
# HARFBUZZ
-HARFBUZZ_VERSION := 1.7.6
-HARFBUZZ_URL := http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2
+HARFBUZZ_VERSION := 2.6.4
+HARFBUZZ_URL := http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$(HARFBUZZ_VERSION).tar.xz
PKGS += harfbuzz
ifeq ($(call need_pkg,"harfbuzz"),)
PKGS_FOUND += harfbuzz
endif
-$(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2:
+$(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.xz:
$(call download_pkg,$(HARFBUZZ_URL),harfbuzz)
-.sum-harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2
+.sum-harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.xz
-harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
+harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.xz .sum-harfbuzz
$(UNPACK)
$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
- $(APPLY) $(SRC)/harfbuzz/harfbuzz-clang.patch
+ #It uses Cmake builtin to detect freetype instead of Pkg-Config
$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-freetype-detect.patch
- $(APPLY) $(SRC)/harfbuzz/harfbuzz-no-tests.patch
+ #It does not search for CoreText Framework everywhere
$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-coretext-detection.patch
+ #Missing Frameworks in the pkgconfig file
$(APPLY) $(SRC)/harfbuzz/harfbuzz-create-pkgconfig-file.patch
$(MOVE)
@@ -26,7 +27,11 @@ DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
.harfbuzz: harfbuzz toolchain.cmake
cd $< && mkdir -p build && cd build && $(HOSTVARS_PIC) $(CMAKE) \
- -DBUILD_SHARED_LIBS:BOOL=OFF -DHB_HAVE_FREETYPE:BOOL=ON \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DHB_HAVE_FREETYPE:BOOL=ON \
+ -DHB_BUILD_TESTS=OFF \
+ -DHB_BUILD_UTILS=OFF \
+ -DHB_HAVE_GLIB=OFF \
.. && $(MAKE)
cd $< && cd build && $(MAKE) install
touch $@
More information about the vlc-commits
mailing list