aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authorlwhsu <lwhsu@FreeBSD.org>2019-03-28 01:56:18 +0800
committerlwhsu <lwhsu@FreeBSD.org>2019-03-28 01:56:18 +0800
commit85c1866bfb8cd25820273bce358099bf64b04764 (patch)
treef252551d53b5a79bcad9d1fdfd1579ba889adca3 /editors
parentcdb6f0fcc9392b85105ce8c9f24b0350e8303301 (diff)
downloadfreebsd-ports-gnome-85c1866bfb8cd25820273bce358099bf64b04764.tar.gz
freebsd-ports-gnome-85c1866bfb8cd25820273bce358099bf64b04764.tar.zst
freebsd-ports-gnome-85c1866bfb8cd25820273bce358099bf64b04764.zip
- Add QT5 and KDE5 options [1]
- Fix build with gcc on !libc++ archs [2] - Rework patch-sal_osl_unx_thread.cxx for more portable [3] - Fix pkg-plist while GTK3 enabled PR: 236748 [1], 236765 [2] Submitted by: VVD <vvd@unislabs.com> [1], jhibbits [2], Greg Veldman <freebsd@gregv.net> [3]
Diffstat (limited to 'editors')
-rw-r--r--editors/libreoffice/Makefile23
-rw-r--r--editors/libreoffice/files/patch-powerpc15
-rw-r--r--editors/libreoffice/files/patch-sal_osl_unx_thread.cxx32
-rw-r--r--editors/libreoffice/files/patch-sal_osl_unx_uunxapi.cxx25
4 files changed, 74 insertions, 21 deletions
diff --git a/editors/libreoffice/Makefile b/editors/libreoffice/Makefile
index 4d16b2c785ea..20ff0b78d935 100644
--- a/editors/libreoffice/Makefile
+++ b/editors/libreoffice/Makefile
@@ -2,6 +2,8 @@
.include "${.CURDIR}/Makefile.common"
+PORTREVISION= 1
+
MASTER_SITES= https://download.documentfoundation.org/libreoffice/src/${PORTVERSION}/ \
https://dev-www.libreoffice.org/src/:src \
https://dev-www.libreoffice.org/extern/:ext
@@ -115,15 +117,17 @@ USES= autoreconf:build bison compiler:c++14-lang cpe gmake jpeg \
mysql:client \
perl5 pkgconfig python shebangfix shared-mime-info ssl tar:xz
-OPTIONS_DEFINE= CUPS DOCS GNOME GTK2 GTK3 JAVA MMEDIA PGSQL SDK SYSTRAY \
- TEST WEBDAV
+OPTIONS_DEFINE= CUPS DOCS GNOME GTK2 GTK3 JAVA KDE5 MMEDIA PGSQL QT5 SDK \
+ SYSTRAY TEST WEBDAV
OPTIONS_DEFAULT= CUPS GTK2 MMEDIA
GTK2_DESC= GTK+ 2 GUI toolkit support
GTK3_DESC= GTK+ 3 GUI toolkit support (experimental)
JAVA_DESC= Add Java support (XML filters, macros, DB connections)
+KDE5_DESC= KF5/Qt5 GUI toolkit support (require QT5)
MMEDIA_DESC= Enable multimedia backend for Impress
PGSQL_DESC= Build with PostgreSQL-SDBC driver
+QT5_DESC= Qt5 GUI toolkit support
SDK_DESC= Build with SDK
SYSTRAY_DESC= Enable systemtray quickstarter
TEST_DESC= Run all regression tests
@@ -193,6 +197,11 @@ JAVA_DISTFILES= 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip:src \
JAVA_USE= JAVA=yes
JAVA_VARS= JAVA_BUILD=yes
+KDE5_CONFIGURE_ENABLE= kde5
+KDE5_USE= kde=config,coreaddons,i18n,kio,windowsystem
+KDE5_USES= kde:5
+KDE5_IMPLIES= QT5
+
MMEDIA_CONFIGURE_ENABLE= gstreamer-1-0
MMEDIA_USE= GSTREAMER1=yes
@@ -200,6 +209,10 @@ PGSQL_CONFIGURE_ENABLE= postgresql-sdbc
PGSQL_CONFIGURE_WITH= gssapi krb5
PGSQL_USES= pgsql
+QT5_CONFIGURE_ENABLE= qt5
+QT5_USE= qt=buildtools_build,core,gui,network,qmake_build,widgets,x11extras
+QT5_USES= qt:5
+
SDK_BUILD_DEPENDS= doxygen:devel/doxygen
SDK_CONFIGURE_ENABLE= odk
SDK_CONFIGURE_OFF= --without-doxygen
@@ -264,7 +277,8 @@ CONFIGURE_ENV= DMAKE=${LOCALBASE}/bin/dmake \
OPENCOLLADA_CFLAGS="${COLLADA_CFLAGS}" \
OPENCOLLADA_LIBS="${COLLADA_LIBS}" \
PYTHON_CFLAGS="`${PYTHON_VERSION}-config --cflags`" \
- PYTHON_LIBS="`${PYTHON_VERSION}-config --libs`"
+ PYTHON_LIBS="`${PYTHON_VERSION}-config --libs`" \
+ ac_cv_path_SED=${LOCALBASE}/bin/gsed
MAKE_ARGS+= TMPDIR=${WRKDIR}
MAKE_ENV+= CXXFLAGS_WARN="${CXXFLAGS_WARN}"
@@ -312,6 +326,9 @@ post-install-SDK-on:
${FIND} -s ${subdir}/libreoffice -not -type d >> ${TMPPLIST}
.endfor
+post-install-GTK3-on:
+ @${ECHO_CMD} "share/gir-1.0/LOKDocView-0.1.gir" >> ${TMPPLIST}
+
add-plist-gnome:
.for subdir in gnome hicolor locolor
@${ECHO_CMD} "@rmtry share/icons/${subdir}/icon-theme.cache" >> ${TMPPLIST}
diff --git a/editors/libreoffice/files/patch-powerpc b/editors/libreoffice/files/patch-powerpc
index 165ed9a55bab..489e93d20066 100644
--- a/editors/libreoffice/files/patch-powerpc
+++ b/editors/libreoffice/files/patch-powerpc
@@ -171,24 +171,27 @@
#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 @@
+--- testtools/CustomTarget_uno_test.mk.orig 2019-03-27 15:11:56.660402000 +0800
++++ testtools/CustomTarget_uno_test.mk 2019-03-27 15:11:55.757889000 +0800
+@@ -12,7 +12,10 @@
# this target is phony to run it every time
.PHONY : $(call gb_CustomTarget_get_target,testtools/uno_test)
+-$(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_CustomTarget_get_target,testtools/uno_test) : \
$(call gb_Executable_get_runtime_dependencies,uno) \
$(call gb_InternalUnoApi_get_target,bridgetest) \
-@@ -26,5 +29,5 @@
+ $(call gb_Package_get_target,instsetoo_native_setup_ure) \
+@@ -29,6 +32,7 @@
-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
+ endif
+
# vim:set shiftwidth=4 tabstop=4 noexpandtab:
--- vcl/headless/svpbmp.cxx.orig
+++ vcl/headless/svpbmp.cxx
diff --git a/editors/libreoffice/files/patch-sal_osl_unx_thread.cxx b/editors/libreoffice/files/patch-sal_osl_unx_thread.cxx
index 78bdf8dd757f..29c719c92574 100644
--- a/editors/libreoffice/files/patch-sal_osl_unx_thread.cxx
+++ b/editors/libreoffice/files/patch-sal_osl_unx_thread.cxx
@@ -1,9 +1,11 @@
osl_thread_priority_init_Impl() tries to assign values to variables
declared as const on platforms not excluded by NO_PTHREAD_PRIORITY.
-This includes FreeBSD. Patch locally until fixed upstream.
+This includes FreeBSD. This is https://gerrit.libreoffice.org/69603
+upstream, and this comment and the relevant parts of this patch can
+be removed if/when that is merged.
---- sal/osl/unx/thread.cxx.orig 2019-02-12 22:11:36.000000000 +0000
-+++ sal/osl/unx/thread.cxx 2019-02-18 23:03:57.933036000 +0000
+--- sal/osl/unx/thread.cxx.orig 2019-03-15 19:58:40.000000000 +0000
++++ sal/osl/unx/thread.cxx 2019-03-23 20:09:21.755731000 +0000
@@ -46,6 +46,10 @@
#include <sys/syscall.h>
#endif
@@ -15,33 +17,39 @@ This includes FreeBSD. Patch locally until fixed upstream.
/****************************************************************************
* @@@ TODO @@@
*
-@@ -88,11 +92,11 @@
+@@ -88,11 +92,19 @@
struct osl_thread_priority_st
{
-- int const m_Highest;
-- int const m_Above_Normal;
-- int const m_Normal;
-- int const m_Below_Normal;
-- int const m_Lowest;
++#ifndef NO_PTHREAD_PRIORITY
+ int m_Highest;
+ int m_Above_Normal;
+ int m_Normal;
+ int m_Below_Normal;
+ int m_Lowest;
++#else
+ int const m_Highest;
+ int const m_Above_Normal;
+ int const m_Normal;
+ int const m_Below_Normal;
+ int const m_Lowest;
++#endif /* NO_PTHREAD_PRIORITY */
};
#define OSL_THREAD_PRIORITY_INITIALIZER { 127, 96, 64, 32, 0 }
-@@ -110,7 +114,7 @@
+@@ -110,7 +122,11 @@
struct osl_thread_global_st
{
pthread_once_t m_once;
-- struct osl_thread_priority_st const m_priority;
++#ifndef NO_PTHREAD_PRIORITY
+ struct osl_thread_priority_st m_priority;
++#else
+ struct osl_thread_priority_st const m_priority;
++#endif /* NO_PTHREAD_PRIORITY */
struct osl_thread_textencoding_st m_textencoding;
};
-@@ -545,7 +549,7 @@
+@@ -545,7 +561,7 @@
if ( 0 != err )
SAL_WARN("sal.osl", "pthread_setname_np failed with errno " << err);
#elif defined __FreeBSD_kernel__
diff --git a/editors/libreoffice/files/patch-sal_osl_unx_uunxapi.cxx b/editors/libreoffice/files/patch-sal_osl_unx_uunxapi.cxx
new file mode 100644
index 000000000000..b69fe52c57bd
--- /dev/null
+++ b/editors/libreoffice/files/patch-sal_osl_unx_uunxapi.cxx
@@ -0,0 +1,25 @@
+--- sal/osl/unx/uunxapi.cxx.bak 2019-03-23 22:42:30.703590000 -0500
++++ sal/osl/unx/uunxapi.cxx 2019-03-23 22:46:37.905090000 -0500
+@@ -563,14 +563,22 @@
+ case EBFONT:
+ return "EBFONT";
+ #endif
++#ifdef ENOSTR
+ case ENOSTR:
+ return "ENOSTR";
++#endif
++#ifdef ENODATA
+ case ENODATA:
+ return "ENODATA";
++#endif
++#if defined(ETIME) && (!defined(ETIMEDOUT) || ETIME != ETIMEDOUT)
+ case ETIME:
+ return "ETIME";
++#endif
++#ifdef ENOSR
+ case ENOSR:
+ return "ENOSR";
++#endif
+ #ifdef ENONET
+ case ENONET:
+ return "ENONET";