From 28085bbb36f6e6461116382a86578f336d00a236 Mon Sep 17 00:00:00 2001 From: David Somero Date: Tue, 17 Aug 2010 15:31:07 -0500 Subject: office/go_openoffice: Added (fork of OpenOffice.org) Signed-off-by: Robby Workman --- office/go_openoffice/README | 31 +++ office/go_openoffice/doinst.sh | 29 +++ office/go_openoffice/go_openoffice.SlackBuild | 230 +++++++++++++++++++++ office/go_openoffice/go_openoffice.info | 46 +++++ office/go_openoffice/patches/Slackware.conf.in | 56 +++++ .../calc-perf-speedup-pagebreak-update.patch | 88 ++++++++ .../patches/qt-use-native-backend.diff | 10 + office/go_openoffice/slack-desc | 19 ++ 8 files changed, 509 insertions(+) create mode 100644 office/go_openoffice/README create mode 100644 office/go_openoffice/doinst.sh create mode 100644 office/go_openoffice/go_openoffice.SlackBuild create mode 100644 office/go_openoffice/go_openoffice.info create mode 100644 office/go_openoffice/patches/Slackware.conf.in create mode 100644 office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch create mode 100644 office/go_openoffice/patches/qt-use-native-backend.diff create mode 100644 office/go_openoffice/slack-desc (limited to 'office') diff --git a/office/go_openoffice/README b/office/go_openoffice/README new file mode 100644 index 0000000000..4ce89379ed --- /dev/null +++ b/office/go_openoffice/README @@ -0,0 +1,31 @@ +Go-oo is a fork of the OpenOffice.org Office Suite. + +Go-oo has built in OpenXML import filters and it will import your Microsoft +Works files. Compared with up-stream OO.o, it has better Microsoft binary +file support (with eg. fields support), and it will import WordPerfect +graphics beautifully. If you are reliant on Excel VBA macros - then Go-oo +offers the best macro fidelity too. If you expect your spreadsheets to +calculate compatibly, or you get embedded Visio diagrams in your documents, +you'll want Go-oo. + +NOTE: This build needs about 12 GB in $TMP and the source is about 430 MB +to download. It also takes hours to compile. This build is still a "work +in progress" - due to the long build time, it is very hard to QA test. + +NOTE2: Don't forget to source /etc/profile if you just installed jdk. In fact, +it is a good idea to do this after you use su and before you run any SlackBuild. + +This requires xulrunner, Archive-Zip, icu4c, apache-ant, and jdk from /extra in +Slackware. + +Optional requirements are avahi, openclipart, ORBit2, GConf, and gnome-vfs. + +Variables that can be passed to the SlackBuild script: +ARTPATH Path to openclipart; leave unset to disable. +NVIDIA=no Turns off an nvidia build work around. +LINGUAS_OOO Sets the languages to add. +PLUGIN=no Disable openoffice's mozilla plugin. +KDE=no Disable KDE4 UI. +GTK=no Disable GTK UI. +GNOME=yes Enables optional gnome bits. +MYCONF Used to pass extra configure options. diff --git a/office/go_openoffice/doinst.sh b/office/go_openoffice/doinst.sh new file mode 100644 index 0000000000..cb5584b311 --- /dev/null +++ b/office/go_openoffice/doinst.sh @@ -0,0 +1,29 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/bash_completion.d/go_ooffice.sh.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -x /usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/office/go_openoffice/go_openoffice.SlackBuild b/office/go_openoffice/go_openoffice.SlackBuild new file mode 100644 index 0000000000..0601b67192 --- /dev/null +++ b/office/go_openoffice/go_openoffice.SlackBuild @@ -0,0 +1,230 @@ +#!/bin/sh + +# Slackware build script for go_openoffice + +# Written by David Somero +# Derived from Slackware's Slackbuilds. +# +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2010 David Somero (dsomero@hotmail.com) Athens, TN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=go_openoffice +VERSION=3.2.1.4 +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +if [ ${NVIDIA:-yes} = "yes" ]; then + SLKCFLAGS="$SLKCFLAGS -DGL_GLEXT_PROTOTYPES" +fi + +# en_US is built by default, upstream needs us to use --with-lang="" in this +# case though, so strip it out +if [[ -z "${LINGUAS_OOO}" ]]; then + export LINGUAS_OOO="" +else + export LINGUAS_OOO=$(echo ${LINGUAS_OOO} | \ + sed -e 's/\ben_US\b//g;s/en//g;s/_GB/en_GB/g;s/_ZA/en_ZA/g') +fi + +if [[ -z "${ARTPATH}" ]]; then + MYCONF="$MYCONF --without-openclipart" +else + MYCONF="$MYCONF --with-openclipart=${ARTPATH:-/usr/share/openclipart}" +fi + +if [ ${GTK:-yes} = "yes" ]; then + MYCONF="$MYCONF --enable-gtk --enable-cairo --with-system-cairo" +else + MYCONF="$MYCONF --disable-gtk --disable-cairo --without-system-cairo" +fi + +if [ ${GNOME:-no} = "no" ]; then + MYCONF="$MYCONF --disable-gnome --disable-gconf --disable-gnome-vfs" +fi + +if [ ${KDE:-yes} = "yes" ]; then + MYCONF="$MYCONF --enable-kde4" + export KDE4DIR="${KDE4DIRS}" + export QTDIR="${QT4DIR}" + export QT4INC="$QTDIR/include" + export QT4LIB="$QTDIR/lib$LIBDIRSUFFIX" +else + MYCONF="$MYCONF --disable-kde4" +fi + +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export OODESTDIR="$PKG" +export ARCH_FLAGS="$SLKCFLAGS" +# May need this on a multilib system. +#export LINKFLAGSOPTIMIZE="${LDFLAGS}" + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf ooo-build-$VERSION +tar xvf $CWD/ooo-build-$VERSION.tar.gz +cd ooo-build-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +cp -f $CWD/patches/qt-use-native-backend.diff patches/hotfixes +# Upstream patch to allow patch versions less than 2.5.9 to work. +patch -p1 < $CWD/patches/calc-perf-speedup-pagebreak-update.patch +# Our patches to fix building on Slackware. +cp -f $CWD/patches/Slackware.conf.in distro-configs + +./configure \ + $MYCONF \ + --prefix=/usr \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --without-binsuffix \ + --localstatedir=/var/lib \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-installed-ooo-dirname=$PRGNAM \ + --with-docdir=/usr/share/doc/$PRGNAM \ + --with-ant-home=/usr/share/apache-ant \ + --with-intro-bitmaps=$TMP/ooo-build-$VERSION/src/openintro_go-oo.bmp \ + --with-about-bitmaps=$TMP/ooo-build-$VERSION/src/openabout_go-oo.bmp \ + --with-lang=${LINGUAS_OOO} \ + --with-num-cpus=${CPUS:-1} \ + --with-max-jobs=${CPUS:-1} \ + --with-extension-integration \ + --with-tag=OOO320_m19 \ + --with-java \ + --without-split \ + --without-git \ + --with-srcdir=$CWD \ + --disable-odk \ + --disable-pam \ + --disable-pam-link \ + --disable-mono \ + --disable-kde \ + --disable-post-install-scripts \ + --disable-rpath \ + --enable-opengl \ + --enable-openldap \ + --enable-openxml \ + --enable-cups \ + --enable-fontconfig \ + --enable-dbus \ + --enable-access \ + --enable-vba \ + --enable-systray \ + --enable-presenter-console \ + --enable-pdfimport \ + --enable-minimizer \ + --enable-split-app-modules \ + --enable-split-opt-features \ + --with-system-python \ + --with-system-expat \ + --with-system-freetype \ + --with-system-jpeg \ + --with-system-curl \ + --with-system-poppler \ + --with-system-libwpd \ + --with-system-neon \ + --with-system-icu \ + --with-system-boost \ + --with-system-mozilla=mozilla \ + --with-gcc-speedup=ccache \ + --with-system-db \ + --with-mdbtools \ + --with-drink=ale \ + --with-distro=Slackware \ + --with-lightproof \ + --with-numbertext \ + --with-arch=x86 \ + --build=$ARCH-slackware-linux || exit 1 + +# Works around a make jobs bug +make -j1 patch.apply || exit 1 +make || exit 1 + +cd bin + OODESTDIR=$PKG ./package-ooo || exit 1 +cd - + +# Preserve any existing config files +mv $PKG/etc/bash_completion.d/ooffice.sh \ + $PKG/etc/bash_completion.d/go_ooffice.sh.new + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Compress man pages +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +# If the user wants the plugin installed, then we'll do that too. +if [ ${PLUGIN:-yes} = "yes" ]; then + mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins + cd $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins + ln -s /usr/lib${LIBDIRSUFFIX}/go_openoffice/program/libnpsoplugin.so libnpsoplugin.so + cd - +fi + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + AUTHORS COPYING ChangeLog INSTALL NEWS README \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/office/go_openoffice/go_openoffice.info b/office/go_openoffice/go_openoffice.info new file mode 100644 index 0000000000..4805d9ac95 --- /dev/null +++ b/office/go_openoffice/go_openoffice.info @@ -0,0 +1,46 @@ +PRGNAM="go_openoffice" +VERSION="3.2.1.4" +HOMEPAGE="http://go-oo.org/" +DOWNLOAD=" +http://download.go-oo.org/OOO320/ooo-build-3.2.1.4.tar.gz +http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_core.tar.bz2 +http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_extensions.tar.bz2 +http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_system.tar.bz2 +http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_l10n.tar.bz2 +http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_binfilter.tar.bz2 +http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll +http://download.go-oo.org/SRC680/lp_solve_5.5.0.12_source.tar.gz +http://download.go-oo.org/DEV300/scsolver.2008-10-30.tar.bz2 +http://multidimalgorithm.googlecode.com/files/mdds_0.3.0.tar.bz2 +http://download.go-oo.org/SRC680/extras-3.tar.bz2 +http://download.go-oo.org/SRC680/biblio.tar.bz2 +http://download.go-oo.org/DEV300/ooo_oxygen_images-2009-06-17.tar.gz +http://download.go-oo.org/SRC680/libwps-0.1.2.tar.gz +http://download.go-oo.org/SRC680/libwpg-0.1.3.tar.gz +http://download.go-oo.org//SRC680/mdbtools-0.6pre1.tar.gz +http://ftp.fsf.hu/OpenOffice.org_hu/numbertext/numbertext-0.8.2.oxt +http://ftp.devall.hu/kami/go-oo/lightproof-en-US-0.1.oxt" +MD5SUM=" +d3908a2e1f13b0adfee33c45572d4de3 +4fa713fb796bc57e5eb9dfb0758adda0 +7277d6dd2585da275ca237cd1fd84b5b +e6405c8108bdcf4cc2bf066d88aa5ae1 +f406e928ede41d8c29df632e8c32d920 +57354bd211501c59d1ad24dbd1766dd7 +e3a0b76dcd876f3d721ee7183729153d +bfb8c27aacca34b2263d3f37b3ad51ab +04181e5ef82973eb349d3122a19d2274 +cf8a6967f7de535ae257fa411c98eb88 +36f323a55ee83e9dc968e1b92569b62a +1948e39a68f12bfa0b7eb309c14d940c +0b3ffc43231c525db1798495a6676902 +799fc3b835a79adce8c88a3fee0150c1 +db556b750bf3eac8481a4cc5e29e5af1 +246e8f38b2a1af1bcff60ee0da59300b +97d492e00199ed4579d24a5f653834c4 +942541da5f5498214518c8b459ae4524" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="David Somero" +EMAIL="dsomero@hotmail.com" +APPROVED="rworkman" diff --git a/office/go_openoffice/patches/Slackware.conf.in b/office/go_openoffice/patches/Slackware.conf.in new file mode 100644 index 0000000000..46c1537bd4 --- /dev/null +++ b/office/go_openoffice/patches/Slackware.conf.in @@ -0,0 +1,56 @@ +--with-vendor=\"Slackware\" +--prefix=/usr +--mandir=/usr/man +--sysconfdir=/etc +--without-binsuffix +--localstatedir=/var/lib +--with-ant-home=/usr/share/apache-ant +--with-extension-integration +--with-java +--with-x +--disable-odk +--disable-pam +--disable-pam-link +--disable-mono +--disable-kde +--disable-post-install-scripts +--disable-rpath +--enable-bonobo +--enable-libart +--enable-libsn +--enable-opengl +--enable-openldap +--enable-openxml +--enable-cups +--enable-fontconfig +--enable-dbus +--enable-access +--enable-cairo +--enable-kde4 +--enable-gtk +--enable-systray +--enable-presenter-console +--enable-pdfimport +--enable-minimizer +--enable-split-app-modules +--enable-split-opt-features +--with-system-sane-header +--with-system-libpwd +--with-system-python +--with-system-expat +--with-system-freetype +--with-system-jpeg +--with-system-curl +--with-system-redland +--with-system-poppler +--with-system-libwpd +--with-system-cairo +--with-system-neon +--with-system-icu +--with-system-boost +--with-system-mozilla=mozilla +--with-system-libsvg +--with-system-sndfile +--with-gcc-speedup=ccache +--with-system-db +--with-drink=ale diff --git a/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch b/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch new file mode 100644 index 0000000000..f97bd3523e --- /dev/null +++ b/office/go_openoffice/patches/calc-perf-speedup-pagebreak-update.patch @@ -0,0 +1,88 @@ +From 7ec7a07f6ef1e4cbc27f51a5b54edf4442125b29 Mon Sep 17 00:00:00 2001 +From: Petr Mladek +Date: Fri, 18 Jun 2010 17:44:23 +0000 +Subject: Fix calc-perf-speedup-pagebreak-update.diff to apply with patch-2.5.4 + +* patches/dev300/calc-perf-speedup-pagebreak-update.diff: add context to help + patch-2.5.4 to apply the hunks correctly; thanks Sandor Geller nRow2) ++ nEndRow = nRow2; ++ ++ BOOL bChanged = ( bWasVis != bShow ); ++ if ( bChanged ) ++ { + ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); + if (pDrawLayer) + { +@@ -583,7 +595,31 @@ index 789de6d..56c7f49 100644 + if (bShow) + pDrawLayer->HeightChanged( nTab, nStartRow, nHeight ); + else +-@@ -2569,7 +2608,7 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow) ++ pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight ); ++ } ++ } ++ ++ SetRowHidden(nStartRow, nEndRow, !bShow); ++ SetRowFiltered(nStartRow, nEndRow, !bShow); ++ ++ if ( bChanged ) ++ { ++ ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection(); ++ if ( pCharts ) ++ pCharts->SetRangeDirty(ScRange( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab )); ++@@ -2563,31 +2563,31 @@ void ScTable::ShowRows(SCROW nRow1, SCRO ++ IncRecalcLevel(); ++ InitializeNoteCaptions(); ++ while (nStartRow <= nRow2) ++ { ++ SCROW nEndRow = -1; ++ bool bWasVis = !RowHidden(nStartRow, nEndRow); ++ if (nEndRow > nRow2) ++ nEndRow = nRow2; ++ ++ BOOL bChanged = ( bWasVis != bShow ); ++ if ( bChanged ) ++ { + ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); + if (pDrawLayer) + { +@@ -592,6 +628,18 @@ index 789de6d..56c7f49 100644 + if (bShow) + pDrawLayer->HeightChanged( nTab, nStartRow, nHeight ); + else ++ pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight ); ++ } ++ } ++ ++ SetRowHidden(nStartRow, nEndRow, !bShow); ++ if (bShow) ++ SetRowFiltered(nStartRow, nEndRow, false); ++ ++ if ( bChanged ) ++ { ++ ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection(); ++ if ( pCharts ) + @@ -2681,7 +2720,10 @@ SCROW ScTable::GetLastChangedRow() const + if (!ValidRow(nLastFlags)) + nLastFlags = 0; +-- +cgit v0.8.3-6-g21f6 diff --git a/office/go_openoffice/patches/qt-use-native-backend.diff b/office/go_openoffice/patches/qt-use-native-backend.diff new file mode 100644 index 0000000000..3834970262 --- /dev/null +++ b/office/go_openoffice/patches/qt-use-native-backend.diff @@ -0,0 +1,10 @@ +*** vcl/unx/kde4/KDEXLib.cxx_ 2010-02-21 22:34:18.917502324 +0200 +--- vcl/unx/kde4/KDEXLib.cxx 2010-02-21 22:35:29.642770570 +0200 +*************** +*** 134,137 **** +--- 134,138 ---- + KCmdLineArgs::init( m_nFakeCmdLineArgs, m_pAppCmdLineArgs, kAboutData ); + ++ KApplication::setGraphicsSystem( "native" ); + m_pApplication = new VCLKDEApplication(); + kapp->disableSessionManagement(); diff --git a/office/go_openoffice/slack-desc b/office/go_openoffice/slack-desc new file mode 100644 index 0000000000..4d7e6ec289 --- /dev/null +++ b/office/go_openoffice/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +go_openoffice: go_openoffice (a fork of the OpenOffice.org Office Suite) +go_openoffice: +go_openoffice: Go-oo has built in OpenXML import filters and it will import your +go_openoffice: Microsoft Works files. Compared with up-stream OO.o, it has better +go_openoffice: Microsoft binary file support (with eg. fields support), and it will +go_openoffice: import WordPerfect graphics beautifully. If you are reliant on Excel +go_openoffice: VBA macros - then Go-oo offers the best macro fidelity too. If you +go_openoffice: expect your spreadsheets to calculate compatibly, or you get embedded +go_openoffice: Visio diagrams in your documents, you'll want Go-oo. +go_openoffice: +go_openoffice: Homepage: http://go-oo.org -- cgit v1.2.3