summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul de Vrieze <pauldv@gentoo.org>2003-11-09 16:18:34 +0000
committerPaul de Vrieze <pauldv@gentoo.org>2003-11-09 16:18:34 +0000
commit475db3d4c79430c219337c0c228190aaf1285f5e (patch)
treeacef28d863410ffccc9e737af6a53d2eed9fc90f /app-office
parentoops mark ~ (diff)
downloadgentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.tar.gz
gentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.tar.bz2
gentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.zip
Add -fno-stric-aliasing to make excel import work
Diffstat (limited to 'app-office')
-rw-r--r--app-office/openoffice/ChangeLog7
-rw-r--r--app-office/openoffice/Manifest40
-rw-r--r--app-office/openoffice/files/digest-openoffice-1.1.0-r23
-rw-r--r--app-office/openoffice/openoffice-1.1.0-r2.ebuild651
4 files changed, 681 insertions, 20 deletions
diff --git a/app-office/openoffice/ChangeLog b/app-office/openoffice/ChangeLog
index 50360ecededb..9503e6bd098e 100644
--- a/app-office/openoffice/ChangeLog
+++ b/app-office/openoffice/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for app-office/openoffice
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.48 2003/10/28 11:38:51 pauldv Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice/ChangeLog,v 1.49 2003/11/09 16:18:26 pauldv Exp $
+
+*openoffice-1.1.0-r2 (09 Nov 2003)
+
+ 09 Nov 2003; <paul@gentoo.org> openoffice-1.1.0-r2.ebuild:
+ Add -fno-strict-aliasing to make excel import work
28 Oct 2003; Paul de Vrieze <pauldv@gentoo.org> openoffice-1.1.0-r1.ebuild:
Add predict for stupid gconf sandbox error
diff --git a/app-office/openoffice/Manifest b/app-office/openoffice/Manifest
index 0323fc2fc13b..d3ba64e7262e 100644
--- a/app-office/openoffice/Manifest
+++ b/app-office/openoffice/Manifest
@@ -1,31 +1,33 @@
-MD5 e3ec4a70395943b59adad7fc4f0538d7 metadata.xml 461
-MD5 ceee3c6f5df6e6f6edd50cc4cdc42aba openoffice-1.1.0.ebuild 19833
-MD5 770775321189b284d3a859f153f327f1 ChangeLog 11504
+MD5 d134cdcc19c0351479fdedce077d5939 openoffice-1.1.0-r2.ebuild 19888
MD5 7564812fd1fe3da72c7bf49ca9df4f6d openoffice-1.0.3-r1.ebuild 21884
MD5 78173bef9c70d595d186e565f66bcfe3 openoffice-1.1.0-r1.ebuild 19868
-MD5 9d1828c128b70f1612c0c31b69719a26 files/digest-openoffice-1.1.0-r1 195
+MD5 ceee3c6f5df6e6f6edd50cc4cdc42aba openoffice-1.1.0.ebuild 19833
+MD5 4b76ac55f79c522715389a9fbc7ccf86 ChangeLog 11655
+MD5 e3ec4a70395943b59adad7fc4f0538d7 metadata.xml 461
MD5 9d1828c128b70f1612c0c31b69719a26 files/digest-openoffice-1.1.0 195
MD5 b1ec8fd75e9b93ccf4a4f0c926de5199 files/digest-openoffice-1.0.3-r1 330
-MD5 ea579df37ecea73bc37977db44c7bba4 files/1.1.0/ooffice-wrapper-1.3 8972
-MD5 309ec50c6facc777068caebd51640c92 files/1.1.0/no-mozab.patch 2741
-MD5 93eb1ff95722454c0eb92a916dc4877d files/1.1.0/newstlportfix.patch 17655
-MD5 fa0af18a5e8a31bf68e0cdbb2f0e4981 files/1.1.0/fixed-gcc.patch 644
-MD5 7499a81bad1959834a0e6f995200e3e8 files/1.1.0/openoffice-1.1.0-linux-2.6-fix.patch 603
-MD5 7978a9c1f590a83622b8040ee83197a4 files/1.1.0/nptl.patch 1285
+MD5 9d1828c128b70f1612c0c31b69719a26 files/digest-openoffice-1.1.0-r1 195
+MD5 9d1828c128b70f1612c0c31b69719a26 files/digest-openoffice-1.1.0-r2 195
+MD5 c6d765863f974f7f6f6b17d20ad95541 files/1.0.3/openoffice-1.0.1-fix-asm.patch 2207
MD5 e448fa25e672e8e100a5d68adb75dda3 files/1.0.3/freetype-2.1.3.patch 1367
MD5 271539dafab707398e9b806eef8f250a files/1.0.3/ooffice-wrapper-1.2 8220
MD5 46080de39ef5acd7488ce1e76ac10cbe files/1.0.3/ooffice-wrapper-1.3 8362
-MD5 3fe10dea0d52c0779a9929b021d84e43 files/1.0.3/openoffice-1.0.1-compiler-flags.patch 954
-MD5 c6d765863f974f7f6f6b17d20ad95541 files/1.0.3/openoffice-1.0.1-fix-asm.patch 2207
+MD5 58a4bf52e74e8e287c29956229b94ff9 files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch 1052
MD5 d56f7c3ee055eb733a7d6a9d87ccc6d7 files/1.0.3/openoffice-1.0.1-fix-jdk-1.4.0.patch 2091
-MD5 d1194605b25954eaa73f74d9d3982a9b files/1.0.3/openoffice-1.0.1-no-mozab.patch 2496
MD5 5d4663d4ee957ca7329fed3e72e9555c files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3-newgcc.patch 10481
-MD5 3834566292e23e2832f625e0b5accf85 files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch 10485
-MD5 edb031b5b0c87b33ff0cd9b5a6fc4a79 files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch 14774
-MD5 58a4bf52e74e8e287c29956229b94ff9 files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch 1052
+MD5 67ce98390eb8da814deb778bc3b524f7 files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch 612
MD5 aae1ec77961ab6273026a12a6cf9804c files/1.0.3/openoffice-1.0.2-default-fonts.patch 15285
-MD5 80d0277676c6b7e55b29a12b02eae325 files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch 596
+MD5 3834566292e23e2832f625e0b5accf85 files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch 10485
+MD5 d1194605b25954eaa73f74d9d3982a9b files/1.0.3/openoffice-1.0.1-no-mozab.patch 2496
MD5 d61186f38b5e704b69af03ce33a9053d files/1.0.3/openoffice-errno.patch 291
-MD5 67ce98390eb8da814deb778bc3b524f7 files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch 612
-MD5 ce580b49f86ec9ab3ceba58268c886df files/1.0.3/openoffice-1.0.1-sparc.patch.bz2 15843
+MD5 3fe10dea0d52c0779a9929b021d84e43 files/1.0.3/openoffice-1.0.1-compiler-flags.patch 954
MD5 bf8388f4d41ad2ed1a38a0aa2d8fe4ce files/1.0.3/openoffice-1.0.3-sparc-gentoo.patch 580
+MD5 ce580b49f86ec9ab3ceba58268c886df files/1.0.3/openoffice-1.0.1-sparc.patch.bz2 15843
+MD5 edb031b5b0c87b33ff0cd9b5a6fc4a79 files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch 14774
+MD5 80d0277676c6b7e55b29a12b02eae325 files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch 596
+MD5 fa0af18a5e8a31bf68e0cdbb2f0e4981 files/1.1.0/fixed-gcc.patch 644
+MD5 ea579df37ecea73bc37977db44c7bba4 files/1.1.0/ooffice-wrapper-1.3 8972
+MD5 7499a81bad1959834a0e6f995200e3e8 files/1.1.0/openoffice-1.1.0-linux-2.6-fix.patch 603
+MD5 309ec50c6facc777068caebd51640c92 files/1.1.0/no-mozab.patch 2741
+MD5 7978a9c1f590a83622b8040ee83197a4 files/1.1.0/nptl.patch 1285
+MD5 93eb1ff95722454c0eb92a916dc4877d files/1.1.0/newstlportfix.patch 17655
diff --git a/app-office/openoffice/files/digest-openoffice-1.1.0-r2 b/app-office/openoffice/files/digest-openoffice-1.1.0-r2
new file mode 100644
index 000000000000..ca3bad69d473
--- /dev/null
+++ b/app-office/openoffice/files/digest-openoffice-1.1.0-r2
@@ -0,0 +1,3 @@
+MD5 bec8b41089ebdad2831f3c456973ad4e OOo_1.1.0_source.tar.bz2 189164050
+MD5 fdb06fdb5a4670b172f9fb738b717be9 gpc231.tar.Z 27917
+MD5 1fc0b188f1fe1216776e5855d2da141f freetype-2.1.4.tar.bz2 806647
diff --git a/app-office/openoffice/openoffice-1.1.0-r2.ebuild b/app-office/openoffice/openoffice-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..54585b310125
--- /dev/null
+++ b/app-office/openoffice/openoffice-1.1.0-r2.ebuild
@@ -0,0 +1,651 @@
+# 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/openoffice-1.1.0-r2.ebuild,v 1.1 2003/11/09 16:18:26 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
+# Compile problems with these ...
+filter-flags "-funroll-loops"
+filter-flags "-fomit-frame-pointer"
+add-flags "-fno-strict-aliasing"
+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"
+
+
+LOC="/opt"
+FT_VER="2.1.4"
+STLP_VER="4.5.3"
+MY_PV="${PV/_rc/rc}"
+INSTDIR="${LOC}/OpenOffice.org${PV}"
+S="${WORKDIR}/oo_${MY_PV/1.1.0/1.1}_src"
+DESCRIPTION="OpenOffice.org, a full office productivity suite."
+SRC_URI="mirror://openoffice/stable/${MY_PV}/OOo_${MY_PV}_source.tar.bz2
+ ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z
+ mirror://sourceforge/freetype/freetype-${FT_VER}.tar.bz2"
+HOMEPAGE="http://www.openoffice.org/"
+
+LICENSE="LGPL-2 | SISSL-1.1"
+SLOT="0"
+KEYWORDS="x86"
+IUSE="gnome kde"
+
+RDEPEND=">=sys-libs/glibc-2.1
+ !=sys-libs/glibc-2.3.1*
+ >=dev-lang/perl-5.0
+ 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 )" # needed for sqrtl patch recently introduced
+
+DEPEND="${RDEPEND}
+ app-shells/tcsh
+ !app-office/openoffice-bin
+ sys-apps/findutils
+ !sys-apps/star"
+
+# fix a bug with tcsh and dircolors
+#
+# Azarah -- 10 April 2002
+export LS_COLORS=""
+
+
+pkg_setup() {
+
+ if [ "$(gcc-version)" != "3.2" ] && [ "$(gcc-version)" != "3.3" ]
+ then
+ eerror
+ eerror "This build needs gcc-3.{2,3}.x, but due to profile"
+ eerror "settings, it cannot DEPEND on it, so please merge it"
+ eerror "manually:"
+ eerror
+ eerror " # ebuild ${PORTDIR}/sys-devel/gcc/gcc-3.2.1.ebuild merge"
+ eerror
+ eerror "Please make sure that you use the latest availible revision of"
+ eerror "gcc."
+ eerror
+ die
+ fi
+
+ 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=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
+
+ 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" ]
+ 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 or gcc-3.3!"
+ 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_${MY_PV}_source.tar.bz2 gpc231.tar.Z
+
+ # Install gpc
+ cd ${WORKDIR}/gpc231
+ cp gpc.* ${S}/external/gpc
+
+ cd ${S}
+
+ cd ${S}/stlport
+ rm STLport-4.5.3.patch
+ epatch ${FILESDIR}/${PV}/newstlportfix.patch
+ cd ${S}
+ epatch ${FILESDIR}/${PV}/no-mozab.patch
+
+ epatch ${FILESDIR}/${PV}/nptl.patch
+
+ epatch ${FILESDIR}/${PV}/openoffice-1.1.0-linux-2.6-fix.patch
+
+ #The gcc-3.2.3 version in gentoo is fixed for the internal error that
+ #blocks compilation with it, so remove the check from the configure script
+# epatch ${FILESDIR}/${PV}/fixed-gcc.patch
+
+# epatch ${FILESDIR}/${PV}/no-crashrep.patch
+
+# einfo "Fixing up crashrep/source/unx/makefile.mk"
+# sed -i -e "s,\(PRODUCT[^a-zA-Z]*\)\(FULL\),\1full," ${S}/crashrep/source/unx/makefile.mk||die
+# einfo "Removing crashrep from the installed set"
+# sed -i -e "s,\(crashrep \),," ${S}/instsetoo/prj/build.lst
+
+
+
+ # 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"
+ use sparc && export LinuxEnvSet="LinuxSparcEnv.Set"
+ use sparc64 && export LinuxEnvSet="LinuxSparcEnv.Set"
+ use ppc && export LinuxEnvSet="LinuxPPCEnv.Set"
+ use alpha && export LinuxEnvSet="LinuxAlphaEnv.Set"
+
+ # Get build specific stuff (Az)
+ export SOLVER="$(awk '/^setenv UPD / {gsub(/\"/, ""); print $3}' ${LinuxEnvSet})"
+ export SOLPATH="$(awk '/^setenv INPATH / {gsub(/\"/, ""); print $3}' ${LinuxEnvSet})"
+}
+
+src_compile() {
+
+ if [ "$(gcc-version)" == "3.2" ]; then
+ replace-flags "-march=pentium4" "-march=pentium3 -mcpu=pentium4"
+ fi
+
+ addpredict /bin
+ addpredict /root/.gconfd
+ 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
+ # 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
+ # 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
+
+ # 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
+ ./configure --enable-gcc3 \
+ --with-jdk-home=${JAVA_HOME} \
+ --with-lang=${LANGNAME}\
+ --with-x || die
+
+ cd ${S}
+ get_EnvSet
+
+ # 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?
+ # 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"
+ 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
+ echo "setenv CCCOMP \"${CC}\"" >> ${S}/${LinuxEnvSet}
+ echo "setenv CXXCOMP \"${CXX}\"" >> ${S}/${LinuxEnvSet}
+ 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="tcsh"
+ echo "source ${S}/${LinuxEnvSet} && cd ${S}/instsetoo && ${buildcmd}" > build.tcsh
+ # Build needs X to compile! (Az)
+ virtualmake build.tcsh || 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 isntallation
+ 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 -r:${T}/autoresponse" ||die
+
+ 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
+ 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//_rc3/.0}|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
+ dosym ooffice /usr/bin/oopadmin
+
+ einfo "Installing Menu shortcuts (need \"gnome\" or \"kde\" in USE)..."
+ if [ -n "`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
+
+ for x in ${D}${INSTDIR}/share/gnome/net/*.desktop
+ do
+ # We have to handle setup differently
+ perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x}
+ # Now fix the rest
+ perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x}
+ doins ${x}
+ done
+ fi
+
+ if [ -n "`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 setup differently
+ perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x}
+ # Now fix the rest
+ perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x}
+ doins ${x}
+ done
+ 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 "******************************************************************"
+}
+