Date: Tue, 31 Jan 2017 03:25:00 +0000 (UTC) From: Don Lewis <truckman@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r432895 - in head/editors/openoffice-devel: . files Message-ID: <201701310325.v0V3P0cE024214@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: truckman Date: Tue Jan 31 03:25:00 2017 New Revision: 432895 URL: https://svnweb.freebsd.org/changeset/ports/432895 Log: Upgrade to upstream svn revision r1780246. This incorporates the pointer comparision fixes required to compile with clang 4.0, so delete patch-clang40. Also, patch-lingucomponent_source_spellcheck_spell_sspellimp.cxx has been incorporated upstream. On amd64, clang++ 4.0 uses the MOVAPS SSE instruction to initialize sufficiently large objects returned by the "new" operator. This requires that the object have 16-byte alignment. The FreeBSD malloc() implementation does the correct thing here, but OpenOffice has a couple of internal memory allocator implementations that only align to 8-byte boundaries at most. In addition OpenOffice overrides the new operator to interpose a couple of layers of wrappers. If the --enable-debug option is passed to configure, the wrapper adds 8 to the size passed to the allocator and adds an 8 byte offset to the pointer returned by the allocator to make room for a signature that it adds to the beginning of the memory block (the signature is validated and the inverse transformation is done when the memory is freed). This breaks the proper alignment done by the mamory allocator. Fix these problems by adding an EXTRA_PATCH that teaches the internal OpenOffice memory allocators to do 16-byte alignment and to use a 16-byte offset in the "new" wrapper, and apply this patch on amd64 if clang 4.0 is the system compiler. Pass the --with-alloc=system flag to configure so that the libc version of malloc() is used instead of one of the internal memory allocator implementations. Fix a few mis-sorts in BUILD_DEPENDS and don't list www/p5-libwww twice. Fix a sporadic failure in the clear_001 QA test that occasionally breaks the build. The nominal mutex hold time is 5 seconds, but because it is only checked one per second, the actual time is more likely to be around 6 seconds. When the before time value is subtracted from the after time value, the result might be 7 whole seconds and a large negative number of nanoseconds. Since the pass/fail check only looks at the difference in the seconds fields, it will fail the "< 7" assertion. Relax the assertion to "<= 7" as a quick fix. Add PowerPC64 support. [1] Add a section to pkg-message mentioning that spell check dictionaries for the desired languages should be installed. [2] Various fixes from PR 216245: [3] * Add option for mysql driver, default off. * Poppler is only needed for the optional PDF Import extension (and we only need poppler and not poppler-glib). * The --without-stlport configure flag is not needed. * Pass the -with-build-version flag to configure (but use ${PKGNAME} for completeness instead of just ${PORTNAME}-${PORTVERSION}) * Tweak a comment in the Makefile. PR: 215130, 212103, 216245 Submitted by: Curtis Hamilton <hamiltcl@verizon.net> [1] Submitted by: Arrigo Marchiori <ardovm AT yahoo.it> [2] Submitted by: pfg [3] Added: head/editors/openoffice-devel/files/extra-patch-align16 (contents, props changed) head/editors/openoffice-devel/files/patch-sal_qa_osl_mutex_osl__Mutex.cxx (contents, props changed) Deleted: head/editors/openoffice-devel/files/patch-clang40 head/editors/openoffice-devel/files/patch-lingucomponent_source_spellcheck_spell_sspellimp.cxx Modified: head/editors/openoffice-devel/Makefile head/editors/openoffice-devel/distinfo head/editors/openoffice-devel/files/Makefile.others head/editors/openoffice-devel/files/pkg-message.in Modified: head/editors/openoffice-devel/Makefile ============================================================================== --- head/editors/openoffice-devel/Makefile Tue Jan 31 02:49:07 2017 (r432894) +++ head/editors/openoffice-devel/Makefile Tue Jan 31 03:25:00 2017 (r432895) @@ -3,7 +3,7 @@ PORTNAME= apache-openoffice PORTVERSION= ${AOOVERSION1}.${AOOVERSION2}.${SVNREVISION} -PORTREVISION= 7 +#PORTREVISION= 1 PORTEPOCH= 4 CATEGORIES= editors java MASTER_SITES= https://dist.apache.org/repos/dist/dev/openoffice/${AOOVERSION}-${AOORC}-r${SVNREVISION}/source/ \ @@ -22,7 +22,7 @@ EXTRACT_ONLY= ${AOOSRC} MAINTAINER= office@FreeBSD.org #de facto maintainer is truckman@FreeBSD.org -#Frequent Patch submitters should optionally sign Apache iCLA +#Frequent Patch submitters should (optionally) sign the Apache iCLA COMMENT= Integrated wordprocessor/dbase/spreadsheet/drawing/chart/browser (developer version) LICENSE= APACHE20 ADOBE BSD3CLAUSE BSD4CLAUSE BSL ICU MIT MPL \ @@ -50,8 +50,6 @@ LICENSE_PERMS_W3C= dist-mirror dist-sell BUILD_DEPENDS= \ p5-Archive-Zip>=0:archivers/p5-Archive-Zip \ - p5-libwww>=0:www/p5-libwww \ - p5-XML-Parser>=0:textproc/p5-XML-Parser \ ${LOCALBASE}/bin/unzip:archivers/unzip \ zip:archivers/zip \ ant:devel/apache-ant \ @@ -69,14 +67,15 @@ BUILD_DEPENDS= \ ${JAVALIBDIR}/bsh.jar:lang/bsh \ bash:shells/bash \ ${JAVALIBDIR}/lucene-core-3.6.2.jar:textproc/lucene \ - p5-libwww>=0:www/p5-libwww + p5-XML-Parser>=0:textproc/p5-XML-Parser \ + p5-libwww>=0:www/p5-libwww \ + p5-LWP-Protocol-https>0:www/p5-LWP-Protocol-https LIB_DEPENDS= \ libapr-1.so:devel/apr1 \ libnspr4.so:devel/nspr \ libcurl.so:ftp/curl \ libcairo.so:graphics/cairo \ libpng.so:graphics/png \ - libpoppler-glib.so:graphics/poppler-glib \ libgraphite.so:graphics/silgraphite \ libCoinMP.so:math/coinmp \ libfreetype.so:print/freetype2 \ @@ -102,7 +101,7 @@ AOOVERSION2= 2 AOOVERSION3= 0 # From solenv/inc/minor.mk SOURCEREVISION LAST_MINOR BUILD AOOTAG= AOO420m1\(Build:9800\) -SVNREVISION= 1753426 +SVNREVISION= 1780246 #AOORC=rc3 EXTSRC= ApacheOpenOffice.ext_sources.${AOOVERSION1}.x.x.20150707.tar.gz @@ -128,7 +127,7 @@ XDGDIR= ${OOPATH}/share/xdg XDGREL= ../../${INSTALLATION_BASEDIR}/openoffice${AOOVERSION1}/share/xdg EXECBASE?= openoffice-${AOOSUFFIX} -ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS= i386 amd64 powerpc64 USE_GL= gl glu USE_GNOME= gtk20 libxslt libidl glib20 @@ -149,11 +148,12 @@ WITHOUT_CPU_CFLAGS= true CPE_PRODUCT= ${PORTNAME:S|apache-||} CPE_VENDOR= apache -OPTIONS_DEFINE= CUPS GNOME GNOMEVFS MMEDIA PDFIMPORT SDK WIKI_PUBLISHER CCACHE +OPTIONS_DEFINE= CUPS GNOME GNOMEVFS MMEDIA MYSQL PDFIMPORT SDK WIKI_PUBLISHER CCACHE OPTIONS_DEFAULT= CUPS GNOME GNOMEVFS MMEDIA PDFIMPORT WIKI_PUBLISHER GNOME_DESC= GConf + screensaver presentation control via DBUS GNOMEVFS_DESC= GNOME Virtual File System MMEDIA_DESC= Multimedia backend for impress +MYSQL_DESCR= Build MySQL Connector extension PDFIMPORT_DESC= Build and install PDF import extension SDK_DESC= Build and install software development kit WIKI_PUBLISHER_DESC= Build and install Wiki Publisher extension @@ -176,9 +176,15 @@ MMEDIA_CONFIGURE_ENABLE= gstreamer MMEDIA_LIB_DEPENDS= libgstreamer-0.10.so:multimedia/gstreamer MMEDIA_USE= GSTREAMER=yes +MYSQL_CONFIGURE_ENABLE= mysql-connector +MYSQL_CONFIGURE_WITH= system-mysql +MYSQL_LIB_DEPENDS= libmysqlcppconn.so:databases/mysql-connector-c++ +MYSQL_USES= mysql + SDK_CONFIGURE_ENABLE= odk PDFIMPORT_CONFIGURE_ENABLE= pdfimport +PDFIMPORT_CONFIGURE_WITH= system-poppler PDFIMPORT_LIB_DEPENDS= libpoppler.so:graphics/poppler WIKI_PUBLISHER_CONFIGURE_ENABLE= wiki-publisher @@ -192,14 +198,20 @@ TARGET_ORDER_OVERRIDE= 710:gnome-post-ic .if ${COMPILER_TYPE} == clang CPPFLAGS+= -I${LOCALBASE}/include +. if ${COMPILER_VERSION} >= 40 && ${ARCH} == amd64 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-align16 +. endif .endif .if ${ARCH} == amd64 FREEBSD_ENV_SET= FreeBSDAMDEnv.Set.sh PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86-64 -.else +.elif ${ARCH} == i386 FREEBSD_ENV_SET= FreeBSDX86Env.Set.sh PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86 +.elif ${ARCH} == powerpc64 +FREEBSD_ENV_SET= FreeBSDPPC64Env.Set.sh +PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_ppc64 .endif PACKAGE_PREFIX= Apache_OpenOffice @@ -227,6 +239,7 @@ SUB_LIST= EXECBASE=${EXECBASE} AOOTAG=${ CONFIGURE_ARGS+= \ --with-unix-wrapper=${EXECBASE} \ + --with-alloc=system \ --with-system-apache-commons=yes \ --with-commons-codec-jar=${JAVALIBDIR}/commons-codec.jar \ --with-commons-lang-jar=${JAVALIBDIR}/commons-lang.jar \ @@ -271,14 +284,13 @@ CONFIGURE_ARGS+= \ --enable-opengl \ --with-system-openssl \ --with-package-format="archive" \ - --with-system-poppler \ --with-system-python \ --with-system-redland \ --with-system-sane \ --with-system-serf \ --with-system-stdlibs \ - --without-stlport \ --with-vendor="FreeBSD ports system" \ + --with-build-version="PKGNAME: ${PKGNAME:S/,/@/g}" \ --enable-verbose \ --with-system-vigra \ --with-system-xrender \ @@ -414,7 +426,7 @@ 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}/instsetoo_native/unxfbsd*.pro/Apache_OpenOffice/archive/install/${LOCALIZED_LANG}/ ; \ for i in *.tar.?z ; do \ ${ECHO_CMD} "extracting $$i" ; \ ${TAR} -s '|./[^/]*/||' -xz -f $$i \ @@ -438,7 +450,7 @@ do-install: done @${ECHO_CMD} "adding desktop support" @${LN} -sf ${XDGREL} ${STAGEDIR}${DESKTOPDIR}/${EXECBASE} - @cd ${WRKSRC}/sysui/unxfbsd?.pro/misc/openoffice ; \ + @cd ${WRKSRC}/sysui/unxfbsd*.pro/misc/openoffice ; \ DESTDIR=${STAGEDIR} \ GNOMEDIR=${PREFIX} \ ICON_PREFIX=openoffice${AOOVERSION1} \ @@ -452,7 +464,7 @@ do-install: do-install-SDK-on: ${TAR} -s '|./[^/]*/||' -xz -C ${STAGEDIR}${PRINSTALLATION_BASEDIR} \ - -f ${WRKSRC}/instsetoo_native/unxfbsd?.pro/Apache_OpenOffice_SDK/archive/install/${LOCALIZED_LANG}/*.tar.gz + -f ${WRKSRC}/instsetoo_native/unxfbsd*.pro/Apache_OpenOffice_SDK/archive/install/${LOCALIZED_LANG}/*.tar.gz @f=${STAGEDIR}${OOPATH}/sdk/bin/unoapploader ; \ ${CHMOD} 644 $${f} ; ${STRIP_CMD} $${f} ; ${CHMOD} 444 $${f} Modified: head/editors/openoffice-devel/distinfo ============================================================================== --- head/editors/openoffice-devel/distinfo Tue Jan 31 02:49:07 2017 (r432894) +++ head/editors/openoffice-devel/distinfo Tue Jan 31 03:25:00 2017 (r432895) @@ -1,6 +1,6 @@ -TIMESTAMP = 1466695719 -SHA256 (openoffice/apache-openoffice-r1753426-src.tar.xz) = 1091e0e34cb47cc5686984b46cf8091a55bd75f522b6439a3f2869b3a2ebc79a -SIZE (openoffice/apache-openoffice-r1753426-src.tar.xz) = 215069876 +TIMESTAMP = 1485372460 +SHA256 (openoffice/apache-openoffice-r1780246-src.tar.xz) = 362b04bcc9a8ab10cd63ff97ac9e0a512aadf44ca5309d6cc8f00fee7fd246a3 +SIZE (openoffice/apache-openoffice-r1780246-src.tar.xz) = 216097636 SHA256 (openoffice/unowinreg.dll) = f563e522922133db9340b0306711c2d8767cc3481dd9e7d9b0d059906d12653c SIZE (openoffice/unowinreg.dll) = 6144 SHA256 (openoffice/ApacheOpenOffice.ext_sources.4.x.x.20150707.tar.gz) = 966a8333c83a18ddd84401389006d6e0b52b8175924b808b54b88211669985fa Modified: head/editors/openoffice-devel/files/Makefile.others ============================================================================== --- head/editors/openoffice-devel/files/Makefile.others Tue Jan 31 02:49:07 2017 (r432894) +++ head/editors/openoffice-devel/files/Makefile.others Tue Jan 31 03:25:00 2017 (r432895) @@ -21,11 +21,11 @@ languagepack: @${RM} -fr ${WRKDIR}/langpack_tmp @${MKDIR} ${WRKDIR}/langpack_tmp .if defined (LOCALIZED_LANG) - @cd ${WRKSRC}/instsetoo_native/unxfbsd?.pro/Apache_OpenOffice_languagepack/archive/install/${LOCALIZED_LANG} ; ls Apache_OpenOffice*tar.* > ${WRKDIR}/${LOCALIZED_LANG}_LANGPACK + @cd ${WRKSRC}/instsetoo_native/unxfbsd*.pro/Apache_OpenOffice_languagepack/archive/install/${LOCALIZED_LANG} ; ls Apache_OpenOffice*tar.* > ${WRKDIR}/${LOCALIZED_LANG}_LANGPACK @cd ${WRKDIR}/langpack_tmp ; \ for i in `${CAT} ${WRKDIR}/${LOCALIZED_LANG}_LANGPACK`; do \ ${ECHO_CMD} "extracting $$i" ; \ - cd ${WRKDIR}/langpack_tmp ; ${TAR} xfz ${WRKSRC}/instsetoo_native/unxfbsd?.pro/Apache_OpenOffice_languagepack/archive/install/${LOCALIZED_LANG}/$$i ; \ + cd ${WRKDIR}/langpack_tmp ; ${TAR} xfz ${WRKSRC}/instsetoo_native/unxfbsd*.pro/Apache_OpenOffice_languagepack/archive/install/${LOCALIZED_LANG}/$$i ; \ done @cd ${WRKDIR}/langpack_tmp/Apache_OpenOffice*/ ; \ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \ Added: head/editors/openoffice-devel/files/extra-patch-align16 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/openoffice-devel/files/extra-patch-align16 Tue Jan 31 03:25:00 2017 (r432895) @@ -0,0 +1,70 @@ +--- sal/cpprt/operators_new_delete.cxx.orig 2014-09-19 17:58:40 UTC ++++ sal/cpprt/operators_new_delete.cxx +@@ -68,7 +68,7 @@ struct AllocatorTraits + { + n = std::max(n, std::size_t(1)); + #if OSL_DEBUG_LEVEL > 0 +- n += sizeof(signature_type); ++ n += 2*sizeof(signature_type); + #endif /* OSL_DEBUG_LEVEL */ + return n; + } +@@ -77,7 +77,7 @@ struct AllocatorTraits + { + #if OSL_DEBUG_LEVEL > 0 + memcpy (p, m_signature, sizeof(signature_type)); +- p = static_cast<char*>(p) + sizeof(signature_type); ++ p = static_cast<char*>(p) + 2*sizeof(signature_type); + #endif /* OSL_DEBUG_LEVEL */ + return p; + } +@@ -85,7 +85,7 @@ struct AllocatorTraits + void* fini (void * p) const SAL_THROW(()) + { + #if OSL_DEBUG_LEVEL > 0 +- p = static_cast<char*>(p) - sizeof(signature_type); ++ p = static_cast<char*>(p) - 2*sizeof(signature_type); + if (memcmp (p, m_signature, sizeof(signature_type)) != 0) + { + OSL_ENSURE(0, "operator delete mismatch"); +--- sal/rtl/source/alloc_cache.c.orig 2016-06-21 21:57:07 UTC ++++ sal/rtl/source/alloc_cache.c +@@ -894,7 +894,9 @@ rtl_cache_activate ( + if (objalign == 0) + { + /* determine default alignment */ +- if (objsize >= RTL_MEMORY_ALIGNMENT_8) ++ if (objsize >= RTL_MEMORY_ALIGNMENT_16) ++ objalign = RTL_MEMORY_ALIGNMENT_16; ++ else if (objsize >= RTL_MEMORY_ALIGNMENT_8) + objalign = RTL_MEMORY_ALIGNMENT_8; + else + objalign = RTL_MEMORY_ALIGNMENT_4; +--- sal/rtl/source/alloc_global.c.orig 2016-06-21 21:57:06 UTC ++++ sal/rtl/source/alloc_global.c +@@ -75,8 +75,8 @@ static rtl_cache_type * g_alloc_caches[R + 0, + }; + +-#define RTL_MEMALIGN 8 +-#define RTL_MEMALIGN_SHIFT 3 ++#define RTL_MEMALIGN 16 ++#define RTL_MEMALIGN_SHIFT 4 + + static rtl_cache_type * g_alloc_table[RTL_MEMORY_CACHED_LIMIT >> RTL_MEMALIGN_SHIFT] = + { +--- sal/rtl/source/alloc_impl.h.orig 2014-09-19 17:59:16 UTC ++++ sal/rtl/source/alloc_impl.h +@@ -45,6 +45,12 @@ extern "C" { + #define RTL_MEMORY_ALIGNMENT_8 sizeof(void*) + #endif /* SAL_TYPES_ALIGNMENT8 */ + ++#if defined(SAL_TYPES_ALIGNMENT16) && SAL_TYPES_ALIGNMENT16 > 1 ++#define RTL_MEMORY_ALIGNMENT_16 SAL_TYPES_ALIGNMENT16 ++#else ++#define RTL_MEMORY_ALIGNMENT_16 16 ++#endif /* SAL_TYPES_ALIGNMENT16 */ ++ + #if 0 /* @@@ */ + #define RTL_MEMORY_ALIGNMENT_1 8 + #define RTL_MEMORY_ALIGNMENT_2 (sizeof(void*) * 2) Added: head/editors/openoffice-devel/files/patch-sal_qa_osl_mutex_osl__Mutex.cxx ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/openoffice-devel/files/patch-sal_qa_osl_mutex_osl__Mutex.cxx Tue Jan 31 03:25:00 2017 (r432895) @@ -0,0 +1,11 @@ +--- sal/qa/osl/mutex/osl_Mutex.cxx.orig 2016-06-21 21:57:07 UTC ++++ sal/qa/osl/mutex/osl_Mutex.cxx +@@ -729,7 +729,7 @@ namespace osl_ClearableGuard + + myThread.join(); + +- ASSERT_TRUE(nSec < 7 && nSec > 1) << "ClearableGuard method: clear"; ++ ASSERT_TRUE(nSec <= 7 && nSec > 1) << "ClearableGuard method: clear"; + } + + TEST_F(clear, clear_002 ) Modified: head/editors/openoffice-devel/files/pkg-message.in ============================================================================== --- head/editors/openoffice-devel/files/pkg-message.in Tue Jan 31 02:49:07 2017 (r432894) +++ head/editors/openoffice-devel/files/pkg-message.in Tue Jan 31 03:25:00 2017 (r432895) @@ -10,13 +10,19 @@ Apache OpenOffice %%AOOTAG%% will soon b -------------------- To enable the scanner interface, install the sane-backends package. -2. User installation +2. Spell checkers +----------------- +Dictionaries for various languages are available as packages. +They are named LANG-hunspell, where LANG can be "en", "es", "it" etc. +The corresponding ports are in the textproc category. + +3. User installation -------------------- Just type "%%EXECBASE%%" after you have successfully installed the package. If there is no installed .openoffice.org directory in your home directory, the setup installs the "%%AOOUDIR%%" folder. -3. Starting Apache OpenOffice +4. Starting Apache OpenOffice ----------------------------- There are some wrappers installed for faster startup. Add "%%PREFIX%%/bin/" to your PATH and you will be able to use them. @@ -32,7 +38,7 @@ to your PATH and you will be able to use OpenOffice does need $LANG to be set to a suitable value. -4. If you run into problems +5. If you run into problems --------------------------- If you somehow run into problems, please remove the already installed "%%AOOUDIR%%" directory in your home directory, then redo the
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701310325.v0V3P0cE024214>