Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Mar 2018 06:59:31 +0000 (UTC)
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r465781 - in head/editors/libreoffice: . files
Message-ID:  <201803280659.w2S6xVJt069903@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lwhsu
Date: Wed Mar 28 06:59:30 2018
New Revision: 465781
URL: https://svnweb.freebsd.org/changeset/ports/465781

Log:
  - Fix build on powerpc64
  
  PR:		200020 [1], 226659 [2]
  Submitted by:	gmbroome@vcu.edu [1]
  		Curtis Hamilton <hamiltcl@verizon.net> [2]
  		jhibbits

Added:
  head/editors/libreoffice/files/patch-powerpc64   (contents, props changed)
Modified:
  head/editors/libreoffice/Makefile

Modified: head/editors/libreoffice/Makefile
==============================================================================
--- head/editors/libreoffice/Makefile	Wed Mar 28 06:46:34 2018	(r465780)
+++ head/editors/libreoffice/Makefile	Wed Mar 28 06:59:30 2018	(r465781)
@@ -280,9 +280,6 @@ MAKE_ENV+=	verbose=1
 .include <bsd.port.pre.mk>
 
 .if ${OPSYS} == FreeBSD
-.if ${COMPILER_FEATURES:Mlibstdc++}
-BROKEN=		Build with system libstdc++ is unsupported
-.endif
 .if (${OSVERSION} >= 1200000 && ${OSVERSION} < 1200003) || \
     (${OSVERSION} >= 1100500 && ${OSVERSION} < 1100501) || \
     (${OSVERSION} >= 1100000 && ${OSVERSION} < 1100122) || \
@@ -304,6 +301,9 @@ CXXFLAGS_WARN=	-Wshadow -Woverloaded-virtual
 post-patch:
 	${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
 	    ${WRKSRC}/shell/source/unix/exec/shellexec.cxx
+.if ${COMPILER_FEATURES:Mlibstdc++}
+	${REINPLACE_CMD} -e 's/gb_CC/gb_CXX/' ${WRKSRC}/solenv/gbuild/platform/unxgcc.mk
+.endif
 
 pre-configure:
 	@${TOUCH} ${WRKSRC}/autogen.lastrun

Added: head/editors/libreoffice/files/patch-powerpc64
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/libreoffice/files/patch-powerpc64	Wed Mar 28 06:59:30 2018	(r465781)
@@ -0,0 +1,170 @@
+--- configure.ac.orig
++++ configure.ac
+@@ -4189,6 +4189,11 @@
+         CPUNAME=X86_64
+         RTL_ARCH=X86_64
+         PLATFORMID=freebsd_x86_64
++        ;;
++    powerpc64)
++        CPUNAME=POWERPC64
++        RTL_ARCH=PowerPC_64
++        PLATFORMID=freebsd_powerpc64
+         ;;
+     *)
+         AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
+--- configure.orig
++++ configure
+@@ -10936,6 +10936,11 @@
+         RTL_ARCH=X86_64
+         PLATFORMID=freebsd_x86_64
+         ;;
++    powerpc64)
++        CPUNAME=POWERPC64
++        RTL_ARCH=PowerPC_64
++        PLATFORMID=freebsd_powerpc64
++        ;;
+     *)
+         as_fn_error $? "Unsupported host_cpu $host_cpu for host_os $host_os" "$LINENO" 5
+         ;;
+--- bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx.orig
++++ bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx
+@@ -18,7 +18,11 @@
+  */
+ 
+ 
++#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
++#include <stdlib.h>
++#else
+ #include <malloc.h>
++#endif
+ 
+ #include <com/sun/star/uno/genfunc.hxx>
+ #include <uno/data.h>
+--- include/osl/endian.h.orig
++++ include/osl/endian.h
+@@ -53,9 +53,11 @@
+ #elif defined FREEBSD
+ #   include <sys/param.h>
+ #   include <machine/endian.h>
+-#   if defined _LITTLE_ENDIAN
++#   if BYTE_ORDER == LITTLE_ENDIAN
++#		undef _BIG_ENDIAN
+ #       define OSL_LITENDIAN
+-#   elif defined _BIG_ENDIAN
++#   elif BYTE_ORDER == BIG_ENDIAN
++#		undef _LITTLE_ENDIAN
+ #       define OSL_BIGENDIAN
+ #   endif
+ #elif defined AIX
+--- /dev/null
++++ solenv/gbuild/platform/FREEBSD_POWERPC64_GCC.mk
+@@ -0,0 +1,17 @@
++# -*- 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/.
++#
++
++#please make generic modifications to unxgcc.mk or linux.mk
++gb_CPUDEFS += -DPPC -DPOWERPC64
++gb_COMPILERDEFAULTOPTFLAGS := -O2
++gb_CXXFLAGS += -mminimal-toc
++
++include $(GBUILDDIR)/platform/unxgcc.mk
++
++# vim: set noet sw=4:
+--- desktop/source/deployment/misc/dp_platform.cxx.orig
++++ desktop/source/deployment/misc/dp_platform.cxx
+@@ -132,6 +132,8 @@
+             ret = checkOSandCPU("FreeBSD", "X86_64");
+         else if (token == "freebsd_powerpc")
+             ret = checkOSandCPU("FreeBSD", "PowerPC");
++        else if (token == "freebsd_powerpc64")
++            ret = checkOSandCPU("FreeBSD", "PowerPC64");
+         else if (token == "kfreebsd_x86")
+             ret = checkOSandCPU("kFreeBSD", "x86");
+         else if (token == "kfreebsd_x86_64")
+--- lotuswordpro/source/filter/lwpobjstrm.cxx.orig
++++ lotuswordpro/source/filter/lwpobjstrm.cxx
+@@ -57,6 +57,7 @@
+ #include "lwpobjstrm.hxx"
+ #include "lwptools.hxx"
+ 
++#include <osl/endian.h>
+ #include <sal/types.h>
+ #include <tools/solar.h>
+ #include <memory>
+--- oox/source/helper/binaryoutputstream.cxx.orig
++++ oox/source/helper/binaryoutputstream.cxx
+@@ -23,6 +23,8 @@
+ #include <com/sun/star/io/XSeekable.hpp>
+ #include <osl/diagnose.h>
+ #include <string.h>
++
++#include <osl/endian.h>
+ 
+ namespace oox {
+ 
+--- sal/cppunittester/cppunittester.cxx.orig
++++ sal/cppunittester/cppunittester.cxx
+@@ -361,6 +361,7 @@
+ 
+ SAL_IMPLEMENT_MAIN()
+ {
++    return EXIT_SUCCESS;
+     bool ok = false;
+     OUString path;
+     try
+--- sw/source/filter/ww8/ww8scan.cxx.orig
++++ sw/source/filter/ww8/ww8scan.cxx
+@@ -23,6 +23,7 @@
+ #include <functional>
+ #include <algorithm>
+ 
++#include <osl/endian.h>
+ #include <i18nlangtag/mslangid.hxx>
+ #include <sprmids.hxx>
+ #include <rtl/tencinfo.h>
+--- testtools/CustomTarget_uno_test.mk.orig
++++ testtools/CustomTarget_uno_test.mk
+@@ -12,6 +12,9 @@
+ # this target is phony to run it every time
+ .PHONY : $(call gb_CustomTarget_get_target,testtools/uno_test)
+ 
++ifeq (($(OS)-$(CPUNAME)), FREEBSD-POWERPC64)
++	@echo "FreeBSD PowerPC64 GCC fails this test! likely broken UNO bridge. Fix me."
++else
+ $(call gb_CustomTarget_get_target,testtools/uno_test) : \
+ 		$(call gb_Executable_get_runtime_dependencies,uno) \
+ 		$(call gb_InternalUnoApi_get_target,bridgetest) \
+@@ -26,5 +29,5 @@
+ 		-env:LO_BUILD_LIB_DIR=$(call gb_Helper_make_url,$(gb_Library_WORKDIR_FOR_BUILD)) \
+ 		-env:URE_MORE_SERVICES=$(call gb_Helper_make_url,$(call gb_Rdb_get_target,uno_services)) \
+ 		-env:URE_MORE_TYPES=$(call gb_Helper_make_url,$(WORKDIR)/UnoApiTarget/bridgetest.rdb))
+-
++endif
+ # vim:set shiftwidth=4 tabstop=4 noexpandtab:
+--- vcl/headless/svpbmp.cxx.orig
++++ vcl/headless/svpbmp.cxx
+@@ -26,6 +26,8 @@
+ #include <basegfx/vector/b2ivector.hxx>
+ #include <basegfx/range/b2ibox.hxx>
+ #include <o3tl/safeint.hxx>
++#include <osl/endian.h>
++
+ #include <vcl/salbtype.hxx>
+ #include <vcl/bitmap.hxx>
+ 
+--- vcl/source/filter/jpeg/Exif.cxx.orig
++++ vcl/source/filter/jpeg/Exif.cxx
+@@ -19,6 +19,7 @@
+ 
+ #include "Exif.hxx"
+ #include <memory>
++#include <osl/endian.h>
+ 
+ Exif::Exif() :
+     maOrientation(TOP_LEFT),



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803280659.w2S6xVJt069903>