[vlc-commits] [Git][videolan/vlc][master] 2 commits: contrib: qt: fully let Windows builds link with freetype on Windows
Steve Lhomme (@robUx4)
gitlab at videolan.org
Wed Aug 27 06:52:41 UTC 2025
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
7d11af02 by Steve Lhomme at 2025-08-27T06:04:51+00:00
contrib: qt: fully let Windows builds link with freetype on Windows
It's used by freetype and otherwise filtered out erroneously.
- - - - -
775a1047 by Steve Lhomme at 2025-08-27T06:04:51+00:00
contrib: harfbuzz: update to 11.4.4
In the 3.4.0 update commit 6e3bfdbf1157133dc41ebcdb65d9d7b56e182ec2,
the 4.0 version was described as having massive API changes. However
libass, our plugin and Qt all build fine with this version.
Debian trixie uses 10.2.0 [^1].
[^1]: https://packages.debian.org/trixie/libharfbuzz-dev
- - - - -
6 changed files:
- − contrib/src/harfbuzz/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
- − contrib/src/harfbuzz/0001-meson-Enable-big-objects-support-when-building-for-w.patch
- − contrib/src/harfbuzz/0002-Disable-Wcast-function-type-strict.patch
- contrib/src/harfbuzz/SHA512SUMS
- contrib/src/harfbuzz/rules.mak
- contrib/src/qt/rules.mak
Changes:
=====================================
contrib/src/harfbuzz/0001-freetype-Fix-function-signatures-to-match-without-ca.patch deleted
=====================================
@@ -1,67 +0,0 @@
-From 1a4fd470808067717e6b9b228ec1cb0eab26039e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
-Date: Fri, 28 Oct 2022 22:17:15 +0300
-Subject: [PATCH 1/2] freetype: Fix function signatures to match without casts
-
-Clang 16 has got a new stricter warning for casts of function types
-(see https://github.com/llvm/llvm-project/commit/1aad641c793090b4d036c03e737df2ebe2c32c57).
-
-This new warning gets included as part of the existing error
-diagnostic setting of -Wcast-function-type.
-
-This fixes errors like these:
-
-../src/hb-ft.cc:1011:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
- ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
----
- src/hb-ft.cc | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/src/hb-ft.cc b/src/hb-ft.cc
-index 67691e3ff..37f9f7f84 100644
---- a/src/hb-ft.cc
-+++ b/src/hb-ft.cc
-@@ -732,8 +732,9 @@ hb_ft_face_create_referenced (FT_Face ft_face)
- }
-
- static void
--hb_ft_face_finalize (FT_Face ft_face)
-+hb_ft_face_finalize (void *arg)
- {
-+ FT_Face ft_face = (FT_Face) arg;
- hb_face_destroy ((hb_face_t *) ft_face->generic.data);
- }
-
-@@ -765,7 +766,7 @@ hb_ft_face_create_cached (FT_Face ft_face)
- ft_face->generic.finalizer (ft_face);
-
- ft_face->generic.data = hb_ft_face_create (ft_face, nullptr);
-- ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
-+ ft_face->generic.finalizer = hb_ft_face_finalize;
- }
-
- return hb_face_reference ((hb_face_t *) ft_face->generic.data);
-@@ -946,8 +947,9 @@ get_ft_library ()
- }
-
- static void
--_release_blob (FT_Face ft_face)
-+_release_blob (void *arg)
- {
-+ FT_Face ft_face = (FT_Face) arg;
- hb_blob_destroy ((hb_blob_t *) ft_face->generic.data);
- }
-
-@@ -1029,7 +1031,7 @@ hb_ft_font_set_funcs (hb_font_t *font)
- #endif
-
- ft_face->generic.data = blob;
-- ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
-+ ft_face->generic.finalizer = _release_blob;
-
- _hb_ft_font_set_funcs (font, ft_face, true);
- hb_ft_font_set_load_flags (font, FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING);
---
-2.25.1
-
=====================================
contrib/src/harfbuzz/0001-meson-Enable-big-objects-support-when-building-for-w.patch deleted
=====================================
@@ -1,30 +0,0 @@
-From 38c155bd1edc9773fea287fcc80659f25d1b21eb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo at beauzee.fr>
-Date: Wed, 19 Jan 2022 11:53:02 +0100
-Subject: [PATCH] meson: Enable big objects support when building for windows
-
-Fix cross compilation when targetting win64
----
- meson.build | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 41344b3a3..8fb68f296 100644
---- a/meson.build
-+++ b/meson.build
-@@ -57,6 +57,12 @@ if host_machine.cpu_family() == 'arm' and cpp.alignment('struct { char c; }') !=
- endif
- endif
-
-+if host_machine.system() == 'windows'
-+ add_project_arguments(cpp.get_supported_arguments([
-+ '-Wa,-mbig-obj'
-+ ]), language : 'cpp')
-+endif
-+
- check_headers = [
- ['unistd.h'],
- ['sys/mman.h'],
---
-2.34.1
-
=====================================
contrib/src/harfbuzz/0002-Disable-Wcast-function-type-strict.patch deleted
=====================================
@@ -1,25 +0,0 @@
-From b1f1c6e3951f7e28ce1c57248f8141cde40d2002 Mon Sep 17 00:00:00 2001
-From: Behdad Esfahbod <behdad at behdad.org>
-Date: Fri, 28 Oct 2022 14:19:39 -0600
-Subject: [PATCH 2/2] Disable -Wcast-function-type-strict
-
-https://github.com/harfbuzz/harfbuzz/pull/3859#issuecomment-1295409126
----
- src/hb.hh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/hb.hh b/src/hb.hh
-index b9f5f7141..32838ff9b 100644
---- a/src/hb.hh
-+++ b/src/hb.hh
-@@ -126,6 +126,7 @@
- /* Ignored intentionally. */
- #ifndef HB_NO_PRAGMA_GCC_DIAGNOSTIC_IGNORED
- #pragma GCC diagnostic ignored "-Wclass-memaccess"
-+#pragma GCC diagnostic ignored "-Wcast-function-type-strict" // https://github.com/harfbuzz/harfbuzz/pull/3859#issuecomment-1295409126
- #pragma GCC diagnostic ignored "-Wformat-nonliteral"
- #pragma GCC diagnostic ignored "-Wformat-zero-length"
- #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
---
-2.25.1
-
=====================================
contrib/src/harfbuzz/SHA512SUMS
=====================================
@@ -1 +1 @@
-f300d041aa4af8f7957d5b352af399b9e411804a33ac710b3728247e23a02b867514537cc2b6fcf00746e71ac7a5a2a4b1392253bb5a888baa39b8a0193144c0 harfbuzz-3.4.0.tar.xz
+9163ac83d8444ff12aecf83aa90a4bdf43ccf4663874e482ef39c7377d7ad3a624e4abfd701b2e95cd24a75ede60be23739c28b6d8a65359cdf9e9c9a27ef163 harfbuzz-11.4.4.tar.xz
=====================================
contrib/src/harfbuzz/rules.mak
=====================================
@@ -1,6 +1,6 @@
# HARFBUZZ
-HARFBUZZ_VERSION := 3.4.0
+HARFBUZZ_VERSION := 11.4.4
HARFBUZZ_URL := $(GITHUB)/harfbuzz/harfbuzz/releases/download/$(HARFBUZZ_VERSION)/harfbuzz-$(HARFBUZZ_VERSION).tar.xz
PKGS += harfbuzz
ifeq ($(call need_pkg,"harfbuzz"),)
@@ -14,11 +14,6 @@ $(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.xz:
harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.xz .sum-harfbuzz
$(UNPACK)
- $(APPLY) $(SRC)/harfbuzz/0001-meson-Enable-big-objects-support-when-building-for-w.patch
- $(APPLY) $(SRC)/harfbuzz/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
- $(APPLY) $(SRC)/harfbuzz/0002-Disable-Wcast-function-type-strict.patch
- # build ragel as a native tool (which can't be installed)
- sed -i.orig -e 's,install : true,native : true,' $(UNPACK_DIR)/subprojects/packagefiles/ragel/meson.build
$(MOVE)
DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
=====================================
contrib/src/qt/rules.mak
=====================================
@@ -57,7 +57,7 @@ qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
$(MOVE)
ifdef HAVE_WIN32
-QTBASE_CONFIG += -DFEATURE_freetype=OFF -DFEATURE_directwrite=ON -DFEATURE_directwrite3=ON
+QTBASE_CONFIG += -DFEATURE_directwrite=ON -DFEATURE_directwrite3=ON
else
QTBASE_CONFIG += -DFEATURE_freetype=ON -DFEATURE_system_freetype=ON
endif
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/87cb4d8687ce08cb8004221f37d6908c772297a8...775a1047bf29aefbc24ca4594ef4874cd963b1ba
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/87cb4d8687ce08cb8004221f37d6908c772297a8...775a1047bf29aefbc24ca4594ef4874cd963b1ba
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list