summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Proschofsky <suka@gentoo.org>2004-11-14 10:55:01 +0000
committerAndreas Proschofsky <suka@gentoo.org>2004-11-14 10:55:01 +0000
commit5d65a241c8854c8c40ce590cc083c10298832f15 (patch)
tree9a2a180ea18d33d1009d5805c9165a11ac0a7622 /app-office
parentNew patch version, also this should now compile fine with gcc 3.4.x (Manifest... (diff)
downloadgentoo-2-5d65a241c8854c8c40ce590cc083c10298832f15.tar.gz
gentoo-2-5d65a241c8854c8c40ce590cc083c10298832f15.tar.bz2
gentoo-2-5d65a241c8854c8c40ce590cc083c10298832f15.zip
New revision which should build fine with gcc 3.4
Diffstat (limited to 'app-office')
-rw-r--r--app-office/openoffice/ChangeLog11
-rw-r--r--app-office/openoffice/files/1.1.3/gcc34-nojava-fix.patch11
-rw-r--r--app-office/openoffice/files/1.1.3/gcc34-nptl-fix.patch14
-rw-r--r--app-office/openoffice/files/1.1.3/gcc34.patch.bz2bin0 -> 34342 bytes
-rw-r--r--app-office/openoffice/files/1.1.3/newstlportfix2.patch100
-rw-r--r--app-office/openoffice/files/digest-openoffice-1.1.3-r12
-rw-r--r--app-office/openoffice/openoffice-1.1.3-r1.ebuild526
7 files changed, 663 insertions, 1 deletions
diff --git a/app-office/openoffice/ChangeLog b/app-office/openoffice/ChangeLog
index ba52b0d12d23..d9ba9b381aae 100644
--- a/app-office/openoffice/ChangeLog
+++ b/app-office/openoffice/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-office/openoffice
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.88 2004/11/11 23:28:16 suka Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.89 2004/11/14 10:55:01 suka Exp $
+
+*openoffice-1.1.3-r1 (14 Nov 2004)
+
+ 14 Nov 2004; suka@gentoo.org +files/1.1.3/gcc34-nojava-fix.patch,
+ +files/1.1.3/gcc34-nptl-fix.patch, +files/1.1.3/gcc34.patch.bz2,
+ +files/1.1.3/newstlportfix2.patch, +openoffice-1.1.3-r1.ebuild:
+ This should now compile fine with gcc 3.4.x, the credit for this goes mostly
+ to Hanno Meyer-Thurow (h.mth@web.de), thanks a lot. Java check is also gone
+ as this should now also work fine with other jdks than blackdown.
12 Nov 2004; suka@gentoo.org openoffice-1.0.3-r2.ebuild,
openoffice-1.1.0-r4.ebuild, openoffice-1.1.1-r1.ebuild,
diff --git a/app-office/openoffice/files/1.1.3/gcc34-nojava-fix.patch b/app-office/openoffice/files/1.1.3/gcc34-nojava-fix.patch
new file mode 100644
index 000000000000..73017c1bae19
--- /dev/null
+++ b/app-office/openoffice/files/1.1.3/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.3/gcc34-nptl-fix.patch b/app-office/openoffice/files/1.1.3/gcc34-nptl-fix.patch
new file mode 100644
index 000000000000..3e3360b2f422
--- /dev/null
+++ b/app-office/openoffice/files/1.1.3/gcc34-nptl-fix.patch
@@ -0,0 +1,14 @@
+--- ./sal/osl/unx/process.c.orig 2003-07-02 15:34:17.000000000 +0200
++++ ./sal/osl/unx/process.c 2004-11-01 15:16:40.976815960 +0100
+@@ -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.3/gcc34.patch.bz2 b/app-office/openoffice/files/1.1.3/gcc34.patch.bz2
new file mode 100644
index 000000000000..2c3a4e355949
--- /dev/null
+++ b/app-office/openoffice/files/1.1.3/gcc34.patch.bz2
Binary files differ
diff --git a/app-office/openoffice/files/1.1.3/newstlportfix2.patch b/app-office/openoffice/files/1.1.3/newstlportfix2.patch
new file mode 100644
index 000000000000..f88927669a7b
--- /dev/null
+++ b/app-office/openoffice/files/1.1.3/newstlportfix2.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/digest-openoffice-1.1.3-r1 b/app-office/openoffice/files/digest-openoffice-1.1.3-r1
new file mode 100644
index 000000000000..49e03f6f735b
--- /dev/null
+++ b/app-office/openoffice/files/digest-openoffice-1.1.3-r1
@@ -0,0 +1,2 @@
+MD5 9df288bb534964d4b96efdf7bf029456 OOo_1.1.3-1_source.tar.gz 215360913
+MD5 4c01c84f1212369ceb369567ed06d1a2 STLport-4.6.2.tar.gz 755958
diff --git a/app-office/openoffice/openoffice-1.1.3-r1.ebuild b/app-office/openoffice/openoffice-1.1.3-r1.ebuild
new file mode 100644
index 000000000000..a5c388f54af6
--- /dev/null
+++ b/app-office/openoffice/openoffice-1.1.3-r1.ebuild
@@ -0,0 +1,526 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/openoffice-1.1.3-r1.ebuild,v 1.1 2004/11/14 10:55:01 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 flag-o-matic eutils gcc
+
+IUSE="gnome kde java curl nptl zlib"
+
+LOC="/opt"
+INSTDIR="${LOC}/OpenOffice.org"
+S="${WORKDIR}/OOo_${PV}_src"
+DESCRIPTION="OpenOffice.org, a full office productivity suite."
+SRC_URI="mirror://openoffice/stable/${PV}/OOo_${PV}-1_source.tar.gz
+ http://www.stlport.org/archive/STLport-4.6.2.tar.gz"
+HOMEPAGE="http://www.openoffice.org/"
+
+LICENSE="|| ( LGPL-2 SISSL-1.1 )"
+SLOT="0"
+KEYWORDS="~x86"
+
+RDEPEND="!app-office/openoffice-bin
+ >=sys-libs/glibc-2.1
+ !=sys-libs/glibc-2.3.1*
+ >=dev-lang/perl-5.0
+ >=media-libs/libart_lgpl-2.3.13
+ >=x11-libs/startup-notification-0.5
+ >=media-libs/freetype-2.1.4
+ virtual/x11
+ app-arch/zip
+ app-arch/unzip
+ dev-libs/expat
+ java? ( >=virtual/jre-1.4.1 )
+ virtual/lpr
+ ppc? ( >=sys-libs/glibc-2.2.5-r7
+ >=sys-devel/gcc-3.2.1 )"
+
+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 )"
+
+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 " This version should now also compile fine with gcc 3.4.x "
+ ewarn " If you encounter problems in relation to this, please report "
+ ewarn " them to http://bugs.gentoo.org "
+ 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. "
+
+ 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=31; 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
+ unset LC_ALL
+
+ # We want gcc3 if possible!!!!
+ export WANT_GCC_3="yes"
+
+ 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" ] && [ "$(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}
+
+ #Still needed: The STLport patch
+ cd ${S}
+ cp ${DISTDIR}/STLport-4.6.2.tar.gz ${S}/stlport/download || die
+ epatch ${FILESDIR}/${PV}/newstlportfix2.patch
+
+ epatch ${FILESDIR}/${PV}/openoffice-java.patch
+
+ epatch ${FILESDIR}/${PV}/gcc-instlib.patch
+
+ # GCC 3.4.x fixes
+ if [ "$(gcc-version)" = "3.4" ]
+ then
+ epatch ${FILESDIR}/${PV}/gcc34.patch.bz2
+ use !java && epatch ${FILESDIR}/${PV}/gcc34-nojava-fix.patch
+ use nptl && epatch ${FILESDIR}/${PV}/gcc34-nptl-fix.patch
+ 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
+
+ #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 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() {
+
+ addpredict /bin
+ addpredict /root/.gconfd
+ local buildcmd=""
+ 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)
+ einfo "Configuring OpenOffice.org with language support for ${LFULLNAME}..."
+ cd ${S}/config_office
+ rm -f config.cache
+
+ if [ "LANGNAME" != "ENUS" ]; then
+ LANGNAME="${LANGNAME},ENUS"
+ fi
+
+ use sparc && MYCONF="${MYCONF} --disable-mozilla"
+
+ MYCONF="${MYCONF} --enable-libart \
+ --with-lang=${LANGNAME} \
+ --enable-libsn \
+ --without-fonts \
+ --with-system-freetype"
+
+ ./configure ${MYCONF} || die
+
+ cd ${S}
+ get_EnvSet
+
+ # 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"
+
+ # Should the build use multiprocessing?
+ # We use build.pl directly, as dmake tends to segfault. (Az)
+ if [ "${ECPUS}" -gt 1 ]
+ then
+ buildcmd="${S}/solenv/bin/build.pl --all -P${ECPUS} product=full strip=true --dlv_switch link"
+ else
+ buildcmd="${S}/solenv/bin/build.pl --all product=full strip=true --dlv_switch link"
+ fi
+
+ if [ -z "$(grep 'CCCOMP' ${S}/${LinuxEnvSet})" ]
+ then
+ # Set CCCOMP and CXXCOMP. This is still needed for STLport
+ export CCCOMP="$(gcc-getCC)"
+ export CXXCOMP="$(gcc-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}/${LANGNO}/normal
+ ./setup -v -noexit -nogui -r:${T}/autoresponse || die "Setup failed"
+
+ echo
+ 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
+
+ # Fix symlinks
+ for x in "soffice program/spadmin" \
+ "program/setup setup" \
+ "program/spadmin spadmin"
+ do
+ dosym $(echo ${x} | awk '{print $1}') \
+ ${INSTDIR}/$(echo ${x} | awk '{print $2}')
+ done
+
+ # 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 writer web setup padmin; do
+ dosym ooffice /usr/bin/oo${app}
+ done
+
+ einfo "Installing Menu shortcuts (need \"gnome\" or \"kde\" in USE)..."
+ if use gnome
+ then
+ insinto /usr/share/gnome/apps/OpenOffice.org
+ # Install the files needed for the catagory
+ doins ${D}${INSTDIR}/share/gnome/net/.directory
+ doins ${D}${INSTDIR}/share/gnome/net/.order
+
+ # Change this to ooo*.desktop from *.desktop for now, since
+ # otherwise two sets of icons will appear in the GNOME menu.
+ # <brad@gentoo.org> (04 Aug 2003)
+ for x in ${D}${INSTDIR}/share/gnome/net/ooo*.desktop
+ do
+ # We have to handle soffice and setup differently
+ perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x}
+ perl -pi -e "s:${INSTDIR}/program/soffice:/usr/bin/ooffice:g" ${x}
+ # Now fix the rest
+ perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x}
+ doins ${x}
+ done
+ fi
+
+ if use kde
+ then
+ local kdeloc="${D}${INSTDIR}/share/kde/net/"
+
+ insinto /usr/share/applnk/OpenOffice.org\ 1.1
+ # Install the files needed for the catagory
+ doins ${kdeloc}/.directory
+ dodir /usr/share
+ # Install the icons and mime info
+ cp -a ${D}${INSTDIR}/share/kde/net/share/mimelnk ${D}${INSTDIR}/share/kde/net/share/icons ${D}/usr/share
+
+ for x in ${kdeloc}/*.desktop
+ do
+ # We have to handle soffice and setup differently
+ perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x}
+ perl -pi -e "s:${INSTDIR}/program/soffice:/usr/bin/ooffice:g" ${x}
+ # Now fix the rest
+ perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x}
+ doins ${x}
+ done
+ fi
+
+ # Do not actually install the desktop bindings for users, we have
+ # installed them globally
+ for module in gid_Module_Optional_Gnome gid_Module_Optional_Kde gid_Module_Optional_Cde
+ do
+ perl -pi -e "/^Module $module/ .. /^End/ and s|(Installed.*)=.*|\1= NO;|" \
+ ${D}${INSTDIR}/program/instdb.ins
+ done
+
+
+
+ # Remove unneeded stuff
+ rm -rf ${D}${INSTDIR}/share/cde
+
+ # 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() {
+
+ 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"
+}
+