diff options
author | Paul de Vrieze <pauldv@gentoo.org> | 2003-11-04 11:12:04 +0000 |
---|---|---|
committer | Paul de Vrieze <pauldv@gentoo.org> | 2003-11-04 11:12:04 +0000 |
commit | 670da05e4f0ec11c8c6fee7c0fc5b5a39c168157 (patch) | |
tree | 923fa3bba21a508b5077e392d36f4fabd90a51c9 /app-office | |
parent | Add initial openoffice-ximian ebuild (diff) | |
download | gentoo-2-670da05e4f0ec11c8c6fee7c0fc5b5a39c168157.tar.gz gentoo-2-670da05e4f0ec11c8c6fee7c0fc5b5a39c168157.tar.bz2 gentoo-2-670da05e4f0ec11c8c6fee7c0fc5b5a39c168157.zip |
Add initial openoffice-ximian ebuild
Diffstat (limited to 'app-office')
9 files changed, 1288 insertions, 1 deletions
diff --git a/app-office/openoffice-ximian/Manifest b/app-office/openoffice-ximian/Manifest index 71f5b1adbe3b..f8218af7e803 100644 --- a/app-office/openoffice-ximian/Manifest +++ b/app-office/openoffice-ximian/Manifest @@ -1,4 +1,4 @@ -MD5 7368723dde9d4cb4088cedb318dacb9b openoffice-ximian-1.1.0.ebuild 19297 +MD5 1af334871274fd307a38cc9b93f26d47 openoffice-ximian-1.1.0.ebuild 19418 MD5 06b11dad767b42f319fd60d1c369619e files/digest-openoffice-ximian-1.1.0 212 MD5 57dffa4a9df0ca77ebcca05122634d9e files/1.1.0/newstlportfix.patch 10867 MD5 028fbe21a2c72ae662729ed63a72cd80 files/1.1.0/solar_segfix.patch 577 diff --git a/app-office/openoffice-ximian/files/1.1.0/config.patch b/app-office/openoffice-ximian/files/1.1.0/config.patch new file mode 100644 index 000000000000..190b28d4c782 --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/config.patch @@ -0,0 +1,14 @@ +--- config_office/configure.in 2003-08-13 17:14:51.000000000 +0200 ++++ config_office/configure.in 2003-08-13 17:14:51.000000000 +0200 +@@ -499,11 +499,6 @@ + + if test "$_gcc_major" = "3"; then + USE_GCC3="TRUE" +- if test "$_gcc_longver" -eq "030203"; then +- if test ENABLE_SYMBOLS -eq "SMALL"; then +- AC_MSG_ERROR([version "$_gcc_version" gives internal error with small.]) +- fi +- fi + else + USE_GCC3="FALSE" + if test "$_gcc_longver" -lt "029502"; then diff --git a/app-office/openoffice-ximian/files/1.1.0/fixed-gcc.patch b/app-office/openoffice-ximian/files/1.1.0/fixed-gcc.patch new file mode 100644 index 000000000000..3f2ee40700af --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/fixed-gcc.patch @@ -0,0 +1,16 @@ +--- config_office/configure.orig 2003-08-13 15:03:11.000000000 +0200 ++++ config_office/configure 2003-08-13 15:03:46.000000000 +0200 +@@ -2895,13 +2895,6 @@ + + if test "$_gcc_major" = "3"; then + USE_GCC3="TRUE" +- if test "$_gcc_longver" -eq "030203"; then +- { { echo "$as_me:$LINENO: error: found version \"$_gcc_version\" +- gives internal error, use another version please." >&5 +-echo "$as_me: error: found version \"$_gcc_version\" +- gives internal error, use another version please." >&2;} +- { (exit 1); exit 1; }; } +- fi + else + USE_GCC3="FALSE" + if test "$_gcc_longver" -lt "029502"; then diff --git a/app-office/openoffice-ximian/files/1.1.0/newstlportfix.patch b/app-office/openoffice-ximian/files/1.1.0/newstlportfix.patch new file mode 100644 index 000000000000..9b195c50e49f --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/newstlportfix.patch @@ -0,0 +1,301 @@ +--- stlport/STLport-4.5.3.patch Thu Jan 1 02:00:00 1970 ++++ stlport/STLport-4.5.3.patch Tue Sep 10 22:50:10 2002 +@@ -0,0 +1,247 @@ ++*** misc/STLport-4.5.3/src/fstream.cpp Tue Sep 4 19:10:12 2001 ++--- misc/build/STLport-4.5.3/src/fstream.cpp Fri Jan 11 17:22:40 2002 ++*************** ++*** 293,299 **** ++ #ifdef __MINGW32__ ++ __MINGW_IMPORT ioinfo * __pioinfo[]; ++ #else ++! extern _CRTIMP ioinfo * __pioinfo[]; ++ #endif ++ ++ } // extern "C" ++--- 293,299 ---- ++ #ifdef __MINGW32__ ++ __MINGW_IMPORT ioinfo * __pioinfo[]; ++ #else ++! extern __declspec( dllimport ) ioinfo * __pioinfo[]; ++ #endif ++ ++ } // extern "C" ++*** misc/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:48:44 2002 ++--- misc/build/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:47:21 2002 ++*************** ++*** 1 **** ++! dummy ++--- 1,59 ---- ++! # ++! # Note : this makefile is for gcc-3 ! ++! # ++! ++! # ++! # compiler ++! # ++! CC = $(CCCOMP) ++! CXX = $(CXXCOMP) -D_REENTRANT -fexceptions ++! ++! # ++! # Basename for libraries ++! # ++! LIB_BASENAME = libstlport_gcc ++! ++! # ++! # guts for common stuff ++! # ++! # ++! LINK=ar cr ++! DYN_LINK=$(CXX) --fexceptions -shared -o ++! ++! OBJEXT=o ++! DYNEXT=so ++! STEXT=a ++! RM=rm -rf ++! PATH_SEP=/ ++! MKDIR=mkdir -p ++! COMP=GCC$(ARCH) ++! INSTALL_STEP = install_unix ++! ++! all: all_dynamic all_static symbolic_links ++! ++! include common_macros.mak ++! ++! WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32 ++! ++! CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS} ++! ++! CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -fPIC ++! CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC ++! ++! CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -fPIC ++! CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC ++! ++! CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG ++! CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG ++! ++! include common_percent_rules.mak ++! include common_rules.mak ++! ++! ++! #install: all ++! # cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib ++! ++! #%.s: %.cpp ++! # $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@ ++! ++! ++*** misc/STLport-4.5.3/src/vc6.mak Mon Jul 30 00:18:15 2001 ++--- misc/build/STLport-4.5.3/src/vc6.mak Fri Jan 11 17:41:08 2002 ++*************** ++*** 10,16 **** ++ COMP=VC6 ++ ++ # EXTRA_COMMON_FLAGS=/D "_MBCS" ++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" ++ EXTRA_DEBUG_FLAGS= ++ EXTRA_NDEBUG_FLAGS= ++ ++--- 10,16 ---- ++ COMP=VC6 ++ ++ # EXTRA_COMMON_FLAGS=/D "_MBCS" ++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" /D "_NTSDK" /D "_CRTIMP=" ++ EXTRA_DEBUG_FLAGS= ++ EXTRA_NDEBUG_FLAGS= ++ ++*** misc/STLport-4.5.3/src/vc_common.mak Tue Sep 4 19:10:12 2001 ++--- misc/build/STLport-4.5.3/src/vc_common.mak Fri Jan 11 12:48:14 2002 ++*************** ++*** 62,68 **** ++ LDFLAGS_RELEASE=/opt:ref ++ ++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON) ++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /dll /incremental:no ++ ++ ++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch ++--- 62,68 ---- ++ LDFLAGS_RELEASE=/opt:ref ++ ++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON) ++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /nodefaultlib oldnames.lib kernel32.lib /dll /incremental:no ++ ++ ++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch ++*************** ++*** 79,87 **** ++ ++ ++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" ++ ++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV ++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++--- 79,87 ---- ++ ++ ++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)" ++ ++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV ++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)" ++*************** ++*** 95,101 **** ++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch ++ ++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++ ++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res ++--- 95,101 ---- ++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch ++ ++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static) ++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) msvcrt.lib /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)" ++ ++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res ++*** misc/STLport-4.5.3/stlport/stdexcept Tue May 22 02:50:21 2001 ++--- misc/build/STLport-4.5.3/stlport/stdexcept Mon Jan 14 18:26:09 2002 ++*************** ++*** 49,54 **** ++--- 49,59 ---- ++ ++ _STLP_BEGIN_NAMESPACE ++ +++ /* maybe limit to gcc 3.x */ +++ #if defined( __GNUC__) +++ #define _STLP_NOTHROW_INHERENTLY throw() +++ #endif +++ ++ class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE { ++ public: ++ __Named_exception(const string& __str) ++*** misc/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:04 2002 ++--- misc/build/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:56 2002 ++*************** ++*** 226,233 **** ++ ++ # if (__GNUC__ >= 3) ++ ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 ++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward ++ ++ # elif (__GNUC_MINOR__ < 8) ++ ++--- 226,233 ---- ++ ++ # if (__GNUC__ >= 3) ++ ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 ++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward ++ ++ # elif (__GNUC_MINOR__ < 8) ++ ++*************** ++*** 285,298 **** ++ # if defined(__DJGPP) ++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx ++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97) ++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3 ++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) ) ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3 ++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ ) ++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess ++ // depending on a platform ++ # ifdef __hpux ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3 ++ # else ++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2 ++ # endif ++--- 285,298 ---- ++ # if defined(__DJGPP) ++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx ++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97) ++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3 ++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) ) ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v32 ++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ ) ++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess ++ // depending on a platform ++ # ifdef __hpux ++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 ++ # else ++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2 ++ # endif ++*** misc/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:41:05 2002 ++--- misc/build/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:39:45 2002 ++*************** ++*** 84,90 **** ++ $(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) ++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++ install_unix : ++--- 84,90 ---- ++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT) ++! -ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT) ++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT) ++ ++ install_unix : +--- stlport/makefile.mk Tue Sep 10 22:38:00 2002 ++++ stlport/makefile.mk Tue Sep 10 22:39:11 2002 +@@ -72,8 +72,8 @@ + # --- Files -------------------------------------------------------- + .EXPORT : CC CXX + .IF "$(COMID)"=="gcc3" +- TARFILE_NAME=STLport-4.5 +- PATCH_FILE_NAME=$(MISC)$/STLport-4.5.patch ++ TARFILE_NAME=STLport-4.5.3 ++ PATCH_FILE_NAME=$(MISC)$/STLport-4.5.3.patch + .ELSE # "$(COMID)"=="gcc3" + .IF "$(OS)"=="MACOSX" + # [ed] For gcc2, we need to use STLport 4.0. 4.5 will not compile with gcc2 on OS X. +@@ -90,8 +90,8 @@ + TARFILE_NAME=STLport-4.0 + PATCH_FILE_NAME=STLport-4.0.patch + .ELSE # "$(CCNUMVER)"<="001300000000" +-TARFILE_NAME=STLport-4.5-0119 +-PATCH_FILE_NAME=STLport-4.5-0119.patch ++TARFILE_NAME=STLport-4.5.3 ++PATCH_FILE_NAME=STLport-4.5.3 + .ENDIF # "$(CCNUMVER)"<="001300000000" + .ENDIF + +@@ -150,8 +150,8 @@ + .ENDIF + + .IF "$(OS)"=="IRIX" +-TARFILE_NAME=STLport-4.5 +-PATCH_FILE_NAME=$(MISC)$/STLport-4.5.patch ++TARFILE_NAME=STLport-4.5.3 ++PATCH_FILE_NAME=$(MISC)$/STLport-4.5.3.patch + BUILD_ACTION=gmake + BUILD_FLAGS=-f gcc-3.0.mak + BUILD_FLAGS+= -j$(MAXPROCESS) +@@ -189,10 +189,10 @@ + .INCLUDE : target.mk + .INCLUDE : tg_ext.mk + +-$(PACKAGE_DIR)$/$(PATCH_FLAG_FILE) : $(MISC)$/STLport-4.5.patch ++$(PACKAGE_DIR)$/$(PATCH_FLAG_FILE) : $(MISC)$/STLport-4.5.3.patch + +-$(MISC)$/STLport-4.5.patch : STLport-4.5.patch +- +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.patch > $(MISC)$/STLport-4.5.patch ++$(MISC)$/STLport-4.5.3.patch : STLport-4.5.3.patch ++ +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.3.patch > $(MISC)$/STLport-4.5.3.patch + + .IF "$(GUI)"=="WNT" + .IF "$(CCNUMVER)"<="001300000000" + + diff --git a/app-office/openoffice-ximian/files/1.1.0/oo_1.1-nptl.patch b/app-office/openoffice-ximian/files/1.1.0/oo_1.1-nptl.patch new file mode 100644 index 000000000000..71763726ba14 --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/oo_1.1-nptl.patch @@ -0,0 +1,20 @@ +--- sal/osl/unx/semaphor.c 2003-08-28 10:24:23.736357952 +0100 ++++ sal/osl/unx/semaphor.c 2003-08-28 10:24:26.260974152 +0100 +@@ -79,7 +79,7 @@ + /* osl_createSemaphore */ + /*****************************************************************************/ + +-#ifdef LINUX ++#if 0 + /* sem_t from glibc-2.1 (/usr/include/semaphore.h) */ + + typedef struct { +@@ -100,7 +100,7 @@ + * larger of both + * XXX + */ +-#ifdef LINUX ++#if 0 + if ( sizeof(glibc_21_sem_t) > sizeof(sem_t) ) + Semaphore= malloc(sizeof(glibc_21_sem_t)); + else diff --git a/app-office/openoffice-ximian/files/1.1.0/ooffice-wrapper-1.3 b/app-office/openoffice-ximian/files/1.1.0/ooffice-wrapper-1.3 new file mode 100644 index 000000000000..bd03c5bdfeee --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/ooffice-wrapper-1.3 @@ -0,0 +1,266 @@ +#!/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 + +### +### 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 + +## +## Unset SESSION_MANAGER if gnome-session is the session manager +## See http://www.openoffice.org/issues/show_bug.cgi?id=4494 +## +SMPID=`echo $SESSION_MANAGER | sed --quiet "s,local.*/,,p"` +if [ -n "$SMPID" ] && [ -L /proc/"$SMPID"/exe ]; then + + SESMGR="`readlink -f /proc/$SMPID/exe`" + case "$SESMGR" in + /usr/bin/gnome-session*) + echo "Gnome session manager detected - session management disabled" + unset SESSION_MANAGER + ;; + esac +fi + +## +## Add known Debian fonts locations to search path +## +## Please report if you have problems with fonts, or know of non-defoma integrated packages that place fonts in other +## paths. +## + +# Default font path. This is used if SAL_FONTPATH_USER is not defined. +DEBOO_FONTPATH="/usr/lib/X11/fonts/misc/;/usr/lib/X11/fonts/cyrillic/;\ +/usr/lib/X11/fonts/100dpi/:unscaled;/usr/lib/X11/fonts/75dpi/:unscaled;\ +/usr/lib/X11/fonts/Type1/;/usr/lib/X11/fonts/CID;/usr/lib/X11/fonts/Speedo/;\ +/usr/lib/X11/fonts/100dpi/;/usr/lib/X11/fonts/75dpi/;\ +/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType;\ +/usr/lib/X11/fonts/TrueType;\ +/usr/share/fonts/truetype/kochi;\ +/usr/lib/X11/fonts/TrueType/larabie-straight;\ +/usr/lib/X11/fonts/TrueType/larabie-uncommon" + +SAL_FONTPATH_USER=${SAL_FONTPATH_USER:-"$DEBOO_FONTPATH"} +export SAL_FONTPATH_USER + +## 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 + +# Do not take old settings as migration results in broken behaviour +# +# UPDATEFLAG="" +# if oldhome="`get_settings_dir "OpenOffice.org 1.0.3"`" ; then +# OOHOME="$oldhome" +# echo "Using settings from 1.0.3: /${oldhome}" +# /bin/echo -e "OpenOffice.org <pv>=file://$oldhome\r" >> ~/.sversionrc +# UPDATEFLAG="-update:/$oldhome" +# fi + # 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 ${UPDATEFLAG} -R:/etc/openoffice/autoresponse-<pv>.conf >& /dev/null; then + echo "setup failed.. abort" + exit 1 + fi + + +# 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;; + oowriter) set -- private:factory/swriter;; + oohtml) set -- private:factory/swriter/web;; + 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" + +# There is no locale import file +## Change the ooLocale key in SETUPFILE acording to LOCALE +#TMPFILE=`mktemp -t oooLocale.XXXXXXXXXX` && { +# cat >${TMPFILE} <<EOF +#<?xml version="1.0" encoding="UTF-8"?> +#<oor:node xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Setup" oor:package="org.openoffice"> +# <node oor:name="L10N"> +# <prop oor:name="ooLocale" oor:type="xs:string"> +# <value>$LOCALEOO</value> +# </prop> +# </node> +#</oor:node> +#EOF +# ooconfigimport $TMPFILE >/dev/null +# rm -f ${TMPFILE} +#} + +# 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 +## Changelog +# 2003/04/01 halls +# * Version 1.1beta +# 2003/02/03 halls +# * Check for nonexistent ooLocale every run +# 2003/01/09 halls +# * Version 1.0.2 +# 12/15 saviot +# * Change ooLocale at startup in Setup.xml +# <ooLocale cfg:type="string"/> doesn't work for help. +# 12/03 challs +# * Add Debian font paths to user font path +# 11/14 saviot +# * correct handling of UI language +# * don't change Linguistic.xml after first startup(#168780) +# * TODO: provide better defaults on first startup +# 10/03 challs +# * Fix use with LC_ALL +# 07/10 challs +# * use 1.0.1 directory and improve error checking +# 07/02 challs +# * use readlink in /proc/PID/exe to get +# real session manager name +# 06/12 challs +# * merge into main package +# * change $@ to "$@" +# * source configuration file: +# /etc/openoffice/openoffice.conf +# 06/12 mquinson +# * strace only when DEBUG is set to yes +# * readd the $@ to pass the args to soffice +# 06/06 mquinson +# * Make sure the OLDLOCALE is never empty +# * handle the case where the locale is C diff --git a/app-office/openoffice-ximian/files/1.1.0/solar_segfix.patch b/app-office/openoffice-ximian/files/1.1.0/solar_segfix.patch new file mode 100644 index 000000000000..7278b6f9c117 --- /dev/null +++ b/app-office/openoffice-ximian/files/1.1.0/solar_segfix.patch @@ -0,0 +1,22 @@ +--- tools/source/solar/solar.c 2003-04-15 17:55:43.000000000 +0000 ++++ tools/source/solar/solar.c 2003-07-31 23:53:28.151632856 +0000 +@@ -577,7 +577,7 @@ + + { + char* p = NULL; +- InfoMemoryAccess( p ); ++ /*InfoMemoryAccess( p );*/ + p = (char*)&p; + InfoMemoryAccess( p ); + InfoMemoryTypeAccess( t_short ); +--- tools/workben/solar.c 2003-04-15 17:56:37.000000000 +0000 ++++ tools/workben/solar.c 2003-08-24 14:04:39.380218904 +0000 +@@ -439,7 +439,7 @@ + + { + char* p = NULL; +- CheckCharAccess( p ); ++ /*CheckCharAccess( p );*/ + p = (char*)&p; + CheckCharAccess( p ); + } diff --git a/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.0 b/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.0 new file mode 100644 index 000000000000..3d35791b3a5e --- /dev/null +++ b/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.0 @@ -0,0 +1,3 @@ +MD5 bec8b41089ebdad2831f3c456973ad4e OOo_1.1.0_source.tar.bz2 189164050 +MD5 1b1ac3685b82c487afafaf244c86a85e ooo-build-1.1.44.tar.gz 902912 +MD5 cc1db8528a70e18a674b09993d78e617 ooo-icons-OOO_1_1-5.tar.gz 1355399 diff --git a/app-office/openoffice-ximian/openoffice-ximian-1.1.0.ebuild b/app-office/openoffice-ximian/openoffice-ximian-1.1.0.ebuild new file mode 100644 index 000000000000..8dbc1a4cb03c --- /dev/null +++ b/app-office/openoffice-ximian/openoffice-ximian-1.1.0.ebuild @@ -0,0 +1,645 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-ximian/openoffice-ximian-1.1.0.ebuild,v 1.1 2003/11/04 11:11:58 pauldv Exp $ + +# IMPORTANT: This is extremely alpha!!! + +# 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 flag-o-matic eutils kernel-mod +# Compile problems with these ... +filter-flags "-funroll-loops" +filter-flags "-fomit-frame-pointer" +filter-flags "-fno-strict-aliasing" +replace-flags "-Os" "-O2" + +replace-flags "-O3" "-O2" + +# Enable Bytecode Interpreter for freetype ... +append-flags "-DTT_CONFIG_OPTION_BYTECODE_INTERPRETER" + +inherit gcc +# We want gcc3 if possible!!!! +export WANT_GCC_3="yes" + +inherit virtualx + +# Set $ECPUS to amount of processes multiprocessing build should use. +# NOTE: Setting this too high might cause dmake to segfault!! +# Setting this to anything but "1" on my pentium4 causes things +# to segfault :( +[ -z "${ECPUS}" ] && export ECPUS="1" + + +XIMIAN_VER=1.1.44 +PATCHLEVEL=OOO_1_1_0 +ICON_VER=OOO_1_1-5 +INSTDIR="/opt/Ximian-OpenOffice" +PATCHDIR=${WORKDIR}/ooo-build-${XIMIAN_VER} +ICONDIR=${WORKDIR}/ooo-icons-${ICON_VER} +S="${WORKDIR}/oo_${PV/1.1.0/1.1}_src" +DESCRIPTION="Ximian-ized version of OpenOffice.org, a full office productivity suite." +SRC_URI="mirror://openoffice/stable/${PV}/OOo_${PV}_source.tar.bz2 + http://ooo.ximian.com/packages/${PATCHLEVEL}/ooo-build-${XIMIAN_VER}.tar.gz + http://ooo.ximian.com/packages/ooo-icons-${ICON_VER}.tar.gz" + +HOMEPAGE="http://ooo.ximian.com" + +LICENSE="LGPL-2 | SISSL-1.1" +SLOT="0" +KEYWORDS="~x86" +IUSE="gnome kde nptl" + +RDEPEND=">=sys-libs/glibc-2.1 + !=sys-libs/glibc-2.3.1* + >=dev-lang/perl-5.0 + >=x11-libs/gtk+-2.0 + >=gnome-base/libgnome-2.2 + >=gnome-base/gnome-vfs-2.0 + >=net-print/libgnomecups-0.1.4 + >=net-print/gnome-cups-manager-0.16 + >=dev-libs/libxml2-2.0 + >=media-libs/libart_lgpl-2.3.13 + >=x11-libs/startup-notification-0.5 + media-fonts/ttf-bitstream-vera + media-libs/fontconfig + media-gfx/imagemagick + media-libs/libpng + sys-devel/flex + sys-devel/bison + virtual/x11 + app-arch/zip + app-arch/unzip + dev-libs/expat + >=virtual/jdk-1.4.1 + virtual/lpr + ppc? ( >=sys-libs/glibc-2.2.5-r7 + >=sys-devel/gcc-3.2.1 )" + +DEPEND="${RDEPEND} + app-shells/tcsh + !app-office/openoffice-bin + !app-office/openoffice + >=sys-apps/findutils-4.1.20-r1 + !sys-apps/star" + +# fix a bug with tcsh and dircolors +# +# Azarah -- 10 April 2002 +export LS_COLORS="" + + +pkg_setup() { + + if [ -z "$(echo ${JDK_HOME} | grep "blackdown")" ] && [ "${FORCE_JAVA}" != "yes" ] + then + eerror + eerror "This ebuild has only been tested with the blackdown port of" + eerror "java. If you use another java implementation, it could fail" + eerror "horribly, so please merge the blackdown-jdk and set it as" + eerror "system VM before proceeding:" + eerror + eerror " # emerge blackdown-jdk" + eerror " # java-config --set-system-vm=blackdown-jdk-<VERSION>" + eerror " # env-update" + eerror " # source /etc/profile" + eerror + eerror "Please adjust <VERSION> according to the version installed in" + eerror "/opt." + eerror + eerror "If you however want to test another JDK (not officially supported)," + eerror "you could do the following:" + eerror + eerror " # export FORCE_JAVA=yes" + eerror + die + 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 "****************************************************************" + + set_languages + +} + + +set_languages () { + if [ -z "$LANGUAGE" ]; then + LANGUAGE=01 + fi + case "$LANGUAGE" in + 01 | ENUS ) LANGNO=01; LANGNAME=ENUS; LFULLNAME="US English (default)" + ;; + 03 | PORT ) LANGNO=03; LANGNAME=PORT; LFULLNAME=Portuguese + ;; + 07 | RUSS ) LANGNO=07; LANGNAME=RUSS; LFULLNAME=Russian + ;; + 30 | GREEK ) LANGNO=30; LANGNAME=GREEK; LFULLNAME=Greek + ;; + 31 | DTCH ) LANGNO=03; LANGNAME=DTCH; LFULLNAME=Dutch + ;; + 33 | FREN ) LANGNO=33; LANGNAME=FREN; LFULLNAME=French + ;; + 34 | SPAN ) LANGNO=34; LANGNAME=SPAN; LFULLNAME=Spanish + ;; + 35 | FINN ) LANGNO=35; LANGNAME=FINN; LFULLNAME=Finnish + ;; + 37 | CAT ) LANGNO=37; LANGNAME=CAT; LFULLNAME=Catalan + ;; + 39 | ITAL ) LANGNO=39; LANGNAME=ITAL; LFULLNAME=Italian + ;; + 42 | CZECH ) LANGNO=42; LANGNAME=CZECH; LFULLNAME=Czech + ;; + 43 | SLOVAK ) LANGNO=43; LANGNAME=SLOVAK; LFULLNAME=Slovak + ;; + 45 | DAN ) LANGNO=45; LANGNAME=DAN; LFULLNAME=Danish + ;; + 46 | SWED ) LANGNO=46; LANGNAME=SWED; LFULLNAME=Swedish + ;; + 48 | POL ) LANGNO=48; LANGNAME=POL; LFULLNAME=Polish + ;; + 49 | GER ) LANGNO=49; LANGNAME=GER; LFULLNAME=German + ;; + 55 | PORTBR ) LANGNO=55; LANGNAME=PORTBR; LFULLNAME="Portuguese brazilian" + ;; + 66 | THAI ) LANGNO=66; LANGNAME=THAI; LFULLNAME=Thai + ;; + 77 | ESTONIAN ) LANGNO=77; LANGNAME=ESTONIAN; LFULLNAME=Estonian + ;; + 81 | JAPN ) LANGNO=81; LANGNAME=JAPN; LFULLNAME="Japanese" + ;; + 82 | KOREAN ) LANGNO=82; LANGNAME=KOREAN; LFULLNAME=Korean + ;; + 86 | CHINSIM ) LANGNO=86; LANGNAME=CHINSIM; LFULLNAME="Simplified Chinese (PRC)" + ;; + 88 | CHINTRAD ) LANGNO=88; LANGNAME=CHINTRAD; LFULLNAME="Traditional Chinese (taiwan)" + ;; + 90 | TURK ) LANGNO=90; LANGNAME=TURK; LFULLNAME=Turkish + ;; + 91 | HINDI ) LANGNO=91; LANGNAME=HINDI; LFULLNAME=Hindi + ;; + 96 | ARAB ) LANGNO=96; LANGNAME=ARAB; LFULLNAME=Arabic + ;; + 97 | HEBREW ) LANGNO=97; LANGNAME=HEBREW; LFULLNAME=Hebrew + ;; + * ) + eerror "Unknown LANGUAGE setting!" + eerror + eerror "Known LANGUAGE settings are:" + eerror " ENUS | PORT | RUSS | GREEK | DTCH | FREN | SPAN | FINN | CAT | ITAL |" + eerror " CZECH | SLOVAK | DAN | SWED | POL | GER | PORTBR | THAI | ESTONIAN |" + eerror " JAPN | KOREAN | CHINSIM | CHINTRAD | TURK | HINDI | ARAB | HEBREW" + die + ;; + esac +} + +oo_setup() { + + unset LANGUAGE + unset LANG + + export NEW_GCC="0" + + 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 NEW_GCC="1" + export GCC_PROFILE="$(/usr/sbin/gcc-config --get-current-profile)" + + # Just recheck gcc version ... + if [ "$(gcc-version)" != 3.2 -a "$(gcc-version)" != "3.3" ] + 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.1 or later!" + 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 + + export JAVA_BINARY="`which java`" +} + +src_unpack() { + + oo_setup + + cd ${WORKDIR} + unpack OOo_${PV}_source.tar.bz2 ooo-build-${XIMIAN_VER}.tar.gz ooo-icons-${ICON_VER}.tar.gz + + #Still needed: The STLport patch + cd ${S} + rm stlport/STLport-4.5.3.patch + epatch ${FILESDIR}/${PV}/newstlportfix.patch + + #Fix compilation with gcc 3.2.x + epatch ${FILESDIR}/${PV}/config.patch + + #Hopefully this fixes some of the compile problems + kernel-mod_getversion + cd ${S} + if [ "$KV_MAJOR" = "2" ] && [ "$KV_MINOR" -gt "4" ] + then + epatch ${FILESDIR}/${PV}/solar_segfix.patch + fi + + #Fixes compile problems with nptl + if use nptl + then + cd ${S} + epatch ${FILESDIR}/${PV}/oo_1.1-nptl.patch + fi + + einfo "Applying Ximian OO.org Patches" + ${PATCHDIR}/patches/apply.pl ${PATCHDIR}/patches/${PATCHLEVEL} ${S} -f --distro=Ximian || die "Ximian patches failed" + + einfo "Installing / Scaling Icons" + ${PATCHDIR}/bin/scale-icons ${S} + cp -avf ${ICONDIR}/* ${S} + + # Now for our optimization flags ... + perl -pi -e "s|^CFLAGSOPT=.*|CFLAGSOPT=${CFLAGS}|g" \ + ${S}/solenv/inc/unxlngi3.mk + perl -pi -e "s|^CFLAGSOPT=.*|CFLAGSOPT=${CFLAGS}|g" \ + ${S}/solenv/inc/unxlngi4.mk + + # Some makefiles are not multiprocess ready (Mandrake) + cd ${S}; einfo "Fixing makefiles for multiprocess builds..." + for x in io/source/stm dtrans/source/X11 idlc/source nas zlib toolkit/util \ + comphelper/util padmin/source svtools/util bridges/source/prot_uno \ + framework/util framework/source/unotypes + do + perl -pi -e "s/^(PRJNAME)/MAXPROCESS=1\n\1/" ${x}/makefile.mk + done + + #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 +} + +get_EnvSet() { + + # Determine what Env file we should be using (Az) + export LinuxEnvSet="LinuxIntelEnv.Set.sh" + use sparc && export LinuxEnvSet="LinuxSparcEnv.Set.sh" + use sparc64 && 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() { + + if [ "$(gcc-version)" = "3.2" ]; then + replace-flags "-march=pentium4" "-march=pentium3 -mcpu=pentium4" + fi + + addpredict /bin + local buildcmd="" + + set_languages + + oo_setup + + # Setup default compilers (We overide gcc2 if that is default here) + export CC="$(gcc-getCC)" + export CXX="$(gcc-getCXX)" + + # Enable ccache for this build (Az) + if [ "${FEATURES/-ccache/}" = "${FEATURES}" -a \ + "${FEATURES/ccache/}" != "${FEATURES}" -a \ + -d /usr/bin/ccache -a -x /usr/bin/ccache/ccache ] + then + # Build uses its own env with $PATH, etc, so + # we take the easy way out. (Az) + export CC="/usr/bin/ccache/ccache ${CC}" + export CXX="/usr/bin/ccache/ccache ${CXX}" + + # Enable new ccache for this build + elif [ "${FEATURES/-ccache/}" = "${FEATURES}" -a \ + "${FEATURES/ccache/}" != "${FEATURES}" -a \ + -x /usr/bin/ccache -a ! -d /usr/bin/ccache ] + then + einfo "We're using ccache for this build..." + # Build uses its own env with $PATH, etc, so + # we take the easy way out. (Az) + export CC="/usr/bin/ccache ${CC}" + export CXX="/usr/bin/ccache ${CXX}" + fi + + # Enable distcc for this build (Az) + if [ "${FEATURES/-distcc/}" = "${FEATURES}" -a \ + "${FEATURES/distcc/}" != "${FEATURES}" -a \ + -x /usr/bin/distcc ] + then + einfo "We're using distcc for this build..." + # Do not bump ECPUS if the user did not touch it, as currently + # it -PP do not work properly (segfaulting). (Az) + [ "$(echo ${DISTCC_HOSTS} | wc -w)" -gt 1 -a "${ECPUS}" -qt 1 ] && \ + export ECPUS="$(echo ${DISTCC_HOSTS} | wc -w)" + + export CC="distcc ${CC}" + export CXX="distcc ${CXX}" + fi + + # dmake security patch + cd ${S}/dmake + autoconf || die + + # 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) + einfo "Configuring OpenOffice.org with language support for ${LFULLNAME}..." + cd ${S}/config_office + rm -f config.cache + autoconf + if [ "LANGNAME" != "ENUS" ]; then + LANGNAME="${LANGNAME},ENUS" + fi + ./configure \ + --enable-libart \ + --enable-libsn \ + --enable-crashdump=no \ + --with-lang=${LANGNAME} \ + --without-fonts \ + --with-jdk-home=${JAVA_HOME} \ + --disable-rpath || die + + cd ${S} + get_EnvSet + + # Build as minimal as possible + export BUILD_MINIMAL="${LANGNO}" + # Fix for Java + export LANG="C" + + # Do not include /usr/include in header search path, and + # same thing for internal gcc include dir, as gcc3 handles + # it correctly by default! (Az) + perl -pi -e "s| -I/usr/include||g" ${LinuxEnvSet} +# perl -pi -e "s| -I$(gcc-libpath)/include||g" ${LinuxEnvSet} + + if [ "${NEW_GCC}" -eq "1" ] + then + local gcc_path="$(/usr/sbin/gcc-config --get-bin-path ${GCC_PROFILE})" + + # Setup path for new gcc layout in $LinuxEnvSet, else the build + # environment will not find gcc ... (Az) + perl -pi -e "s|PATH \.:\$SOLARVER|PATH \.:${gcc_path}:\$SOLARVER|" ${LinuxEnvSet} + # New builds start quoting stuff ... + perl -pi -e "s|PATH \"\.:\$SOLARVER|PATH \"\.:${gcc_path}:\$SOLARVER|" ${LinuxEnvSet} + fi + + # Should the build use multiprocessing? + if [ "${ECPUS}" -gt 1 ] + then + buildcmd="${S}/solenv/bin/build.pl --all -P ${ECPUS} product=full" + else + buildcmd="${S}/solenv/bin/build.pl --all product=full" + fi + + if [ -z "$(grep 'CCCOMP' ${S}/${LinuxEnvSet})" ] + then + # Set CCCOMP and CXXCOMP. This is still needed for STLport + export CCCOMP=${CC} + export CXXCOMP=${CXX} + fi + + if [ "$(gcc-major-version)" -eq 3 ] + then + mkdir -p ${S}/solver/${SOLVER}/${SOLPATH}/{lib,inc} + + einfo "Installing GCC related libs..." + # Workaround for missing libs with GCC3 (thanks to Debian) (Az) + cd ${S}/solver/${SOLVER}/${SOLPATH}/lib + cp $(gcc-libpath)/libstdc++.so.$(gcc-libstdcxx-major-version)* . || \ + die "Could not copy gcc-libs!" + cp $(gcc-libpath)/libgcc_s.so* . || die "Could not copy gcc-libs!" + cd ${S} + fi + + einfo "Bootstrapping OpenOffice.org..." + # Get things ready for bootstrap (Az) + chmod 0755 ${S}/solenv/bin/*.pl + mkdir -p ${S}/solver/${SOLVER}/${SOLPATH}/inc + touch ${S}/solver/${SOLVER}/${SOLPATH}/inc/minormkchanged.flg + # Bootstrap ... + ./bootstrap + + if [ "$(gcc-major-version)" -eq 3 ] + then + local LIBFILE="$(readlink `gcc-libpath`/libstdc++.so.`gcc-libstdcxx-major-version`)" + local LIBVERSION="$(echo ${LIBFILE} | sed -e 's|libstdc++\.so\.||g')" + # Get this beast to use the right version of libstdc++ ... (Az) + echo "LIBSTDCPP3:=${LIBVERSION}" >> \ + ${S}/solver/${SOLVER}/${SOLPATH}/inc/comp_ver.mk + cd ${S} + fi + + einfo "Building OpenOffice.org..." + # Setup virtualmake + export maketype="sh" + echo "source ${S}/${LinuxEnvSet} && cd ${S}/instsetoo && ${buildcmd}" > build.sh + # Build needs X to compile! (Az) + virtualmake build.sh || die "Build failed!" + +# einfo "Building Language Pack" + # Setup virtualmake +# export maketype="sh" +# echo "source ${S}/${LinuxEnvSet} && cd ${S}/instsetoo && ${buildcmd} --from instsetoo -- instsetext=${LANGNO}" > buildlang.sh + # Build needs X to compile! (Az) +# virtualmake buildlang.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" + + # This allows us to change languages without editing the ebuild. + # + # languages1="ENUS,FREN,GERM,SPAN,ITAL,DTCH,PORT,SWED,POL,RUSS" + # languages2="DAN,GREEK,TURK,CHINSIM,CHINTRAD,JAPN,KOREAN,CZECH,CAT" + # + # Supported languages for localized help files + # + # helplangs="ENUS,FREN,GERM,SPAN,ITAL,SWED" + # + set_languages + + get_EnvSet + + # The install part should now be relatively OK compared to + # what it was. Basically we use autoresponse files to install + # unattended, running under a Xvfb if needed. 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 + + einfo "Installing OpenOffice.org into build root..." + dodir ${INSTDIR} + cd ${S}/instsetoo/${SOLPATH}/${LANGNO}/normal + # Setup virtualmake + export maketype="./setup" + # We need X to install... + virtualmake "-v -noexit -r:${T}/autoresponse" + + echo + einfo "Removing build root from registy..." + # Remove totally useless stuff. + rm -f ${D}${INSTDIR}/program/{setup.log,sopatchlevel.sh} + # 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 + + # Fix symlinks + dosym program/setup ${INSTDIR}/setup + + # 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 + dosym ooffice /usr/bin/oocalc + dosym ooffice /usr/bin/oodraw + dosym ooffice /usr/bin/ooimpress + dosym ooffice /usr/bin/oomath + dosym ooffice /usr/bin/oowriter + dosym ooffice /usr/bin/ooweb + dosym ooffice /usr/bin/oosetup + + # Install ximian icons + cd ${PATCHDIR}/desktop/ + insinto /usr/share/pixmaps + doins *.png + + einfo "Installing Menu shortcuts (need \"gnome\" or \"kde\" in USE)..." + cd ${PATCHDIR}/desktop + rm -f *1.1* + if [ -n "`use gnome`" ] + then + insinto /usr/share/gnome/apps/OpenOffice.org + doins *.desktop + fi + + # Unneeded, as they get installed into /usr/share... + # They are needed else user installation fails. +# rm -rf ${D}${INSTDIR}/share/{cde,gnome,kde} + rm -rf ${D}${INSTDIR}/share/cde +# +# for f in ${D}/usr/share/gnome/apps/OpenOffice.org/* ; do +# echo 'Categories=Application;Office;' >> ${f} +# done + + # Make sure these do not get nuked. + keepdir ${INSTDIR}/user/registry/res/en-us/org/openoffice/{Office,ucb} + keepdir ${INSTDIR}/user/psprint/{driver,fontmetric} + keepdir ${INSTDIR}/user/{autocorr,backup,plugin,store,temp,template} +} + +pkg_postinst() { + + einfo "******************************************************************" + 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" + einfo + einfo " If the fonts appear garbled in the user interface refer to " + einfo " Bug 8539, or http://www.openoffice.org/FAQs/fontguide.html#8" + einfo + einfo "******************************************************************" +} |