git: a03cc433ac6b - main - editors/libreoffice: fix build on powerpc64le

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Tue, 21 Nov 2023 13:35:47 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a03cc433ac6bf2bd364dff821847d8572401c0e1

commit a03cc433ac6bf2bd364dff821847d8572401c0e1
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-11-21 13:24:56 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-11-21 13:35:44 +0000

    editors/libreoffice: fix build on powerpc64le
    
    Disable musttail:
    fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
---
 editors/libreoffice/Makefile                                  |  1 +
 .../files/patch-external_skia_UnpackedTarball__skia.mk        |  6 +++---
 editors/libreoffice/files/powerpc64le-skia.patch.0            | 11 +++++++++++
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/editors/libreoffice/Makefile b/editors/libreoffice/Makefile
index ad70193897c2..1806e6ab8fc7 100644
--- a/editors/libreoffice/Makefile
+++ b/editors/libreoffice/Makefile
@@ -370,6 +370,7 @@ post-patch:
 .if ${COMPILER_FEATURES:Mlibstdc++}
 	${REINPLACE_CMD} -e 's/gb_CC/gb_CXX/' ${WRKSRC}/solenv/gbuild/platform/unxgcc.mk
 .endif
+	${CP} ${FILESDIR}/powerpc64le-skia.patch.0 ${WRKSRC}/external/skia/
 
 pre-configure:
 	@${TOUCH} ${WRKSRC}/autogen.lastrun
diff --git a/editors/libreoffice/files/patch-external_skia_UnpackedTarball__skia.mk b/editors/libreoffice/files/patch-external_skia_UnpackedTarball__skia.mk
index aa9203f7dfd6..a85a3aa61512 100644
--- a/editors/libreoffice/files/patch-external_skia_UnpackedTarball__skia.mk
+++ b/editors/libreoffice/files/patch-external_skia_UnpackedTarball__skia.mk
@@ -1,11 +1,11 @@
---- external/skia/UnpackedTarball_skia.mk.orig	2022-05-12 13:26:05 UTC
+--- external/skia/UnpackedTarball_skia.mk.orig	2023-09-22 19:07:01 UTC
 +++ external/skia/UnpackedTarball_skia.mk
-@@ -39,6 +39,7 @@ skia_patches := \
+@@ -39,6 +39,8 @@ skia_patches := \
      tdf147342.patch.0 \
      redefinition-of-op.patch.0 \
      0001-Added-missing-include-cstdio.patch \
 +    gfx-skia-skia-src-core-SkCpu.cpp.patch.0 \
++    powerpc64le-skia.patch.0 \
  
  $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
  
- 
diff --git a/editors/libreoffice/files/powerpc64le-skia.patch.0 b/editors/libreoffice/files/powerpc64le-skia.patch.0
new file mode 100644
index 000000000000..401a652385b9
--- /dev/null
+++ b/editors/libreoffice/files/powerpc64le-skia.patch.0
@@ -0,0 +1,11 @@
+--- src/core/SkRasterPipeline.h.orig	2023-11-21 02:40:26.293131000 +0000
++++ src/core/SkRasterPipeline.h	2023-11-21 02:40:36.868877000 +0000
+@@ -24,7 +24,7 @@
+ struct SkImageInfo;
+ struct skcms_TransferFunction;
+ 
+-#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32)
++#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && !defined(__powerpc__)
+     #define SK_HAS_MUSTTAIL 1
+ #else
+     #define SK_HAS_MUSTTAIL 0