summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Proschofsky <suka@gentoo.org>2004-10-12 15:34:35 +0000
committerAndreas Proschofsky <suka@gentoo.org>2004-10-12 15:34:35 +0000
commite9610613d826de8531c99dd3c5c361c77dea8468 (patch)
treee09091956dfe588821bf0e8e9ed424e1b31d136b /app-office
parentnew release (Manifest recommit) (diff)
downloadgentoo-2-e9610613d826de8531c99dd3c5c361c77dea8468.tar.gz
gentoo-2-e9610613d826de8531c99dd3c5c361c77dea8468.tar.bz2
gentoo-2-e9610613d826de8531c99dd3c5c361c77dea8468.zip
re-insert the ancient 1.0.3-r2 as it still is the current stable on ppc
Diffstat (limited to 'app-office')
-rw-r--r--app-office/openoffice/files/1.0.3/freetype-2.1.3.patch33
-rw-r--r--app-office/openoffice/files/1.0.3/neon.patch435
-rw-r--r--app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2238
-rw-r--r--app-office/openoffice/files/1.0.3/ooffice-wrapper-1.3245
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-compiler-flags.patch24
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-asm.patch86
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-jdk-1.4.0.patch57
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-no-mozab.patch68
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-sparc.patch.bz2bin0 -> 15843 bytes
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3-newgcc.patch285
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch285
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch319
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch22
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.2-default-fonts.patch174
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch14
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-1.0.3-sparc-gentoo.patch11
-rw-r--r--app-office/openoffice/files/1.0.3/openoffice-errno.patch10
-rw-r--r--app-office/openoffice/files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch17
-rw-r--r--app-office/openoffice/files/digest-openoffice-1.0.3-r25
-rw-r--r--app-office/openoffice/openoffice-1.0.3-r2.ebuild691
20 files changed, 3019 insertions, 0 deletions
diff --git a/app-office/openoffice/files/1.0.3/freetype-2.1.3.patch b/app-office/openoffice/files/1.0.3/freetype-2.1.3.patch
new file mode 100644
index 000000000000..4aaad505a30d
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/freetype-2.1.3.patch
@@ -0,0 +1,33 @@
+diff -ru misc/freetype-2.1.3/builds/compiler/visualc.mk misc/build/freetype-2.1.3/builds/compiler/visualc.mk
+--- misc/freetype-2.1.3/builds/compiler/visualc.mk 2000-12-14 00:44:33.000000000 +0100
++++ misc/build/freetype-2.1.3/builds/compiler/visualc.mk 2002-09-20 10:20:11.000000000 +0200
+@@ -63,7 +63,7 @@
+ # ANSI compliance.
+ #
+ ifndef CFLAGS
+- CFLAGS := /nologo /c /Ox /G5 /W3 /WX
++ CFLAGS := /nologo /c /Ox /G5 /W3 /WX /MT /Gd -D_CTYPE_DISABLE_MACROS
+ endif
+
+ # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
+diff -ru misc/freetype-2.1.3/builds/unix/ltmain.sh misc/build/freetype-2.1.3/builds/unix/ltmain.sh
+--- misc/freetype-2.1.3/builds/unix/ltmain.sh 2002-03-05 16:09:59.000000000 +0100
++++ misc/build/freetype-2.1.3/builds/unix/ltmain.sh 2002-09-20 10:20:11.000000000 +0200
+@@ -643,7 +643,7 @@
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+- command="$base_compile $srcfile"
++ command="$base_compile $srcfile -DPIC $pic_flag"
+ else
+ # All platforms use -DPIC, to notify preprocessed assembler code.
+ command="$base_compile $srcfile $pic_flag -DPIC"
+@@ -2274,7 +2274,7 @@
+ ;;
+
+ irix)
+- major=`expr $current - $age + 1`
++ major=`expr $current - $age`
+ verstring="sgi$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
diff --git a/app-office/openoffice/files/1.0.3/neon.patch b/app-office/openoffice/files/1.0.3/neon.patch
new file mode 100644
index 000000000000..de82e37a1687
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/neon.patch
@@ -0,0 +1,435 @@
+*** misc/neon-0.14.0/src/config.h 2004-04-05 12:04:50.798954227 -0400
+--- misc/build/neon-0.14.0/src/config.h 2004-04-05 10:45:31.582523906 -0400
+***************
+*** 1 ****
+! dummy
+--- 1,111 ----
+!
+! /* Define to be the neon version string */
+! #define NEON_VERSION "0.14.0"
+!
+! /* Define to be major number of neon version */
+! #define NEON_VERSION_MAJOR (0)
+!
+! /* Define to be minor number of neon version */
+! #define NEON_VERSION_MINOR (14)
+!
+! /* Define to empty if the keyword does not work. */
+! /* #undef const */
+!
+! /* Define as __inline if that's what the C compiler calls it. */
+! #define inline
+!
+! /* Define if you need to in order for stat and other things to work. */
+! /* #undef _POSIX_SOURCE */
+!
+! /* Define if you have the ANSI C header files. */
+! #define STDC_HEADERS 1
+!
+! /* Unconditionally define _GNU_SOURCE */
+! #ifndef _GNU_SOURCE
+! # define _GNU_SOURCE 1
+! #endif
+!
+! /* Define if you have the strcasecmp function. */
+! #ifdef UNX
+! #define HAVE_STRCASECMP 1
+! #endif
+!
+! /* Define if you have the <arpa/inet.h> header file. */
+! #ifdef UNX
+! #define HAVE_ARPA_INET_H
+! #endif
+!
+! /* Define if you have the <limits.h> header file. */
+! #define HAVE_LIMITS_H 1
+!
+! /* Define if you have the <regex.h> header file. */
+! #define HAVE_REGEX_H 1
+!
+! /* Define if you have the <stdarg.h> header file. */
+! #define HAVE_STDARG_H 1
+!
+! /* Define if you have the <stdlib.h> header file. */
+! #define HAVE_STDLIB_H 1
+!
+! /* Define if you have the <string.h> header file. */
+! #define HAVE_STRING_H 1
+!
+! /* Define if you have the <strings.h> header file. */
+! #ifdef UNX
+! #define HAVE_STRINGS_H 1
+! #endif
+!
+! /* Define if you have the <sys/select.h> header file. */
+! #ifdef UNX
+! #define HAVE_SYS_SELECT_H 1
+! #endif
+!
+! /* Define if you have the <sys/time.h> header file. */
+! #ifdef UNX
+! #define HAVE_SYS_TIME_H 1
+! #endif
+!
+! /* Define if you have the <unistd.h> header file. */
+! #ifdef UNX
+! #define HAVE_UNISTD_H 1
+! #endif
+!
+! /* Define when building neon as a library */
+! #define NEON_IS_LIBRARY 1
+!
+! /* Support WebDAV locking through the library */
+! #define USE_DAV_LOCKS 1
+!
+! /* Define to enable debugging */
+! /*#define DEBUGGING 1*/
+!
+! /* Define to enable OpenSSL support */
+! /*#define ENABLE_SSL 1*/
+!
+! /* Define if you have expat */
+! #define HAVE_OLD_EXPAT 1
+! #define HAVE_EXPAT 1
+!
+! /* Define if you have libxml */
+! /* #define HAVE_LIBXML */
+!
+! /* Define if you have snprintf */
+! #ifdef UNX
+! #define HAVE_SNPRINTF 1
+! #endif
+!
+! #ifdef WIN32
+!
+! /* #define HAVE_MEMCPY */
+!
+! /* Win32 uses a underscore, so we use a macro to eliminate that. */
+! #define snprintf _snprintf
+! #define vsnprintf _vsnprintf
+! #define strcasecmp strcmpi
+! #define strncasecmp strnicmp
+! #define ssize_t int
+!
+! #include <io.h>
+! #define read _read
+!
+! #endif
+*** misc/neon-0.14.0/src/hip_xml.c 2001-04-25 18:07:42.000000000 -0400
+--- misc/build/neon-0.14.0/src/hip_xml.c 2004-04-05 11:53:42.840672156 -0400
+***************
+*** 812,818 ****
+
+ void hip_xml_set_error(hip_xml_parser *p, const char *msg)
+ {
+! snprintf(p->error, HIP_ERR_SIZE, msg);
+ }
+
+ #ifdef HAVE_LIBXML
+--- 812,818 ----
+
+ void hip_xml_set_error(hip_xml_parser *p, const char *msg)
+ {
+! snprintf(p->error, HIP_ERR_SIZE, "%s", msg);
+ }
+
+ #ifdef HAVE_LIBXML
+*** misc/neon-0.14.0/src/http_private.h 2001-04-01 20:56:04.000000000 -0400
+--- misc/build/neon-0.14.0/src/http_private.h 2004-04-05 10:45:31.583523751 -0400
+***************
+*** 105,110 ****
+--- 105,111 ----
+ unsigned int in_connect:1; /* doing a proxy CONNECT */
+ unsigned int request_secure_upgrade:1;
+ unsigned int accept_secure_upgrade:1;
++ unsigned int ftp:1;
+
+ http_use_proxy proxy_decider;
+ void *proxy_decider_udata;
+***************
+*** 129,134 ****
+--- 130,137 ----
+
+ /* Error string */
+ char error[BUFSIZ];
++
++ char *userinfo;
+ };
+
+ struct http_req_s {
+*** misc/neon-0.14.0/src/http_request.c 2001-04-29 08:25:44.000000000 -0400
+--- misc/build/neon-0.14.0/src/http_request.c 2004-04-05 10:45:31.586523284 -0400
+***************
+*** 206,211 ****
+--- 206,218 ----
+ return HTTP_VERSION_PRE11(sess);
+ }
+
++ void http_session_ftp(http_session *sess, const char *userinfo)
++ {
++ sess->ftp = 1;
++ HTTP_FREE(sess->userinfo);
++ sess->userinfo = ne_strdup(userinfo);
++ }
++
+ int http_session_server(http_session *sess, const char *hostname, int port)
+ {
+ if (sess->connected && !sess->have_proxy) {
+***************
+*** 359,364 ****
+--- 366,372 ----
+ HTTP_FREE(sess->server.hostport);
+ HTTP_FREE(sess->proxy.hostport);
+ HTTP_FREE(sess->user_agent);
++ HTTP_FREE(sess->userinfo);
+
+ if (sess->connected) {
+ close_connection(sess);
+***************
+*** 429,435 ****
+
+ const char *http_get_scheme(http_session *sess)
+ {
+! if (sess->use_secure) {
+ return "https";
+ } else {
+ return "http";
+--- 437,445 ----
+
+ const char *http_get_scheme(http_session *sess)
+ {
+! if (sess->ftp) {
+! return "ftp";
+! } else if (sess->use_secure) {
+ return "https";
+ } else {
+ return "http";
+***************
+*** 487,494 ****
+ sbuffer real_uri = sbuffer_create();
+ req->abs_path = ne_strdup(uri);
+ if (req->use_proxy && strcmp(uri, "*") != 0)
+! sbuffer_concat(real_uri, http_get_scheme(req->session), "://",
+! req->session->server.hostport, NULL);
+ sbuffer_zappend(real_uri, uri);
+ req->uri = sbuffer_finish(real_uri);
+ }
+--- 497,509 ----
+ sbuffer real_uri = sbuffer_create();
+ req->abs_path = ne_strdup(uri);
+ if (req->use_proxy && strcmp(uri, "*") != 0)
+! if (req->session->userinfo && *req->session->userinfo)
+! sbuffer_concat(real_uri, http_get_scheme(req->session), "://",
+! req->session->userinfo, "@",
+! req->session->server.hostport, NULL);
+! else
+! sbuffer_concat(real_uri, http_get_scheme(req->session), "://",
+! req->session->server.hostport, NULL);
+ sbuffer_zappend(real_uri, uri);
+ req->uri = sbuffer_finish(real_uri);
+ }
+*** misc/neon-0.14.0/src/http_request.h 2001-04-22 06:18:34.000000000 -0400
+--- misc/build/neon-0.14.0/src/http_request.h 2004-04-05 10:45:31.588522973 -0400
+***************
+*** 68,73 ****
+--- 68,75 ----
+ /* Finish an HTTP session */
+ int http_session_destroy(http_session *sess);
+
++ void http_session_ftp(http_session *sess, const char *userinfo);
++
+ /* Set the server or proxy server to be used for the session.
+ * Returns:
+ * HTTP_LOOKUP if the DNS lookup for hostname failed.
+*** misc/neon-0.14.0/src/makefile.mk 2004-04-05 12:04:50.747962139 -0400
+--- misc/build/neon-0.14.0/src/makefile.mk 2004-04-05 10:45:31.590522662 -0400
+***************
+*** 1 ****
+! dummy
+--- 1,109 ----
+! #*************************************************************************
+! #
+! # $RCSfile: neon.patch,v $
+! #
+! # $Revision: 1.3 $
+! #
+! # last change: $Author: suka $ $Date: 2004/10/12 15:34:35 $
+! #
+! # The Contents of this file are made available subject to the terms of
+! # either of the following licenses
+! #
+! # - GNU Lesser General Public License Version 2.1
+! # - Sun Industry Standards Source License Version 1.1
+! #
+! # Sun Microsystems Inc., October, 2000
+! #
+! # GNU Lesser General Public License Version 2.1
+! # =============================================
+! # Copyright 2000 by Sun Microsystems, Inc.
+! # 901 San Antonio Road, Palo Alto, CA 94303, USA
+! #
+! # This library is free software; you can redistribute it and/or
+! # modify it under the terms of the GNU Lesser General Public
+! # License version 2.1, as published by the Free Software Foundation.
+! #
+! # This library is distributed in the hope that it will be useful,
+! # but WITHOUT ANY WARRANTY; without even the implied warranty of
+! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+! # Lesser General Public License for more details.
+! #
+! # You should have received a copy of the GNU Lesser General Public
+! # License along with this library; if not, write to the Free Software
+! # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+! # MA 02111-1307 USA
+! #
+! #
+! # Sun Industry Standards Source License Version 1.1
+! # =================================================
+! # The contents of this file are subject to the Sun Industry Standards
+! # Source License Version 1.1 (the "License"); You may not use this file
+! # except in compliance with the License. You may obtain a copy of the
+! # License at http://www.openoffice.org/license.html.
+! #
+! # Software provided under this License is provided on an "AS IS" basis,
+! # WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+! # WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+! # MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+! # See the License for the specific provisions governing your rights and
+! # obligations concerning the Software.
+! #
+! # The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+! #
+! # Copyright: 2000 by Sun Microsystems, Inc.
+! #
+! # All Rights Reserved.
+! #
+! # Contributor(s): _______________________________________
+! #
+! #
+! #
+! #*************************************************************************
+!
+! PRJ=..$/..$/..$/..$/..
+!
+! PRJNAME=external
+! TARGET=neon
+! LIBTARGET=NO
+!
+! # --- Settings -----------------------------------------------------
+!
+! .INCLUDE : svpre.mk
+! .INCLUDE : settings.mk
+! .INCLUDE : sv.mk
+!
+! # --- Files --------------------------------------------------------
+!
+! CFLAGS+=-I$(SOLARINCDIR)$/external$/expat
+!
+! CDEFS+=-DHAVE_CONFIG_H
+!
+! SLOFILES= \
+! $(SLO)$/base64.obj \
+! $(SLO)$/dates.obj \
+! $(SLO)$/dav_207.obj \
+! $(SLO)$/dav_basic.obj \
+! $(SLO)$/dav_locks.obj \
+! $(SLO)$/dav_props.obj \
+! $(SLO)$/hip_xml.obj \
+! $(SLO)$/http_auth.obj \
+! $(SLO)$/http_basic.obj \
+! $(SLO)$/http_cookies.obj \
+! $(SLO)$/http_redirect.obj \
+! $(SLO)$/http_request.obj \
+! $(SLO)$/http_utils.obj \
+! $(SLO)$/md5.obj \
+! $(SLO)$/ne_alloc.obj \
+! $(SLO)$/neon_i18n.obj \
+! $(SLO)$/socket.obj \
+! $(SLO)$/string_utils.obj \
+! $(SLO)$/uri.obj
+!
+!
+! LIB1TARGET=$(SLB)$/$(TARGET).lib
+! LIB1ARCHIV=$(LB)$/lib$(TARGET).a
+! LIB1OBJFILES=$(SLOFILES)
+!
+! # --- Targets ------------------------------------------------------
+!
+! .INCLUDE : target.mk
+*** misc/neon-0.14.0/src/md5.c 2001-04-29 08:23:07.000000000 -0400
+--- misc/build/neon-0.14.0/src/md5.c 2004-04-05 10:45:31.591522506 -0400
+***************
+*** 280,288 ****
+ struct md5_ctx *ctx;
+ {
+ md5_uint32 correct_words[16];
+! const md5_uint32 *words = buffer;
+! size_t nwords = len / sizeof (md5_uint32);
+! const md5_uint32 *endp = words + nwords;
+ md5_uint32 A = ctx->A;
+ md5_uint32 B = ctx->B;
+ md5_uint32 C = ctx->C;
+--- 280,287 ----
+ struct md5_ctx *ctx;
+ {
+ md5_uint32 correct_words[16];
+! const unsigned char *words = buffer;
+! const unsigned char *endp = words + len;
+ md5_uint32 A = ctx->A;
+ md5_uint32 B = ctx->B;
+ md5_uint32 C = ctx->C;
+***************
+*** 315,322 ****
+ #define OP(a, b, c, d, s, T) \
+ do \
+ { \
+! a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \
+! ++words; \
+ CYCLIC (a, s); \
+ a += b; \
+ } \
+--- 314,323 ----
+ #define OP(a, b, c, d, s, T) \
+ do \
+ { \
+! md5_uint32 WORD_ = (md5_uint32)words[0] | ((md5_uint32)words[1] << 8) \
+! | ((md5_uint32)words[2] << 16) | ((md5_uint32)words[3] << 24); \
+! a += FF (b, c, d) + (*cwp++ = WORD_) + T; \
+! words += 4; \
+ CYCLIC (a, s); \
+ a += b; \
+ } \
+***************
+*** 433,439 ****
+
+ /* Writes the ASCII representation of the MD5 digest into the
+ * given buffer, which must be at least 33 characters long. */
+! void ne_md5_to_ascii(const unsigned char md5_buf[16], char *buffer)
+ {
+ int count;
+ for (count = 0; count<16; count++) {
+--- 434,440 ----
+
+ /* Writes the ASCII representation of the MD5 digest into the
+ * given buffer, which must be at least 33 characters long. */
+! void ne_md5_to_ascii(const unsigned char md5_buf[16], char *buffer)
+ {
+ int count;
+ for (count = 0; count<16; count++) {
+***************
+*** 445,451 ****
+
+ /* Reads the ASCII representation of an MD5 digest. The buffer must
+ * be at least 32 characters long. */
+! void ne_ascii_to_md5(const char *buffer, unsigned char md5_buf[16])
+ {
+ int count;
+ for (count = 0; count<16; count++) {
+--- 446,452 ----
+
+ /* Reads the ASCII representation of an MD5 digest. The buffer must
+ * be at least 32 characters long. */
+! void ne_ascii_to_md5(const char *buffer, unsigned char md5_buf[16])
+ {
+ int count;
+ for (count = 0; count<16; count++) {
diff --git a/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2 b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2
new file mode 100644
index 000000000000..5f92769b809c
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2
@@ -0,0 +1,238 @@
+#!/bin/sh
+#
+# Wrapper script for openoffice
+#
+# (C) Peter 'Nidd' Novodvorsky, 2001,2002
+# (C) Martin 'empty' Quinson, 2002.
+# Modifications by Chris Halls
+# Modifications by Lucien Saviot
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# this string should be exactly as in ~/.sversionrc
+OOVERSION="OpenOffice.org <pv>"
+
+##
+## Source system configuration file
+##
+[ -r /etc/openoffice/openoffice.conf ] && . /etc/openoffice/openoffice.conf
+
+###
+### Get user settings directory from ~/.sversionrc and echo directory name to stdout
+### get_settings_dir <Version>
+### return: 0 - directory found,
+### 1 - ~/.sversionrc non existent
+### 2 - entry exists in ~/.sversionrc but directory not found
+### 3 - ~/.sversionrc exists but no entry found
+get_settings_dir()
+{
+ [ -r ~/.sversionrc ] || exit 1
+ # warning, .sversionrc is DOS encoded so strip ^M
+ settings_dir="`tr -d '\r' < ~/.sversionrc | sed -n "/^$1=/s%^$1=file://\(.*\)$%\1%p"`"
+ echo "$settings_dir"
+ [ -n "$settings_dir" ] || exit 3
+ [ -d "$settings_dir" ] || exit 2
+}
+
+##
+## where does OO live for this user ?
+##
+OOHOME="`get_settings_dir "$OOVERSION"`"
+if [ $? -eq 2 ] ; then
+ # .sversionrc contains a version yet the directory does not exist
+ echo "I'm confused because I can't find OpenOffice's user files."
+ echo "Your ~/.sversionrc file tells they should be under $OOHOME,"
+ echo "but they are not. Please fix the situation manually."
+ echo "You may want to edit ~/.sversionrc to indicate where is OO"
+ echo "installed, or remove it if you did remove your installation"
+ echo "directory manually (you bad one)."
+ exit 1
+fi
+
+##
+## Unset SESSION_MANAGER if gnome-session is the session manager
+## See http://www.openoffice.org/issues/show_bug.cgi?id=4494
+##
+SMPID=`echo $SESSION_MANAGER | sed --quiet "s,local.*/,,p"`
+if [ -n "$SMPID" ] && [ -L /proc/"$SMPID"/exe ]; then
+
+ SESMGR="`readlink -f /proc/$SMPID/exe`"
+ case "$SESMGR" in
+ /usr/bin/gnome-session*)
+ echo "Gnome session manager detected - session management disabled"
+ unset SESSION_MANAGER
+ ;;
+ esac
+fi
+
+##
+## Add known Debian fonts locations to search path
+##
+## Please report if you have problems with fonts, or know of non-defoma integrated packages that place fonts in other
+## paths.
+##
+
+# Default font path. This is used if SAL_FONTPATH_USER is not defined.
+DEBOO_FONTPATH="/usr/lib/X11/fonts/misc/;/usr/lib/X11/fonts/cyrillic/;\
+/usr/lib/X11/fonts/100dpi/:unscaled;/usr/lib/X11/fonts/75dpi/:unscaled;\
+/usr/lib/X11/fonts/Type1/;/usr/lib/X11/fonts/CID;/usr/lib/X11/fonts/Speedo/;\
+/usr/lib/X11/fonts/100dpi/;/usr/lib/X11/fonts/75dpi/;\
+/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType;\
+/usr/lib/X11/fonts/TrueType;\
+/usr/share/fonts/truetype/kochi;\
+/usr/lib/X11/fonts/TrueType/larabie-straight;\
+/usr/lib/X11/fonts/TrueType/larabie-uncommon"
+
+SAL_FONTPATH_USER=${SAL_FONTPATH_USER:-"$DEBOO_FONTPATH"}
+export SAL_FONTPATH_USER
+
+## search LOCALE
+if [ -n "$LC_ALL" ]; then
+ LOCALE="$LC_ALL"
+ # OOo doesn't understand LC_ALL, so set LANG
+ LANG="$LC_ALL"
+elif [ -n "$LANG" ]; then
+ LOCALE="$LANG"
+elif [ -n "$LC_MESSAGES" ]; then
+ LOCALE="$LC_MESSAGES"
+ LANG="$LC_MESSAGES"
+else
+ LOCALE="en_US"
+fi
+
+# Set locale to en_US if locale is C
+if [ "x$LOCALE" = "xC" ] ; then LOCALE="en_US"; fi
+
+LOCALEOO=`echo $LOCALE | sed 's/_/-/'`
+
+##
+## install OO for this user if needed
+##
+if [ -z "$OOHOME" ] ; then
+ if [ -e /etc/openoffice/autoresponse.conf ] && \
+ grep -q DESTINATIONPATH /etc/openoffice/autoresponse.conf ; then
+ # first install
+ OOHOME=`grep DESTINATIONPATH /etc/openoffice/autoresponse.conf | \
+ sed -e 's/DESTINATIONPATH=//' -e "s|<home>|$HOME|"`
+
+ if [ -d "$OOHOME" ]; then
+ echo "openoffice.org: You have no entry for $OOVERSION in ~/.sversionrc, "
+ echo "yet the directory $OOHOME exists."
+ echo "Please remove $OOHOME and try again."
+ exit 1
+ fi
+
+ if oldhome="`get_settings_dir "OpenOffice.org 1.0.1"`" ; then
+ OOHOME="$oldhome"
+ echo "Using settings from 1.0.1"
+ /bin/echo -e "OpenOffice.org <pv>=file://$oldhome\r" >> ~/.sversionrc
+ else
+ echo "running openoffice.org setup..."
+ if ! /opt/OpenOffice.org<pv>/program/setup -R:/etc/openoffice/autoresponse.conf >& /dev/null; then
+ echo "setup failed.. abort"
+ exit 1
+ fi
+
+
+ fi
+
+ echo "Setup complete. Running openoffice.org..."
+
+else
+ echo "openoffice.org: Damnit! I can't find OpenOffice's user files. Did you break"
+ echo "the /etc/openoffice/autoresponse.conf file manually ?"
+ echo "This file should contain DESTINATIONPATH"
+ exit 1
+ fi
+fi
+
+##
+## If no file is specified on the command line, which application to start?
+## The wrapper can be called from several links in /usr/bin
+##
+if [ $# = 0 ]; then
+ case `basename $0` in
+ oocalc) set -- private:factory/scalc;;
+ oodraw) set -- private:factory/sdraw;;
+ ooimpress) set -- private:factory/simpress;;
+ oomath) set -- private:factory/smath;;
+ oowriter) set -- private:factory/swriter;;
+ oohtml) set -- private:factory/swriter/web;;
+ oomaster) set -- private:factory/swriter/Global;;
+ esac
+fi
+
+## Previous dead installation?
+[ -d $HOME/.openoffice/user ] && echo "Warning: you have a user settings directory from 1.0.0 in ~/.openoffice/user - this is no longer used"
+
+SETUPFILE="$OOHOME/user/config/registry/instance/org/openoffice/Setup.xml"
+mv $SETUPFILE $SETUPFILE.tmp
+
+if ! grep -q "\<ooLocale" $SETUPFILE.tmp ; then
+ # Set ooLocale to nothing in $SETUPFILE. The UI language is handled by LANG.
+ # A good value for ooLocale will be set before starting.
+ cat $SETUPFILE.tmp | \
+ perl -e "while (<>) { /<Office>/ && print \" <L10N>\n <ooLocale cfg:type=\\\"string\\\"/>\n </L10N>\n\";print \$_;}" > \
+ $SETUPFILE
+ rm -f $SETUPFILE.tmp
+ mv $SETUPFILE $SETUPFILE.tmp
+fi
+
+## Change the ooLocale key in SETUPFILE acording to LOCALE
+cat $SETUPFILE.tmp | \
+ sed 's#<ooLocale\>[^/]*/[^>]*>#<ooLocale cfg:type="string">'$LOCALEOO'</ooLocale>#'\
+ > $SETUPFILE
+rm -f $SETUPFILE.tmp
+
+##
+## That's it. Launch the beast (with the given args)
+##
+LANG=$LOCALE
+export LANG
+export LD_PRELOAD=/usr/lib/libfreetype.so
+exec "$OOHOME/soffice" "$@"
+
+## Changelog
+# 2003/02/03 halls
+# * Check for nonexistent ooLocale every run
+# 2003/01/09 halls
+# * Version 1.0.2
+# 12/15 saviot
+# * Change ooLocale at startup in Setup.xml
+# <ooLocale cfg:type="string"/> doesn't work for help.
+# 12/03 challs
+# * Add Debian font paths to user font path
+# 11/14 saviot
+# * correct handling of UI language
+# * don't change Linguistic.xml after first startup(#168780)
+# * TODO: provide better defaults on first startup
+# 10/03 challs
+# * Fix use with LC_ALL
+# 07/10 challs
+# * use 1.0.1 directory and improve error checking
+# 07/02 challs
+# * use readlink in /proc/PID/exe to get
+# real session manager name
+# 06/12 challs
+# * merge into main package
+# * change $@ to "$@"
+# * source configuration file:
+# /etc/openoffice/openoffice.conf
+# 06/12 mquinson
+# * strace only when DEBUG is set to yes
+# * readd the $@ to pass the args to soffice
+# 06/06 mquinson
+# * Make sure the OLDLOCALE is never empty
+# * handle the case where the locale is C
diff --git a/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.3 b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.3
new file mode 100644
index 000000000000..e3cb9e58f2b8
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.3
@@ -0,0 +1,245 @@
+#!/bin/sh
+#
+# Wrapper script for openoffice
+#
+# (C) Peter 'Nidd' Novodvorsky, 2001,2002
+# (C) Martin 'empty' Quinson, 2002.
+# Modifications by Chris Halls
+# Modifications by Lucien Saviot
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# this string should be exactly as in ~/.sversionrc
+OOVERSION="OpenOffice.org 1.0.3"
+
+##
+## Source system configuration file
+##
+[ -r /etc/openoffice/openoffice.conf ] && . /etc/openoffice/openoffice.conf
+
+###
+### Get user settings directory from ~/.sversionrc and echo directory name to stdout
+### get_settings_dir <Version>
+### return: 0 - directory found,
+### 1 - ~/.sversionrc non existent
+### 2 - entry exists in ~/.sversionrc but directory not found
+### 3 - ~/.sversionrc exists but no entry found
+get_settings_dir()
+{
+ [ -r ~/.sversionrc ] || exit 1
+ # warning, .sversionrc is DOS encoded so strip ^M
+ settings_dir="`tr -d '\r' < ~/.sversionrc | sed -n "/^$1=/s%^$1=file://\(.*\)$%\1%p"`"
+ echo "$settings_dir"
+ [ -n "$settings_dir" ] || exit 3
+ [ -d "$settings_dir" ] || exit 2
+}
+
+##
+## where does OO live for this user ?
+##
+OOHOME="`get_settings_dir "$OOVERSION"`"
+if [ $? -eq 2 ] ; then
+ # .sversionrc contains a version yet the directory does not exist
+ echo "I'm confused because I can't find OpenOffice's user files."
+ echo "Your ~/.sversionrc file tells they should be under $OOHOME,"
+ echo "but they are not. Please fix the situation manually."
+ echo "You may want to edit ~/.sversionrc to indicate where is OO"
+ echo "installed, or remove it if you did remove your installation"
+ echo "directory manually (you bad one)."
+ exit 1
+fi
+
+##
+## Unset SESSION_MANAGER if gnome-session is the session manager
+## See http://www.openoffice.org/issues/show_bug.cgi?id=4494
+##
+SMPID=`echo $SESSION_MANAGER | sed --quiet "s,local.*/,,p"`
+if [ -n "$SMPID" ] && [ -L /proc/"$SMPID"/exe ]; then
+
+ SESMGR="`readlink -f /proc/$SMPID/exe`"
+ case "$SESMGR" in
+ /usr/bin/gnome-session*)
+ echo "Gnome session manager detected - session management disabled"
+ unset SESSION_MANAGER
+ ;;
+ esac
+fi
+
+##
+## Add known Debian fonts locations to search path
+##
+## Please report if you have problems with fonts, or know of non-defoma integrated packages that place fonts in other
+## paths.
+##
+
+# Default font path. This is used if SAL_FONTPATH_USER is not defined.
+DEBOO_FONTPATH="/usr/lib/X11/fonts/misc/;/usr/lib/X11/fonts/cyrillic/;\
+/usr/lib/X11/fonts/100dpi/:unscaled;/usr/lib/X11/fonts/75dpi/:unscaled;\
+/usr/lib/X11/fonts/Type1/;/usr/lib/X11/fonts/CID;/usr/lib/X11/fonts/Speedo/;\
+/usr/lib/X11/fonts/100dpi/;/usr/lib/X11/fonts/75dpi/;\
+/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType;\
+/usr/lib/X11/fonts/TrueType;\
+/usr/share/fonts/truetype/kochi;\
+/usr/lib/X11/fonts/TrueType/larabie-straight;\
+/usr/lib/X11/fonts/TrueType/larabie-uncommon"
+
+SAL_FONTPATH_USER=${SAL_FONTPATH_USER:-"$DEBOO_FONTPATH"}
+export SAL_FONTPATH_USER
+
+## search LOCALE
+if [ -n "$LC_ALL" ]; then
+ LOCALE="$LC_ALL"
+ # OOo doesn't understand LC_ALL, so set LANG
+ LANG="$LC_ALL"
+elif [ -n "$LANG" ]; then
+ LOCALE="$LANG"
+elif [ -n "$LC_MESSAGES" ]; then
+ LOCALE="$LC_MESSAGES"
+ LANG="$LC_MESSAGES"
+else
+ LOCALE="en_US"
+fi
+
+# Set locale to en_US if locale is C
+if [ "x$LOCALE" = "xC" ] ; then LOCALE="en_US"; fi
+
+LOCALEOO=`echo $LOCALE | sed 's/_/-/'`
+
+##
+## install OO for this user if needed
+##
+if [ -z "$OOHOME" ] ; then
+ if [ -e /etc/openoffice/autoresponse.conf ] && \
+ grep -q DESTINATIONPATH /etc/openoffice/autoresponse.conf ; then
+ if oldhome="`get_settings_dir "OpenOffice.org 1.0.2"`" ; then
+ OOHOME="$oldhome"
+ echo "Using settings from 1.0.2"
+ /bin/echo -e "OpenOffice.org 1.0.3=file://$oldhome\r" >> ~/.sversionrc
+ else
+ # first install
+ OOHOME=`grep DESTINATIONPATH /etc/openoffice/autoresponse.conf | \
+ sed -e 's/DESTINATIONPATH=//' -e "s|<home>|$HOME|"`
+
+ if [ -d "$OOHOME" ]; then
+ echo "openoffice.org: You have no entry for $OOVERSION in ~/.sversionrc, "
+ echo "yet the directory $OOHOME exists."
+ echo "Please remove $OOHOME and try again."
+ exit 1
+ fi
+
+ echo "running openoffice.org setup..."
+ if ! /opt/OpenOffice.org<pv>/program/setup -R:/etc/openoffice/autoresponse.conf >& /dev/null; then
+ echo "setup failed.. abort"
+ exit 1
+ fi
+
+
+ fi
+
+ echo "Setup complete. Running openoffice.org..."
+
+else
+ echo "openoffice.org: Damnit! I can't find OpenOffice's user files. Did you break"
+ echo "the /etc/openoffice/autoresponse.conf file manually ?"
+ echo "This file should contain DESTINATIONPATH"
+ exit 1
+ fi
+fi
+
+##
+## If no file is specified on the command line, which application to start?
+## The wrapper can be called from several links in /usr/bin
+##
+if [ $# = 0 ]; then
+ case `basename $0` in
+ oocalc) set -- private:factory/scalc;;
+ oodraw) set -- private:factory/sdraw;;
+ ooimpress) set -- private:factory/simpress;;
+ oomath) set -- private:factory/smath;;
+ oowriter) set -- private:factory/swriter;;
+ oohtml) set -- private:factory/swriter/web;;
+ oomaster) set -- private:factory/swriter/Global;;
+ esac
+fi
+
+## Previous dead installation?
+[ -d $HOME/.openoffice/user ] && echo "Warning: you have a user settings directory from 1.0.0 in ~/.openoffice/user - this is no longer used"
+
+SETUPFILE="$OOHOME/user/config/registry/instance/org/openoffice/Setup.xml"
+mv $SETUPFILE $SETUPFILE.tmp
+
+if ! grep -q "\<ooLocale" $SETUPFILE.tmp ; then
+ # Set ooLocale to nothing in $SETUPFILE. The UI language is handled by LANG.
+ # A good value for ooLocale will be set before starting.
+ cat $SETUPFILE.tmp | \
+ perl -e "while (<>) { /<Office>/ && print \" <L10N>\n <ooLocale cfg:type=\\\"string\\\"/>\n </L10N>\n\";print \$_;}" > \
+ $SETUPFILE
+ rm -f $SETUPFILE.tmp
+ mv $SETUPFILE $SETUPFILE.tmp
+fi
+
+## Change the ooLocale key in SETUPFILE acording to LOCALE
+cat $SETUPFILE.tmp | \
+ sed 's#<ooLocale\>[^/]*/[^>]*>#<ooLocale cfg:type="string">'$LOCALEOO'</ooLocale>#'\
+ > $SETUPFILE
+rm -f $SETUPFILE.tmp
+
+##
+## That's it. Launch the beast (with the given args)
+##
+LANG=$LOCALE
+export LANG
+case `basename $0` in
+ oosetup) exec "$OOHOME/setup"
+ ;;
+ oopadmin) exec "$OOHOME/spadmin"
+ ;;
+ *) exec "$OOHOME/soffice" "$@"
+ ;;
+esac
+## Changelog
+# 2003/04/01 halls
+# * Version 1.0.3
+# 2003/02/03 halls
+# * Check for nonexistent ooLocale every run
+# 2003/01/09 halls
+# * Version 1.0.2
+# 12/15 saviot
+# * Change ooLocale at startup in Setup.xml
+# <ooLocale cfg:type="string"/> doesn't work for help.
+# 12/03 challs
+# * Add Debian font paths to user font path
+# 11/14 saviot
+# * correct handling of UI language
+# * don't change Linguistic.xml after first startup(#168780)
+# * TODO: provide better defaults on first startup
+# 10/03 challs
+# * Fix use with LC_ALL
+# 07/10 challs
+# * use 1.0.1 directory and improve error checking
+# 07/02 challs
+# * use readlink in /proc/PID/exe to get
+# real session manager name
+# 06/12 challs
+# * merge into main package
+# * change $@ to "$@"
+# * source configuration file:
+# /etc/openoffice/openoffice.conf
+# 06/12 mquinson
+# * strace only when DEBUG is set to yes
+# * readd the $@ to pass the args to soffice
+# 06/06 mquinson
+# * Make sure the OLDLOCALE is never empty
+# * handle the case where the locale is C
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-compiler-flags.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-compiler-flags.patch
new file mode 100644
index 000000000000..a7084201a5b7
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-compiler-flags.patch
@@ -0,0 +1,24 @@
+Index: oo_cvs/solenv/inc/unxlngi4.mk
+===================================================================
+RCS file: /cvs/oo/tools/solenv/inc/unxlngi4.mk,v
+retrieving revision 1.13
+diff -u -3 -p -u -r1.13 unxlngi4.mk
+--- oo_cvs/solenv/inc/unxlngi4.mk 2002/03/04 15:53:59 1.13
++++ oo_cvs/solenv/inc/unxlngi4.mk 2002/08/12 08:59:08
+@@ -96,14 +96,14 @@ CFLAGS=
+ .ENDIF
+ CFLAGS+=-fmessage-length=0 -c $(INCLUDE)
+ # flags for the C++ Compiler
+-CFLAGSCC= -pipe -mcpu=pentiumpro
++CFLAGSCC= -pipe
+ # Flags for enabling exception handling
+ CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
+ # Flags for disabling exception handling
+ CFLAGS_NO_EXCEPTIONS=-fno-exceptions
+
+ # -fpermissive should be removed as soon as possible
+-CFLAGSCXX= -pipe -mcpu=pentiumpro -fno-for-scope -fpermissive
++CFLAGSCXX= -pipe -fno-for-scope -fpermissive
+
+ # HACK: enable Hamburg developers to build on glibc-2.2 machines but compile vs. glibc-2.1 headers
+ .IF "$(BUILD_SOSL)"==""
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-asm.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-asm.patch
new file mode 100644
index 000000000000..476cd704bfec
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-asm.patch
@@ -0,0 +1,86 @@
+--- oo_1.0_src/sal/osl/unx/interlck.c.jj Wed May 2 17:03:13 2001
++++ oo_1.0_src/sal/osl/unx/interlck.c Thu May 30 10:45:19 2002
+@@ -83,9 +83,11 @@ oslInterlockedCount SAL_CALL osl_increme
+ "lock\n\t"
+ "xadd %0, %2\n\t"
+ "incl %0"
+- : "=a" (nCount), "=m" (*pCount)
++ : "=&r" (nCount), "=m" (*pCount)
+ : "m" (*pCount)
+ : "memory");
++
++ return nCount;
+ }
+
+ oslInterlockedCount SAL_CALL osl_decrementInterlockedCount(oslInterlockedCount* pCount)
+@@ -97,9 +99,11 @@ oslInterlockedCount SAL_CALL osl_decreme
+ "lock\n\t"
+ "xadd %0, %2\n\t"
+ "decl %0"
+- : "=a" (nCount), "=m" (*pCount)
++ : "=&r" (nCount), "=m" (*pCount)
+ : "m" (*pCount)
+ : "memory");
++
++ return nCount;
+ }
+
+ #elif defined ( GCC ) && defined ( POWERPC )
+@@ -117,7 +121,7 @@ oslInterlockedCount SAL_CALL osl_increme
+ " addi %0,%0,1\n\t"
+ " stwcx. %0,0,%2\n\t"
+ " bne- 1b"
+- : "=r" (nCount), "=m" (*pCount)
++ : "=&r" (nCount), "=m" (*pCount)
+ : "r" (pCount)
+ : "r4", "memory");
+
+@@ -134,7 +138,7 @@ oslInterlockedCount SAL_CALL osl_decreme
+ " subi %0,%0,1\n\t"
+ " stwcx. %0,0,%2\n\t"
+ " bne- 1b"
+- : "=r" (nCount), "=m" (*pCount)
++ : "=&r" (nCount), "=m" (*pCount)
+ : "r" (pCount)
+ : "r4", "memory");
+
+--- oo_1.0_src/bridges/source/c_uno/intelx86.cxx.jj Wed Apr 18 13:05:48 2001
++++ oo_1.0_src/bridges/source/c_uno/intelx86.cxx Thu May 30 11:37:26 2002
+@@ -95,24 +95,21 @@ Lcopy: sub eax, 4
+ add esp, eax
+ }
+ #elif GCC
++ int ecx, edx;
++
+ __asm__
+ (
+- "mov %2, %%eax\n\t"
+- "mov %%eax, %%ecx\n\t"
+- "shl $2, %%eax\n\t"
+- "add %1, %%eax\n"
+- "Lcopy:\n\t"
+- "sub $4, %%eax\n\t"
+- "pushl (%%eax)\n\t"
+- "dec %%ecx\n\t"
+- "jne Lcopy\n\t"
+- "mov %0, %%eax\n\t"
+- "call *%%eax\n\t"
+- "mov %%eax, %3\n"
+- "mov %2, %%eax\n\t"
+- "shl $2, %%eax\n\t"
+- "add %%eax, %%esp\n\t"
+- : : "m"(fptr), "m"(pParams), "m"(nParams), "m"(retVal)
++ "1:\n\t"
++ "subl $4, %0\n\t"
++ "pushl (%0)\n\t"
++ "decl %1\n\t"
++ "jne 1b\n\t"
++ "call *%2\n\t"
++ "leal 0(%%esp,%3,4), %%esp\n\t"
++ : "=a"(retVal), "=c"(ecx), "=d"(edx)
++ : "S"(nParams),
++ "0" (((int *) pParams) + nParams), "1" (nParams), "2"(fptr)
++ : "memory", "cc"
+ );
+ #else
+ #error "### unsupported x86 compiler!"
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-jdk-1.4.0.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-jdk-1.4.0.patch
new file mode 100644
index 000000000000..ff9fe8b5dd7a
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-fix-jdk-1.4.0.patch
@@ -0,0 +1,57 @@
+--- XmlSearch/src/com/sun/xmlsearch/util/ExtensibleURLStreamHandlerFactory.java.orig 2002-12-02 22:59:26.000000000 -0500
++++ XmlSearch/src/com/sun/xmlsearch/util/ExtensibleURLStreamHandlerFactory.java 2002-12-02 23:01:49.000000000 -0500
+@@ -79,7 +79,7 @@
+ Class.forName(className != null
+ ? className
+ : "sun.net.www.protocol." + protocol + ".Handler");
+- return (URLStreamHandler)handlerClass.newInstance();;
++ return (URLStreamHandler)handlerClass.newInstance();
+ }
+ catch (Exception e) {
+ System.err.println(e);
+
+--- sj2/stardiv/app/AppletViewer.java.orig 2002-11-25 15:30:49.000000000 -0500
++++ sj2/stardiv/app/AppletViewer.java 2002-11-25 15:29:15.000000000 -0500
+@@ -196,7 +196,7 @@
+ public AppletViewer(int x, int y, URL doc, Hashtable atts, PrintStream statusMsgStream) {
+ // resourceViewer = new stardiv.util.ResourceViewer();
+ // resourceViewer.show();
+- System.err.println("#*#*#*:" + sun.awt.ScreenUpdater.updater);
++// System.err.println("#*#*#*:" + sun.awt.ScreenUpdater.updater);
+ this.statusMsgStream = statusMsgStream;
+ this.atts = atts;
+
+--- sj2/stardiv/applet/DocumentProxy.java.orig 2002-11-25 22:11:41.000000000 -0500
++++ sj2/stardiv/applet/DocumentProxy.java 2002-11-25 22:16:25.000000000 -0500
+@@ -73,6 +73,8 @@
+ import java.util.Hashtable;
+ import java.util.Observer;
+ import java.util.Observable;
++import java.util.Iterator;
++import java.io.InputStream;
+
+ import java.net.URL;
+
+@@ -96,6 +98,22 @@
+ return documentProxy;
+ }
+
++ // AppletContext. This method is new since 1.4. We insert it so as to
++ // have the project buildable
++ public void setStream( String key,InputStream stream)
++ throws java.io.IOException {
++ }
++ // AppletContext. This method is new since 1.4. We insert it so as to
++ // have the project buildable
++ public InputStream getStream( String key) {
++ return null;
++ }
++ // AppletContext. This method is new since 1.4. We insert it so as to
++ // have the project buildable
++ public Iterator getStreamKeys() {
++ return null;
++ }
++
+
+ /*
+ ** interface cachable methods
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-no-mozab.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-no-mozab.patch
new file mode 100644
index 000000000000..542253fb1b86
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-no-mozab.patch
@@ -0,0 +1,68 @@
+--- oo_1.0_src/connectivity/prj/build.lst.no-mozab 2001-11-07 12:00:01.000000000 +0100
++++ oo_1.0_src/connectivity/prj/build.lst 2002-05-02 13:25:49.000000000 +0200
+@@ -1,4 +1,4 @@
+-cn connectivity : comphelper moz svtools NULL
++cn connectivity : comphelper svtools NULL
+ cn connectivity usr1 - all cn_mkout NULL
+ cn connectivity\source\types nmake - all cn_types NULL
+ cn connectivity\source\commontools nmake - all cn_cmtools cn_types NULL
+@@ -7,8 +7,6 @@ cn connectivity\source\cpool nmake -
+ cn connectivity\source\resource nmake - all cn_res NULL
+ cn connectivity\source\sdbcx nmake - all cn_sdbcx cn_types NULL
+ cn connectivity\source\drivers\ado nmake - w cn_ado cn_dbtools NULL
+-cn connectivity\source\drivers\mozab\mozillasrc nmake - all cn_mozab_mozillasrc cn_file NULL
+-cn connectivity\source\drivers\mozab nmake - all cn_mozab cn_mozab_mozillasrc cn_dbtools NULL
+ cn connectivity\source\drivers\calc nmake - all cn_calc cn_file NULL
+ cn connectivity\source\drivers\odbc nmake - all cn_odbc cn_dbtools NULL
+ cn connectivity\source\drivers\jdbc nmake - all cn_jdbc cn_dbtools NULL
+--- oo_1.0_src/scp/source/office/files.scp.no-mozab 2002-04-17 10:18:19.000000000 +0200
++++ oo_1.0_src/scp/source/office/files.scp 2002-05-06 11:13:47.000000000 +0200
+@@ -453,17 +453,6 @@ File GID_FILE_LIB_DBODBCBASE
+ Dir = GID_DIR_PROGRAM;
+ Styles = (PACKED);
+ End
+-File GID_FILE_LIB_MOZABDRV
+- BIN_FILE_BODY;
+- #ifdef UNX
+- Name = "libmozabdrv2.so";
+- #else
+- Name = "mozabdrv2.dll";
+- #endif
+- Dir = GID_DIR_PROGRAM;
+- Styles = (PACKED);
+-End
+-
+
+ STD_UNO_LIB_FILE( GID_FILE_LIB_DBU, dbu )
+ STD_UNO_LIB_FILE( GID_FILE_LIB_DBA, dba)
+@@ -852,18 +841,6 @@ File GID_FILE_LIB_ODBC_2
+ #endif
+ End
+
+-File GID_FILE_LIB_MOZAB_2
+- BIN_FILE_BODY;
+- Styles = (PACKED,UNO_COMPONENT);
+- RegistryID = GID_STARREGISTRY_APPLICAT_RDB;
+- Dir = GID_DIR_PROGRAM;
+- #ifdef UNX
+- Name = "libmozab2.so";
+- #else
+- Name = "mozab2.dll";
+- #endif
+-End
+-
+ File GID_FILE_LIB_SDBC_2
+ BIN_FILE_BODY;
+ Styles = (PACKED,UNO_COMPONENT);
+@@ -2954,11 +2931,3 @@ End
+ #endif
+
+ #endif // of #ifdef SOLAR_JAVA
+-
+-File GID_FILE_MOZILLA_RUNTIME
+- BIN_FILE_BODY;
+- Styles = (ARCHIVE);
+- Dir = GID_DIR_PROGRAM;
+- Name = "mozruntime.zip";
+-End
+-
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-sparc.patch.bz2 b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-sparc.patch.bz2
new file mode 100644
index 000000000000..9de64291f090
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-sparc.patch.bz2
Binary files differ
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3-newgcc.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3-newgcc.patch
new file mode 100644
index 000000000000..6e96f366c4e2
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3-newgcc.patch
@@ -0,0 +1,285 @@
+diff -urN stlport/STLport-4.5.3.patch stlport.azarah/STLport-4.5.3.patch
+--- stlport/STLport-4.5.3.patch Thu Jan 1 02:00:00 1970
++++ stlport.azarah/STLport-4.5.3.patch Tue Sep 10 22:50:10 2002
+@@ -0,0 +1,247 @@
++*** misc/STLport-4.5.3/src/fstream.cpp Tue Sep 4 19:10:12 2001
++--- misc/build/STLport-4.5.3/src/fstream.cpp Fri Jan 11 17:22:40 2002
++***************
++*** 293,299 ****
++ #ifdef __MINGW32__
++ __MINGW_IMPORT ioinfo * __pioinfo[];
++ #else
++! extern _CRTIMP ioinfo * __pioinfo[];
++ #endif
++
++ } // extern "C"
++--- 293,299 ----
++ #ifdef __MINGW32__
++ __MINGW_IMPORT ioinfo * __pioinfo[];
++ #else
++! extern __declspec( dllimport ) ioinfo * __pioinfo[];
++ #endif
++
++ } // extern "C"
++*** misc/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:48:44 2002
++--- misc/build/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:47:21 2002
++***************
++*** 1 ****
++! dummy
++--- 1,59 ----
++! #
++! # Note : this makefile is for gcc-3 !
++! #
++!
++! #
++! # compiler
++! #
++! CC = $(CCCOMP)
++! CXX = $(CXXCOMP) -D_REENTRANT -fexceptions
++!
++! #
++! # Basename for libraries
++! #
++! LIB_BASENAME = libstlport_gcc
++!
++! #
++! # guts for common stuff
++! #
++! #
++! LINK=ar cr
++! DYN_LINK=$(CXX) --fexceptions -shared -o
++!
++! OBJEXT=o
++! DYNEXT=so
++! STEXT=a
++! RM=rm -rf
++! PATH_SEP=/
++! MKDIR=mkdir -p
++! COMP=GCC$(ARCH)
++! INSTALL_STEP = install_unix
++!
++! all: all_dynamic all_static symbolic_links
++!
++! include common_macros.mak
++!
++! WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32
++!
++! CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS}
++!
++! CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -fPIC
++! CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC
++!
++! CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -fPIC
++! CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC
++!
++! CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG
++! CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG
++!
++! include common_percent_rules.mak
++! include common_rules.mak
++!
++!
++! #install: all
++! # cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib
++!
++! #%.s: %.cpp
++! # $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@
++!
++!
++*** misc/STLport-4.5.3/src/vc6.mak Mon Jul 30 00:18:15 2001
++--- misc/build/STLport-4.5.3/src/vc6.mak Fri Jan 11 17:41:08 2002
++***************
++*** 10,16 ****
++ COMP=VC6
++
++ # EXTRA_COMMON_FLAGS=/D "_MBCS"
++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS"
++ EXTRA_DEBUG_FLAGS=
++ EXTRA_NDEBUG_FLAGS=
++
++--- 10,16 ----
++ COMP=VC6
++
++ # EXTRA_COMMON_FLAGS=/D "_MBCS"
++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" /D "_NTSDK" /D "_CRTIMP="
++ EXTRA_DEBUG_FLAGS=
++ EXTRA_NDEBUG_FLAGS=
++
++*** misc/STLport-4.5.3/src/vc_common.mak Tue Sep 4 19:10:12 2001
++--- misc/build/STLport-4.5.3/src/vc_common.mak Fri Jan 11 12:48:14 2002
++***************
++*** 62,68 ****
++ LDFLAGS_RELEASE=/opt:ref
++
++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON)
++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /dll /incremental:no
++
++
++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch
++--- 62,68 ----
++ LDFLAGS_RELEASE=/opt:ref
++
++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON)
++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /nodefaultlib oldnames.lib kernel32.lib /dll /incremental:no
++
++
++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch
++***************
++*** 79,87 ****
++
++
++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)"
++
++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV
++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++--- 79,87 ----
++
++
++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)"
++
++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV
++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++***************
++*** 95,101 ****
++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch
++
++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++
++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res
++--- 95,101 ----
++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch
++
++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) msvcrt.lib /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++
++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res
++*** misc/STLport-4.5.3/stlport/stdexcept Tue May 22 02:50:21 2001
++--- misc/build/STLport-4.5.3/stlport/stdexcept Mon Jan 14 18:26:09 2002
++***************
++*** 49,54 ****
++--- 49,59 ----
++
++ _STLP_BEGIN_NAMESPACE
++
+++ /* maybe limit to gcc 3.x */
+++ #if defined( __GNUC__)
+++ #define _STLP_NOTHROW_INHERENTLY throw()
+++ #endif
+++
++ class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE {
++ public:
++ __Named_exception(const string& __str)
++*** misc/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:04 2002
++--- misc/build/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:56 2002
++***************
++*** 226,233 ****
++
++ # if (__GNUC__ >= 3)
++
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward
++
++ # elif (__GNUC_MINOR__ < 8)
++
++--- 226,233 ----
++
++ # if (__GNUC__ >= 3)
++
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward
++
++ # elif (__GNUC_MINOR__ < 8)
++
++***************
++*** 285,298 ****
++ # if defined(__DJGPP)
++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3
++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) )
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3
++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess
++ // depending on a platform
++ # ifdef __hpux
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3
++ # else
++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2
++ # endif
++--- 285,298 ----
++ # if defined(__DJGPP)
++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3
++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) )
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v32
++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess
++ // depending on a platform
++ # ifdef __hpux
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
++ # else
++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2
++ # endif
++*** misc/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:41:05 2002
++--- misc/build/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:39:45 2002
++***************
++*** 84,90 ****
++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT)
++! -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++
++ install_unix :
++--- 84,90 ----
++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT)
++! -ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++
++ install_unix :
+diff -urN stlport/makefile.mk stlport.azarah/makefile.mk
+--- stlport/makefile.mk Tue Sep 10 22:38:00 2002
++++ stlport.azarah/makefile.mk Tue Sep 10 22:39:11 2002
+@@ -72,8 +72,8 @@
+ # --- Files --------------------------------------------------------
+
+ .IF "$(COMID)"=="gcc3"
+-TARFILE_NAME=STLport-4.5
+-PATCH_FILE_NAME=$(MISC)$/STLport-4.5.patch
++TARFILE_NAME=STLport-4.5.3
++PATCH_FILE_NAME=$(MISC)$/STLport-4.5.3.patch
+ .ELSE # "$(COMID)"=="gcc3"
+ TARFILE_NAME=STLport-4.0
+ PATCH_FILE_NAME=STLport-4.0.patch
+@@ -152,7 +152,7 @@
+ @echo " Therefore the version provided here does not need to be built in addition."
+ +$(COPY) $(STLPORT4)$/lib$/*stlport*$(DLLPOST) $(DLLDEST)
+ .ELSE
+-all : $(MISC)$/STLport-4.5.patch ALLTAR
++all : $(MISC)$/STLport-4.5.3.patch ALLTAR
+ .ENDIF
+
+ .INCLUDE : set_ext.mk
+@@ -160,8 +160,8 @@
+ .INCLUDE : tg_ext.mk
+
+
+-$(MISC)$/STLport-4.5.patch : STLport-4.5.patch
+- +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.patch > $(MISC)$/STLport-4.5.patch
++$(MISC)$/STLport-4.5.3.patch : STLport-4.5.3.patch
++ +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.3.patch > $(MISC)$/STLport-4.5.3.patch
+
+ .IF "$(GUI)"=="WNT"
+
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch
new file mode 100644
index 000000000000..0517cd7fcc09
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-STLport-4.5.3.patch
@@ -0,0 +1,285 @@
+diff -urN stlport/STLport-4.5.3.patch stlport.azarah/STLport-4.5.3.patch
+--- stlport/STLport-4.5.3.patch Thu Jan 1 02:00:00 1970
++++ stlport.azarah/STLport-4.5.3.patch Tue Sep 10 22:50:10 2002
+@@ -0,0 +1,247 @@
++*** misc/STLport-4.5.3/src/fstream.cpp Tue Sep 4 19:10:12 2001
++--- misc/build/STLport-4.5.3/src/fstream.cpp Fri Jan 11 17:22:40 2002
++***************
++*** 293,299 ****
++ #ifdef __MINGW32__
++ __MINGW_IMPORT ioinfo * __pioinfo[];
++ #else
++! extern _CRTIMP ioinfo * __pioinfo[];
++ #endif
++
++ } // extern "C"
++--- 293,299 ----
++ #ifdef __MINGW32__
++ __MINGW_IMPORT ioinfo * __pioinfo[];
++ #else
++! extern __declspec( dllimport ) ioinfo * __pioinfo[];
++ #endif
++
++ } // extern "C"
++*** misc/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:48:44 2002
++--- misc/build/STLport-4.5.3/src/gcc-3.0.mak Fri Jan 11 12:47:21 2002
++***************
++*** 1 ****
++! dummy
++--- 1,59 ----
++! #
++! # Note : this makefile is for gcc-3 !
++! #
++!
++! #
++! # compiler
++! #
++! CC = $(CCCOMP)
++! CXX = $(CXXCOMP) -D_REENTRANT -fexceptions
++!
++! #
++! # Basename for libraries
++! #
++! LIB_BASENAME = libstlport_gcc
++!
++! #
++! # guts for common stuff
++! #
++! #
++! LINK=ar cr
++! DYN_LINK=$(CXX) --fexceptions -shared -o
++!
++! OBJEXT=o
++! DYNEXT=so
++! STEXT=a
++! RM=rm -rf
++! PATH_SEP=/
++! MKDIR=mkdir -p
++! COMP=GCC$(ARCH)
++! INSTALL_STEP = install_unix
++!
++! all: all_dynamic all_static symbolic_links
++!
++! include common_macros.mak
++!
++! WARNING_FLAGS= -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized -ftemplate-depth-32
++!
++! CXXFLAGS_COMMON = -I${STLPORT_DIR} ${WARNING_FLAGS}
++!
++! CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -O2 -fPIC
++! CXXFLAGS_RELEASE_dynamic = $(CXXFLAGS_COMMON) -O2 -fPIC
++!
++! CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g -fPIC
++! CXXFLAGS_DEBUG_dynamic = $(CXXFLAGS_COMMON) -g -fPIC
++!
++! CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG
++! CXXFLAGS_STLDEBUG_dynamic = $(CXXFLAGS_DEBUG_dynamic) -D_STLP_DEBUG
++!
++! include common_percent_rules.mak
++! include common_rules.mak
++!
++!
++! #install: all
++! # cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib
++!
++! #%.s: %.cpp
++! # $(CXX) $(CXXFLAGS) -O4 -S -pto $< -o $@
++!
++!
++*** misc/STLport-4.5.3/src/vc6.mak Mon Jul 30 00:18:15 2001
++--- misc/build/STLport-4.5.3/src/vc6.mak Fri Jan 11 17:41:08 2002
++***************
++*** 10,16 ****
++ COMP=VC6
++
++ # EXTRA_COMMON_FLAGS=/D "_MBCS"
++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS"
++ EXTRA_DEBUG_FLAGS=
++ EXTRA_NDEBUG_FLAGS=
++
++--- 10,16 ----
++ COMP=VC6
++
++ # EXTRA_COMMON_FLAGS=/D "_MBCS"
++! EXTRA_COMMON_FLAGS=/Zm800 /FI "vc_warning_disable.h" /D "_MBCS" /D "_NTSDK" /D "_CRTIMP="
++ EXTRA_DEBUG_FLAGS=
++ EXTRA_NDEBUG_FLAGS=
++
++*** misc/STLport-4.5.3/src/vc_common.mak Tue Sep 4 19:10:12 2001
++--- misc/build/STLport-4.5.3/src/vc_common.mak Fri Jan 11 12:48:14 2002
++***************
++*** 62,68 ****
++ LDFLAGS_RELEASE=/opt:ref
++
++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON)
++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /dll /incremental:no
++
++
++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch
++--- 62,68 ----
++ LDFLAGS_RELEASE=/opt:ref
++
++ LDFLAGS_COMMON_static=$(LDFLAGS_COMMON)
++! LDFLAGS_COMMON_dynamic=$(LDFLAGS_COMMON) /nodefaultlib oldnames.lib kernel32.lib /dll /incremental:no
++
++
++ CXXFLAGS_DEBUG_static=$(FLAGS_COMMON_static) /MTd $(FLAGS_DEBUG) /Fo"$(DEBUG_OBJDIR_static)\\" /Fd"$(DEBUG_OBJDIR_static)\\" /YXstlport_prefix.h /Fp$(DEBUG_OBJDIR_static)\stlport.pch
++***************
++*** 79,87 ****
++
++
++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)"
++
++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV
++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++--- 79,87 ----
++
++
++ LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++ LDFLAGS_STLDEBUG_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_STLDEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) msvcrtd.lib $(LDFLAGS_DEBUG) /implib:"$(OUTDIR)\$(STLDEBUG_NAME).$(STEXT)"
++
++ # LDFLAGS_DEBUG_static=$(LDFLAGS_COMMON_static) /DEBUGTYPE:CV
++ # LDFLAGS_DEBUG_dynamic=$(LDFLAGS_COMMON_dynamic) /DEBUG /DEBUGTYPE:CV /implib:"$(OUTDIR)\$(DEBUG_NAME).$(STEXT)"
++***************
++*** 95,101 ****
++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch
++
++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++
++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res
++--- 95,101 ----
++ CXXFLAGS_RELEASE_dynamic=$(FLAGS_COMMON_dynamic) /MD $(FLAGS_NDEBUG) /Fo"$(RELEASE_OBJDIR_dynamic)\\" /Fd"$(RELEASE_OBJDIR_dynamic)\\" /YXstlport_prefix.h /Fp$(RELEASE_OBJDIR_dynamic)\stlport.pch
++
++ LDFLAGS_RELEASE_static=$(LDFLAGS_COMMON_static)
++! LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) $(LDFLAGS_RELEASE) msvcrt.lib /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++ # LDFLAGS_RELEASE_dynamic=$(LDFLAGS_COMMON_dynamic) /implib:"$(OUTDIR)\$(RELEASE_NAME).$(STEXT)"
++
++ RESFILE=$(RELEASE_OBJDIR_dynamic)$(PATH_SEP)stlport.res
++*** misc/STLport-4.5.3/stlport/stdexcept Tue May 22 02:50:21 2001
++--- misc/build/STLport-4.5.3/stlport/stdexcept Mon Jan 14 18:26:09 2002
++***************
++*** 49,54 ****
++--- 49,59 ----
++
++ _STLP_BEGIN_NAMESPACE
++
+++ /* maybe limit to gcc 3.x */
+++ #if defined( __GNUC__)
+++ #define _STLP_NOTHROW_INHERENTLY throw()
+++ #endif
+++
++ class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE {
++ public:
++ __Named_exception(const string& __str)
++*** misc/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:04 2002
++--- misc/build/STLport-4.5.3/stlport/config/stl_gcc.h Thu Jun 6 22:53:56 2002
++***************
++*** 226,233 ****
++
++ # if (__GNUC__ >= 3)
++
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v3/backward
++
++ # elif (__GNUC_MINOR__ < 8)
++
++--- 226,233 ----
++
++ # if (__GNUC__ >= 3)
++
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v32
++! # define _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH ../g++-v32/backward
++
++ # elif (__GNUC_MINOR__ < 8)
++
++***************
++*** 285,298 ****
++ # if defined(__DJGPP)
++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3
++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) )
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3
++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess
++ // depending on a platform
++ # ifdef __hpux
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-3
++ # else
++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2
++ # endif
++--- 285,298 ----
++ # if defined(__DJGPP)
++ # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
++ # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
++! # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v32
++ # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) ) )
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v32
++ # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
++ // this really sucks, as GNUpro does not really identifies itself, so we have to guess
++ // depending on a platform
++ # ifdef __hpux
++! # define _STLP_NATIVE_INCLUDE_PATH ../g++-v32
++ # else
++ # define _STLP_NATIVE_INCLUDE_PATH ../g++-2
++ # endif
++*** misc/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:41:05 2002
++--- misc/build/STLport-4.5.3/src/common_rules.mak Tue Sep 10 23:39:45 2002
++***************
++*** 84,90 ****
++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT)
++! -ln -s $(DEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++
++ install_unix :
++--- 84,90 ----
++ $(RM) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++ $(RM) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(RELEASE_DYNLIB) $(OUTDIR)/$(RELEASE_NAME).$(DYNEXT)
++! -ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(DEBUG_NAME).$(DYNEXT)
++ ln -s $(STLDEBUG_DYNLIB) $(OUTDIR)/$(STLDEBUG_NAME).$(DYNEXT)
++
++ install_unix :
+diff -urN stlport/makefile.mk stlport.azarah/makefile.mk
+--- stlport/makefile.mk Tue Sep 10 22:38:00 2002
++++ stlport.azarah/makefile.mk Tue Sep 10 22:39:11 2002
+@@ -72,8 +72,8 @@
+ # --- Files --------------------------------------------------------
+
+ .IF "$(COMID)"=="gcc3"
+-TARFILE_NAME=STLport-4.5
+-PATCH_FILE_NAME=$(MISC)$/STLport-4.5.patch
++TARFILE_NAME=STLport-4.5.3
++PATCH_FILE_NAME=$(MISC)$/STLport-4.5.3.patch
+ .ELSE # "$(COMID)"=="gcc3"
+ TARFILE_NAME=STLport-4.0
+ PATCH_FILE_NAME=STLport-4.0.patch
+@@ -152,7 +152,7 @@
+ @echo " Therefore the version provided here does not need to be built in addition."
+ +$(COPY) $(STLPORT4)$/lib$/*stlport*$(DLLPOST) $(DLLDEST)
+ .ELSE
+-all : $(MISC)$/STLport-4.5.patch ALLTAR
++all : $(MISC)$/STLport-4.5.3.patch ALLTAR
+ .ENDIF
+
+ .INCLUDE : set_ext.mk
+@@ -160,8 +160,8 @@
+ .INCLUDE : tg_ext.mk
+
+
+-$(MISC)$/STLport-4.5.patch : STLport-4.5.patch
+- +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.patch > $(MISC)$/STLport-4.5.patch
++$(MISC)$/STLport-4.5.3.patch : STLport-4.5.3.patch
++ +$(SED) -e 's#GXX_INCLUDE_PATH#$(GXX_INCLUDE_PATH)#g' < STLport-4.5.3.patch > $(MISC)$/STLport-4.5.3.patch
+
+ .IF "$(GUI)"=="WNT"
+
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch
new file mode 100644
index 000000000000..0d079c32864f
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-use-freetype-2.1.3.patch
@@ -0,0 +1,319 @@
+Index: oo_cvs/vcl/source/glyphs/gcach_ftyp.cxx
+===================================================================
+RCS file: /cvs/oo/gsl/vcl/source/glyphs/gcach_ftyp.cxx,v
+retrieving revision 1.69
+diff -u -3 -p -r1.69 gcach_ftyp.cxx
+--- oo_cvs/vcl/source/glyphs/gcach_ftyp.cxx 2002/01/02 10:38:06 1.69
++++ oo_cvs/vcl/source/glyphs/gcach_ftyp.cxx 2002/06/17 14:37:50
+@@ -104,6 +104,13 @@
+ #include "freetype/internal/sfnt.h"
+ #include "freetype/internal/ftstream.h"
+
++// Freetype versions < 2.1 used different stream macro names
++#ifndef FT_NEXT_USHORT
++#define FT_NEXT_USHORT NEXT_UShort
++#define FT_NEXT_SHORT NEXT_Short
++#define FT_NEXT_LONG NEXT_Long
++#endif
++
+ #include <svapp.hxx>
+ #include <settings.hxx>
+ #include <tools/lang.hxx>
+@@ -1200,29 +1207,29 @@ ULONG FreetypeServerFont::GetKernPairs(
+ ImplKernPairData aKernPair;
+
+ const FT_Byte* pBuffer = pKern;
+- USHORT nVersion = NEXT_UShort( pBuffer );
+- USHORT nTableCnt = NEXT_UShort( pBuffer );
++ USHORT nVersion = FT_NEXT_USHORT( pBuffer );
++ USHORT nTableCnt = FT_NEXT_USHORT( pBuffer );
+ if( nVersion != 0 ) // ignore Apple's versions for now
+ nTableCnt = 0;
+ for( USHORT nTableIdx = 0; nTableIdx < nTableCnt; ++nTableIdx )
+ {
+- USHORT nSubVersion = NEXT_UShort( pBuffer );
+- USHORT nSubLength = NEXT_UShort( pBuffer );
+- USHORT nSubCoverage = NEXT_UShort( pBuffer );
++ USHORT nSubVersion = FT_NEXT_USHORT( pBuffer );
++ USHORT nSubLength = FT_NEXT_USHORT( pBuffer );
++ USHORT nSubCoverage = FT_NEXT_USHORT( pBuffer );
+ if( (nSubCoverage&0x03) != 0x01 ) // no interest in minimum info here
+ continue;
+ switch( nSubCoverage >> 8 )
+ {
+ case 0: // version 0, kerning format 0
+ {
+- USHORT nPairs = NEXT_UShort( pBuffer );
++ USHORT nPairs = FT_NEXT_USHORT( pBuffer );
+ pBuffer += 6; // skip search hints
+ aKernGlyphVector.reserve( aKernGlyphVector.size() + nPairs );
+ for( int i = 0; i < nPairs; ++i )
+ {
+- aKernPair.mnChar1 = NEXT_UShort( pBuffer );
+- aKernPair.mnChar2 = NEXT_UShort( pBuffer );
+- /*long nUnscaledKern=*/ NEXT_Short( pBuffer );
++ aKernPair.mnChar1 = FT_NEXT_USHORT( pBuffer );
++ aKernPair.mnChar2 = FT_NEXT_USHORT( pBuffer );
++ /*long nUnscaledKern=*/ FT_NEXT_SHORT( pBuffer );
+ aKernGlyphVector.push_back( aKernPair );
+ }
+ }
+@@ -1231,18 +1238,18 @@ ULONG FreetypeServerFont::GetKernPairs(
+ case 2: // version 0, kerning format 2
+ {
+ const FT_Byte* pSubTable = pBuffer;
+- /*USHORT nRowWidth =*/ NEXT_UShort( pBuffer );
+- USHORT nOfsLeft = NEXT_UShort( pBuffer );
+- USHORT nOfsRight = NEXT_UShort( pBuffer );
+- USHORT nOfsArray = NEXT_UShort( pBuffer );
++ /*USHORT nRowWidth =*/ FT_NEXT_USHORT( pBuffer );
++ USHORT nOfsLeft = FT_NEXT_USHORT( pBuffer );
++ USHORT nOfsRight = FT_NEXT_USHORT( pBuffer );
++ USHORT nOfsArray = FT_NEXT_USHORT( pBuffer );
+
+ const FT_Byte* pTmp = pSubTable + nOfsLeft;
+- USHORT nFirstLeft = NEXT_UShort( pTmp );
+- USHORT nLastLeft = NEXT_UShort( pTmp ) + nFirstLeft - 1;
++ USHORT nFirstLeft = FT_NEXT_USHORT( pTmp );
++ USHORT nLastLeft = FT_NEXT_USHORT( pTmp ) + nFirstLeft - 1;
+
+ pTmp = pSubTable + nOfsRight;
+- USHORT nFirstRight = NEXT_UShort( pTmp );
+- USHORT nLastRight = NEXT_UShort( pTmp ) + nFirstRight - 1;
++ USHORT nFirstRight = FT_NEXT_USHORT( pTmp );
++ USHORT nLastRight = FT_NEXT_USHORT( pTmp ) + nFirstRight - 1;
+
+ ULONG nPairs = (ULONG)(nLastLeft - nFirstLeft + 1) * (nLastRight - nFirstRight + 1);
+ aKernGlyphVector.reserve( aKernGlyphVector.size() + nPairs );
+@@ -1253,7 +1260,7 @@ ULONG FreetypeServerFont::GetKernPairs(
+ aKernPair.mnChar1 = nLeft;
+ for( int nRight = 0; nRight < nLastRight; ++nRight )
+ {
+- if( NEXT_Short( pTmp ) != 0 )
++ if( FT_NEXT_SHORT( pTmp ) != 0 )
+ {
+ aKernPair.mnChar2 = nRight;
+ aKernGlyphVector.push_back( aKernPair );
+@@ -1531,10 +1538,10 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ // parse GSUB header
+ const FT_Byte* pGsubHeader = pGsubBase;
+- const ULONG nVersion = NEXT_Long( pGsubHeader );
+- const USHORT nOfsScriptList = NEXT_UShort( pGsubHeader );
+- const USHORT nOfsFeatureTable = NEXT_UShort( pGsubHeader );
+- const USHORT nOfsLookupList = NEXT_UShort( pGsubHeader );
++ const ULONG nVersion = FT_NEXT_LONG( pGsubHeader );
++ const USHORT nOfsScriptList = FT_NEXT_USHORT( pGsubHeader );
++ const USHORT nOfsFeatureTable = FT_NEXT_USHORT( pGsubHeader );
++ const USHORT nOfsLookupList = FT_NEXT_USHORT( pGsubHeader );
+
+ typedef std::vector<USHORT> UshortList;
+ UshortList aFeatureIndexList;
+@@ -1542,22 +1549,22 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ // parse Script Table
+ const FT_Byte* pScriptHeader = pGsubBase + nOfsScriptList;
+- const USHORT nCntScript = NEXT_UShort( pScriptHeader );
++ const USHORT nCntScript = FT_NEXT_USHORT( pScriptHeader );
+ for( USHORT nScriptIndex = 0; nScriptIndex < nCntScript; ++nScriptIndex )
+ {
+- const ULONG nTag = NEXT_Long( pScriptHeader ); // e.g. hani/arab/kana/hang
+- const USHORT nOfsScriptTable= NEXT_UShort( pScriptHeader );
++ const ULONG nTag = FT_NEXT_LONG( pScriptHeader ); // e.g. hani/arab/kana/hang
++ const USHORT nOfsScriptTable= FT_NEXT_USHORT( pScriptHeader );
+ if( (nTag != nRequestedScript) && (nRequestedScript != 0) )
+ continue;
+
+ const FT_Byte* pScriptTable = pGsubBase + nOfsScriptList + nOfsScriptTable;
+- const USHORT nDefaultLangsysOfs = NEXT_UShort( pScriptTable );
+- const USHORT nCntLangSystem = NEXT_UShort( pScriptTable );
++ const USHORT nDefaultLangsysOfs = FT_NEXT_USHORT( pScriptTable );
++ const USHORT nCntLangSystem = FT_NEXT_USHORT( pScriptTable );
+ USHORT nLangsysOffset = 0;
+ for( USHORT nLangsysIndex = 0; nLangsysIndex < nCntLangSystem; ++nLangsysIndex )
+ {
+- const ULONG nTag = NEXT_Long( pScriptTable ); // e.g. KOR/ZHS/ZHT/JAN
+- const USHORT nOffset= NEXT_UShort( pScriptTable );
++ const ULONG nTag = FT_NEXT_LONG( pScriptTable ); // e.g. KOR/ZHS/ZHT/JAN
++ const USHORT nOffset= FT_NEXT_USHORT( pScriptTable );
+ if( (nTag != nRequestedLangsys) && (nRequestedLangsys != 0) )
+ continue;
+ nLangsysOffset = nOffset;
+@@ -1567,13 +1574,13 @@ bool FreetypeServerFont::ApplyGSUB( cons
+ if( (nDefaultLangsysOfs != 0) && (nDefaultLangsysOfs != nLangsysOffset) )
+ {
+ const FT_Byte* pLangSys = pGsubBase + nOfsScriptList + nOfsScriptTable + nDefaultLangsysOfs;
+- const USHORT nLookupOrder = NEXT_UShort( pLangSys );
+- const USHORT nReqFeatureIdx = NEXT_UShort( pLangSys );
+- const USHORT nCntFeature = NEXT_UShort( pLangSys );
++ const USHORT nLookupOrder = FT_NEXT_USHORT( pLangSys );
++ const USHORT nReqFeatureIdx = FT_NEXT_USHORT( pLangSys );
++ const USHORT nCntFeature = FT_NEXT_USHORT( pLangSys );
+ aFeatureIndexList.push_back( nReqFeatureIdx );
+ for( USHORT i = 0; i < nCntFeature; ++i )
+ {
+- const USHORT nFeatureIndex = NEXT_UShort( pLangSys );
++ const USHORT nFeatureIndex = FT_NEXT_USHORT( pLangSys );
+ aFeatureIndexList.push_back( nFeatureIndex );
+ }
+ }
+@@ -1581,13 +1588,13 @@ bool FreetypeServerFont::ApplyGSUB( cons
+ if( nLangsysOffset != 0 )
+ {
+ const FT_Byte* pLangSys = pGsubBase + nOfsScriptList + nOfsScriptTable + nLangsysOffset;
+- const USHORT nLookupOrder = NEXT_UShort( pLangSys );
+- const USHORT nReqFeatureIdx = NEXT_UShort( pLangSys );
+- const USHORT nCntFeature = NEXT_UShort( pLangSys );
++ const USHORT nLookupOrder = FT_NEXT_USHORT( pLangSys );
++ const USHORT nReqFeatureIdx = FT_NEXT_USHORT( pLangSys );
++ const USHORT nCntFeature = FT_NEXT_USHORT( pLangSys );
+ aFeatureIndexList.push_back( nReqFeatureIdx );
+ for( USHORT i = 0; i < nCntFeature; ++i )
+ {
+- const USHORT nFeatureIndex = NEXT_UShort( pLangSys );
++ const USHORT nFeatureIndex = FT_NEXT_USHORT( pLangSys );
+ aFeatureIndexList.push_back( nFeatureIndex );
+ }
+ }
+@@ -1601,11 +1608,11 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ // parse Feature Table
+ const FT_Byte* pFeatureHeader = pGsubBase + nOfsFeatureTable;
+- const USHORT nCntFeature = NEXT_UShort( pFeatureHeader );
++ const USHORT nCntFeature = FT_NEXT_USHORT( pFeatureHeader );
+ for( USHORT nFeatureIndex = 0; nFeatureIndex < nCntFeature; ++nFeatureIndex )
+ {
+- const ULONG nTag = NEXT_Long( pFeatureHeader ); // e.g. locl/vert/trad/smpl/liga/fina/...
+- const USHORT nOffset= NEXT_UShort( pFeatureHeader );
++ const ULONG nTag = FT_NEXT_LONG( pFeatureHeader ); // e.g. locl/vert/trad/smpl/liga/fina/...
++ const USHORT nOffset= FT_NEXT_USHORT( pFeatureHeader );
+
+ // feature (required && (requested || available))?
+ if( (aFeatureIndexList[0] != nFeatureIndex)
+@@ -1614,10 +1621,10 @@ bool FreetypeServerFont::ApplyGSUB( cons
+ continue;
+
+ const FT_Byte* pFeatureTable = pGsubBase + nOfsFeatureTable + nOffset;
+- const USHORT nCntLookups = NEXT_UShort( pFeatureTable );
++ const USHORT nCntLookups = FT_NEXT_USHORT( pFeatureTable );
+ for( USHORT i = 0; i < nCntLookups; ++i )
+ {
+- const USHORT nLookupIndex = NEXT_UShort( pFeatureTable );
++ const USHORT nLookupIndex = FT_NEXT_USHORT( pFeatureTable );
+ aLookupIndexList.push_back( nLookupIndex );
+ }
+ if( nCntLookups == 0 ) //### hack needed by Mincho/Gothic/Mingliu/Simsun/...
+@@ -1626,10 +1633,10 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ // parse Lookup List
+ const FT_Byte* pLookupHeader = pGsubBase + nOfsLookupList;
+- const USHORT nCntLookupTable = NEXT_UShort( pLookupHeader );
++ const USHORT nCntLookupTable = FT_NEXT_USHORT( pLookupHeader );
+ for( USHORT nLookupIdx = 0; nLookupIdx < nCntLookupTable; ++nLookupIdx )
+ {
+- const USHORT nOffset = NEXT_UShort( pLookupHeader );
++ const USHORT nOffset = FT_NEXT_USHORT( pLookupHeader );
+ if( std::count( aLookupIndexList.begin(), aLookupIndexList.end(), nLookupIdx ) )
+ aLookupOffsetList.push_back( nOffset );
+ }
+@@ -1639,9 +1646,9 @@ bool FreetypeServerFont::ApplyGSUB( cons
+ {
+ const USHORT nOfsLookupTable = *it;
+ const FT_Byte* pLookupTable = pGsubBase + nOfsLookupList + nOfsLookupTable;
+- const USHORT eLookupType = NEXT_UShort( pLookupTable );
+- const USHORT eLookupFlag = NEXT_UShort( pLookupTable );
+- const USHORT nCntLookupSubtable = NEXT_UShort( pLookupTable );
++ const USHORT eLookupType = FT_NEXT_USHORT( pLookupTable );
++ const USHORT eLookupFlag = FT_NEXT_USHORT( pLookupTable );
++ const USHORT nCntLookupSubtable = FT_NEXT_USHORT( pLookupTable );
+
+ // TODO: switch( eLookupType )
+ if( eLookupType != 1 ) // TODO: once we go beyond SingleSubst
+@@ -1649,28 +1656,28 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ for( USHORT nSubTableIdx = 0; nSubTableIdx < nCntLookupSubtable; ++nSubTableIdx )
+ {
+- const USHORT nOfsSubLookupTable = NEXT_UShort( pLookupTable );
++ const USHORT nOfsSubLookupTable = FT_NEXT_USHORT( pLookupTable );
+ const FT_Byte* pSubLookup = pGsubBase + nOfsLookupList + nOfsLookupTable + nOfsSubLookupTable;
+
+
+- const USHORT nFmtSubstitution = NEXT_UShort( pSubLookup );
+- const USHORT nOfsCoverage = NEXT_UShort( pSubLookup );
++ const USHORT nFmtSubstitution = FT_NEXT_USHORT( pSubLookup );
++ const USHORT nOfsCoverage = FT_NEXT_USHORT( pSubLookup );
+
+ typedef std::pair<USHORT,USHORT> GlyphSubst;
+ typedef std::vector<GlyphSubst> SubstVector;
+ SubstVector aSubstVector;
+
+ const FT_Byte* pCoverage = pGsubBase + nOfsLookupList + nOfsLookupTable + nOfsSubLookupTable + nOfsCoverage;
+- const USHORT nFmtCoverage = NEXT_UShort( pCoverage );
++ const USHORT nFmtCoverage = FT_NEXT_USHORT( pCoverage );
+ switch( nFmtCoverage )
+ {
+ case 1: // Coverage Format 1
+ {
+- const USHORT nCntGlyph = NEXT_UShort( pCoverage );
++ const USHORT nCntGlyph = FT_NEXT_USHORT( pCoverage );
+ aSubstVector.reserve( nCntGlyph );
+ for( USHORT i = 0; i < nCntGlyph; ++i )
+ {
+- const USHORT nGlyphId = NEXT_UShort( pCoverage );
++ const USHORT nGlyphId = FT_NEXT_USHORT( pCoverage );
+ aSubstVector.push_back( GlyphSubst( nGlyphId, 0 ) );
+ }
+ }
+@@ -1678,12 +1685,12 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ case 2: // Coverage Format 2
+ {
+- const USHORT nCntRange = NEXT_UShort( pCoverage );
++ const USHORT nCntRange = FT_NEXT_USHORT( pCoverage );
+ for( int i = nCntRange; --i >= 0; )
+ {
+- const USHORT nGlyph0 = NEXT_UShort( pCoverage );
+- const USHORT nGlyph1 = NEXT_UShort( pCoverage );
+- const USHORT nCovIdx = NEXT_UShort( pCoverage );
++ const USHORT nGlyph0 = FT_NEXT_USHORT( pCoverage );
++ const USHORT nGlyph1 = FT_NEXT_USHORT( pCoverage );
++ const USHORT nCovIdx = FT_NEXT_USHORT( pCoverage );
+ for( USHORT j = nGlyph0; j <= nGlyph1; ++j )
+ aSubstVector.push_back( GlyphSubst( j + nCovIdx, 0 ) );
+ }
+@@ -1697,7 +1704,7 @@ bool FreetypeServerFont::ApplyGSUB( cons
+ {
+ case 1: // Single Substitution Format 1
+ {
+- const USHORT nDeltaGlyphId = NEXT_UShort( pSubLookup );
++ const USHORT nDeltaGlyphId = FT_NEXT_USHORT( pSubLookup );
+ for(; it != aSubstVector.end(); ++it )
+ (*it).second = (*it).first + nDeltaGlyphId;
+ }
+@@ -1705,10 +1712,10 @@ bool FreetypeServerFont::ApplyGSUB( cons
+
+ case 2: // Single Substitution Format 2
+ {
+- const USHORT nCntGlyph = NEXT_UShort( pSubLookup );
++ const USHORT nCntGlyph = FT_NEXT_USHORT( pSubLookup );
+ for( int i = nCntGlyph; (it != aSubstVector.end()) && (--i>=0); ++it )
+ {
+- const USHORT nGlyphId = NEXT_UShort( pSubLookup );
++ const USHORT nGlyphId = FT_NEXT_USHORT( pSubLookup );
+ (*it).second = nGlyphId;
+ }
+ }
+--- oo_1.0.1_src/freetype/makefile.mk.orig Sun Sep 22 10:37:16 2002
++++ oo_1.0.1_src/freetype/makefile.mk Sun Sep 22 10:37:42 2002
+@@ -71,9 +71,9 @@
+
+ # --- Files --------------------------------------------------------
+
+-TARFILE_NAME=freetype-2.0.5
++TARFILE_NAME=freetype-2.1.3
+
+-PATCH_FILE_NAME=freetype-2.0.5.patch
++PATCH_FILE_NAME=freetype-2.1.3.patch
+
+ CONFIGURE_DIR=
+ #relative to CONFIGURE_DIR
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch
new file mode 100644
index 000000000000..49b54789fed7
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.1-xinteraction-fix.patch
@@ -0,0 +1,22 @@
+--- oo_1.0.1_src/unoil/com/sun/star/document/makefile.mk~ 2000-09-18 17:28:26.000000000 +0200
++++ oo_1.0.1_src/unoil/com/sun/star/document/makefile.mk 2002-09-15 23:13:13.000000000 +0200
+@@ -64,6 +64,7 @@
+ PRJ = ..$/..$/..$/..
+ TARGET = unoil_document
+ PACKAGE = com$/sun$/star$/document
++GENJAVAFILES += $(GENJAVADIR)$/com/sun/star/task/XInteractionContinuation.java
+
+ # --- Settings -----------------------------------------------------
+
+--- oo_1.0.1_src/unoil/makefile.pmk~ 2001-08-31 18:04:43.000000000 +0200
++++ oo_1.0.1_src/unoil/makefile.pmk 2002-09-15 23:21:53.000000000 +0200
+@@ -74,7 +74,7 @@
+ JAVAFILESLIST := $(shell +cd $(GENJAVADIR)$/$(PACKAGE) $(COMMANDSEPARATOR) ls *.java)
+ .ENDIF # "$(L10N_framework)"==""
+
+-GENJAVAFILES := $(foreach,i,$(JAVAFILESLIST) $(GENJAVADIR)$/$(PACKAGE)$/$i)
++GENJAVAFILES += $(foreach,i,$(JAVAFILESLIST) $(GENJAVADIR)$/$(PACKAGE)$/$i)
+ GENCLASSFILES := $(foreach,i,$(JAVAFILESLIST:b) $(GENCLASSDIR)$/$(PACKAGE)$/$i.class)
+
+ # --- Targets ------------------------------------------------------
+
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.2-default-fonts.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.2-default-fonts.patch
new file mode 100644
index 000000000000..78435f6e54a7
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.2-default-fonts.patch
@@ -0,0 +1,174 @@
+--- oo_1.0.2_src/vcl/source/gdi/outdev3.cxx.default-fonts 2002-10-31 21:27:17.000000000 +0100
++++ oo_1.0.2_src/vcl/source/gdi/outdev3.cxx 2003-03-08 16:53:25.000000000 +0100
+@@ -1041,10 +1041,10 @@ static void ImplGetMapName( const String
+
+ // =======================================================================
+
+-static char const aImplSubsSansUnicode[] = "andalesansui;arialunicodems;lucidaunicode";
+-static char const aImplSubsSans[] = "albany;arial;helvetica;lucidasans;lucida;geneva;helmet;sansserif;nimbussansl;nimbussans";
+-static char const aImplSubsSerif[] = "thorndale;timesnewroman;times;timesroman;newyork;timmons;serif;lucidaserif;lucidabright;roman;nimbusromanno9;nimbusromanno9l;bookman;itcbookman;garamond;garamondmt;palatino";
+-static char const aImplSubsFixed[] = "cumberland;couriernew;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol";
++static char const aImplSubsSansUnicode[] = "andalesansui;luxisans;arialunicodems;lucidaunicode";
++static char const aImplSubsSans[] = "luxisans;albany;arial;helvetica;lucidasans;lucida;geneva;helmet;sansserif;nimbussansl;nimbussans";
++static char const aImplSubsSerif[] = "nimbusromanno9l;luxiserif;thorndale;timesnewroman;times;timesroman;newyork;timmons;serif;lucidaserif;lucidabright;roman;nimbusromanno9;bookman;itcbookman;garamond;garamondmt;palatino";
++static char const aImplSubsFixed[] = "luximono;cumberland;couriernew;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol";
+ static char const aImplSubsStarSymbol[] = "starsymbol;opensymbol;starbats;wingdings;zapfdingbats;itczapfdingbats;monotypesorts;dingbats;lucidadingbats;lucidasansdingbats;webdings;symbol;standardsymbols;standardsymbolsl";
+ static char const aImplSubsDingBats[] = "starsymbol;zapfdingbats;itczapfdingbats;monotypesorts;dingbats;opensymbol";
+ static char const aImplSubsSymbol[] = "starsymbol;symbol;standardsymbols;standardsymbolsl;mtsymbol;opensymbol";
+@@ -1123,7 +1123,7 @@ struct ImplFontNameAttr
+ static ImplFontNameAttr const aImplFontNameList[] =
+ {
+ { "albany", aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, aImplMSSubsArial, aImplPSSubsHelvetica, aImplHTMLSubsSansSerif,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF | IMPL_FONT_ATTR_STANDARD },
+ { "algerian", aImplSubsShadow, aImplSubsImprintShadow, aImplSubsOutline, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_OUTLINE | IMPL_FONT_ATTR_SHADOW | IMPL_FONT_ATTR_DECORATIVE | IMPL_FONT_ATTR_SPECIAL | IMPL_FONT_ATTR_TITLING },
+ { "almanac", aImplSubsStarSymbol, aImplSubsSansUnicode, NULL, NULL, NULL, NULL, NULL,
+@@ -1215,7 +1215,7 @@ static ImplFontNameAttr const aImplFontN
+ { "couriernew", aImplSubsFixed, NULL, NULL, NULL, NULL, aImplPSSubsCourier, aImplHTMLSubsMonospace,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_TYPEWRITER | IMPL_FONT_ATTR_FIXED | IMPL_FONT_ATTR_STANDARD },
+ { "cumberland", aImplSubsFixed, NULL, NULL, NULL, aImplMSSubsCourierNew, aImplPSSubsCourier, aImplHTMLSubsMonospace,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_TYPEWRITER | IMPL_FONT_ATTR_FIXED | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_TYPEWRITER | IMPL_FONT_ATTR_FIXED | IMPL_FONT_ATTR_STANDARD },
+ { "curlz", aImplSubsComic, aImplSubsZapfChancery, aImplSubsPalaceScript, NULL, NULL, NULL, aImplHTMLSubsCursive,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_SCRIPT | IMPL_FONT_ATTR_ITALIC | IMPL_FONT_ATTR_SPECIAL },
+ { "cursive", aImplSubsComic, aImplSubsZapfChancery, aImplSubsPalaceScript, NULL, NULL, NULL, aImplHTMLSubsCursive,
+@@ -1364,6 +1364,12 @@ static ImplFontNameAttr const aImplFontN
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF },
+ { "lucidatypewriter", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsMonospace,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_TYPEWRITER | IMPL_FONT_ATTR_FIXED },
++{ "luximono", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsMonospace,
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_TYPEWRITER | IMPL_FONT_ATTR_FIXED | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
++{ "luxisans", aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, NULL, NULL, aImplHTMLSubsSansSerif,
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
++{ "luxiserif", aImplSubsSerif, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsSerif,
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF | IMPL_FONT_ATTR_STANDARD },
+ { "marlett", aImplSubsStarSymbol, aImplSubsSansUnicode, NULL, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_SPECIAL | IMPL_FONT_ATTR_SYMBOL },
+ { "mhei", aImplSubsSCHei, aImplSubsSCSun, aImplSubsSansUnicode, NULL, NULL, NULL, NULL,
+@@ -1389,7 +1395,7 @@ static ImplFontNameAttr const aImplFontN
+ { "mono", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_FIXED },
+ { "monol", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, NULL,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_FIXED },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_FIXED | IMPL_FONT_ATTR_STANDARD },
+ { "monospace", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_FIXED },
+ { "monospaced", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsMonospace,
+@@ -1467,7 +1473,7 @@ static ImplFontNameAttr const aImplFontN
+ { "romanno9", aImplSubsSerif, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsSerif,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF },
+ { "romanno9l", aImplSubsSerif, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsSerif,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
+ { "romanps", aImplSubsFixed, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsMonospace,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_FIXED },
+ { "roundgothic", aImplSubsKRGulim, aImplSubsKRBatang, aImplSubsSansUnicode, NULL, NULL, NULL, NULL,
+@@ -1477,7 +1483,7 @@ static ImplFontNameAttr const aImplFontN
+ { "sanscondensed", aImplSubsSansNarrow, aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_CONDENSED, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF },
+ { "sansl", aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, NULL, NULL, NULL,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF | IMPL_FONT_ATTR_STANDARD },
+ { "sanslcondensed", aImplSubsSansNarrow, aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_CONDENSED, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF },
+ { "sansserif", aImplSubsSans, aImplSubsSansUnicode, NULL, NULL, NULL, NULL, NULL,
+@@ -1535,7 +1541,7 @@ static ImplFontNameAttr const aImplFontN
+ { "tahoma", aImplSubsSansUnicode, aImplSubsSans, NULL, NULL, NULL, NULL, NULL,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SANSSERIF },
+ { "thorndale", aImplSubsSerif, NULL, NULL, NULL, aImplMSSubsTimesNewRoman, aImplPSSubsTimes, aImplHTMLSubsSerif,
+- WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF | IMPL_FONT_ATTR_STANDARD | IMPL_FONT_ATTR_DEFAULT },
++ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF | IMPL_FONT_ATTR_STANDARD },
+ { "times", aImplSubsSerif, NULL, NULL, NULL, NULL, NULL, aImplHTMLSubsSerif,
+ WEIGHT_NORMAL, WIDTH_NORMAL, IMPL_FONT_ATTR_NORMAL | IMPL_FONT_ATTR_SERIF | IMPL_FONT_ATTR_STANDARD },
+ { "timesnewroman", aImplSubsSerif, NULL, NULL, NULL, NULL, aImplPSSubsTimes, aImplHTMLSubsSerif,
+@@ -1812,23 +1818,26 @@ static BOOL ImplFontSubstitute( XubStrin
+
+ // =======================================================================
+
+-static char const aImplDefSansUnicode[] = "Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma";
+-static char const aImplDefSansUI[] = "Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif";
+-static char const aImplDefSans[] = "Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif";
+-static char const aImplDefSerif[] = "Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif";
+-static char const aImplDefFixed[] = "Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced";
++static char const aImplDefSansUnicode[] = "Andale Sans UI;Luxi Sans;Arial Unicode MS;Lucida Sans Unicode;Tahoma";
++static char const aImplDefSansUI[] = "Interface User;Luxi Sans;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany;Lucida;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif";
++static char const aImplDefSans[] = "Luxi Sans;Albany;Arial;Helvetica;Lucida;Geneva;Helmet;SansSerif";
++static char const aImplDefSerif[] = "Nimbus Roman No9 L;Luxi Serif;Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif";
++static char const aImplDefSerif_Greek[] = "Kerkis;Nimbus Roman No9 L;Luxi Serif;Thorndale;Times New Roman;Times;Lucida Serif;Lucida Bright;Timmons;New York;Serif";
++static char const aImplDefFixed[] = "Luxi Mono;Cumberland;Courier New;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced";
+ static char const aImplDefSymbol[] = "StarSymbol;OpenSymbol;Andale Sans UI;Arial Unicode MS;StarBats;Zapf Dingbats;WingDings;Symbol";
+-static char const aImplDef_CJK_JP_Mincho[] = "HG Mincho Light J;MS Mincho;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS PMincho";
+-static char const aImplDef_CJK_JP_Gothic[] = "HG Mincho Light J;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic";
+-static char const aImplDef_CJK_JP_UIGothic[] = "Andale Sans UI;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic";
+-static char const aImplDef_CJK_SC[] = "MSung Light SC;SimSun;Song;FZSongYi;FZShuSong;NSimSun";
+-static char const aImplDef_CJK_TC[] = "MSung Light TC;MingLiU;Ming;PMingLiU";
+-static char const aImplDef_CJK_KR_Batang[] = "HY MyeongJo Light K;Batang;Myeongjo";
+-static char const aImplDef_CJK_KR_Gulim[] = "Andale Sans UI;Gulim;Roundgothic";
+-static char const aImplDef_CJK_JP_Fixed[] = "HG Mincho Light J";
+-static char const aImplDef_CJK_SC_Fixed[] = "MSung Light SC";
+-static char const aImplDef_CJK_TC_Fixed[] = "MSung Light TC";
++static char const aImplDef_CJK_JP_Mincho[] = "Kochi Mincho;HG Mincho Light J;MS Mincho;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS PMincho";
++static char const aImplDef_CJK_JP_Gothic[] = "Kochi Gothic;HG Mincho Light J;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic";
++static char const aImplDef_CJK_JP_UIGothic[] = "Andale Sans UI;Kochi Gothic;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS PGothic";
++static char const aImplDef_CJK_SC[] = "AR PL SungtiL GB;MSung Light SC;SimSun;Song;FZSongYi;FZShuSong;NSimSun";
++static char const aImplDef_CJK_TC[] = "AR PL Mingti2L Big5;MSung Light TC;MingLiU;Ming;PMingLiU";
++static char const aImplDef_CJK_KR_Batang[] = "Baekmuk Batang;HY MyeongJo Light K;Batang;Myeongjo";
++static char const aImplDef_CJK_KR_Gulim[] = "Andale Sans UI;Baekmuk Gulim;Gulim;Roundgothic";
++static char const aImplDef_CJK_JP_Fixed[] = "Kochi Gothic;HG Mincho Light J";
++static char const aImplDef_CJK_SC_Fixed[] = "AR PL SungtiL GB;MSung Light SC";
++static char const aImplDef_CJK_TC_Fixed[] = "AR PL Mingti2L Big5;MSung Light TC";
+ static char const aImplDef_CJK_KR_Fixed[] = "HY MyeongJo Light K";
++static char const aImplDef_CTL_AR[] = "KacstBook;Arial Unicode MS";
++static char const aImplDef_CTL_TH[] = "Norasi;Arial Unicode MS";
+
+ // -----------------------------------------------------------------------
+
+@@ -1956,7 +1965,10 @@ Font OutputDevice::GetDefaultFont( USHOR
+ case DEFAULTFONT_SERIF:
+ case DEFAULTFONT_LATIN_TEXT:
+ case DEFAULTFONT_LATIN_PRESENTATION:
+- pSearch1 = aImplDefSerif;
++ if ( eLang == LANGUAGE_GREEK )
++ pSearch1 = aImplDefSerif_Greek;
++ else
++ pSearch1 = aImplDefSerif;
+ aFont.SetFamily( FAMILY_ROMAN );
+ break;
+
+@@ -2041,7 +2053,34 @@ Font OutputDevice::GetDefaultFont( USHOR
+ case DEFAULTFONT_CTL_SPREADSHEET:
+ case DEFAULTFONT_CTL_HEADING:
+ case DEFAULTFONT_CTL_DISPLAY:
+- pSearch1 = "Arial Unicode MS";
++ switch ( eLang )
++ {
++ case LANGUAGE_ARABIC:
++ case LANGUAGE_ARABIC_SAUDI_ARABIA:
++ case LANGUAGE_ARABIC_IRAQ:
++ case LANGUAGE_ARABIC_EGYPT:
++ case LANGUAGE_ARABIC_LIBYA:
++ case LANGUAGE_ARABIC_ALGERIA:
++ case LANGUAGE_ARABIC_MOROCCO:
++ case LANGUAGE_ARABIC_TUNISIA:
++ case LANGUAGE_ARABIC_OMAN:
++ case LANGUAGE_ARABIC_YEMEN:
++ case LANGUAGE_ARABIC_SYRIA:
++ case LANGUAGE_ARABIC_JORDAN:
++ case LANGUAGE_ARABIC_LEBANON:
++ case LANGUAGE_ARABIC_KUWAIT:
++ case LANGUAGE_ARABIC_UAE:
++ case LANGUAGE_ARABIC_BAHRAIN:
++ case LANGUAGE_ARABIC_QATAR:
++ pSearch1 = aImplDef_CTL_AR;
++ break;
++ case LANGUAGE_THAI:
++ pSearch1 = aImplDef_CTL_TH;
++ break;
++ default:
++ pSearch1 = "Arial Unicode MS";
++ break;
++ }
+ break;
+ }
+
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch
new file mode 100644
index 000000000000..3db5827acf08
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.2-ft-antialias-advice.patch
@@ -0,0 +1,14 @@
+--- oo_1.0.2_src/vcl/source/glyphs/gcach_ftyp.cxx.ft-antialias-advice 2003-03-08 15:24:01.000000000 +0100
++++ oo_1.0.2_src/vcl/source/glyphs/gcach_ftyp.cxx 2003-03-08 16:17:23.000000000 +0100
+@@ -900,10 +900,7 @@ bool FreetypeServerFont::GetAntialiasAdv
+ if( GetFontSelData().mbNonAntialiased )
+ return false;
+ // TODO: also use GASP & EBDT tables
+- bool bAdviseAA = (mnLoadFlags & FT_LOAD_NO_HINTING) != 0;
+- int nHeight = GetFontSelData().mnHeight;
+- bAdviseAA |= (nHeight > 12);
+- bAdviseAA |= (nHeight < 8);
++ bool bAdviseAA = true;
+ return bAdviseAA;
+ }
+
diff --git a/app-office/openoffice/files/1.0.3/openoffice-1.0.3-sparc-gentoo.patch b/app-office/openoffice/files/1.0.3/openoffice-1.0.3-sparc-gentoo.patch
new file mode 100644
index 000000000000..64e128f9ba10
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-1.0.3-sparc-gentoo.patch
@@ -0,0 +1,11 @@
+--- config_office/set_soenv.in.orig 2003-06-25 10:27:37.000000000 -0400
++++ config_office/set_soenv.in 2003-06-25 10:28:17.000000000 -0400
+@@ -349,7 +349,7 @@
+ $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
+ $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
+ }
+- elsif ($machine_type eq "sparc")
++ elsif (($machine_type eq "sparc") or ($machine_type eq "sparc64"))
+ { print "Setting Linux Sparc specific values... ";
+ $outfile = "LinuxSparcEnv.Set";
+ $CPU = "S";
diff --git a/app-office/openoffice/files/1.0.3/openoffice-errno.patch b/app-office/openoffice/files/1.0.3/openoffice-errno.patch
new file mode 100644
index 000000000000..7466197d828d
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/openoffice-errno.patch
@@ -0,0 +1,10 @@
+--- dmake/extern.h.orig 2003-03-14 22:30:34.000000000 -0500
++++ dmake/extern.h 2003-03-14 22:31:00.000000000 -0500
+@@ -27,6 +27,7 @@
+ #ifndef EXTERN_h
+ #define EXTERN_h
+
++#include <errno.h>
+ #include "config.h"
+
+ /* Define this for the RS/6000 if it breaks something then we have to put a
diff --git a/app-office/openoffice/files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch b/app-office/openoffice/files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch
new file mode 100644
index 000000000000..d0bfdf0c593b
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch
@@ -0,0 +1,17 @@
+Index: source/gdi/print.cxx
+===================================================================
+RCS file: /cvs/oo/gsl/vcl/source/gdi/print.cxx,v
+retrieving revision 1.24.4.4
+diff -u -r1.24.4.4 print.cxx
+--- ./vcl/source/gdi/print.cxx 2002/06/19 11:32:01 1.24.4.4
++++ ./vcl/source/gdi/print.cxx 2002/10/01 21:18:44
+@@ -532,7 +532,7 @@
+ if ( (pJobSetup->maPrinterName != pInfo->maPrinterName) ||
+ (pJobSetup->maDriver != pInfo->maDriver) )
+ {
+- rtl_freeMemory( pJobSetup->mpDriverData );
++ delete[] pJobSetup->mpDriverData;
+ pJobSetup->mpDriverData = NULL;
+ pJobSetup->mnDriverDataLen = 0;
+ }
+
diff --git a/app-office/openoffice/files/digest-openoffice-1.0.3-r2 b/app-office/openoffice/files/digest-openoffice-1.0.3-r2
new file mode 100644
index 000000000000..c06239430854
--- /dev/null
+++ b/app-office/openoffice/files/digest-openoffice-1.0.3-r2
@@ -0,0 +1,5 @@
+MD5 984146931906a7d53300b29f58f6a899 OOo_1.0.3_source.tar.bz2 165475319
+MD5 cd4dd34b623a8704fbc800de79705171 STLport-4.5.3.tar.gz 739943
+MD5 fdb06fdb5a4670b172f9fb738b717be9 gpc231.tar.Z 27917
+MD5 09775a4111e066f782866d8a57d8481b freetype-2.1.3.tar.bz2 790213
+MD5 ff3eb5095a74ae7a9b2918ef5874288f helpcontent_01_unix.tgz 12693536
diff --git a/app-office/openoffice/openoffice-1.0.3-r2.ebuild b/app-office/openoffice/openoffice-1.0.3-r2.ebuild
new file mode 100644
index 000000000000..c87ea5cf1191
--- /dev/null
+++ b/app-office/openoffice/openoffice-1.0.3-r2.ebuild
@@ -0,0 +1,691 @@
+# 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.0.3-r2.ebuild,v 1.10 2004/10/12 15:34:35 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:
+#
+# Support for installing more than one language pack.
+# Support for installing native-dictionaries. (maybe ooodi is enough?)
+
+# Language Check
+[ -z ${LANGUAGE} ] && LANGUAGE=01
+
+case ${LANGUAGE} in
+ 01|07|33|34|35|39|42|46|49|81|82|86|88)
+ LHELP=${LANGUAGE}
+ ;;
+ *)
+ LHELP=01
+ HSUPPORT=false
+ ;;
+esac
+case ${LANGUAGE} in
+ 01|03|07|30|31|33|34|35|34c|37|39|45|46|48|49|55|66|81|82|86|88|90|91|96|97)
+ LANGUAGE=${LANGUAGE}
+ ;;
+ *)
+ LANGUAGE=01
+ LSUPPORT=false
+ ;;
+esac
+case $LANGUAGE in
+ # ENUS is always set
+ # 01) LENV="RES_ENUS";;
+ 03) LENV="RES_PORT";;
+ 07) LENV="RES_RUSS";;
+ 30) LENV="RES_GREEK";;
+ 33) LENV="RES_FREN";;
+ 34) LENV="RES_SPAN";;
+ 35) LENV="RES_FINN";;
+ 34c|37) LENV="RES_CAT";;
+ 39) LENV="RES_ITAL";;
+ 45) LENV="RES_DAN";;
+ 46) LENV="RES_SWED";;
+ 48) LENV="RES_POL";;
+ 49) LENV="RES_GER";;
+ 55) LENV="RES_PORTBR";;
+ 66) LENV="RES_THAI";;
+ 81) LENV="RES_JAPN";;
+ 82) LENV="RES_KOREAAN";;
+ 86) LENV="RES_CHINSIM";;
+ 88) LENV="RES_CHINTRAD";;
+ 90) LENV="RES_TURK";;
+ 91) LENV="RES_HINDI";;
+ 96) LENV="RES_ARAB";;
+ 97) LENV="RES_HEBREW";;
+esac
+
+inherit flag-o-matic eutils
+# Compile problems with these ...
+
+filter-flags "-funroll-loops"
+filter-flags "-fomit-frame-pointer"
+replace-flags "-O3" "-O2"
+
+ALLOWED_FLAGS="-O -O1 -O2 -Os -mcpu -march -pipe"
+strip-flags
+
+# 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.3"
+STLP_VER="4.5.3"
+
+INSTDIR="${LOC}/OpenOffice.org${PV}"
+S="${WORKDIR}/oo_${PV}_src"
+DESCRIPTION="OpenOffice.org, a full office productivity suite."
+SRC_URI="http://ny1.mirror.openoffice.org/stable/${PV}/OOo_${PV}_source.tar.bz2
+ http://sf1.mirror.openoffice.org/stable/${PV}/OOo_${PV}_source.tar.bz2
+ http://www.stlport.org/archive/STLport-${STLP_VER}.tar.gz
+ ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z
+ mirror://sourceforge/freetype/freetype-${FT_VER}.tar.bz2
+ ftp://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/helpcontent_${LHELP}_unix.tgz"
+
+HOMEPAGE="http://www.openoffice.org/"
+
+LICENSE="|| ( LGPL-2 SISSL-1.1 )"
+SLOT="0"
+KEYWORDS="x86 ppc ~sparc"
+IUSE="gnome kde"
+
+RDEPEND=">=sys-libs/glibc-2.1
+ >=dev-lang/perl-5.0
+ virtual/x11
+ app-arch/zip
+ app-arch/unzip
+ dev-libs/expat
+ >=virtual/jdk-1.3.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
+ sys-libs/pam
+ !app-office/openoffice-bin
+ !app-arch/star
+ !dev-util/dmake"
+
+# 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 "****************************************************************"
+
+ ewarn "****************************************************************"
+ ewarn " Selected Lanuage: ${LANGUAGE} "
+ ewarn " "
+ ewarn " To build Openoffice in your native language start emerge with "
+ ewarn " LANGUAGE=XX emerge openoffice "
+ ewarn " To see all supported languagess visit. (as well as for the "
+ ewarn " specific LANGUAGE=XX settings you might need "
+ ewarn " http://l10n.openoffice.org/all_supported_languages.html "
+ ewarn " "
+ ewarn " To install language specified dictionaries emerge ooodi "
+ ewarn "****************************************************************"
+
+ if [ "${LSUPPORT}" = "false" ];
+ then
+ ewarn "****************************************************************"
+ ewarn " Your language is not supported by OpenOffice, "
+ ewarn " falling back to default value !!! "
+ ewarn "****************************************************************"
+ elif [ "${HSUPPORT}" = "false" ];
+ then
+ ewarn "****************************************************************"
+ ewarn " There are no helpfiles available for your language, "
+ ewarn " falling back to default value !!! "
+ ewarn "****************************************************************"
+ fi
+
+}
+
+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_${PV}_source.tar.bz2 gpc231.tar.Z
+
+ # Install gpc
+ cd ${WORKDIR}/gpc231
+ cp gpc.* ${S}/external/gpc
+
+ cd ${S}
+
+ #Security fix
+ rm neon/neon.patch
+ cp ${FILESDIR}/${PV}/neon.patch ${S}/neon
+
+ # This resolves missing symbols (Debian)
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-compiler-flags.patch
+
+ # Misc Debian patches to fixup build
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-no-mozab.patch
+ echo "moz moz : NULL" > ${S}/moz/prj/build.lst
+
+ # Misc patches from Mandrake
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-fix-asm.patch
+
+ # Get OO to use STLport-4.5.3 (Az)
+ cp ${DISTDIR}/STLport-${STLP_VER}.tar.gz ${S}/stlport/download || die
+ cd ${S}/stlport
+ if [ "${NEW_GCC}" -eq "1" ]
+ then
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-use-STLport-4.5.3-newgcc.patch
+ else
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-use-STLport-4.5.3.patch
+ fi
+ cd ${S}
+
+ # Seth -- Dec 1 2002
+ if [ "$(echo ${JAVA_BINARY} | egrep 'j(2s)?dk-1.4')" ]
+ then
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-fix-jdk-1.4.0.patch
+ fi
+
+ # Debian patch to fix an xinteraction handler build error (Seth)
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-xinteraction-fix.patch
+
+ # Get OO to build with freetype-2.1.3
+ einfo "Moving freetype-${FT_VER}.tar.bz2 in place ..."
+ cp ${DISTDIR}/freetype-${FT_VER}.tar.bz2 ${S}/freetype/download || die
+ # We need it as a .tar.gz ...
+ bzip2 -d ${S}/freetype/download/freetype-${FT_VER}.tar.bz2 || die
+ gzip -1 ${S}/freetype/download/freetype-${FT_VER}.tar
+ # OK, copy the new patch in place, and fixup some other things ...
+ cp ${FILESDIR}/${PV}/freetype-${FT_VER}.patch ${S}/freetype || die
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.1-use-freetype-${FT_VER}.patch
+
+ # 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 \
+ ucb/source/ucp/ftpproxy framework/util framework/source/unotypes
+ do
+ perl -pi -e "s/^(PRJNAME)/MAXPROCESS=1\n\1/" ${x}/makefile.mk
+ done
+
+ epatch ${FILESDIR}/${PV}/${PN}-errno.patch
+# einfo "Lets patch to get AA fonts..."
+# epatch ${FILESDIR}/${PV}/${PN}-1.0.2-default-fonts.patch
+ epatch ${FILESDIR}/${PV}/${PN}-1.0.2-ft-antialias-advice.patch
+
+ #This patches the stupid printer problem (to upgrade to 1.0.3.1)
+ epatch ${FILESDIR}/${PV}/vcl.printcxx.OOO_STABLE_1_PORTS.100102.patch
+
+ # Patches for sparc
+ if [ "${ARCH}" = "sparc" ]
+ then
+ epatch $FILESDIR/${PV}/openoffice-1.0.3-sparc-gentoo.patch
+ epatch $FILESDIR/${PV}/openoffice-1.0.1-sparc.patch.bz2
+ fi
+
+}
+
+get_EnvSet() {
+
+ # Determine what Env file we should be using (Az)
+ export LinuxEnvSet="LinuxIntelEnv.Set"
+ use sparc && 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() {
+
+ local buildcmd=""
+
+ 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 \
+ -f /usr/bin/ccache -a -x /usr/bin/ccache ]
+ then
+ einfo "We're using ccache for this build..."
+ # Build uses its own env with $PATH, etc, so
+ # we take the easy way out. (Az)
+ export CC="/usr/bin/ccache ${CC}"
+ export CXX="/usr/bin/ccache ${CXX}"
+ fi
+
+ # Enable distcc for this build (Az)
+ if [ "${FEATURES/-distcc/}" = "${FEATURES}" -a \
+ "${FEATURES/distcc/}" != "${FEATURES}" -a \
+ -f /usr/bin/distcc -a -x /usr/bin/distcc ]
+ then
+ einfo "We're using distcc for this build..."
+ # Do not bump ECPUS if the user did not touch it, as currently
+ # it -PP do not work properly (segfaulting). (Az)
+ [ "$(echo ${DISTCC_HOSTS} | wc -w)" -gt 1 -a "${ECPUS}" -qt 1 ] && \
+ export ECPUS="$(echo ${DISTCC_HOSTS} | wc -w)"
+
+ export CC="/usr/bin/distcc ${CC}"
+ export CXX="/usr/bin/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..."
+ cd ${S}/config_office
+ rm -f config.cache
+ ./configure --enable-gcc3 \
+ --with-jdk-home=${JAVA_HOME} \
+ --with-x || die
+
+ cd ${S}
+ get_EnvSet
+
+ # Set language
+ [ ${LENV} ] && echo "setenv ${LENV} \"true\"" >> ${S}/${LinuxEnvSet}
+
+ # 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 -PP${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
+
+ # unpack help files
+ mkdir -p ${S}/solver/641/unxlngi4.pro/pck
+ cd ${S}/solver/641/unxlngi4.pro/pck
+ tar -xzf ${DISTDIR}/helpcontent_${LHELP}_unix.tgz
+ cd ${S}
+
+ 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"
+
+ get_EnvSet
+
+ # Added by Jason Wever <weeve@gentoo.org>
+ # For some weird reason, when you get done building
+ # the source on sparc, it doesn't have a readme file in place
+ # for the installation program (probably due to a non-supported
+ # arch/os combo. This fixed that
+ if [ "${ARCH}" = "sparc" ]
+ then
+ cp ${S}/readlicense_oo/source/readme/unxlngi4/README \
+ ${S}/instsetoo/unxlngs.pro/${LANGUAGE}/normal/README
+ fi
+
+
+ # 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}/${LANGUAGE}/normal
+ # Setup virtualmake
+ export maketype="./setup"
+ # We need X to install...
+ virtualmake "-v -r:${T}/autoresponse"
+
+ 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
+ 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.conf
+ doins ${T}/autoresponse.conf
+
+ # Install wrapper script
+ exeinto /usr/bin
+ sed -e "s|<pv>|${PV}|g" \
+ ${FILESDIR}/${PV}/ooffice-wrapper-1.3 > ${T}/ooffice
+ doexe ${T}/ooffice
+ sed -e "s|/soffice|/spadmin|g" \
+ ${T}/ooffice > ${T}/oopadmin
+ doexe ${T}/oopadmin
+
+ # 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/oosetup
+
+ 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
+
+ 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 use kde
+ then
+ local kdeloc="${D}${INSTDIR}/share/kde/net/applnk/OpenOffice.org${PV}"
+
+ # Portage do not work with the space ..
+ mv ${D}${INSTDIR}/share/kde/net/applnk/OpenOffice.org\ ${PV} ${kdeloc}
+
+ insinto /usr/share/applnk/OpenOffice.org
+ # Install the files needed for the catagory
+ doins ${kdeloc}/.directory
+ doins ${kdeloc}/.order
+ dodir /usr/share
+ # Install the icons and mime info
+ cp -a ${D}${INSTDIR}/share/kde/net/mimelnk/share/* ${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...
+ rm -rf ${D}${INSTDIR}/share/{cde,gnome,kde}
+
+ 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/config/registry/instance/org/openoffice/{Office,ucb}
+ keepdir ${INSTDIR}/user/psprint/{driver,fontmetric}
+ keepdir ${INSTDIR}/user/{autocorr,backup,plugin,store,temp,template}
+}
+
+pkg_preinst() {
+
+ # The one with OO-1.0.0 was not valid
+ if [ -f ${ROOT}/etc/openoffice/autoresponse.conf ]
+ then
+ rm -f ${ROOT}/etc/openoffice/autoresponse.conf
+ fi
+}
+
+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 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 "******************************************************************"
+}
+