# Description: Suite complète de office en logiciel libre # URL: http://www.openoffice.org # Packager: lesibel at free dot fr # Maintainer: NuTyX packager team # Depends on: rpmextract, libmspack, gconf, nss, pstoedit, poppler, openldap, kdelibs, qt, lpsolve, libmythes, hyphen, hunspell, redland, libgraphite, sane, xulrunner, unixodbc, vigra, lucene, hsqldb-java, beanshell, imagemagick, linux-pam, libart_lgpl, xorg-libxtst, p5-archive-zip, cairo, libwpd, cups, curl, python, xorg-libxaw, neon, dbus-glib, icu, libxslt, hicolor-icon-theme, desktop-file-utils, boost, gtk, libsndfile name=openoffice version=3.2.1 release=3 OOdir=OOO320_m19 CARCH=`uname -m` source=(http://download.services.openoffice.org/files/stable/$version/OOo_${version}_src_{core,system,l10n,extensions,binfilter}.tar.bz2 \ http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll startcenter.desktop default-no-startup-wizard.diff default-system-fpicker.diff soffice-detect-mozilla-certificates.diff buildfix-gcc44.diff buildfix_FormulaMissingHeader.diff buildfix_system_db48.diff http://cgit.freedesktop.org/ooo-build/ooo-build/plain/patches/dev300/cppu-lbnames-enable-gcc-4.5.diff http://cgit.freedesktop.org/ooo-build/ooo-build/plain/patches/dev300/vcl-system-graphite-with-stlport.diff http://cgit.freedesktop.org/ooo-build/ooo-build/plain/patches/dev300/fix-system-mythes-for-mythes-1.2.diff http://cgit.freedesktop.org/ooo-build/ooo-build/plain/patches/dev300/redland-remove-patches.diff?h=ooo-build-3-2-1 openoffice.profile http://download.services.openoffice.org/files/localized/fr/$version/OOo_3.2.1_Linux_x86_langpack-rpm_fr.tar.gz) build() { # Extraction langage pack cd $SRC/OOO320_m18_native_packed-1_fr.9502/RPMS for i in *; do sh rpmextract.sh $i; done rm *.rpm mkdir -p $SRC/fr mv opt/ $SRC/fr/ # Debut cd $SRC/$OOdir # some speedups export SMP="6" MAXMODULESFLAG="-P${SMP}" MAXPROCESSESFLAG="-P${SMP}" export nodep=true export NO_HIDS=true # build fixes patch -Np0 -i $SRC/buildfix-gcc44.diff patch -Np0 -i $SRC/buildfix_FormulaMissingHeader.diff patch -Np0 -i $SRC/buildfix_system_db48.diff patch -Np0 -i $SRC/cppu-lbnames-enable-gcc-4.5.diff # allow build with system mythes patch -Np0 -i $SRC/fix-system-mythes-for-mythes-1.2.diff # allow build with system redland and cppunit # should also workaround all known bugs with plain upstream redland patch -Np0 -i $SRC/redland-remove-patches.diff?h=ooo-build-3-2-1 # allow system graphite with stlport patch -Np0 -i $SRC/vcl-system-graphite-with-stlport.diff # allows soffice to find the user's firefox profile so that it can read # its digital certificates. Nss stores digital certificates in your mozilla firefox profile. patch -Np0 -i $SRC/soffice-detect-mozilla-certificates.diff # remove the startup wizard patch -Np0 -i $SRC/default-no-startup-wizard.diff # enables the default system-file-picker in case we have that built patch -Np0 -i $SRC/default-system-fpicker.diff if [ "$CARCH" = "x86_64" ]; then EXTRAOPTS="--without-stlport" # fix to build with SUN jdk/jre and OpenJDK # http://qa.openoffice.org/issues/show_bug.cgi?id=74749 sed -i "s:lib64\/libjpeg.so:lib\/libjpeg.so:g" $SRC/$OOdir/solenv/inc/libs.mk else EXTRAOPTS="--with-stlport" fi cd $SRC/$OOdir # needed to build the OO-SDK mv $SRC/unowinreg.dll external/unowinreg # export C(XX)FLAGS # http://www.openoffice.org/issues/show_bug.cgi?id=103205 unset CFLAGS unset CXXFLAGS # Need to recreate the configure script because of patches autoreconf -v ./configure --with-build-version="$version NuTyX build-$release ($OOdir)" \ --with-vendor="NuTyX"\ --prefix=/usr --exec-prefix=/usr\ --with-lang="fr"\ --with-dict=ALL\ --disable-gnome-vfs\ --disable-qadevooo\ --disable-reportdesign\ --disable-systray\ --disable-mathmldtd\ --enable-binfilter\ --enable-cairo\ --enable-crashdump=yes\ --enable-cups\ --enable-dbus\ --enable-evolution2\ --enable-gio\ --enable-gtk\ --enable-kde4 \ --enable-graphite\ --enable-ldap\ --enable-lockdown\ --enable-mediawiki\ --enable-minimizer\ --enable-odk\ --enable-opengl\ --enable-pdfimport\ --enable-presenter-console\ --enable-report-builder\ --enable-vba\ --enable-verbose\ --enable-wiki-publisher\ --with-package-format=native\ --without-fonts\ --without-afms\ --without-gpc\ --without-nas\ --without-ppds\ --without-system-agg\ --with-system-cppunit\ --with-system-redland\ --without-system-saxon\ --with-openldap\ --with-system-stdlibs\ --with-system-libs\ --with-system-sane-header\ --with-system-mozilla=libxul\ --with-system-mythes\ --with-system-unixodbc-headers\ --with-system-xrender-headers\ --with-system-headers\ --with-alloc=system\ --with-jdk-home=${JAVA_HOME}\ --with-lucene-core-jar=/usr/share/java/lucene-core.jar\ --with-lucene-analyzers-jar=/usr/share/java/lucene-analyzers.jar\ --with-use-shell=bash\ $EXTRAOPTS # Setup environment for build if [ "$CARCH" = "x86_64" ]; then source LinuxX86-64Env.Set.sh else source LinuxX86Env.Set.sh fi # Build dmake utility ./bootstrap cd instsetoo_native build.pl -P${SMP} ${MAXMODULESFLAG} ${MAXPROCESSESFLAG} --dlv_switch -link --all cd $SRC/$OOdir # install binaries if [ "$CARCH" = "x86_64" ]; then cp -R instsetoo_native/unxlngx6.pro/OpenOffice/native/install/en-US/linux-2.6-x86_64/buildroot/* $PKG/ else cp -R instsetoo_native/unxlngi6.pro/OpenOffice/native/install/en-US/linux-2.6-intel/buildroot/* $PKG/ fi # move all to /usr/lib mkdir -p $PKG/usr/lib mv $PKG/opt/* $PKG/usr/lib/ rmdir $PKG/opt ## Step 1 mkdir -p $PKG/usr/lib/openoffice.org cd $PKG/usr/lib/openoffice.org mv ure/ basis3.2/ cd basis3.2 rm ure-link && mv ure ure-link ## Step 2 cd $PKG/usr/lib/ mv openoffice.org/basis3.2/ openoffice.org3/ cd openoffice.org3/ rm basis-link && mv basis3.2 basis-link ## Step 3 cd $PKG/usr/lib/ rmdir $PKG/usr/lib/openoffice.org mv openoffice.org3 openoffice # install all built dictionaries from source tree pushd $SRC/$OOdir/dictionaries/unxlng?6.pro/bin for i in `ls -1 dict-??.oxt`; do install -D -m644 $i $PKG/usr/lib/openoffice/share/extension/install/$i done popd # install extensions pushd $SRC/$OOdir/solver/320/unxlng?6.pro/bin install -D -m644 report-builder.oxt $PKG/usr/lib/openoffice/share/extension/install/report-builder.oxt install -D -m644 swext/wiki-publisher.oxt $PKG/usr/lib/openoffice/share/extension/install/wiki-publisher.oxt install -D -m644 minimizer/presentation-minimizer.oxt $PKG/usr/lib/openoffice/share/extension/install/presentation-minimizer.oxt install -D -m644 presenter/presenter-screen.oxt $PKG/usr/lib/openoffice/share/extension/install/presenter-screen.oxt install -D -m644 pdfimport/pdfimport.oxt $PKG/usr/lib/openoffice/share/extension/install/pdfimport.oxt popd # prepare filesystem entries mkdir -p $PKG/usr/{bin,share/applications} mkdir -p $PKG/usr/share/icons/{hicolor,locolor} # install shortcuts mv $PKG/usr/lib/openoffice/share/xdg/*.desktop $PKG/usr/share/applications # add startcenter desktop file install -D -m644 $SRC/startcenter.desktop $PKG/usr/share/applications/startcenter.desktop cd $PKG/usr/share/applications sed -i -e 's|Exec=openoffice.org3|Exec=/usr/bin/soffice|g' *.desktop sed -i -e 's|Exec=/usr/bin/soffice-printeradmin|Exec=/usr/bin/spadmin|g' printeradmin.desktop # fix exec commands in shortcuts for Xfce menu sed -i -e 's|base %U|base|g' base.desktop sed -i -e 's|calc %U|calc|g' calc.desktop sed -i -e 's|draw %U|draw|g' draw.desktop sed -i -e 's|impress %U|impress|g' impress.desktop sed -i -e 's|math %U|math|g' math.desktop sed -i -e 's|writer %U|writer|g' writer.desktop # remove quickstarter, we disabled it above rm -rf $PKG/usr/share/applications/qstart.desktop # fix icons in desktop files sed -i -e 's|Icon=openofficeorg3-|Icon=|g' *.desktop # install icons cd $SRC/$OOdir/sysui/desktop/icons cp -a -v hicolor/*x* $PKG/usr/share/icons/hicolor cp -a -v locolor/*x* $PKG/usr/share/icons/locolor # just in case icon calc is used by calculator :) find $PKG/usr/share/icons -type d -name apps -exec mv {}/calc.png {}/ooocalc.png \; sed -i -e 's|Icon=calc|Icon=ooocalc|g' $PKG/usr/share/applications/calc.desktop # already done above # fix ownership and permissions chown root.root -R $PKG/ chmod +rX -R $PKG/usr # set desktop variable to force gtk/gnome vcl usage install -m755 -d $PKG/etc/profile.d install -m755 $SRC/openoffice.profile $PKG/etc/profile.d/openoffice.sh # make symlinks cd $PKG/usr/bin ln -s /usr/lib/openoffice/program/soffice soffice ln -s /usr/lib/openoffice/program/spadmin spadmin # link the mozilla-plugin mkdir -p $PKG/usr/lib/mozilla/plugins/ cd $PKG/usr/lib/mozilla/plugins/ ln -v -s /usr/lib/openoffice/program/libnpsoplugin.so . # Installation Interface fr cp -a $SRC/fr/opt/openoffice.org/basis3.2/* $PKG/usr/lib/openoffice/basis-link/ }