diff options
author | truckman <truckman@FreeBSD.org> | 2018-01-27 02:33:08 +0800 |
---|---|---|
committer | Koop Mast <kwm@rainbow-runner.nl> | 2018-02-04 06:29:53 +0800 |
commit | f7a28152b7b7297fcb47d3e7907ae6418c718b13 (patch) | |
tree | 8ecbb3a5ccde3c1cbca5fe9e44336497beea745a /editors | |
parent | 2fc9dfe26673981dbd8438516fbe2abb32b5ac32 (diff) | |
download | freebsd-ports-gnome-f7a28152b7b7297fcb47d3e7907ae6418c718b13.tar.gz freebsd-ports-gnome-f7a28152b7b7297fcb47d3e7907ae6418c718b13.tar.zst freebsd-ports-gnome-f7a28152b7b7297fcb47d3e7907ae6418c718b13.zip |
Don't enable crashdumps by default. This build knob causes the build
to be done with debug symbols, which greatly increase the size of the
build, but this is all in vain because the executables and libraries
are subsequently stripped.
Build with debug symbols if WITH_DEBUG is set.
Build with -fstack-protector.
Only fetch unowinreg.dll when building the SDK.
Add three new options:
CRASHDUMP - Enable crashdumps, requires WITH_DEBUG
DBGUTIL - Enable assertions, object counting, and other
non-production runtime debugging.
DEBUG - Compile with -O0 for better debugability. The ports
framework also sets WITH_DEBUG.
Fold a couple long lines in the Makefile.
Diffstat (limited to 'editors')
-rw-r--r-- | editors/openoffice-4/Makefile | 44 | ||||
-rw-r--r-- | editors/openoffice-4/files/patch-solenv_gbuild_platform_freebsd.mk | 13 | ||||
-rw-r--r-- | editors/openoffice-4/files/patch-solenv_inc_unxfbsd.mk | 10 |
3 files changed, 57 insertions, 10 deletions
diff --git a/editors/openoffice-4/Makefile b/editors/openoffice-4/Makefile index 02dad6038db1..caca38807aa2 100644 --- a/editors/openoffice-4/Makefile +++ b/editors/openoffice-4/Makefile @@ -3,7 +3,7 @@ PORTNAME= apache-openoffice PORTVERSION= ${AOOVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= editors java MASTER_SITES= APACHE/openoffice/${PORTVERSION}/sources \ http://tools.openoffice.org/unowinreg_prebuild/680/:unoreg \ @@ -14,7 +14,7 @@ PKGNAMEPREFIX= ${LANG_PKGNAME}- .if defined(LANG_SUFFIX) PKGNAMESUFFIX= -${LANG_SUFFIX} .endif -DISTFILES= ${AOOSRC} unowinreg.dll:unoreg ${EXTSRC}:extsrc +DISTFILES= ${AOOSRC} ${EXTSRC}:extsrc DIST_SUBDIR= openoffice EXTRACT_ONLY= ${AOOSRC} @@ -138,17 +138,27 @@ WITHOUT_CPU_CFLAGS= true CPE_PRODUCT= ${PORTNAME:S|apache-||} CPE_VENDOR= apache -OPTIONS_DEFINE= CUPS GNOME GNOMEVFS MMEDIA SDK WIKI_PUBLISHER +OPTIONS_DEFINE= CRASHDUMP CUPS DBGUTIL DEBUG GNOME GNOMEVFS MMEDIA \ + SDK WIKI_PUBLISHER OPTIONS_DEFAULT= CUPS GNOME GNOMEVFS MMEDIA WIKI_PUBLISHER +CRASHDUMP_DESC= Enable crashdumps, requires WITH_DEBUG +DBGUTIL_DESC= Enable assertions, object counting. (non-production) +DEBUG_DESC= Compile with -O0, sets WITH_DEBUG GNOME_DESC= GConf + screensaver presentation control via DBUS GNOMEVFS_DESC= GNOME Virtual File System MMEDIA_DESC= Multimedia backend for impress SDK_DESC= Build and install software development kit WIKI_PUBLISHER_DESC= Build and install Wiki Publisher extension +CRASHDUMP_CONFIGURE_ENABLE= crashdump + CUPS_CONFIGURE_ENABLE= cups CUPS_LIB_DEPENDS= libcups.so:print/cups +DBGUTIL_CONFIGURE_ENABLE= dbgutil + +DEBUG_CONFIGURE_ENABLE= debug + GNOME_CONFIGURE_ENABLE= dbus gconf lockdown GNOME_LIB_DEPENDS= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib @@ -164,6 +174,7 @@ MMEDIA_LIB_DEPENDS= libgstreamer-0.10.so:multimedia/gstreamer MMEDIA_USE= GSTREAMER=yes SDK_CONFIGURE_ENABLE= odk +SDK_DISTFILES= unowinreg.dll:unoreg WIKI_PUBLISHER_CONFIGURE_ENABLE= wiki-publisher WIKI_PUBLISHER_CONFIGURE_WITH= \ @@ -183,6 +194,14 @@ TARGET_ORDER_OVERRIDE= 710:gnome-post-icons .include <bsd.port.pre.mk> +.if defined(WITH_DEBUG) +CONFIGURE_ARGS+= --enable-symbols +.else +.if ${PORT_OPTIONS:MCRASHDUMP} +BROKEN= CRASHDUMP option requires WITH_DEBUG +.endif +.endif + .include <${FILESDIR}/Makefile.localized> .if ${COMPILER_TYPE} == clang @@ -230,7 +249,6 @@ CONFIGURE_ARGS+= \ --with-system-cairo --enable-cairo \ --with-system-coinmp \ --with-system-curl \ - --enable-crashdump \ --with-system-dicts \ --with-epm=${LOCALBASE}/bin/epm \ --with-system-expat \ @@ -299,11 +317,15 @@ pre-everything:: ${TOUCH} ${BUILD_COOKIE} .endif +do-extract-SDK-on: + ${CP} ${DISTDIR}/${DIST_SUBDIR}/unowinreg.dll ${WRKSRC}/external/unowinreg/ + post-extract: ${TAR} -C ${WRKSUBDIR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${EXTSRC} - ${CP} ${DISTDIR}/${DIST_SUBDIR}/unowinreg.dll ${WRKSRC}/external/unowinreg/ - ${CP} ${FILESDIR}/freebsd-aoo-intro.png ${WRKSRC}/default_images/introabout/intro.png - ${CP} ${FILESDIR}/freebsd-aoo-about.png ${WRKSRC}/default_images/introabout/about.png + ${CP} ${FILESDIR}/freebsd-aoo-intro.png \ + ${WRKSRC}/default_images/introabout/intro.png + ${CP} ${FILESDIR}/freebsd-aoo-about.png \ + ${WRKSRC}/default_images/introabout/about.png ${RM} -r ${WRKSRC}/l10n ${LN} -sf ${UNZIP_CMD} ${WRKSRC}/solenv/bin/unzip ${SED} -e '\|^For main/vcl/unx/generic/fontmanager/parseAFM|,/^__/p' \ @@ -410,7 +432,9 @@ do-build: do-install: @${MKDIR} ${STAGEDIR}${PRINSTALLATION_BASEDIR} \ ${STAGEDIR}${PREFIX}/share/mime/packages - @cd ${WRKSRC}/instsetoo_native/unxfbsd*.pro/Apache_OpenOffice/archive/install/${LOCALIZED_LANG}/ ; \ + @cd ${WRKSRC} ; \ + . ${FREEBSD_ENV_SET} ; \ + cd instsetoo_native/$${INPATH}/Apache_OpenOffice/archive/install/${LOCALIZED_LANG}/ ; \ for i in *.tar.?z ; do \ ${ECHO_CMD} "extracting $$i" ; \ ${TAR} -s '|./[^/]*/||' -xz -f $$i \ @@ -434,7 +458,9 @@ do-install: done @${ECHO_CMD} "adding desktop support" @${LN} -sf ${XDGREL} ${STAGEDIR}${DESKTOPDIR}/${EXECBASE} - @cd ${WRKSRC}/sysui/unxfbsd*.pro/misc/openoffice ; \ + @cd ${WRKSRC} ; \ + . ${FREEBSD_ENV_SET} ; \ + cd sysui/$${INPATH}/misc/openoffice ; \ DESTDIR=${STAGEDIR} \ GNOMEDIR=${PREFIX} \ ICON_PREFIX=openoffice${AOOVERSION1} \ diff --git a/editors/openoffice-4/files/patch-solenv_gbuild_platform_freebsd.mk b/editors/openoffice-4/files/patch-solenv_gbuild_platform_freebsd.mk index acee2d1a51ee..20371d0ce018 100644 --- a/editors/openoffice-4/files/patch-solenv_gbuild_platform_freebsd.mk +++ b/editors/openoffice-4/files/patch-solenv_gbuild_platform_freebsd.mk @@ -8,3 +8,16 @@ -pipe ifeq ($(COM),CLANG) gb_CXXFLAGS += -DHAVE_STL_INCLUDE_PATH +@@ -142,6 +143,12 @@ gb_LinkTarget_LDFLAGS += \ + -Wl,--dynamic-list-cpp-typeinfo \ + -Wl,-Bsymbolic-functions \ + ++endif ++ ++ifneq ($(filter $(CPUNAME),INTEL X86_64),) ++gb_CFLAGS += -fstack-protector ++gb_CXXFLAGS += -fstack-protector ++gb_LinkTarget_LDFLAGS += -fstack-protector + endif + + ifeq ($(gb_DEBUGLEVEL),2) diff --git a/editors/openoffice-4/files/patch-solenv_inc_unxfbsd.mk b/editors/openoffice-4/files/patch-solenv_inc_unxfbsd.mk index f91d88004b2d..4ac0255ae264 100644 --- a/editors/openoffice-4/files/patch-solenv_inc_unxfbsd.mk +++ b/editors/openoffice-4/files/patch-solenv_inc_unxfbsd.mk @@ -1,6 +1,6 @@ --- solenv/inc/unxfbsd.mk.orig 2017-11-27 13:50:28 UTC +++ solenv/inc/unxfbsd.mk -@@ -96,7 +96,7 @@ CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs +@@ -96,10 +96,15 @@ CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs CFLAGS_NO_EXCEPTIONS=-fno-exceptions # -fpermissive should be removed as soon as possible @@ -9,3 +9,11 @@ .IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" CFLAGSCXX += -fvisibility-inlines-hidden .ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" ++ ++.IF "$(CPUNAME)" == "INTEL" || "$(CPUNAME)" == "X86_64" ++CFLAGSCC += -fstack-protector ++CFLAGSCXX += -fstack-protector ++.ENDIF + + # Compiler flags for compiling static object in multi threaded environment with graphical user interface + CFLAGSOBJGUIMT= |