diff options
author | Andreas Proschofsky <suka@gentoo.org> | 2005-09-14 20:05:04 +0000 |
---|---|---|
committer | Andreas Proschofsky <suka@gentoo.org> | 2005-09-14 20:05:04 +0000 |
commit | 18ef4f942e24347a54b203586c521ca5e2b486c8 (patch) | |
tree | 7aecd34cfee4d74e9844eee72f5d3ce4176c720d /app-office | |
parent | Marked ~ppc for bug #105673. (diff) | |
download | gentoo-2-18ef4f942e24347a54b203586c521ca5e2b486c8.tar.gz gentoo-2-18ef4f942e24347a54b203586c521ca5e2b486c8.tar.bz2 gentoo-2-18ef4f942e24347a54b203586c521ca5e2b486c8.zip |
New upstream release: 1.1.5
(Portage version: 2.0.52-r1)
Diffstat (limited to 'app-office')
18 files changed, 1130 insertions, 1 deletions
diff --git a/app-office/openoffice/ChangeLog b/app-office/openoffice/ChangeLog index 6dde62138b2f..7af851dead84 100644 --- a/app-office/openoffice/ChangeLog +++ b/app-office/openoffice/ChangeLog @@ -1,6 +1,22 @@ # ChangeLog for app-office/openoffice # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.121 2005/08/23 21:13:48 suka Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.122 2005/09/14 20:05:04 suka Exp $ + +*openoffice-1.1.5 (14 Sep 2005) + + 14 Sep 2005; Andreas Proschofsky <suka@gentoo.org> + +files/1.1.5/gcc34-nojava-fix.patch, +files/1.1.5/hardened-link.patch, + +files/1.1.5/ooffice-wrapper-1.3, +files/1.1.5/freetype-217.patch, + +files/1.1.5/STLport-vector.patch, +files/1.1.5/gcc-instlib.patch, + +files/1.1.5/gcc34-sal-link-to-libsupc++.diff, + +files/1.1.5/gcc34.patch.bz2, +files/1.1.5/getcompver.awk.patch, + +files/1.1.5/javafix.patch, +files/1.1.5/newstlportfix.patch, + +files/1.1.5/nptl.patch, +files/1.1.5/openoffice-java.patch, + +files/1.1.5/pthreadlink-fix.patch, +files/1.1.5/pyunolink-fix.patch, + +openoffice-1.1.5.ebuild: + New upstream version of the 1.1.x-series. Most important change: + OpenOffice.org 1.1.5 now supports the reading of OpenDocument-Files (which + will be the default in 2.0) 23 Aug 2005; Andreas Proschofsky <suka@gentoo.org> openoffice-1.1.4-r1.ebuild: diff --git a/app-office/openoffice/files/1.1.5/STLport-vector.patch b/app-office/openoffice/files/1.1.5/STLport-vector.patch new file mode 100644 index 000000000000..1892f1cabeed --- /dev/null +++ b/app-office/openoffice/files/1.1.5/STLport-vector.patch @@ -0,0 +1,32 @@ +--- stlport/STLport-4.6.2.patch 2005-01-06 12:26:48.770546592 +1100 ++++ stlport/STLport-4.6.2.patch 2005-01-06 12:26:01.125789696 +1100 +@@ -69,3 +69,29 @@ + ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) + + install_unix : ++--- misc/build/STLport-4.6.2/src/gcc-linux.mak.old 2005-01-06 12:22:54.127217800 +1100 +++++ misc/build/STLport-4.6.2/src/gcc-linux.mak 2005-01-06 12:24:28.192917640 +1100 ++@@ -46,8 +46,8 @@ ++ CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++ CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG -fPIC +++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) +++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -fPIC ++ ++ include common_percent_rules.mak ++ include common_rules.mak ++--- misc/build/STLport-4.6.2/src/gcc.mak.old 2005-01-06 15:20:18.840975336 +1100 +++++ misc/build/STLport-4.6.2/src/gcc.mak 2005-01-06 15:21:00.373661408 +1100 ++@@ -44,8 +44,8 @@ ++ CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -O -g ++ CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -O -g -fPIC ++ ++-CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++-CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG +++CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) +++CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) ++ ++ include common_percent_rules.mak ++ include common_rules.mak diff --git a/app-office/openoffice/files/1.1.5/freetype-217.patch b/app-office/openoffice/files/1.1.5/freetype-217.patch new file mode 100644 index 000000000000..12ed2b2f8691 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/freetype-217.patch @@ -0,0 +1,24 @@ +--- oo_1.1_src/vcl/source/glyphs/gcach_ftyp.cxx.ft217 2004-01-08 03:36:33.000000000 -0500 ++++ oo_1.1_src/vcl/source/glyphs/gcach_ftyp.cxx 2004-01-08 11:02:21.000000000 -0500 +@@ -77,7 +77,8 @@ + #include <osl/file.hxx> + #include <osl/thread.hxx> + +-#include "freetype/freetype.h" ++#include <ft2build.h> ++#include FT_FREETYPE_H + #include "freetype/ftglyph.h" + #include "freetype/ftoutln.h" + #include "freetype/tttables.h" +--- oo_1.1_src/vcl/source/glyphs/gcach_layout.cxx.217 2004-01-08 03:36:46.000000000 -0500 ++++ oo_1.1_src/vcl/source/glyphs/gcach_layout.cxx 2004-01-08 11:03:04.000000000 -0500 +@@ -68,7 +68,8 @@ + #endif + + #ifndef _SV_GCACHFTYP_HXX +-#include <freetype/freetype.h> ++#include <ft2build.h> ++#include FT_FREETYPE_H + #include <gcach_ftyp.hxx> + #endif + diff --git a/app-office/openoffice/files/1.1.5/gcc-instlib.patch b/app-office/openoffice/files/1.1.5/gcc-instlib.patch new file mode 100644 index 000000000000..99e424abed01 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/gcc-instlib.patch @@ -0,0 +1,12 @@ +diff -urN solenv/bin/gccinstlib.pl oo_1.1.2_src/solenv/bin/gccinstlib.pl +--- solenv/bin/gccinstlib.pl 2004-03-16 11:15:42.000000000 +0100 ++++ solenv/bin/gccinstlib.pl 2004-09-27 10:36:02.338394960 +0200 +@@ -63,7 +63,7 @@ + # + #************************************************************************* + +-$ENV{'LC_MESSAGES'} = 'C'; ++$ENV{'LC_ALL'} = 'C'; + + %SearchDirs = GetGccSearchDirs (); + diff --git a/app-office/openoffice/files/1.1.5/gcc34-nojava-fix.patch b/app-office/openoffice/files/1.1.5/gcc34-nojava-fix.patch new file mode 100644 index 000000000000..73017c1bae19 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/gcc34-nojava-fix.patch @@ -0,0 +1,11 @@ +--- sfx2/util/makefile.mk 2004-11-06 18:49:27.753988376 +0100 ++++ sfx2/util/makefile.mk 2004-11-06 18:39:19.706425656 +0100 +@@ -70,6 +70,8 @@ + GEN_HID=TRUE + GEN_HID_OTHER=TRUE + ++LINKFLAGSDEFS = # do not fail with missing symbols ++ + # --- Settings ----------------------------------------------------- + + .INCLUDE : settings.mk diff --git a/app-office/openoffice/files/1.1.5/gcc34-sal-link-to-libsupc++.diff b/app-office/openoffice/files/1.1.5/gcc34-sal-link-to-libsupc++.diff new file mode 100644 index 000000000000..dd823ee024c3 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/gcc34-sal-link-to-libsupc++.diff @@ -0,0 +1,13 @@ +--- sal/util/makefile.mk.foo 2004-12-21 14:38:37.314521336 -0500 ++++ sal/util/makefile.mk 2004-12-21 14:46:52.495159848 -0500 +@@ -146,6 +146,10 @@ + SHL1STDLIBS+=-init InitLibrary -term ExitLibrary + .ENDIF # MAC + ++.IF "$(OS)"=="LINUX" ++SHL1STDLIBS+= -Wl,-Bstatic -lsupc++ -Wl,-Bdynamic -lgcc_s ++.ENDIF ++ + .IF "$(GUI)"=="UNX" + .IF "$(OS)"=="SOLARIS" + # libposix4.so (SunOS 5.6) <-> librt.so (SunOS >= 5.7) diff --git a/app-office/openoffice/files/1.1.5/gcc34.patch.bz2 b/app-office/openoffice/files/1.1.5/gcc34.patch.bz2 Binary files differnew file mode 100644 index 000000000000..2c3a4e355949 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/gcc34.patch.bz2 diff --git a/app-office/openoffice/files/1.1.5/getcompver.awk.patch b/app-office/openoffice/files/1.1.5/getcompver.awk.patch new file mode 100644 index 000000000000..0fbeb07ee3d6 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/getcompver.awk.patch @@ -0,0 +1,14 @@ +--- solenv/bin/getcompver.awk.orig 2005-02-22 00:24:46.976743123 +0100 ++++ solenv/bin/getcompver.awk 2005-02-22 00:34:16.624045985 +0100 +@@ -98,6 +98,11 @@ + CCversion = $0 + } + } ++/^[0-9]*[.][0-9]*[.][0-9]*-[0-9]*$/ { ++ if ( compiler_matched == 0 ) { ++ CCversion = substr($0, 0, index($0, "-") - 1) ++ } ++} + END { + if ( num == "true" ) { + tokencount = split (CCversion,vertoken,".") diff --git a/app-office/openoffice/files/1.1.5/hardened-link.patch b/app-office/openoffice/files/1.1.5/hardened-link.patch new file mode 100644 index 000000000000..83c707dc106d --- /dev/null +++ b/app-office/openoffice/files/1.1.5/hardened-link.patch @@ -0,0 +1,14 @@ +diff -ur solenv.orig/inc/unxlngi4.mk solenv/inc/unxlngi4.mk +--- solenv.orig/inc/unxlngi4.mk 2004-10-23 20:09:29.344518376 +0200 ++++ solenv/inc/unxlngi4.mk 2004-10-23 20:09:43.084429592 +0200 +@@ -156,8 +156,8 @@ + LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) + + # linker flags for linking applications +-LINKFLAGSAPPGUI= -Wl,-export-dynamic +-LINKFLAGSAPPCUI= -Wl,-export-dynamic ++LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,-z,execheap ++LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,-z,execheap + + # linker flags for linking shared libraries + LINKFLAGSSHLGUI= -shared diff --git a/app-office/openoffice/files/1.1.5/javafix.patch b/app-office/openoffice/files/1.1.5/javafix.patch new file mode 100644 index 000000000000..e2d9ccf723b1 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/javafix.patch @@ -0,0 +1,27 @@ +--- connectivity/source/drivers/jdbc/DriverPropertyInfo.cxx ++++ connectivity/source/drivers/jdbc/DriverPropertyInfo.cxx +@@ -184,7 +184,12 @@ + { + jfieldID id = t.pEnv->GetFieldID(java_sql_DriverPropertyInfo::getMyClass(),"choices","[Ljava/lang/String;"); + if(id) +- return copyArrayAndDelete(t.pEnv,(jobjectArray)t.pEnv->GetObjectField( object, id), ::rtl::OUString(),java_lang_String(NULL,NULL)); ++ return copyArrayAndDelete( ++ t.pEnv, ++ (jobjectArray)t.pEnv->GetObjectField( object, id), ++ static_cast< const ::rtl::OUString* >( NULL ), ++ static_cast< const java_lang_String* >( NULL ) ++ ); + } //t.pEnv + return Sequence< ::rtl::OUString>(); + } +--- connectivity/source/inc/java/tools.hxx ++++ connectivity/source/inc/java/tools.hxx +@@ -101,7 +101,7 @@ + + java_util_Properties* createStringPropertyArray(JNIEnv *pEnv,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); + +- template<class T,class JT> ::com::sun::star::uno::Sequence< T > copyArrayAndDelete(JNIEnv *pEnv,jobjectArray _Array,const T& _rD1,const JT& _rD2) ++ template<class T,class JT> ::com::sun::star::uno::Sequence< T > copyArrayAndDelete(JNIEnv *pEnv,jobjectArray _Array, const T*, const JT* ) + { + ::com::sun::star::uno::Sequence< T > xOut; + if(_Array) diff --git a/app-office/openoffice/files/1.1.5/newstlportfix.patch b/app-office/openoffice/files/1.1.5/newstlportfix.patch new file mode 100644 index 000000000000..f88927669a7b --- /dev/null +++ b/app-office/openoffice/files/1.1.5/newstlportfix.patch @@ -0,0 +1,100 @@ +--- stlport/makefile.mk.orig 2004-01-28 11:52:04.000000000 +0100 ++++ stlport/makefile.mk 2004-11-04 15:36:38.158427224 +0100 +@@ -72,11 +72,12 @@ + # --- Files -------------------------------------------------------- + .EXPORT : CC CXX + .IF "$(COMID)"=="gcc3" +- TARFILE_NAME=STLport-4.5 + .IF "$(OS)$(BUILD_OS_MAJOR)$(BUILD_OS_MINOR)"=="MACOSX103" ++ TARFILE_NAME=STLport-4.5 + PATCH_FILE_NAME=STLport-4.5-macxp-panther.patch + .ELSE +- PATCH_FILE_NAME=STLport-4.5.patch ++ TARFILE_NAME=STLport-4.6.2 ++ PATCH_FILE_NAME=STLport-4.6.2.patch + .ENDIF + .ELSE # "$(COMID)"=="gcc3" + .IF "$(OS)"=="MACOSX" +@@ -127,7 +128,7 @@ + .ELIF "$(OS)"=="MACOSX" + BUILD_FLAGS=-f gcc-3.0-macosx.mak + .ELSE +- BUILD_FLAGS=-f gcc-3.0.mak ++ BUILD_FLAGS=-f gcc.mak + .ENDIF + .ELSE # "$(COMID)"=="gcc3" + # MacOS X/Darwin need a special makefile +--- /dev/null 2004-10-28 17:21:08.585283768 +0200 ++++ stlport/STLport-4.6.2.patch 2004-11-04 21:27:55.986110360 +0100 +@@ -0,0 +1,71 @@ ++--- misc/build/STLport-4.6.2/src/num_get_float.cpp 2003-11-02 09:58:50.000000000 +0100 +++++ misc/build/STLport-4.6.2/src/num_get_float.cpp 2004-11-04 15:26:12.605525720 +0100 ++@@ -770,18 +770,18 @@ ++ ++ void _STLP_CALL ++ __string_to_float(const string& v, float& val) { ++- val = _Stl_string_to_double(v.data()); +++ val = _Stl_string_to_double(v.c_str()); ++ } ++ ++ void _STLP_CALL ++ __string_to_float(const string& v, double& val) { ++- val = _Stl_string_to_double(v.data()); +++ val = _Stl_string_to_double(v.c_str()); ++ } ++ ++ #ifndef _STLP_NO_LONG_DOUBLE ++ void _STLP_CALL ++ __string_to_float(const string& v, long double& val) { ++- val = _Stl_string_to_long_double(v.data()); +++ val = _Stl_string_to_long_double(v.c_str()); ++ } ++ #endif ++ ++--- misc/build/STLport-4.6.2/stlport/config/stl_gcc.h 2003-11-02 09:59:11.000000000 +0100 +++++ misc/build/STLport-4.6.2/stlport/config/stl_gcc.h 2004-11-04 15:26:12.342565696 +0100 ++@@ -7,7 +7,9 @@ ++ # define _STLP_USE_GLIBC ++ #endif ++ +++#if (__GNUC__ >= 3) && (__GNUC_MAJOR__ >= 4) ++ # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD +++#endif ++ ++ # if defined(__FreeBSD__) || defined (__hpux) || defined(__amigaos__) || ( defined(__OS2__) && defined(__EMX__) ) ++ # define _STLP_NO_WCHAR_T ++@@ -263,7 +265,7 @@ ++ ++ # if (__GNUC__ >= 3) ++ ++-# if ((__GNUC_MINOR__ == 0) || (__APPLE__)) +++# if 1 || ((__GNUC_MINOR__ == 0) || (__APPLE__)) ++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 ++ # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward ++ # else ++--- misc/build/STLport-4.6.2/stlport/stdexcept 2003-11-02 09:59:01.000000000 +0100 +++++ misc/build/STLport-4.6.2/stlport/stdexcept 2004-11-04 15:26:12.474545632 +0100 ++@@ -60,6 +60,11 @@ ++ # endif ++ # define _STLP_EXCEPTION_BASE exception ++ +++#if (__GNUC__ >= 3) +++#undef _STLP_NOTHROW_INHERENTLY +++#define _STLP_NOTHROW_INHERENTLY throw() +++#endif +++ ++ class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE { ++ public: ++ __Named_exception(const string& __str) ++--- misc/build/STLport-4.6.2/src/common_rules.mak 2004-11-04 21:25:58.322997872 +0100 +++++ misc/build/STLport-4.6.2/src/common_rules.mak 2004-11-04 21:26:15.731351400 +0100 ++@@ -84,7 +84,8 @@ ++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) ++- -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) +++# not needed ? +++# -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++ install_unix : diff --git a/app-office/openoffice/files/1.1.5/nptl.patch b/app-office/openoffice/files/1.1.5/nptl.patch new file mode 100644 index 000000000000..996a7ceec67d --- /dev/null +++ b/app-office/openoffice/files/1.1.5/nptl.patch @@ -0,0 +1,25 @@ +--- tools/source/solar/solar.c.orig ++++ tools/source/solar/solar.c +@@ -577,7 +577,7 @@ + + { + char* p = NULL; +- InfoMemoryAccess( p ); ++ /*InfoMemoryAccess( p );*/ + p = (char*)&p; + InfoMemoryAccess( p ); + InfoMemoryTypeAccess( t_short ); +*** sal/osl/unx/process.c.orig +--- sal/osl/unx/process.c +@@ -1017,11 +1017,6 @@ + for (i = 0; data.m_pszEnv[i] != NULL; i++) + putenv(data.m_pszEnv[i]); + +-#if defined(LINUX) +- /* mfe: linux likes to have just one thread when the exec family is called */ +- /* this np function has this purpose ... */ +- pthread_kill_other_threads_np(); +-#endif + OSL_TRACE("ChildStatusProc : starting '%s'",data.m_pszArgs[0]); + + /* Connect std IO to pipe ends */ diff --git a/app-office/openoffice/files/1.1.5/ooffice-wrapper-1.3 b/app-office/openoffice/files/1.1.5/ooffice-wrapper-1.3 new file mode 100644 index 000000000000..78b242ca2c9a --- /dev/null +++ b/app-office/openoffice/files/1.1.5/ooffice-wrapper-1.3 @@ -0,0 +1,197 @@ +#!/bin/sh +# +# Wrapper script for openoffice +# +# (C) Peter 'Nidd' Novodvorsky, 2001,2002 +# (C) Martin 'empty' Quinson, 2002. +# Modifications by Chris Halls +# Modifications by Lucien Saviot + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# this string should be exactly as in ~/.sversionrc +PV=<pv> +OOVERSION="OpenOffice.org ${PV}" + +## +## Source system configuration file +## +[ -r /etc/openoffice/openoffice.conf ] && . /etc/openoffice/openoffice.conf + +# Migration to new user install dir +if [ -d "$HOME/.openoffice/1.1.4" ] ; then + mv $HOME/.openoffice/1.1.4 $HOME/.openoffice/1.1.5 + sed -i -e s/'.openoffice\/1.1.4'/'.openoffice\/1.1.5'/g $HOME/.sversionrc + sed -i -e s/1.1.4/1.1.5/g $HOME/.openoffice/1.1.5/user/basic/*.xlc + echo "Your user install dir has been moved over to the new version" +fi + +#Make smooth up- and downgrading between minor versions possible +if [ -e "$HOME/.sversionrc" ] ; then + sed -i -e s/1.1.4/1.1.5/g $HOME/.sversionrc +fi + +if [ ! -f "/proc/version" ] ; then + echo "--- Warning - OO.o will not work without a mounted /proc filesystem ---" +fi + +### +### Get user settings directory from ~/.sversionrc and echo directory name to stdout +### get_settings_dir <Version> +### return: 0 - directory found, +### 1 - ~/.sversionrc non existent +### 2 - entry exists in ~/.sversionrc but directory not found +### 3 - ~/.sversionrc exists but no entry found +get_settings_dir() +{ + [ -r ${HOME}/.sversionrc ] || exit 1 + # warning, .sversionrc is DOS encoded so strip ^M + settings_dir="`tr -d '\r' < ~/.sversionrc | sed -n "/^$1=/s%^$1=file://\(.*\)$%\1%p"`" + echo "$settings_dir" + [ -n "$settings_dir" ] || exit 3 + [ -d "$settings_dir" ] || exit 2 +} + +## +## where does OO live for this user ? +## +OOHOME="`get_settings_dir "$OOVERSION"`" +if [ $? -eq 2 ] ; then + # .sversionrc contains a version yet the directory does not exist + echo "I'm confused because I can't find OpenOffice's user files." + echo "Your ~/.sversionrc file tells they should be under $OOHOME," + echo "but they are not. Please fix the situation manually." + echo "You may want to edit ~/.sversionrc to indicate where is OO" + echo "installed, or remove it if you did remove your installation" + echo "directory manually (you bad one)." + exit 1 +fi + +## +## Add /usr/share/fonts to font search path +## + +# Default font path. This is used if SAL_FONTPATH_PRIVATE is not defined. + +GENTOO_FONTPATH="" +for d in `find /usr/share/fonts -maxdepth 1 -mindepth 1 -type d` ; do + GENTOO_FONTPATH="$GENTOO_FONTPATH;$d" +done + +SAL_FONTPATH_PRIVATE=${SAL_FONTPATH_PRIVATE:-"$GENTOO_FONTPATH"} +export SAL_FONTPATH_PRIVATE + +## search LOCALE +if [ -n "$LC_ALL" ]; then + LOCALE="$LC_ALL" + # OOo doesn't understand LC_ALL, so set LANG + LANG="$LC_ALL" +elif [ -n "$LANG" ]; then + LOCALE="$LANG" +elif [ -n "$LC_MESSAGES" ]; then + LOCALE="$LC_MESSAGES" + LANG="$LC_MESSAGES" +else + LOCALE="en_US" +fi + +# Set locale to en_US if locale is C +if [ "x$LOCALE" = "xC" ] ; then LOCALE="en_US"; fi + +LOCALEOO=`echo $LOCALE | sed 's/_/-/'` + +## +## install OO for this user if needed +## +if [ -z "$OOHOME" ] ; then + if [ -e /etc/openoffice/autoresponse-<pv>.conf ] && \ + grep -q DESTINATIONPATH /etc/openoffice/autoresponse-<pv>.conf ; then + + # first install + OOHOME=`grep DESTINATIONPATH /etc/openoffice/autoresponse-<pv>.conf | \ + sed -e 's/DESTINATIONPATH=//' -e "s|<home>|$HOME|"` + + if [ -d "$OOHOME" ]; then + echo "openoffice.org: You have no entry for $OOVERSION in ~/.sversionrc, " + echo "yet the directory $OOHOME exists." + echo "Please remove $OOHOME and try again." + exit 1 + fi + + echo "running openoffice.org setup..." + if ! /opt/OpenOffice.org/program/setup -R:/etc/openoffice/autoresponse-<pv>.conf >& /dev/null; then + echo "setup failed.. abort" + exit 1 + fi + + echo "Setup complete. Running openoffice.org..." + +else + echo "openoffice.org: Damnit! I can't find OpenOffice's user files. Did you break" + echo "the /etc/openoffice/autoresponse-<pv>.conf file manually ?" + echo "This file should contain DESTINATIONPATH" + exit 1 + fi +fi + +## +## If no file is specified on the command line, which application to start? +## The wrapper can be called from several links in /usr/bin +## +if [ $# = 0 ]; then + case `basename $0` in + oocalc) set -- private:factory/scalc;; + oodraw) set -- private:factory/sdraw;; + ooimpress) set -- private:factory/simpress;; + oomath) set -- private:factory/smath;; + ooweb) set -- private:factory/swriter/web;; + oowriter) set -- private:factory/swriter;; + oomaster) set -- private:factory/swriter/Global;; + esac +fi + +## Previous dead installation? +[ -d $HOME/.openoffice/user ] && echo "Warning: you have a user settings directory from 1.0.0 in ~/.openoffice/user - this is no longer used" + +# Check whether the programs actually link to anything, or are from an old +# version. + +if [ ! -s $OOHOME/setup ]; then + echo "${OOHOME}/setup links to nothing, resetting link" + ln -sf /opt/OpenOffice.org/program/setup ${OOHOME}/setup +fi +if [ ! -s $OOHOME/soffice ]; then + echo "${OOHOME}/soffice links to nothing, resetting link" + ln -sf /opt/OpenOffice.org/program/soffice ${OOHOME}/soffice +fi +if [ ! -s $OOHOME/spadmin ]; then + echo "${OOHOME}/spadmin links to nothing, resetting link" + ln -sf /opt/OpenOffice.org/program/soffice ${OOHOME}/spadmin +fi + + +## +## That's it. Launch the beast (with the given args) +## +LANG=$LOCALE +export LANG +case `basename $0` in + oosetup) exec "$OOHOME/setup" + ;; + oopadmin) exec "$OOHOME/spadmin" + ;; + *) exec "$OOHOME/soffice" "$@" + ;; +esac diff --git a/app-office/openoffice/files/1.1.5/openoffice-java.patch b/app-office/openoffice/files/1.1.5/openoffice-java.patch new file mode 100644 index 000000000000..46a6e9734aa6 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/openoffice-java.patch @@ -0,0 +1,36 @@ +diff -urN oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOAddInCreateIterator.java oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOAddInCreateIterator.java +--- oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOAddInCreateIterator.java 2004-02-10 01:00:11.000000000 +0100 ++++ oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOAddInCreateIterator.java 2004-02-09 11:19:53.000000000 +0100 +@@ -200,7 +200,7 @@ + index--; + } + +- public org.openide.WizardDescriptor$Panel current() { ++ public org.openide.WizardDescriptor.Panel current() { + return panels[index]; + } + +diff -urN oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOIDLWizardIterator.java oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOIDLWizardIterator.java +--- oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOIDLWizardIterator.java 2004-02-10 01:00:48.000000000 +0100 ++++ oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOIDLWizardIterator.java 2004-02-09 11:20:15.000000000 +0100 +@@ -207,7 +207,7 @@ + index--; + } + +- public org.openide.WizardDescriptor$Panel current() ++ public org.openide.WizardDescriptor.Panel current() + { + return panels[index]; + } +diff -urN oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOServiceCreateIterator.java oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOServiceCreateIterator.java +--- oo_1.1_src.orig/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOServiceCreateIterator.java 2004-02-10 01:01:29.000000000 +0100 ++++ oo_1.1_src/odk/source/OOSupport/org/netbeans/modules/openoffice/wizard/OOServiceCreateIterator.java 2004-02-09 11:20:35.000000000 +0100 +@@ -214,7 +214,7 @@ + index--; + } + +- public org.openide.WizardDescriptor$Panel current() { ++ public org.openide.WizardDescriptor.Panel current() { + return panels[index]; + } + diff --git a/app-office/openoffice/files/1.1.5/pthreadlink-fix.patch b/app-office/openoffice/files/1.1.5/pthreadlink-fix.patch new file mode 100644 index 000000000000..ffd0a647faa8 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/pthreadlink-fix.patch @@ -0,0 +1,32 @@ +diff -ur solenv.orig/inc/unxlngi4.mk solenv/inc/unxlngi4.mk +--- solenv.orig/inc/unxlngi4.mk 2004-10-23 20:07:59.714144264 +0200 ++++ solenv/inc/unxlngi4.mk 2004-10-23 20:08:36.190599000 +0200 +@@ -151,13 +151,13 @@ + LINK*=$(CC) + + # default linker flags +-LINKFLAGSDEFS*=-z defs ++LINKFLAGSDEFS*=-Wl,-z,defs + LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' +-LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) ++LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) + + # linker flags for linking applications +-LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +-LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec ++LINKFLAGSAPPGUI= -Wl,-export-dynamic ++LINKFLAGSAPPCUI= -Wl,-export-dynamic + + # linker flags for linking shared libraries + LINKFLAGSSHLGUI= -shared +@@ -198,8 +198,8 @@ + + LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive + +-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++ +-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) ++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lpthread -lstdc++ ++LIBSTLPORTST=$(STATIC) -lstlport_gcc -lpthread $(DYNAMIC) + + #FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) + diff --git a/app-office/openoffice/files/1.1.5/pyunolink-fix.patch b/app-office/openoffice/files/1.1.5/pyunolink-fix.patch new file mode 100644 index 000000000000..6d8ce6323868 --- /dev/null +++ b/app-office/openoffice/files/1.1.5/pyunolink-fix.patch @@ -0,0 +1,14 @@ +--- pyuno.orig/source/module/makefile.mk 2005-01-18 11:59:23.462336464 +0100 ++++ pyuno/source/module/makefile.mk 2005-01-18 11:59:42.289474304 +0100 +@@ -82,9 +82,9 @@ + # so this library cannot be checked + SHL1NOCHECK=yes + PYUNORC=pyunorc +-.IF "$(OS)"=="SOLARIS" || "$(OS)"=="MACOSX" ++#.IF "$(OS)"=="SOLARIS" || "$(OS)"=="MACOSX" + PYTHONLIB=-lpython +-.ENDIF ++#.ENDIF + .ELSE + # on windows, the python executable also uses the shared library, + # so we link pyuno directly to it diff --git a/app-office/openoffice/files/digest-openoffice-1.1.5 b/app-office/openoffice/files/digest-openoffice-1.1.5 new file mode 100644 index 000000000000..d34f4d2ebceb --- /dev/null +++ b/app-office/openoffice/files/digest-openoffice-1.1.5 @@ -0,0 +1,5 @@ +MD5 1c8e860adae05087a53bdba5646962a9 OOo_1.1.5_src.tar.gz 223418209 +MD5 4c01c84f1212369ceb369567ed06d1a2 STLport-4.6.2.tar.gz 755958 +MD5 072736926e5c04aba26b2fedaaf413fb LINUXGCCPinc.zip 4145981 +MD5 6cfa9ea26afd1effaee4497a7c82ef89 LINUXGCCPlib.zip 496451 +MD5 e77e91543d95353f742942af8f8d01b3 LINUXGCCPruntime.zip 2533976 diff --git a/app-office/openoffice/openoffice-1.1.5.ebuild b/app-office/openoffice/openoffice-1.1.5.ebuild new file mode 100644 index 000000000000..7b6554ceed98 --- /dev/null +++ b/app-office/openoffice/openoffice-1.1.5.ebuild @@ -0,0 +1,557 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/openoffice-1.1.5.ebuild,v 1.1 2005/09/14 20:05:04 suka Exp $ + +# Notes: +# +# This will take a HELL of a long time to compile, be warned. +# According to openoffice.org, it takes approximately 12 hours on a +# P3/600 with 256mb ram. And thats where building is its only task. +# +# It takes about 6 hours on my P4 1.8 with 512mb memory, and the +# build only needs about 2.1GB of disk space - Azarah. +# +# You will also need a bucketload of diskspace ... in the order of +# 4-5 gb free to store all the compiled files and installation +# directories. +# +# The information on how to build and what is required comes from: +# http://www.openoffice.org/dev_docs/source/build_linux.html +# http://tools.openoffice.org/ext_comp.html +# +# Todo: +# +# Get support going for installing a custom language pack. Also +# need to be able to install more than one language pack. + +inherit eutils fdo-mime flag-o-matic toolchain-funcs + +IUSE="curl hardened java kde nptl zlib" + +INSTDIR="/opt/OpenOffice.org" +S="${WORKDIR}/OOo_${PV}" +DESCRIPTION="OpenOffice.org, a full office productivity suite." + +SRC_URI="mirror://openoffice/stable/${PV}/OOo_${PV}_src.tar.gz + http://www.stlport.org/archive/STLport-4.6.2.tar.gz + ppc? ( http://www.openoffice.org/files/documents/111/2112/LINUXGCCPinc.zip + http://www.openoffice.org/files/documents/111/2113/LINUXGCCPlib.zip + http://www.openoffice.org/files/documents/111/2114/LINUXGCCPruntime.zip )" + +HOMEPAGE="http://www.openoffice.org/" + +LICENSE="|| ( LGPL-2 SISSL-1.1 )" +SLOT="0" +KEYWORDS="~x86 ~ppc -sparc" + +RDEPEND="!app-office/openoffice-bin + virtual/x11 + virtual/libc + virtual/lpr + >=dev-lang/perl-5.0 + >=media-libs/libart_lgpl-2.3.13 + >=x11-libs/startup-notification-0.5 + >=media-libs/freetype-2.1.4 + app-arch/zip + app-arch/unzip + dev-libs/expat + java? ( >=virtual/jre-1.4.1 ) + ppc? ( >=sys-devel/gcc-3.2.1 ) + linguas_ja? ( >=media-fonts/kochi-substitute-20030809-r3 ) + linguas_zh_CN? ( >=media-fonts/arphicfonts-0.1-r2 ) + linguas_zh_TW? ( >=media-fonts/arphicfonts-0.1-r2 )" + +DEPEND="${RDEPEND} + >=sys-apps/findutils-4.1.20-r1 + app-shells/tcsh + dev-util/pkgconfig + curl? ( net-misc/curl ) + zlib? ( sys-libs/zlib ) + sys-libs/pam + !dev-util/dmake + java? ( >=virtual/jdk-1.4.1 ) + !java? ( dev-libs/libxslt )" + +PROVIDE="virtual/ooo" + +pkg_setup() { + + if use java + then + if [ -z "${JDK_HOME}" ] || [ ! -d "${JDK_HOME}" ] + then + eerror "In order to compile java sources you have to set the" + eerror "\$JDK_HOME environment properly." + eerror "" + eerror "You can achieve this by using the java-config tool:" + eerror " emerge java-config" + die "Couldn't find a valid JDK home" + fi + fi + + ewarn + ewarn " It is important to note that OpenOffice.org is a very fragile " + ewarn " build when it comes to CFLAGS. A number of flags have already " + ewarn " been filtered out. If you experience difficulty merging this " + ewarn " package and use agressive CFLAGS, lower the CFLAGS and try to " + ewarn " merge again. " + ewarn + ewarn " Please note that this package now uses the LINGUAS environment " + ewarn " variable to provide localization. The old LANGUAGE=ENUS|PORT..." + ewarn " system does NOT work anymore." + ewarn + ewarn " If you want localized helpcontent, please download the correct file " + ewarn " for your language from an OpenOffice.org-mirror " + ewarn " (directory /contrib/helpcontent/ e.g.) and put it in your " + ewarn " /usr/portage/distfiles, the ebuild will use it automatically. " + ewarn + + set_languages +} + +set_languages () { + + strip-linguas en pt ru el nl fr es fi hu ca it cs sk da sv nb no pl de sl pt_BR th et ja ko zh_CN zh_TW tr hi_IN ar he + if [ -n "${LINGUAS}" ] ; then + # use the leftmost value + temp_lang=( ${LINGUAS} ) + primary_lang=${temp_lang[0]} + else + primary_lang="en" + fi + + case "${primary_lang}" in + en ) OOLANGNO=01; OOLANGNAME=ENUS; OOLFULLNAME="US English (default)" + ;; + pt ) OOLANGNO=03; OOLANGNAME=PORT; OOLFULLNAME=Portuguese + ;; + ru ) OOLANGNO=07; OOLANGNAME=RUSS; OOLFULLNAME=Russian + ;; + el ) OOLANGNO=30; OOLANGNAME=GREEK; OOLFULLNAME=Greek + ;; + nl ) OOLANGNO=31; OOLANGNAME=DTCH; OOLFULLNAME=Dutch + ;; + fr ) OOLANGNO=33; OOLANGNAME=FREN; OOLFULLNAME=French + ;; + es ) OOLANGNO=34; OOLANGNAME=SPAN; OOLFULLNAME=Spanish + ;; + fi ) OOLANGNO=35; OOLANGNAME=FINN; OOLFULLNAME=Finnish + ;; + hu ) OOLANGNO=36; OOLANGNAME=HUNG; OOLFULLNAME=Hungarian + ;; + ca ) OOLANGNO=37; OOLANGNAME=CAT; OOLFULLNAME=Catalan + ;; + it ) OOLANGNO=39; OOLANGNAME=ITAL; OOLFULLNAME=Italian + ;; + cs ) OOLANGNO=42; OOLANGNAME=CZECH; OOLFULLNAME=Czech + ;; + sk ) OOLANGNO=43; OOLANGNAME=SLOVAK; OOLFULLNAME=Slovak + ;; + da ) OOLANGNO=45; OOLANGNAME=DAN; OOLFULLNAME=Danish + ;; + sv ) OOLANGNO=46; OOLANGNAME=SWED; OOLFULLNAME=Swedish + ;; + no ) OOLANGNO=47; OOLANGNAME=NORBOK; OOLFULLNAME="Norwegian" + ;; + pl ) OOLANGNO=48; OOLANGNAME=POL; OOLFULLNAME=Polish + ;; + de ) OOLANGNO=49; OOLANGNAME=GER; OOLFULLNAME=German + ;; + sl ) OOLANGNO=50; OOLANGNAME=SLOVENIAN; OOLFULLNAME=Slovenian + ;; + pt_BR ) OOLANGNO=55; OOLANGNAME=PORTBR; OOLFULLNAME="Portuguese brazilian" + ;; + th ) OOLANGNO=66; OOLANGNAME=THAI; OOLFULLNAME=Thai + ;; + et ) OOLANGNO=77; OOLANGNAME=ESTONIAN; OOLFULLNAME=Estonian + ;; + ja ) OOLANGNO=81; OOLANGNAME=JAPN; OOLFULLNAME="Japanese" + ;; + ko ) OOLANGNO=82; OOLANGNAME=KOREAN; OOLFULLNAME=Korean + ;; + zh_CN ) OOLANGNO=86; OOLANGNAME=CHINSIM; OOLFULLNAME="Simplified Chinese (PRC)" + ;; + zh_TW ) OOLANGNO=88; OOLANGNAME=CHINTRAD; OOLFULLNAME="Traditional Chinese (taiwan)" + ;; + tr ) OOLANGNO=90; OOLANGNAME=TURK; OOLFULLNAME=Turkish + ;; + hi_IN ) OOLANGNO=91; OOLANGNAME=HINDI; OOLFULLNAME=Hindi + ;; + ar ) OOLANGNO=96; OOLANGNAME=ARAB; OOLFULLNAME=Arabic + ;; + he ) OOLANGNO=97; OOLANGNAME=HEBREW; OOLFULLNAME=Hebrew + ;; + esac + + einfo "Installing OpenOffice.org for ${OOLFULLNAME} environment." + +} + +oo_setup() { + + unset LANGUAGE + unset LANG + unset LC_ALL + + if [ -x /usr/sbin/gcc-config ] + then + # Do we have a gcc that use the new layout and gcc-config ? + if /usr/sbin/gcc-config --get-current-profile &> /dev/null + then + export GCC_PROFILE="$(/usr/sbin/gcc-config --get-current-profile)" + + # Just recheck gcc version ... + if [ "$(gcc-version)" != "3.2" ] && [ "$(gcc-version)" != "3.3" ] && [ "$(gcc-version)" != "3.4" ] + then + # See if we can get a gcc profile we know is proper ... + if /usr/sbin/gcc-config --get-bin-path ${CHOST}-3.2.1 &> /dev/null + then + export PATH="$(/usr/sbin/gcc-config --get-bin-path ${CHOST}-3.2.1):${PATH}" + export GCC_PROFILE="${CHOST}-3.2.1" + else + eerror "This build needs gcc-3.2, gcc-3.3 or gcc-3.4!" + eerror + eerror "Use gcc-config to change your gcc profile:" + eerror + eerror " # gcc-config $CHOST-3.2.1" + eerror + eerror "or whatever gcc version is relevant." + die + fi + fi + fi + fi +} + +src_unpack() { + + oo_setup + + cd ${WORKDIR} + unpack ${A} + cd ${S} + + # Fix for missing ppc mozilla includes bug #71268 + if use ppc; then + cp ${DISTDIR}/LINUXGCCPinc.zip ${S}/moz/zipped || die + cp ${DISTDIR}/LINUXGCCPlib.zip ${S}/moz/zipped || die + cp ${DISTDIR}/LINUXGCCPruntime.zip ${S}/moz/zipped || die + fi + + #Still needed: The STLport patch + cp ${DISTDIR}/STLport-4.6.2.tar.gz ${S}/stlport/download || die + epatch ${FILESDIR}/${PV}/newstlportfix.patch + + epatch ${FILESDIR}/${PV}/gcc-instlib.patch + + #Another java problem + epatch ${FILESDIR}/${PV}/javafix.patch + + # fix for bug #84548 + epatch ${FILESDIR}/${PV}/getcompver.awk.patch + + # Workaround for bug #73940, may break debug use flag on ppc + if use ppc; then + epatch ${FILESDIR}/${PV}/STLport-vector.patch + fi + + #Fixes for nptl + if use nptl; then + epatch ${FILESDIR}/${PV}/nptl.patch + fi + + #Fix for newer Freetype + epatch ${FILESDIR}/${PV}/freetype-217.patch + + epatch ${FILESDIR}/${PV}/openoffice-java.patch + + #GCC 3.4 fixes, also needed for hardened + epatch ${FILESDIR}/${PV}/gcc34.patch.bz2 + epatch ${FILESDIR}/${PV}/gcc34-sal-link-to-libsupc++.diff + use !java && epatch ${FILESDIR}/${PV}/gcc34-nojava-fix.patch + + #Fixes for hardened + if use hardened; then + epatch ${FILESDIR}/${PV}/pthreadlink-fix.patch + epatch ${FILESDIR}/${PV}/hardened-link.patch + epatch ${FILESDIR}/${PV}/pyunolink-fix.patch + fi + + #Do our own branding by setting gentoo linux as the vendor + sed -i -e "s,\(//\)\(.*\)\(my company\),\2Gentoo Linux," ${S}/offmgr/source/offapp/intro/ooo.src || die +} + +get_EnvSet() { + + # Determine what Env file we should be using (Az) + export LinuxEnvSet="LinuxIntelEnv.Set.sh" + use sparc && export LinuxEnvSet="LinuxSparcEnv.Set.sh" + use ppc && export LinuxEnvSet="LinuxPPCEnv.Set.sh" + use alpha && export LinuxEnvSet="LinuxAlphaEnv.Set.sh" + + # Get build specific stuff (Az) + export SOLVER="$(awk '/^UPD=/ {gsub(/\"/, ""); gsub(/UPD=/, ""); print $0}' ${LinuxEnvSet})" + export SOLPATH="$(awk '/^INPATH=/ {gsub(/\"/, ""); gsub(/INPATH=/, ""); print $0}' ${LinuxEnvSet})" +} + +src_compile() { + + unset LIBC + addpredict /bin + addpredict /root/.gconfd + export MYCONF="" + + #Check if we use java + if use java + then + MYCONF="${MYCONF} --with-jdk-home=${JAVA_HOME}" + else + MYCONF="${MYCONF} --disable-java" + fi + + #See if we use system-curl + if use curl + then + MYCONF="${MYCONF} --with-system-curl" + fi + + #See if we use system-zlib + if use zlib + then + MYCONF="${MYCONF} --with-system-zlib" + fi + + # Do NOT compile with a external STLport, as gcc-2.95.3 users will + # get linker errors due to the ABI being different (STLport will be + # compiled with 2.95.3, while OO is compiled with 3.x). (Az) + cd ${S}/config_office + rm -f config.cache || die + autoconf || die + + if [ "OOLANGNAME" != "ENUS" ]; then + OOLANGNAME="${OOLANGNAME},ENUS" + fi + + use sparc && MYCONF="${MYCONF} --disable-mozilla" + + MYCONF="${MYCONF} --enable-libart \ + --enable-libsn \ + --with-lang=${OOLANGNAME} \ + --without-fonts \ + --with-system-freetype" + + ./configure ${MYCONF} || die + + cd ${S} + get_EnvSet + + # unpack help files if present + if [ -f ${DISTDIR}/helpcontent_${OOLANGNO}_unix.tgz ]; then + einfo "Using helpcontent for ${OOLFULLNAME}" + mkdir -p ${S}/solver/${SOLVER}/${SOLPATH}/pck + tar -xzf ${DISTDIR}/helpcontent_${OOLANGNO}_unix.tgz -C ${S}/solver/${SOLVER}/${SOLPATH}/pck + fi + + # Build as minimal as possible + export BUILD_MINIMAL="${OOLANGNO}" + + # Embedded python dies without Home set + if test "z${HOME}" = "z"; then + export HOME="" + fi + + #Get info for parallel build + export JOBS=`echo "${MAKEOPTS}" | sed -e "s/.*-j\([0-9]\+\).*/\1/"` + + if [ "${JOBS}" -gt 10 ] + then + export JOBS="10" + einfo "dmake fails with too much parallel jobs, so limiting to 10" + fi + + export buildcmd="${S}/solenv/bin/build.pl --all product=full strip=true --dlv_switch link" + + # Should the build use multiprocessing? Not enabled by default, as it tends to break + if [ "${WANT_DISTCC}" == "true" ] + then + if [ "${JOBS}" -gt 1 ] + then + export buildcmd="${buildcmd} -P${JOBS}" + einfo "Using distcc, Good Luck" + fi + fi + + # Compile problems with these ... + filter-flags "-funroll-loops" + filter-flags "-fomit-frame-pointer" + filter-flags "-fprefetch-loop-arrays" + filter-flags "-fno-default-inline" + filter-flags "-fstack-protector" + filter-flags "-ftracer" + append-flags "-fno-strict-aliasing" + replace-flags "-O3" "-O2" + replace-flags "-Os" "-O2" + + if [ "$(gcc-version)" == "3.2" ]; then + einfo "You use a buggy gcc, so replacing -march=pentium4 with -march=pentium3" + replace-flags "-march=pentium4" "-march=pentium3 -mcpu=pentium4" + fi + + # Now for our optimization flags ... + export CXXFLAGS="${CXXFLAGS} -fno-for-scope -fpermissive -fno-rtti" + perl -pi -e "s|^CFLAGSOPT=.*|CFLAGSOPT=${CFLAGS}|g" \ + ${S}/solenv/inc/unxlngi4.mk + perl -pi -e "s|^CFLAGSCXX=.*|CFLAGSCXX=${CXXFLAGS}|g" \ + ${S}/solenv/inc/unxlngi4.mk + + if [ -z "$(grep 'CCCOMP' ${S}/${LinuxEnvSet})" ] + then + # Set CCCOMP and CXXCOMP. This is still needed for STLport + export CCCOMP="$(tc-getCC)" + export CXXCOMP="$(tc-getCXX)" + fi + + einfo "Bootstrapping OpenOffice.org..." + # Get things ready for bootstrap (Az) + chmod 0755 ${S}/solenv/bin/*.pl + # Bootstrap ... + ./bootstrap || die + + einfo "Building OpenOffice.org..." + echo "source ${S}/${LinuxEnvSet} && cd ${S}/instsetoo && LINK=g++ ${buildcmd}" > build.sh + sh build.sh || die "Build failed!" + + [ -d ${S}/instsetoo/${SOLPATH} ] || die "Cannot find build directory!" +} + +src_install() { + + # Sandbox issues; bug #11838 + addpredict "/user" + addpredict "/share" + addpredict "/dev/dri" + addpredict "/usr/bin/soffice" + addpredict "/pspfontcache" + addpredict "/opt/OpenOffice.org/foo.tmp" + addpredict "/opt/OpenOffice.org/delme" + + # The install part should now be relatively OK compared to + # what it was. Basically we use autoresponse files to install + # unattended. Afterwards we + # just cleanout ${D} from the registry, etc. This way we + # do not need pre-generated registry, and also fixes some weird + # bugs related to the old way we did things. + # + # <azarah@gentoo.org> (9 Sep 2002) + + # Autoresponse file for main installation + cat > ${T}/rsfile-global <<-"END_RS" + [ENVIRONMENT] + INSTALLATIONMODE=INSTALL_NETWORK + INSTALLATIONTYPE=STANDARD + DESTINATIONPATH=<destdir> + OUTERPATH= + LOGFILE= + LANGUAGELIST=<LANGUAGE> + + [JAVA] + JavaSupport=preinstalled_or_none + END_RS + + # Autoresponse file for user installation + cat > ${T}/rsfile-local <<-"END_RS" + [ENVIRONMENT] + INSTALLATIONMODE=INSTALL_WORKSTATION + INSTALLATIONTYPE=WORKSTATION + DESTINATIONPATH=<home>/.openoffice/<pv> + + [JAVA] + JavaSupport=none + END_RS + + # Fixing install location in response file + sed -e "s|<destdir>|${D}${INSTDIR}|" \ + ${T}/rsfile-global > ${T}/autoresponse || die + + einfo "Installing OpenOffice.org into build root..." + dodir ${INSTDIR} + cd ${S}/instsetoo/${SOLPATH}/${OOLANGNO}/normal + ./setup -v -noexit -nogui -r:${T}/autoresponse || die "Setup failed" + + einfo "Removing build root from registry..." + # Remove totally useless stuff. + rm -f ${D}${INSTDIR}/program/{setup.log,sopatchlevel.sh} || die + # Remove build root from registry and co + egrep -rl "${D}" ${D}${INSTDIR}/* | \ + xargs -i perl -pi -e "s|${D}||g" {} || : + + einfo "Fixing permissions..." + # Fix permissions + find ${D}${INSTDIR}/ -type f -exec chmod a+r {} \; + chmod a+x ${D}${INSTDIR}/share/config/webcast/*.pl + + # Install user autoresponse file + insinto /etc/openoffice + sed -e "s|<pv>|${PV}|g" ${T}/rsfile-local > ${T}/autoresponse-${PV}.conf + doins ${T}/autoresponse-${PV}.conf + + # Install wrapper script + exeinto /usr/bin + sed -e "s|<pv>|${PV}|g" \ + ${FILESDIR}/${PV}/ooffice-wrapper-1.3 > ${T}/ooffice + doexe ${T}/ooffice + + # Component symlinks + for app in calc draw impress math web writer setup padmin; do + dosym ooffice /usr/bin/oo${app} + done + + einfo "Installing menu shortcuts..." + dodir /usr/share + cp -pPR ${D}${INSTDIR}/share/kde/net/share/icons ${D}/usr/share + + use kde && cp -pPR ${D}${INSTDIR}/share/kde/net/share/mimelnk ${D}/usr/share + + for x in ${D}${INSTDIR}/share/kde/net/*.desktop; do + # We have to handle soffice and setup differently + sed -i -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x} + sed -i -e "s:${INSTDIR}/program/soffice:/usr/bin/ooffice:g" ${x} + # Now fix the rest + sed -i -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x} + echo "Categories=Application;Office;" >> ${x} + domenu ${x} + rm ${x} + done + + # Remove unneeded stuff + rm -rf ${D}${INSTDIR}/share/cde || die + + # Fix instdb.ins, to *not* install local copies of these + for entry in Kdeapplnk Kdemimetext Kdeicons Gnome_Apps Gnome_Icons Gnome2_Apps; do + perl -pi -e "/^File gid_File_Extra_$entry/ .. /^End/ and (\ + s|^\tSize\s+\= .*|\tSize\t\t = 0;\r| or \ + s|^\tArchiveFiles\s+\= .*|\tArchiveFiles\t = 0;\r| or \ + s|^\tArchiveSize\s+\= .*|\tArchiveSize\t = 0;\r| or \ + s|^\tContains\s+\= .*|\tContains\t = ();\r| or \ + s|\t\t\t\t\t\".*|\r|g)" \ + ${D}${INSTDIR}/program/instdb.ins + done + + # Make sure these do not get nuked. + keepdir ${INSTDIR}/user/registry/res/en-us/org/openoffice/{Office,ucb} ${INSTDIR}/user/psprint/{driver,fontmetric} ${INSTDIR}/user/{autocorr,backup,plugin,store,temp,template} +} + +pkg_postinst() { + + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + + einfo " To start OpenOffice.org, run:" + einfo + einfo " $ ooffice" + einfo + einfo " Also, for individual components, you can use any of:" + einfo + einfo " oocalc, oodraw, ooimpress, oomath, ooweb or oowriter" +} + |