[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - external/freetype external/pdfium
external/freetype/ExternalProject_freetype.mk |1 - external/pdfium/Library_pdfium.mk |1 + 2 files changed, 1 insertion(+), 1 deletion(-) New commits: commit 085d5100a5ff3260bd4a58f15ecea66ad546fb2f Author: Andras Timar AuthorDate: Wed Dec 7 20:18:42 2022 +0100 Commit: Andras Timar CommitDate: Thu Dec 8 07:26:47 2022 + [cp] Revert "Explicitly build external/freetype --without-png" This reverts commit b48cb69dae4118fe4a471921510281bbd16f5c4f. Reason: there is no support for color emojis without libpng. I checked our use case and this revert seems to be safe, because we build without system libpng. In this case we have the LIBPNG_CFLAGS and LIBPNG_LIBS variables defined in config_host.mk and those point to the internal libpng headers and static libs in workdir. These variables are used by configure script of freetype, and freetype will link our internal libpng statically. The link problem with libpdfium is also addressed. Change-Id: I565832e8a32597dde6eb9fb64c522c62233c3097 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143799 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index 4cb2920ae923..a3e0a7ca3e4b 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -23,7 +23,6 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : --without-brotli \ --without-bzip2 \ --without-harfbuzz \ - --without-png \ --prefix=$(call gb_UnpackedTarball_get_dir,freetype/instdir) \ --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \ CFLAGS="$(CFLAGS) $(if $(debug),-g) $(gb_VISIBILITY_FLAGS)" \ diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index c00a5f8f89e3..c8ee10fe2c04 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -612,6 +612,7 @@ $(eval $(call gb_Library_add_libs,pdfium,\ endif $(eval $(call gb_Library_use_external,pdfium,freetype)) +$(eval $(call gb_Library_use_external,pdfium,libpng)) $(eval $(call gb_Library_add_defs,pdfium,\ -DDEFINE_PS_TABLES_DATA \ ))
[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - external/freetype
external/freetype/UnpackedTarball_freetype.mk |3 +++ external/freetype/ubsan.patch | 12 2 files changed, 15 insertions(+) New commits: commit 709973084ef694f98076e6d4cbac7135722a8517 Author: Miklos Vajna AuthorDate: Thu Nov 17 16:54:09 2022 +0100 Commit: Miklos Vajna CommitDate: Mon Nov 21 11:17:51 2022 +0100 exteral/freetype: -fsanitize=non-null-attribute Crashreport log: workdir/UnpackedTarball/freetype/src/psaux/psobjs.c:204:5: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:44:28: note: nonnull attribute specified here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior workdir/UnpackedTarball/freetype/src/psaux/psobjs.c:204:5 in Change-Id: Ib2ae396ba640129a8bc1c937ce41a38b6279a2ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142894 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/external/freetype/UnpackedTarball_freetype.mk b/external/freetype/UnpackedTarball_freetype.mk index 0b521cb934d0..8a6c7f852242 100644 --- a/external/freetype/UnpackedTarball_freetype.mk +++ b/external/freetype/UnpackedTarball_freetype.mk @@ -14,6 +14,9 @@ $(eval $(call gb_UnpackedTarball_set_tarball,freetype,$(FREETYPE_TARBALL),,freet $(eval $(call gb_UnpackedTarball_add_patches,freetype,\ external/freetype/freetype-2.6.5.patch.1 \ external/freetype/freetype-fd-hack.patch.0 \ + external/freetype/ubsan.patch \ )) +$(eval $(call gb_UnpackedTarball_set_patchlevel,freetype,0)) + # vim: set noet sw=4 ts=4: diff --git a/external/freetype/ubsan.patch b/external/freetype/ubsan.patch new file mode 100644 index ..4a743f3ef3f6 --- /dev/null +++ b/external/freetype/ubsan.patch @@ -0,0 +1,12 @@ +--- src/psaux/psobjs.c.orig2022-11-17 16:52:21.913211573 +0100 src/psaux/psobjs.c 2022-11-17 16:53:17.905127207 +0100 +@@ -201,7 +201,8 @@ + /* add the object to the base block and adjust offset */ + table->elements[idx] = FT_OFFSET( table->block, table->cursor ); + table->lengths [idx] = length; +-FT_MEM_COPY( table->block + table->cursor, object, length ); ++if (table->block + table->cursor) ++ FT_MEM_COPY( table->block + table->cursor, object, length ); + + table->cursor += length; + return FT_Err_Ok;
[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - external/freetype
external/freetype/ExternalPackage_freetype.mk| 16 external/freetype/ExternalProject_freetype.mk|5 + external/freetype/Module_freetype.mk |1 - external/freetype/UnpackedTarball_freetype.mk|1 - external/freetype/libfreetype-bundled-soname.patch.0 | 11 --- 5 files changed, 1 insertion(+), 33 deletions(-) New commits: commit dd522fc58e37b149c7e31bad931e82b72c9f4db5 Author: Tor Lillqvist AuthorDate: Wed Oct 12 17:22:30 2022 +0300 Commit: Tor Lillqvist CommitDate: Wed Oct 12 17:34:54 2022 +0200 No need to build bundled freetype as shared even with the fd hack Change-Id: I1aea8ecf55aafbcb68d2cd99f57756d18bc2c4d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141258 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/external/freetype/ExternalPackage_freetype.mk b/external/freetype/ExternalPackage_freetype.mk deleted file mode 100644 index 4709c60415c0.. --- a/external/freetype/ExternalPackage_freetype.mk +++ /dev/null @@ -1,16 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_ExternalPackage_ExternalPackage,freetype,freetype)) - -$(eval $(call gb_ExternalPackage_use_external_project,freetype,freetype)) - -$(eval $(call gb_ExternalPackage_add_file,freetype,$(LIBO_LIB_FOLDER)/libfreetype-lo.so.6.18.0,instdir/lib/libfreetype-lo.so.6.18.0)) - -# vim: set noet sw=4 ts=4: diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index 8cf533d8dfb4..4cb2920ae923 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -17,10 +17,7 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : $(call gb_Trace_StartRange,freetype,EXTERNAL) $(call gb_ExternalProject_run,build,\ $(gb_RUN_CONFIGURE) ./configure \ - $(if $(filter LINUX,$(OS)), \ - --disable-static, \ - --disable-shared \ - ) \ + --disable-shared \ --with-pic \ --without-zlib \ --without-brotli \ diff --git a/external/freetype/Module_freetype.mk b/external/freetype/Module_freetype.mk index 8552511e1674..290014c47dfd 100644 --- a/external/freetype/Module_freetype.mk +++ b/external/freetype/Module_freetype.mk @@ -12,7 +12,6 @@ $(eval $(call gb_Module_Module,freetype)) $(eval $(call gb_Module_add_targets,freetype,\ ExternalProject_freetype \ UnpackedTarball_freetype \ - $(if $(filter LINUX,$(OS)),ExternalPackage_freetype) \ )) # vim: set noet sw=4 ts=4: diff --git a/external/freetype/UnpackedTarball_freetype.mk b/external/freetype/UnpackedTarball_freetype.mk index c4c2da5a28fa..0b521cb934d0 100644 --- a/external/freetype/UnpackedTarball_freetype.mk +++ b/external/freetype/UnpackedTarball_freetype.mk @@ -14,7 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,freetype,$(FREETYPE_TARBALL),,freet $(eval $(call gb_UnpackedTarball_add_patches,freetype,\ external/freetype/freetype-2.6.5.patch.1 \ external/freetype/freetype-fd-hack.patch.0 \ - external/freetype/libfreetype-bundled-soname.patch.0 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/freetype/libfreetype-bundled-soname.patch.0 b/external/freetype/libfreetype-bundled-soname.patch.0 deleted file mode 100644 index 5b864be562b8.. --- a/external/freetype/libfreetype-bundled-soname.patch.0 +++ /dev/null @@ -1,11 +0,0 @@ -# -*- Mode: Diff -*- builds/unix/unix-cc.in -+++ builds/unix/unix-cc.in -@@ -123,6 +123,7 @@ - LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \ - -rpath $(libdir) -version-info $(version_info) \ - $(LDFLAGS) -no-undefined \ -+ -release lo -Wl,-soname -Wl,libfreetype-lo.so.6.18.0 \ - -export-symbols $(EXPORTS_LIST) - - # EOF
[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - external/freetype
external/freetype/ExternalProject_freetype.mk |1 + 1 file changed, 1 insertion(+) New commits: commit b48cb69dae4118fe4a471921510281bbd16f5c4f Author: Stephan Bergmann AuthorDate: Wed Jan 5 08:07:11 2022 +0100 Commit: Tor Lillqvist CommitDate: Mon Sep 26 20:56:42 2022 +0200 Explicitly build external/freetype --without-png ...instead of having its configure.ac determine whether to support png based on it being installed on the system, but which then might cause a Linux --without-system-freetype build to fail to link Library_pdfium with > workdir/UnpackedTarball/freetype/src/sfnt/pngshim.c:199: error: undefined reference to 'png_get_error_ptr' etc. Change-Id: Idf47ba5252b8f4d7f2e295f7adf6b761dbee4d2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127985 Tested-by: Jenkins Reviewed-by: Stephan Bergmann Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140053 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index a3e0a7ca3e4b..4cb2920ae923 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -23,6 +23,7 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : --without-brotli \ --without-bzip2 \ --without-harfbuzz \ + --without-png \ --prefix=$(call gb_UnpackedTarball_get_dir,freetype/instdir) \ --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \ CFLAGS="$(CFLAGS) $(if $(debug),-g) $(gb_VISIBILITY_FLAGS)" \
[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - external/freetype
external/freetype/ExternalProject_freetype.mk |1 + 1 file changed, 1 insertion(+) New commits: commit ac891f0ba9d4c2675d7dae8390a28f44a7a83eaf Author: Stephan Bergmann AuthorDate: Sun Jan 2 12:31:14 2022 +0100 Commit: Tor Lillqvist CommitDate: Mon Sep 26 20:56:16 2022 +0200 Make external/freetype use -fPIC ...to prevent Library_pdfium from failing to link with > ld.lld: error: relocation R_X86_64_64 cannot be used against local symbol; recompile with -fPIC > >>> defined in workdir/UnpackedTarball/freetype/instdir/lib/libfreetype.a(ftinit.o) > >>> referenced by ftinit.c:89 (src/base/ftinit.c:89) > >>> ftinit.o:(FT_Add_Default_Modules) in archive workdir/UnpackedTarball/freetype/instdir/lib/libfreetype.a etc., presumably since 8677e994d37329a28ca8278358a99d18b9cada69 "Simplify FONTCONFIG and FREETYPE tests" no longer implicitly forces use of system freetype on Linux Change-Id: I2743619768e2dd636ec431408fcb2871871504f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127864 Tested-by: Jenkins Reviewed-by: Stephan Bergmann Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140052 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index 032e0362917a..a3e0a7ca3e4b 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -18,6 +18,7 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : $(call gb_ExternalProject_run,build,\ $(gb_RUN_CONFIGURE) ./configure \ --disable-shared \ + --with-pic \ --without-zlib \ --without-brotli \ --without-bzip2 \