Date: Sat, 14 Jun 2014 05:52:26 +0000 (UTC) From: Jung-uk Kim <jkim@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r357744 - in head/editors/libreoffice: . files Message-ID: <201406140552.s5E5qQ3S068243@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jkim Date: Sat Jun 14 05:52:26 2014 New Revision: 357744 URL: http://svnweb.freebsd.org/changeset/ports/357744 QAT: https://qat.redports.org/buildarchive/r357744/ Log: - Fix build with libc++ on i386. - Fix JAVA option. A distfile was missing. - Work around INSTALLS_ICONS issues. Icon caches were not properly updated. - Tidy up bash completion installation. Added: head/editors/libreoffice/files/extra-libc++.i386 (contents, props changed) Modified: head/editors/libreoffice/Makefile head/editors/libreoffice/distinfo head/editors/libreoffice/files/patch-bin__distro-install-desktop-integration Modified: head/editors/libreoffice/Makefile ============================================================================== --- head/editors/libreoffice/Makefile Sat Jun 14 05:51:59 2014 (r357743) +++ head/editors/libreoffice/Makefile Sat Jun 14 05:52:26 2014 (r357744) @@ -2,7 +2,7 @@ .include "${.CURDIR}/Makefile.common" -PORTREVISION= 0 +PORTREVISION= 1 COMMENT= Full integrated office productivity suite @@ -245,6 +245,7 @@ DISTFILES+= 17410483b5b5f267aa18b7e00b65 2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz:src \ 2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz:src \ 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip:src \ + 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip:src \ 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip:src \ 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip:src \ 3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz:src \ @@ -344,6 +345,7 @@ LDFLAGS= -B${LOCALBASE}/bin .if ${COMPILER_FEATURES:Mlibc++} EXTRA_PATCHES+= ${FILESDIR}/extra-libc++:-p1 +EXTRA_PATCHES+= ${FILESDIR}/extra-libc++.i386:-p0 .endif .if ${OSVERSION} < 900506 @@ -368,17 +370,15 @@ post-configure: @${TOUCH} ${WRKSRC}/src.downloaded post-install: - @${RM} -f ${PLISTF} ${PLISTD} + @${RM} -f ${PLISTD} ${PLISTF} # It seems that the empty directories are necessary for libreoffice keep them for now @cd ${STAGEDIR}${PREFIX} && ${FIND} -d lib/libreoffice -type d \ -empty -exec ${ECHO_CMD} "@exec ${MKDIR} %D/{}" \; >> ${PLISTD} - @cd ${STAGEDIR}${PREFIX} && ${FIND} -H -s bin lib man \ + @cd ${STAGEDIR}${PREFIX} && ${FIND} -H -s bin etc lib man \ \( -type f -o -type l \) -print >> ${PLISTF} @cd ${STAGEDIR}${PREFIX} && ${FIND} -d lib/libreoffice -type d \ -exec ${ECHO_CMD} "@dirrm {}" \; >> ${PLISTD} - - @${ECHO_CMD} etc/bash_completion.d/libreoffice.sh >> ${PLISTF} @${ECHO_CMD} "@dirrmtry etc/bash_completion.d" >> ${PLISTD} .for subdir in applications icons mime mimelnk @@ -393,6 +393,18 @@ post-install: \( -type f -o -type l \) -print >> ${PLISTF} .endfor +# XXX INSTALLS_ICONS does not work here, i.e., it runs *before* post-install. +.if defined(INSTALLS_ICONS) + @for i in `${GREP} "^share/icons/.*/" ${PLISTF} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \ + ${ECHO_CMD} "@unexec /bin/rm %D/$${i}/icon-theme.cache 2>/dev/null || /usr/bin/true" \ + >> ${TMPPLIST}.icons1; \ + ${ECHO_CMD} "@exec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \ + >> ${TMPPLIST}; \ + ${ECHO_CMD} "@unexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \ + >> ${TMPPLIST}; \ + done +.endif + .if ${PORT_OPTIONS:MSDK} .for subdir in include share share/doc share/idl @cd ${STAGEDIR}${PREFIX} && ${FIND} -H -s ${subdir}/libreoffice \ @@ -409,8 +421,4 @@ post-install: @${GREP} '^@dirrmtry ' ${PLISTD} | ${SORT} -ru | \ ${SED} -e '${PLIST_REINPLACE_DIRRMTRY}' >> ${TMPPLIST} - @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d - @${INSTALL_SCRIPT} ${STAGEDIR}/etc/bash_completion.d/libreoffice.sh \ - ${STAGEDIR}${PREFIX}/etc/bash_completion.d - .include <bsd.port.post.mk> Modified: head/editors/libreoffice/distinfo ============================================================================== --- head/editors/libreoffice/distinfo Sat Jun 14 05:51:59 2014 (r357743) +++ head/editors/libreoffice/distinfo Sat Jun 14 05:52:26 2014 (r357744) @@ -12,6 +12,8 @@ SHA256 (libreoffice/2e482c7567908d334785 SIZE (libreoffice/2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz) = 262206 SHA256 (libreoffice/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip) = 5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b SIZE (libreoffice/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip) = 1180582 +SHA256 (libreoffice/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip) = 64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1 +SIZE (libreoffice/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip) = 9796 SHA256 (libreoffice/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip) = 085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045 SIZE (libreoffice/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip) = 153157 SHA256 (libreoffice/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip) = e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743 Added: head/editors/libreoffice/files/extra-libc++.i386 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/libreoffice/files/extra-libc++.i386 Sat Jun 14 05:52:26 2014 (r357744) @@ -0,0 +1,123 @@ +--- bridges/source/cpp_uno/gcc3_linux_intel/except.cxx.orig 2014-04-30 15:49:45.000000000 -0400 ++++ bridges/source/cpp_uno/gcc3_linux_intel/except.cxx 2014-06-13 18:15:56.000000000 -0400 +@@ -22,11 +22,6 @@ + #include <dlfcn.h> + #include <boost/unordered_map.hpp> + +-#include <cxxabi.h> +-#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h +-#define _GLIBCXX_CDTOR_CALLABI +-#endif +- + #include <rtl/strbuf.hxx> + #include <rtl/ustrbuf.hxx> + #include <osl/diagnose.h> +@@ -248,7 +243,11 @@ + Reference< XInterface >() ); + } + ++#ifdef _LIBCPP_VERSION ++ pCppExc = __cxxabiv1::__cxa_allocate_exception( pTypeDescr->nSize ); ++#else + pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); ++#endif + ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); + + // destruct uno exception +@@ -280,7 +279,11 @@ + } + } + ++#ifdef _LIBCPP_VERSION ++ __cxxabiv1::__cxa_throw( pCppExc, rtti, deleteException ); ++#else + __cxa_throw( pCppExc, rtti, deleteException ); ++#endif + } + + //================================================================================================== +--- bridges/source/cpp_uno/gcc3_linux_intel/share.hxx.orig 2014-04-30 15:49:45.000000000 -0400 ++++ bridges/source/cpp_uno/gcc3_linux_intel/share.hxx 2014-06-13 18:14:07.000000000 -0400 +@@ -25,10 +25,39 @@ + + #include <uno/any2.h> + +-namespace CPPU_CURRENT_NAMESPACE ++#include <cxxabi.h> ++#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h ++#define _GLIBCXX_CDTOR_CALLABI ++#endif ++ ++#ifdef _LIBCPP_VERSION ++ ++namespace __cxxabiv1 + { ++ struct __class_type_info : public std::type_info ++ { ++ explicit __class_type_info( const char *__n ) : type_info( __n ) { } ++ virtual ~__class_type_info(); ++ }; ++ ++ struct __si_class_type_info : public __class_type_info ++ { ++ explicit __si_class_type_info( const char *__n, const __class_type_info *__b ) : ++ __class_type_info( __n ), __base_type( __b ) { } ++ virtual ~__si_class_type_info(); ++ const __class_type_info *__base_type; ++ }; + +-void dummy_can_throw_anything( char const * ); ++extern "C" void *__cxa_allocate_exception( std::size_t thrown_size ) _NOEXCEPT; ++ ++extern "C" _LIBCPP_NORETURN void __cxa_throw( ++ void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ); ++} ++ ++#else ++ ++namespace CPPU_CURRENT_NAMESPACE ++{ + + // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h + +@@ -85,6 +114,13 @@ + extern "C" void __cxa_throw ( + void *thrown_exception, void *tinfo, void (*dest) (void *) ) __attribute__((noreturn)); + #endif ++} ++#endif ++ ++namespace CPPU_CURRENT_NAMESPACE ++{ ++ ++void dummy_can_throw_anything( char const * ); + + // ----- + +@@ -93,8 +129,11 @@ + uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ); + //================================================================================================== + void fillUnoException( ++#ifdef _LIBCPP_VERSION ++ __cxxabiv1::__cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); ++#else + __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); +- ++#endif + } + + namespace x86 +--- bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx.orig 2014-04-30 15:49:45.000000000 -0400 ++++ bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx 2014-06-13 18:18:11.000000000 -0400 +@@ -203,7 +203,11 @@ + catch (...) + { + // fill uno exception ++#ifdef _LIBCPP_VERSION ++ CPPU_CURRENT_NAMESPACE::fillUnoException( __cxxabiv1::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); ++#else + fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); ++#endif + + // temporary params + for ( ; nTempIndices--; ) Modified: head/editors/libreoffice/files/patch-bin__distro-install-desktop-integration ============================================================================== --- head/editors/libreoffice/files/patch-bin__distro-install-desktop-integration Sat Jun 14 05:51:59 2014 (r357743) +++ head/editors/libreoffice/files/patch-bin__distro-install-desktop-integration Sat Jun 14 05:52:26 2014 (r357744) @@ -1,5 +1,5 @@ ---- bin/distro-install-desktop-integration.orig 2014-04-30 21:49:45.000000000 +0200 -+++ bin/distro-install-desktop-integration 2014-06-11 00:30:50.431187842 +0200 +--- bin/distro-install-desktop-integration.orig 2014-04-30 15:49:45.000000000 -0400 ++++ bin/distro-install-desktop-integration 2014-06-13 13:33:37.000000000 -0400 @@ -94,13 +94,13 @@ } @@ -49,3 +49,21 @@ done fi +@@ -178,12 +180,12 @@ + test -f $DESTDIR/gid_Module_Root_Brand && echo "$PREFIXDIR/bin/soffice" >>$DESTDIR/gid_Module_Root_Brand + + # create bash completion +-mkdir -p $DESTDIR/etc/bash_completion.d +-./bin/generate-bash-completion bin/bash-completion.in $DESTDIR/etc/bash_completion.d/$INSTALLDIRNAME.sh +-test -f $DESTDIR/gid_Module_Root_Brand && echo "/etc/bash_completion.d/$INSTALLDIRNAME.sh" >>$DESTDIR/gid_Module_Root_Brand ++mkdir -p $DESTDIR$PREFIXDIR/etc/bash_completion.d ++./bin/generate-bash-completion bin/bash-completion.in $DESTDIR$PREFIXDIR/etc/bash_completion.d/$INSTALLDIRNAME.sh ++test -f $DESTDIR/gid_Module_Root_Brand && echo "$PREFIXDIR/etc/bash_completion.d/$INSTALLDIRNAME.sh" >>$DESTDIR/gid_Module_Root_Brand + if test "$WITH_COMPAT_OOWRAPPERS" = "YES" ; then +- ./bin/generate-bash-completion --compat-oowrappers bin/bash-completion.in $DESTDIR/etc/bash_completion.d/ooffice.sh +- test -f $DESTDIR/gid_Module_Root_Brand && echo "/etc/bash_completion.d/ooffice.sh" >>$DESTDIR/gid_Module_Root_Brand ++ ./bin/generate-bash-completion --compat-oowrappers bin/bash-completion.in $DESTDIR$PREFIXDIR/etc/bash_completion.d/ooffice.sh ++ test -f $DESTDIR/gid_Module_Root_Brand && echo "$PREFIXDIR/etc/bash_completion.d/ooffice.sh" >>$DESTDIR/gid_Module_Root_Brand + fi + + echo "Install $OOINSTDIR/basis$VERSION/program/java-set-classpath";
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406140552.s5E5qQ3S068243>