svn commit: r357744 - in head/editors/libreoffice: . files
Jung-uk Kim
jkim at FreeBSD.org
Sat Jun 14 05:52:27 UTC 2014
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";
More information about the svn-ports-all
mailing list