diff options
author | Andreas Proschofsky <suka@gentoo.org> | 2004-05-06 21:21:54 +0000 |
---|---|---|
committer | Andreas Proschofsky <suka@gentoo.org> | 2004-05-06 21:21:54 +0000 |
commit | 965a2832621ff20eec8c3ee0d06bcab43f6b9048 (patch) | |
tree | 13f46fb48679caacf22df3bd9623f1a3d6d68c41 /app-office | |
parent | ~amd64 (diff) | |
download | historical-965a2832621ff20eec8c3ee0d06bcab43f6b9048.tar.gz historical-965a2832621ff20eec8c3ee0d06bcab43f6b9048.tar.bz2 historical-965a2832621ff20eec8c3ee0d06bcab43f6b9048.zip |
New version of the ximian patchset
Diffstat (limited to 'app-office')
-rw-r--r-- | app-office/openoffice-ximian/ChangeLog | 12 | ||||
-rw-r--r-- | app-office/openoffice-ximian/Manifest | 5 | ||||
-rw-r--r-- | app-office/openoffice-ximian/files/1.1.1/neon.patch | 227 | ||||
-rw-r--r-- | app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.55 | 4 | ||||
-rw-r--r-- | app-office/openoffice-ximian/openoffice-ximian-1.1.55.ebuild | 525 |
5 files changed, 543 insertions, 230 deletions
diff --git a/app-office/openoffice-ximian/ChangeLog b/app-office/openoffice-ximian/ChangeLog index c1c6e241d1cf..302be07ada94 100644 --- a/app-office/openoffice-ximian/ChangeLog +++ b/app-office/openoffice-ximian/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-office/openoffice-ximian # Copyright 2000-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-ximian/ChangeLog,v 1.37 2004/05/05 16:32:10 suka Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-ximian/ChangeLog,v 1.38 2004/05/06 21:21:54 suka Exp $ + +*openoffice-ximian-1.1.55 (06 May 2004) + + 06 May 2004; suka@gentoo.org -files/1.1.1/neon.patch, + +openoffice-ximian-1.1.55.ebuild: + New version of the Ximian patchset, see: + + http://ooo.ximian.com/NEWS + + for a list of changes 05 May 2004; suka@gentoo.org : First shot at KDE integration work. If you want to use the NWF and icon stuff diff --git a/app-office/openoffice-ximian/Manifest b/app-office/openoffice-ximian/Manifest index 6675a24ab5c6..64e7c76e38c0 100644 --- a/app-office/openoffice-ximian/Manifest +++ b/app-office/openoffice-ximian/Manifest @@ -1,11 +1,13 @@ MD5 4f1d4a2b6af18cfdec390bd2c655befc openoffice-ximian-1.1.53.ebuild 14931 MD5 250df02f3dd965be559fa30ca2949b44 openoffice-ximian-1.1.51-r1.ebuild 15072 +MD5 8302b0afb2a394c09fb49b2bea1ad9f3 openoffice-ximian-1.1.55.ebuild 15418 MD5 b75776d6370a63e2b58218d64ec82f0a openoffice-ximian-1.1.54.ebuild 15394 -MD5 0a14d3c3d3cd1ca27d06841b894b538d ChangeLog 9373 +MD5 3870efcc8dd790847fd2e6ef17ae19a1 ChangeLog 9609 MD5 f3942f82433bf5ae16461240cbcc4984 metadata.xml 300 MD5 bd8a36025a84cb2ad840e822f513e468 files/digest-openoffice-ximian-1.1.51-r1 213 MD5 304c8e86d82be8c1971b0b3f9102cd0e files/digest-openoffice-ximian-1.1.53 215 MD5 cf1c97179b23473f49ab1c768f65cdb3 files/digest-openoffice-ximian-1.1.54 293 +MD5 f1c9394d16cfa3ba87a38e7bb7c50a04 files/digest-openoffice-ximian-1.1.55 293 MD5 6ecbfeab440a03f031dbfa0631404aa0 files/1.1.0/ximian-openoffice.applications 980 MD5 d1a499cfa276614323b547e013d5c6a0 files/1.1.0/ximian-openoffice.keys 6298 MD5 0b9b6204209b8be145648863dbffaa99 files/1.1.0/openoffice-1.1.0-sparc64-fix.patch 400 @@ -22,7 +24,6 @@ MD5 0b9b6204209b8be145648863dbffaa99 files/1.1.1/openoffice-1.1.0-sparc64-fix.pa MD5 3ddc9b8931d1842fad3c0dd468e70846 files/1.1.1/xooffice-wrapper-1.3 9221 MD5 4fcd797ef664b3baf0450637d26454f4 files/1.1.1/distro_kde.patch 614 MD5 7499a81bad1959834a0e6f995200e3e8 files/1.1.1/openoffice-1.1.0-linux-2.6-fix.patch 603 -MD5 ee20d490a8aa62d79ca65e99339e3397 files/1.1.1/neon.patch 8300 MD5 7978a9c1f590a83622b8040ee83197a4 files/1.1.1/nptl.patch 1285 MD5 fc8711196de6324c9fae45342d159bf3 files/1.1.1/build.patch 330 MD5 ec45b66d175ad9662716a06e7c678cef files/1.1.1/newstlportfix.patch 10362 diff --git a/app-office/openoffice-ximian/files/1.1.1/neon.patch b/app-office/openoffice-ximian/files/1.1.1/neon.patch deleted file mode 100644 index d68adb2eb353..000000000000 --- a/app-office/openoffice-ximian/files/1.1.1/neon.patch +++ /dev/null @@ -1,227 +0,0 @@ ---- /work/ooo/gnome-ooo/openoffice/build/OOO_1_1_1/neon/neon.patch 2004-03-19 17:32:52.000000000 -0500 -+++ neon/neon.patch 2004-04-05 12:38:42.000000000 -0400 -@@ -135,8 +134,8 @@ - ! #define read _read - ! - ! #endif --*** misc/neon-0.23.5/src/makefile.mk Tue Oct 22 17:55:55 2002 ----- misc/build/neon-0.23.5/src/makefile.mk Tue Oct 22 17:35:49 2002 -+*** misc/neon-0.23.5/src/makefile.mk 2004-04-05 12:38:37.706437510 -0400 -+--- misc/build/neon-0.23.5/src/makefile.mk 2004-04-05 12:21:47.810143789 -0400 - *************** - *** 1 **** - ! dummy -@@ -190,8 +189,173 @@ - ! # --- Targets ------------------------------------------------------ - ! - ! .INCLUDE : target.mk --*** misc/neon-0.23.5/src/ne_props.c Sun Jul 14 13:18:06 2002 ----- misc/build/neon-0.23.5/src/ne_props.c Tue Oct 22 17:35:49 2002 -+*** misc/neon-0.23.5/src/ne_207.c 2002-06-23 10:04:36.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_207.c 2004-04-05 12:38:18.221460697 -0400 -+*************** -+*** 1,6 **** -+ /* -+ WebDAV 207 multi-status response handling -+! Copyright (C) 1999-2002, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+--- 1,6 ---- -+ /* -+ WebDAV 207 multi-status response handling -+! Copyright (C) 1999-2004, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+*************** -+*** 358,369 **** -+ if (ne_get_status(req)->code == 207) { -+ if (!ne_xml_valid(p)) { -+ /* The parse was invalid */ -+! ne_set_error(sess, ne_xml_get_error(p)); -+ ret = NE_ERROR; -+ } else if (ctx.is_error) { -+ /* If we've actually got any error information -+ * from the 207, then set that as the error */ -+! ne_set_error(sess, ctx.buf->data); -+ ret = NE_ERROR; -+ } -+ } else if (ne_get_status(req)->klass != 2) { -+--- 358,369 ---- -+ if (ne_get_status(req)->code == 207) { -+ if (!ne_xml_valid(p)) { -+ /* The parse was invalid */ -+! ne_set_error(sess, "%s", ne_xml_get_error(p)); -+ ret = NE_ERROR; -+ } else if (ctx.is_error) { -+ /* If we've actually got any error information -+ * from the 207, then set that as the error */ -+! ne_set_error(sess, "%s", ctx.buf->data); -+ ret = NE_ERROR; -+ } -+ } else if (ne_get_status(req)->klass != 2) { -+*** misc/neon-0.23.5/src/ne_auth.c 2002-10-07 16:33:17.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_auth.c 2004-04-05 12:38:18.223460387 -0400 -+*************** -+*** 908,914 **** -+ if (areq->auth_info_hdr != NULL && -+ verify_response(areq, sess, areq->auth_info_hdr)) { -+ NE_DEBUG(NE_DBG_HTTPAUTH, "Response authentication invalid.\n"); -+! ne_set_error(sess->sess, _(sess->spec->fail_msg)); -+ ret = NE_ERROR; -+ } else if (status->code == sess->spec->status_code && -+ areq->auth_hdr != NULL) { -+--- 908,914 ---- -+ if (areq->auth_info_hdr != NULL && -+ verify_response(areq, sess, areq->auth_info_hdr)) { -+ NE_DEBUG(NE_DBG_HTTPAUTH, "Response authentication invalid.\n"); -+! ne_set_error(sess->sess, "%s", _(sess->spec->fail_msg)); -+ ret = NE_ERROR; -+ } else if (status->code == sess->spec->status_code && -+ areq->auth_hdr != NULL) { -+*** misc/neon-0.23.5/src/ne_compress.c 2002-09-18 16:50:34.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_compress.c 2004-04-05 12:38:18.225460077 -0400 -+*************** -+*** 1,6 **** -+ /* -+ Handling of compressed HTTP responses -+! Copyright (C) 2001-2002, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+--- 1,6 ---- -+ /* -+ Handling of compressed HTTP responses -+! Copyright (C) 2001-2004, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+*************** -+*** 252,258 **** -+ * doesn't work, and this does, but I have no idea why.. -+ * Google showed me the way. */ -+ if (inflateInit2(&ctx->zstr, -MAX_WBITS) != Z_OK) { -+! ne_set_error(ctx->session, ctx->zstr.msg); -+ ctx->state = NE_Z_ERROR; -+ return; -+ } -+--- 252,258 ---- -+ * doesn't work, and this does, but I have no idea why.. -+ * Google showed me the way. */ -+ if (inflateInit2(&ctx->zstr, -MAX_WBITS) != Z_OK) { -+! ne_set_error(ctx->session, "%s", ctx->zstr.msg); -+ ctx->state = NE_Z_ERROR; -+ return; -+ } -+*** misc/neon-0.23.5/src/ne_locks.c 2002-08-05 16:10:53.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_locks.c 2004-04-05 12:38:18.227459766 -0400 -+*************** -+*** 723,729 **** -+ } -+ else if (parse_failed) { -+ ret = NE_ERROR; -+! ne_set_error(sess, ne_xml_get_error(parser)); -+ } -+ else if (ne_get_status(req)->code == 207) { -+ ret = NE_ERROR; -+--- 723,729 ---- -+ } -+ else if (parse_failed) { -+ ret = NE_ERROR; -+! ne_set_error(sess, "%s", ne_xml_get_error(parser)); -+ } -+ else if (ne_get_status(req)->code == 207) { -+ ret = NE_ERROR; -+*************** -+*** 792,798 **** -+ if (ret == NE_OK && ne_get_status(req)->klass == 2) { -+ if (parse_failed) { -+ ret = NE_ERROR; -+! ne_set_error(sess, ne_xml_get_error(parser)); -+ } -+ else if (ne_get_status(req)->code == 207) { -+ ret = NE_ERROR; -+--- 792,798 ---- -+ if (ret == NE_OK && ne_get_status(req)->klass == 2) { -+ if (parse_failed) { -+ ret = NE_ERROR; -+! ne_set_error(sess, "%s", ne_xml_get_error(parser)); -+ } -+ else if (ne_get_status(req)->code == 207) { -+ ret = NE_ERROR; -+*** misc/neon-0.23.5/src/ne_props.c 2002-07-14 07:18:06.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_props.c 2004-04-05 12:38:27.458027606 -0400 -+*************** -+*** 1,6 **** -+ /* -+ WebDAV property manipulation -+! Copyright (C) 2000-2002, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+--- 1,6 ---- -+ /* -+ WebDAV property manipulation -+! Copyright (C) 2000-2004, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+*************** -+*** 136,142 **** -+ if (ret == NE_OK && ne_get_status(req)->klass != 2) { -+ ret = NE_ERROR; -+ } else if (!ne_xml_valid(handler->parser)) { -+! ne_set_error(handler->sess, ne_xml_get_error(handler->parser)); -+ ret = NE_ERROR; -+ } -+ -+--- 136,142 ---- -+ if (ret == NE_OK && ne_get_status(req)->klass != 2) { -+ ret = NE_ERROR; -+ } else if (!ne_xml_valid(handler->parser)) { -+! ne_set_error(handler->sess, "%s", ne_xml_get_error(handler->parser)); -+ ret = NE_ERROR; -+ } -+ - *************** - *** 457,462 **** - --- 457,465 ---- -@@ -204,3 +368,37 @@ - /* If we get a non-2xx response back here, we wipe the value for - * each of the properties in this propstat, so the caller knows to - * look at the status instead. It's annoying, since for each prop -+*** misc/neon-0.23.5/src/ne_xml.c 2002-10-08 15:11:31.000000000 -0400 -+--- misc/build/neon-0.23.5/src/ne_xml.c 2004-04-05 12:38:18.232458991 -0400 -+*************** -+*** 1,6 **** -+ /* -+ Higher Level Interface to XML Parsers. -+! Copyright (C) 1999-2002, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+--- 1,6 ---- -+ /* -+ Higher Level Interface to XML Parsers. -+! Copyright (C) 1999-2004, Joe Orton <joe@manyfish.co.uk> -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+*************** -+*** 860,866 **** -+ -+ void ne_xml_set_error(ne_xml_parser *p, const char *msg) -+ { -+! ne_snprintf(p->error, ERR_SIZE, msg); -+ } -+ -+ #ifdef HAVE_LIBXML -+--- 860,866 ---- -+ -+ void ne_xml_set_error(ne_xml_parser *p, const char *msg) -+ { -+! ne_snprintf(p->error, ERR_SIZE, "%s", msg); -+ } -+ -+ #ifdef HAVE_LIBXML diff --git a/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.55 b/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.55 new file mode 100644 index 000000000000..7500f7c8a0c2 --- /dev/null +++ b/app-office/openoffice-ximian/files/digest-openoffice-ximian-1.1.55 @@ -0,0 +1,4 @@ +MD5 3cc04c46514cd4b663cab3ca5637d501 OOo_1.1.1p1_source.tar.bz2 192388698 +MD5 79e885131d99a0a507eb3ffb7ecf19af ooo-build-1.1.55.tar.gz 1996476 +MD5 5157d4453d17cae586ce24989d34357a ooo-KDE_icons-OOO_1_1-0.1.tar.gz 1037481 +MD5 32a0e62f89ef36a91437fc705fbe6440 ooo-icons-OOO_1_1-9.tar.gz 1561812 diff --git a/app-office/openoffice-ximian/openoffice-ximian-1.1.55.ebuild b/app-office/openoffice-ximian/openoffice-ximian-1.1.55.ebuild new file mode 100644 index 000000000000..25c6edcc72e4 --- /dev/null +++ b/app-office/openoffice-ximian/openoffice-ximian-1.1.55.ebuild @@ -0,0 +1,525 @@ +# Copyright 1999-2004 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.55.ebuild,v 1.1 2004/05/06 21:21:54 suka 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 gcc + +IUSE="gnome kde ooo-kde" + +# Compile problems with these ... +filter-flags "-funroll-loops" +filter-flags "-fomit-frame-pointer" +filter-flags "-fprefetch-loop-arrays" +filter-flags "-fno-default-inline" +append-flags "-fno-strict-aliasing" +replace-flags "-O3" "-O2" +replace-flags "-Os" "-O2" + +# We want gcc3 if possible!!!! +export WANT_GCC_3="yes" + +# 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" + +OO_VER=1.1.1 +PATCHLEVEL=OOO_1_1_1 +ICON_VER=OOO_1_1-9 +KDE_ICON_VER=OOO_1_1-0.1 +KDE_ICON_PATH=documents/159/1785 +if [ `use ooo-kde` ]; then + ICON=ooo-KDE_icons-${KDE_ICON_VER} + DISTRO=KDE +else + ICON=ooo-icons-${ICON_VER} + DISTRO=Ximian +fi + +INSTDIR="/opt/Ximian-OpenOffice" +PATCHDIR=${WORKDIR}/ooo-build-${PV} +ICONDIR=${WORKDIR}/${ICON} +S="${WORKDIR}/oo_${OO_VER}_src" +DESCRIPTION="Ximian-ized version of OpenOffice.org, a full office productivity suite." +SRC_URI="mirror://openoffice/stable/${OO_VER}/OOo_${OO_VER}p1_source.tar.bz2 + http://ooo.ximian.com/packages/${PATCHLEVEL}/ooo-build-${PV}.tar.gz + ooo-kde? ( http://kde.openoffice.org/files/${KDE_ICON_PATH}/${ICON}.tar.gz ) + !ooo-kde? ( http://ooo.ximian.com/packages/${ICON}.tar.gz )" + +HOMEPAGE="http://ooo.ximian.com" + +LICENSE="LGPL-2 | SISSL-1.1" +SLOT="0" +KEYWORDS="~x86" + +RDEPEND=">=sys-libs/glibc-2.1 + !=sys-libs/glibc-2.3.1* + >=dev-lang/perl-5.0 + !ooo-kde? ( >=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/lpr + !app-office/openoffice-ximian-bin + ppc? ( >=sys-libs/glibc-2.2.5-r7 + >=sys-devel/gcc-3.2.1 ) + >=media-libs/freetype-2.1.4 + ooo-kde? ( kde-base/kdelibs )" + +DEPEND="${RDEPEND} + app-shells/tcsh + >=sys-apps/findutils-4.1.20-r1 + dev-libs/libxslt + net-misc/curl + !dev-util/dmake + dev-util/intltool" + +pkg_setup() { + + 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 + unset LC_ALL + + 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 +} + +src_unpack() { + + oo_setup + + cd ${WORKDIR} + unpack OOo_${OO_VER}p1_source.tar.bz2 ooo-build-${PV}.tar.gz ${ICON}.tar.gz + + #Fix Sandbox problems with scale-icons script + cd ${PATCHDIR} + epatch ${FILESDIR}/${OO_VER}/fixscale.patch + + #Still needed: The STLport patch + cd ${S} + rm stlport/STLport-4.5.3.patch + epatch ${FILESDIR}/${OO_VER}/newstlportfix.patch + + #Fix nptl compile issues + epatch ${FILESDIR}/${OO_VER}/nptl.patch + + #Additional patch for Kernel 2.6 + epatch ${FILESDIR}/${OO_VER}/openoffice-1.1.0-linux-2.6-fix.patch + + #Work around recent portage sandbox troubles + epatch ${FILESDIR}/${OO_VER}/build.patch + + if [ ${ARCH} = "sparc" ]; then + epatch ${FILESDIR}/${OO_VER}/openoffice-1.1.0-sparc64-fix.patch + fi + + einfo "Applying Ximian OO.org Patches" + ${PATCHDIR}/patches/apply.pl ${PATCHDIR}/patches/${PATCHLEVEL} ${S} -f --distro=${DISTRO} || die "Ximian patches failed" + + einfo "Installing / Scaling Icons" + ${PATCHDIR}/bin/scale-icons ${S} + cp -avf ${ICONDIR}/* ${S} + + einfo "Munging font mappings ..." + ${PATCHDIR}/bin/font-munge ${S}/officecfg/registry/data/org/openoffice/VCL.xcu + echo "done munging fonts." + + 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 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() { + + addpredict /bin + addpredict /root/.gconfd + local buildcmd="" + + set_languages + + oo_setup + + # 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 + local myconf + myconf="--enable-libart \ + --enable-libsn \ + --enable-crashdump=no \ + --with-lang=ENUS,${LANGNAME} \ + --without-fonts \ + --disable-rpath \ + --enable-fontconfig \ + --with-system-zlib \ + --with-system-freetype \ + --with-system-curl \ + --disable-java" + use ooo-kde && myconf="${myconf} --with-widgetset=kde" + ./configure ${myconf} || die + + cd ${S} + get_EnvSet + + # Build as minimal as possible + export BUILD_MINIMAL="${LANGNO}" + + # Should the build use multiprocessing? + 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 + + einfo "Building OpenOffice.org..." + echo "source ${S}/${LinuxEnvSet} && cd ${S}/instsetoo && ${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" + + 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. 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>/.xopenoffice/<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 Ximian-OpenOffice.org into build root..." + dodir ${INSTDIR} + cd ${S}/instsetoo/${SOLPATH}/${LANGNO}/normal + ./setup -v -noexit -nogui -r:${T}/autoresponse || die "Setup failed" + + #Fix for parallel install + sed -i -e s/sversionrc/xversionrc/g ${D}${INSTDIR}/program/bootstraprc ${D}${INSTDIR}/program/instdb.ins + + echo + einfo "Removing build root from registry..." + # 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/ximian-openoffice + sed -e "s|<pv>|${OO_VER}|g" ${T}/rsfile-local > ${T}/autoresponse-${OO_VER}.conf + doins ${T}/autoresponse-${OO_VER}.conf + + # Install wrapper script + exeinto /usr/bin + sed -e "s|<pv>|${OO_VER}|g" \ + ${FILESDIR}/${OO_VER}/xooffice-wrapper-1.3 > ${T}/xooffice + doexe ${T}/xooffice + + # Component symlinks + for app in calc draw impress html math writer setup; do + dosym xooffice /usr/bin/xoo${app} + done + + # Install ximian icons + cd ${PATCHDIR}/desktop/ + insinto /usr/share/pixmaps + doins *.png + for menu in drawing presentation spreadsheet textdoc; do + intltool-merge -d ../po ${menu}.desktop.in xoo-${menu}.desktop; + done + sed -i -e s/'=oo'/'=xoo'/g *.desktop + + einfo "Installing Menu shortcuts and mime info (need \"gnome\" or \"kde\" in USE)..." + if [ -n "`use gnome`" ] + then + insinto /usr/share/applications + doins *.desktop + insinto /usr/share/application-registry + doins ${FILESDIR}/${OO_VER}/ximian-openoffice.applications + insinto /usr/share/mime-info + doins ${FILESDIR}/${OO_VER}/ximian-openoffice.keys + fi + + if [ -n "`use kde`" ] + then + insinto /usr/share/applnk/Ximian-OpenOffice.org + doins *.desktop + insinto /usr/share/mimelnk/application + doins ${S}/sysui/${SOLPATH}/misc/kde/share/mimelnk/application/* + fi + + # Install corrected Symbol Font + insinto /usr/share/fonts/TTF/ + doins ${PATCHDIR}/fonts/*.ttf + + # 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} + keepdir ${INSTDIR}/user/psprint/{driver,fontmetric} + keepdir ${INSTDIR}/user/{autocorr,backup,plugin,store,temp,template} +} + +pkg_postinst() { + + einfo "******************************************************************" + einfo " To start Ximian-OpenOffice.org, run:" + einfo + einfo " $ xooffice" + einfo + einfo " Also, for individual components, you can use any of:" + einfo + einfo " xoocalc, xoodraw, xooimpress, xoomath, xooweb or xoowriter" + einfo + einfo "******************************************************************" +} |