Update openoffice-4 with applicable changes in openoffice-devel r382334:

* Work around broken build on FreeBSD 11.0-CURRENT i386, which appears
   to be a code generation bug in clang 3.6 when using -Os optimization.

 * Use the dictionaries already installed by ports.

 * Update patch-*.mk patches to versions that were imported upstream.
   They are tuned for clang to use as is, with only some minor
   additional tweaks needed for gcc.

 * Wordsmith pkg-message.

 * Some Makefile cleanups.

Differential Revision:	https://reviews.freebsd.org/D2151
Reviewed by:	pfg
Approved by:	mat (mentor)
This commit is contained in:
Don Lewis 2015-03-27 20:22:37 +00:00
parent bd4e9971e2
commit 4a27d4ca83
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=382435
4 changed files with 57 additions and 34 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= apache-openoffice
PORTVERSION= ${AOOVERSION}
PORTREVISION= 7
PORTREVISION= 8
CATEGORIES= editors java
MASTER_SITES= APACHE/openoffice/${PORTVERSION}/source \
http://tools.openoffice.org/unowinreg_prebuild/680/:unoreg \
@ -126,16 +126,14 @@ GNOMEVFS_CONFIGURE_ENABLE= gnome-vfs
.if ${COMPILER_TYPE} == clang
. if ${COMPILER_VERSION} < 35 && ${ARCH} == amd64
BUILD_DEPENDS+= clang35:${PORTSDIR}/lang/clang35
CPP= ${LOCALBASE}/bin/clang-cpp35
CC= ${LOCALBASE}/bin/clang35
CXX= ${LOCALBASE}/bin/clang++35
CPP= clang-cpp35
CC= clang35
CXX= clang++35
. endif
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -I${LOCALBASE}/lib
SUBST= s+%%RPATH%%++;s/%%HAVE_STL_INCLUDE_PATH%%/-DHAVE_STL_INCLUDE_PATH/;s/-fno-enforce-eh-specs//
.else
USE_GCC= yes
SUBST= s+%%RPATH%%+-Wl,-rpath=${_GCC_RUNTIME}+;s/%%HAVE_STL_INCLUDE_PATH%%//
SUBST= "s/-fexceptions/& -fno-enforce-eh-specs/;s/-DHAVE_STL_INCLUDE_PATH//"
.endif
.if ${ARCH} == amd64
@ -194,6 +192,7 @@ CONFIGURE_ARGS+= \
--with-system-curl \
--enable-crashdump \
--enable-dbus \
--with-system-dicts \
--with-epm=${LOCALBASE}/bin/epm \
--with-system-expat \
--disable-fetch-external \
@ -202,7 +201,9 @@ CONFIGURE_ARGS+= \
--with-gperf=${LOCALBASE}/bin/gperf \
--enable-gstreamer \
--with-system-hunspell \
--with-external-dict-dir=${LOCALBASE}/share/hunspell \
--with-system-hyphen \
--with-external-hyph-dir=${LOCALBASE}/share/hyphen \
--with-system-jpeg \
--with-junit=${LOCALBASE}/share/java/classes/junit.jar \
--with-system-libtextcat \
@ -213,6 +214,7 @@ CONFIGURE_ARGS+= \
--with-lucene-core-jar=${JAVALIBDIR}/lucene-core-3.6.2.jar \
--with-lucene-analyzers-jar=${JAVALIBDIR}/lucene-analyzers-3.6.2.jar \
--with-system-mythes \
--with-external-thes-dir=${LOCALBASE}/share/mythes \
--with-system-nss \
--enable-opengl \
--with-system-openssl \
@ -266,11 +268,15 @@ post-extract:
${RM} -rf ${WRKSRC}/l10n
post-patch:
${REINPLACE_CMD} -e "${SUBST}" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk
${REINPLACE_CMD} -e "${SUBST}" ${WRKSRC}/solenv/inc/unxfbsd.mk
.if defined (USE_GCC) && ${ARCH} == i386
.if defined (USE_GCC)
${REINPLACE_CMD} -e ${SUBST} ${WRKSRC}/solenv/gbuild/platform/freebsd.mk
${REINPLACE_CMD} -e ${SUBST} ${WRKSRC}/solenv/inc/unxfbsd.mk
.endif
.if ${ARCH} == i386
# g++49 -Os sometimes leaves inline class methods undefined
if [ ${CXX} = g++49 ]; then \
# autodoc core dumps when built with with -Os clang 3.6 on i386
if [ ${CXX} = g++49 -o \
${COMPILER_TYPE} = clang -a ${COMPILER_VERSION} = 36 ]; then \
${REINPLACE_CMD} -e "s/ := -Os/ := -O0/" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk; \
${REINPLACE_CMD} -e "s/=-Os /=-O0 /" ${WRKSRC}/solenv/inc/unxfbsdi.mk; \
fi
@ -284,7 +290,7 @@ do-build:
cd ${WRKSUBDIR} ; ${PRINTF} "main=active\n" >> source_config
cd ${WRKSUBDIR} ; ${PRINTF} "extras=active\n" >> source_config
cd ${WRKSRC} ; ./bootstrap
cd ${WRKSRC} ; ${SETENV} "LANG=C" "LC_ALL=C" ${BASH} -c "source ${FREEBSD_ENV_SET} ; cd instsetoo_native/util ; build.pl --all -P${MAKE_JOBS_NUMBER} -- -P${MAKE_JOBS_NUMBER}"
cd ${WRKSRC} ; ${SETENV} "LANG=C" "LC_ALL=C" FBSD_LDFLAGS="${LDFLAGS}" ${BASH} -c "source ${FREEBSD_ENV_SET} ; cd instsetoo_native/util ; build.pl --all -P${MAKE_JOBS_NUMBER} -- -P${MAKE_JOBS_NUMBER}"
do-install:
cd ${WRKSRC}/instsetoo_native/unxfbsd?.pro/Apache_OpenOffice/archive/install/${LOCALIZED_LANG}/ ; ${LS} *.tar.?z > ${WRKDIR}/INSTALLFILES

View File

@ -4,15 +4,23 @@
-fvisibility-inlines-hidden \
-fvisibility=hidden \
-pipe \
+ %%HAVE_STL_INCLUDE_PATH%% \
+ -DHAVE_STL_INCLUDE_PATH \
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -Werror
@@ -121,6 +122,7 @@ gb_LinkTarget_LDFLAGS += \
@@ -110,7 +111,6 @@ endif
gb_LinkTarget_EXCEPTIONFLAGS := \
-DEXCEPTIONS_ON \
-fexceptions \
- -fno-enforce-eh-specs \
gb_LinkTarget_NOEXCEPTIONFLAGS := \
-DEXCEPTIONS_OFF \
@@ -121,6 +121,7 @@ gb_LinkTarget_LDFLAGS += \
-Wl,-z,combreloc \
-Wl,-z,defs \
$(subst -L../lib , ,$(SOLARLIB)) \
+ %%RPATH%% \
+ ${FBSD_LDFLAGS} \
\
ifeq ($(HAVE_LD_HASH_STYLE),TRUE)

View File

@ -14,34 +14,41 @@
# _PTHREADS is needed for the stl
-CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
+CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 %%HAVE_STL_INCLUDE_PATH%%
+CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450 -DHAVE_STL_INCLUDE_PATH
# enable visibility define in "sal/types.h"
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -86,14 +86,14 @@ CFLAGSENABLESYMBOLS=-g # was temporarily
.ENDIF
@@ -88,7 +88,7 @@ CFLAGSENABLESYMBOLS=-g # was temporarily
# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
+CFLAGSCC= -pipe $(ARCH_FLAGS) %%RPATH%%
CFLAGSCC= -pipe $(ARCH_FLAGS)
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
+CFLAGSEXCEPTIONS=-fexceptions
# Flags for disabling exception handling
CFLAGS_NO_EXCEPTIONS=-fno-exceptions
# -fpermissive should be removed as soon as possible
-CFLAGSCXX= -pipe $(ARCH_FLAGS)
+CFLAGSCXX= -pipe $(ARCH_FLAGS) %%RPATH%%
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
CFLAGSCXX += -fvisibility-inlines-hidden
.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -156,7 +156,7 @@ LINKFLAGSRUNPATH_OXT=
LINKFLAGSRUNPATH_BOXT=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN'\'
#LINKFLAGSRUNPATH_BOXT=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\'
LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
+LINKFLAGS=-Wl,-z,combreloc %%RPATH%% $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
+LINKFLAGS=-Wl,-z,combreloc $(LDFLAGS) $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
# linker flags for linking applications
LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
@@ -199,11 +199,11 @@ STDSHLCUIMT+=-ltcmalloc
.ENDIF
# libraries for linking applications
-STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
-STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_LDFLAGS}
+STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_LDFLAGS}
# libraries for linking shared libraries
-STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
-STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_LDFLAGS}
+STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_LDFLAGS}
X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed

View File

@ -10,11 +10,12 @@ Apache OpenOffice %%AOOTAG%% will soon be installed in
--------------------
Just type "%%EXECBASE%%" after you have successfully
installed the package. If there is no installed OO.org dir
in your homedir, the setup installs "%%AOOUDIR%%" folder.
installed the package. If there is no installed
.openoffice.org directory in your home directory, the
setup installs the "%%AOOUDIR%%" folder.
2. Starting OO.org
------------------
2. Starting Apache OpenOffice
-----------------------------
There are some wrappers installed for faster startup.
Add "%%PREFIX%%/bin/" to your PATH and you will be able
@ -35,5 +36,6 @@ OO.org does need $LANG to be set to a suitable value.
3. If you run into problems
--------------------------------------------------
If you somehow run into problems, please remove the already
installed "%%AOOUDIR%%" dir in your homedir. Redo the user
installation and the problems should go away.
installed "%%AOOUDIR%%" directory in your home directory,
then redo the user installation and the problems should go
away.