diff options
author | Paul de Vrieze <pauldv@gentoo.org> | 2003-11-09 16:18:34 +0000 |
---|---|---|
committer | Paul de Vrieze <pauldv@gentoo.org> | 2003-11-09 16:18:34 +0000 |
commit | 475db3d4c79430c219337c0c228190aaf1285f5e (patch) | |
tree | acef28d863410ffccc9e737af6a53d2eed9fc90f | |
parent | oops mark ~ (diff) | |
download | gentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.tar.gz gentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.tar.bz2 gentoo-2-475db3d4c79430c219337c0c228190aaf1285f5e.zip |
Add -fno-stric-aliasing to make excel import work
-rw-r--r-- | app-office/openoffice/ChangeLog | 7 | ||||
-rw-r--r-- | app-office/openoffice/Manifest | 40 | ||||
-rw-r--r-- | app-office/openoffice/files/digest-openoffice-1.1.0-r2 | 3 | ||||
-rw-r--r-- | app-office/openoffice/openoffice-1.1.0-r2.ebuild | 651 |
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 "******************************************************************" +} + |