diff options
author | Eric Hameleers <alien@slackware.com> | 2015-06-20 19:33:53 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2015-06-20 19:33:53 +0000 |
commit | 54756b84a2d758f1d152f64da402ab7e99ba104b (patch) | |
tree | cba8c41ed3513322291a96507b566ea13a06fd75 /libreoffice | |
parent | 50f816ba926d94a50c3cd4c9c27704ede14870ca (diff) | |
download | asb-54756b84a2d758f1d152f64da402ab7e99ba104b.tar.gz asb-54756b84a2d758f1d152f64da402ab7e99ba104b.tar.xz |
Sources for LO 4.4.x now in sources44/
Diffstat (limited to 'libreoffice')
-rwxr-xr-x | libreoffice/build/libreoffice44.SlackBuild | 1488 |
1 files changed, 1488 insertions, 0 deletions
diff --git a/libreoffice/build/libreoffice44.SlackBuild b/libreoffice/build/libreoffice44.SlackBuild new file mode 100755 index 00000000..ea968c5a --- /dev/null +++ b/libreoffice/build/libreoffice44.SlackBuild @@ -0,0 +1,1488 @@ +#!/bin/sh +# $Id$ +# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, NL +# All rights reserved. +# +# Permission to use, copy, modify, and distribute this software for +# any purpose with or without fee is hereby granted, provided that +# the above copyright notice and this permission notice appear in all +# copies. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +# CONTRIBUTORS 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. +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: libreoffice +# Descr: free office suite +# URL: http://www.libreoffice.org/ +# Needs: +# Build-time: apache-ant,jdk,perl-archive-zip +# removepkg glew first. +# (and for Slackware 13.37, you need to install mozilla-nss and +# also upgrade to the seamonkey and seamonkey-solibs in /patches !) +# Changelog: +# 20101010-1: 10/oct/2010 by Eric Hameleers <alien@slackware.com> +# * Initial build from git. I will refine this SlackBuild, once a +# stable software version becomes available. +# 20101012-1: 12/oct/2010 by Eric Hameleers <alien@slackware.com> +# * Add the internal version number to the package name, +# so that the package version will be like "3.2.99.2_20101012". +# Remove the slack-required file, since this package has no +# run-time dependencies any more. +# 3.2.99.3-1: 21/nov/2010 by Eric Hameleers <alien@slackware.com> +# * LibreOffice 3.3-beta3. +# Fix permissions of LICENSE.odt file. +# 3.2.99.3-2: 28/nov/2010 by Eric Hameleers <alien@slackware.com> +# * Do not create a language pack for the default language. +# Compile -without "-O2" - this seems to be required to stay +# compatible with OOo extensions. +# Use the correct location of apache-ant in Slackware.conf.in. +# Make preparations for off-line build (the SlackBuild downloads +# all sources first). +# 3.3.0.1-1: 06/dec/2010 by Eric Hameleers <alien@slackware.com> +# * Update to 3.3.0-rc1 +# 3.3.0.2-1: 24/dec/2010 by Eric Hameleers <alien@slackware.com> +# * Update to 3.3.0-rc2 +# 3.3.0.3-1: 14/jan/2011 by Eric Hameleers <alien@slackware.com> +# * Update to 3.3.0-rc3 +# 3.3.0.3-2: 15/jan/2011 by Eric Hameleers <alien@slackware.com> +# * Had to fix the menu entries (.desktop files) because the +# program names changed (like oowriter -> lowriter). +# 3.3.0.4-1: 21/jan/2011 by Eric Hameleers <alien@slackware.com> +# * Updated to Release Candidate 4 of the upcoming 3.3.0. +# 3.3.0-1: 25/jan/2011 by Eric Hameleers <alien@slackware.com> +# * Release 3.3.0, the first ever LibreOffice after the split-off +# from OpenOffice.org. In fact, this is the same code as the RC4. +# I rebuilt it anyway because I promised to add a couple of +# language packs. +# 3.3.1-1: 24/feb/2011 by Eric Hameleers <alien@slackware.com> +# * Update to new release 3.3.1, added more language packs. +# Also this time, really add the dictionaries for some of the +# major world languages. +# 3.3.1-2: 04/mar/2011 by Eric Hameleers <alien@slackware.com> +# * Not really a rebuild, but I uploaded the wrong 64bit packages, +# and had to change the BUILD number for when I upload the +# correct packages... +# 3.3.2-1: 23/mar/2011 by Eric Hameleers <alien@slackware.com> +# * Update to a new release. +# The SlackBuild has been updated to use new LibreOffice menu +# icons instead of the old OOo versions. +# Also add italian dictionary (request). +# 3.4.0-1: 03/jun/2011 by Eric Hameleers <alien@slackware.com> +# * A new major release. The source tarballs are identical to the +# second release candidate. +# Added german dictionary (dict-de-DE_frami) and polish pl-dict +# on request. Added bundled scripting extensions. +# Stopped building from the 'build' tarball since that seems +# to be deprecated soon. Stupid decision folks! It makes proper +# packaging so much harder. +# 3.4.1-1: 04/jul/2011 by Eric Hameleers <alien@slackware.com> +# * Bugfix release - 'still not ready for production use' but +# 3.4.2-1: 01/aug/2011 by Eric Hameleers <alien@slackware.com> +# * New release says "Safe for production use by most users and +# enterprises". +# 3.4.3-1: 31/aug/2011 by Eric Hameleers <alien@slackware.com> +# * New release. +# Split off the browser plugin to a separate package. +# 3.4.4-1: 09/nov/2011 by Eric Hameleers <alien@slackware.com> +# * New release. +# 3.4.4-2: 24/nov/2011 by Eric Hameleers <alien@slackware.com> +# * Apply two patches to fix annoying issues with KDE (black +# tooltips and non-movable horizontal scrollbar). +# 3.4.5-1: 17/jan/2012 by Eric Hameleers <alien@slackware.com> +# * Added Swedish dictionary (requested by eXpander). Fixed the +# name of the Polish dictionary so that it gets really included. +# Moved a lot of language-specific files to their language packs. +# Thanks to Andrzej Szelachow for reporting about the dictionary +# and language files. +# 3.5.2-1: 08/apr/2012 by Eric Hameleers <alien@slackware.com> +# * Update. +# 3.5.3-1: 03/may/2012 by Eric Hameleers <alien@slackware.com> +# * Update. +# 3.5.3-3: 08/may/2012 by Eric Hameleers <alien@slackware.com> +# * Fix general input/output error on save/open of a +# password-protected file +# 3.5.3-4: 17/may/2012 by Eric Hameleers <alien@slackware.com> +# * I accidentally had the download of .oxt files commented out. +# Also, LO would not start on secondary monitor, see bug +# https://bugs.freedesktop.org/show_bug.cgi?id=49365 +# 3.5.4-1: 31/may/2012 by Eric Hameleers <alien@slackware.com> +# * Minor update. +# 3.5.5-1: 11/jul/2012 by Eric Hameleers <alien@slackware.com> +# * Update. +# 3.5.6-1: 17/jul/2012 by Eric Hameleers <alien@slackware.com> +# * Update. +# 3.6.1-1: 02/oct/2012 by Eric Hameleers <alien@slackware.com> +# * New release, still built for Slackware 13.37. +# 3.6.2-1: 05/oct/2012 by Eric Hameleers <alien@slackware.com> +# * New release, still built for Slackware 13.37. +# 3.6.2-2: 10/oct/2012 by Eric Hameleers <alien@slackware.com> +# * Try to fix the "save with password" issue +# (general input/output error). +# 3.6.3-1: 02/nov/2012 by Eric Hameleers <alien@slackware.com> +# * New release, still built for Slackware 13.37. +# 3.6.4-1: 06/dec/2012 by Eric Hameleers <alien@slackware.com> +# * New release. Refreshed the swedish dictionary. +# 4.0.0-1: 07/feb/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.0 release built for Slackware 14. +# 4.0.1-1: 07/mar/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.1 release built for Slackware 14. +# 4.0.2-1: 04/apr/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.2 release built for Slackware 14. +# 4.0.3-1: 09/may/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.3 release built for Slackware 14 and newer. +# 4.0.4-1: 29/jun/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.4 release built for Slackware 14 and newer. +# 4.0.5-1: 07/aug/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.0.5 release built for Slackware 14 and newer. +# 4.1.1-1: 09/sep/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.1.1 release built for Slackware 14 and newer (packages +# not released to the public). +# 4.1.2-1: 05/oct/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.1.2 release built for Slackware 14 and newer. +# 4.1.3-1: 01/nov/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.1.3 release built for Slackware 14 and newer. +# 4.1.4-1: 18/dec/2013 by Eric Hameleers <alien@slackware.com> +# * New 4.1.4 release built for Slackware 14 and newer. +# 4.2.0-1: 30/jan/2014 by Eric Hameleers <alien@slackware.com> +# * New 4.2.0 release built for Slackware 14.1 and newer! +# 4.2.1-1: 20/feb/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.2.2-1: 13/mar/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.2.3-1: 11/apr/2014 by Eric Hameleers <alien@slackware.com> +# * Update to 4.2.3. +# KDE integration libraries and SDK documentation have been +# split off the main package and into libreoffice-kde-integration +# and libreoffice-sdkdoc sub-packages. +# 4.2.3-2: 20/apr/2014 by Eric Hameleers <alien@slackware.com> +# * Fix nasty bug on KDE. +# 4.2.4-1: 12/may/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.2.5-1: 20/may/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.3.0-1: 04/aug/2014 by Eric Hameleers <alien@slackware.com> +# * New major release with lots of improvements. +# 4.3.0-2: 07/aug/2014 by Eric Hameleers <alien@slackware.com> +# * Fix the issue with linking to libGLEW.so.1.9 which broke +# the package on slackware-current. +# Run "removepkg glew" before compiling if you build this +# on Slackware 14.1 but want to use it on slackware-current. +# 4.3.1-1: 29/aug/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.3.2-1: 28/sep/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.3.3-1: 31/oct/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.3.4-1: 16/nov/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.3.5-1: 20/dec/2014 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.4.0-1: 30/jan/2015 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.4.1-1: 28/feb/2015 by Eric Hameleers <alien@slackware.com> +# * Update. +# 4.4.3-1: 23/apr/2015 by Eric Hameleers <alien@slackware.com> +# * Update. +# +# Run 'sh libreoffice.SlackBuild' to build a Slackware package. +# The package (.txz) and .txt file as well as build logs are created in /tmp . +# Install it using 'installpkg'. +# +# ----------------------------------------------------------------------------- + +# Set initial variables: + +PRGNAM=libreoffice +PRGNAM2=mozplugin +PRGNAM3=dict +PRGNAM4=sdkdoc +PRGNAM5=kde-integration + +BUILD=${BUILD:-1} +TAG=${TAG:-alien} + +# SRCVER is the variable you control. It can be one of: +# "HEAD" - in which case a new git # snapshot will be pulled, +# "yyyymmdd" - like "20101126", if you downloaded a git snapshot before, or +# "X.Y.Z" - like "3.2.99.3", meaning a release tarball is used. +# ** +# ** NOTE: the script may be broken for GIT builds at the moment! ** +# ** +#SRCVER=${SRCVER:-20101121} +#SRCVER=${SRCVER:-HEAD} +#SRCVER=${SRCVER:-3.3.0.4} + +SRCVER=${SRCVER:-4.4.3} +SUBVER=".1" +PKG_SUBVER="" + +# How many tarballs does this release consist of: +LO_TARBALLS=4 + +# If we pull a git shapshot, use today's date as the VERSION: +# If we are building offline, we do not want git checks: +if [ "$SRCVER" = "HEAD" ]; then + VERSION=$(date +%Y%m%d) + USE_GIT="yes" + COMPR="xz" +elif [ "$(echo $SRCVER |cut -c1,2)" = "20" ]; then + VERSION=$SRCVER + USE_GIT="yes" + COMPR="xz" +else + VERSION=$SRCVER + USE_GIT="no" + COMPR="xz" +fi + +DOCS="AUTHORS COPYING* MAINTAINERS NEWS README* TODO" + +PACKAGER="Eric Hameleers" + +# Where do we look for sources? +SRCDIR=$(cd $(dirname $0); pwd) + +# Select default langue for the libreoffice package: +DEF_LANG=${DEF_LANG:-"en_US"} + +# If this variable is non-empty, we will build additional language packs; +# otherwise LibreOffice will be built for one language, defined in DEF_LANG: +# Note: +# The languages plus their descriptive names are kept in an external file +# called 'languages' in the same directory as the SlackBuild script. +# Edit that file if you want to add more languages. +# Note: +# The packagenames use official language code like 'en_US' while LibreOffice +# uses 'en-US'. +# +#ADD_LANGUAGES="" +ADD_LANGUAGES="$(cat $SRCDIR/languages |grep -v "^#" |cut -f1 -d= |tr '\n' ' ' |tr -s ' ' |sed -e 's/ *$//')" + +# Place to build (TMP) package (PKG) and output (OUTPUT) the program: +TMP=${TMP:-/tmp/build} +PKG=$TMP/package-$PRGNAM +PKG2=$TMP/package-$PRGNAM-$PRGNAM2 +PKG3=$TMP/package-$PRGNAM-$PRGNAM3 +PKG4=$TMP/package-$PRGNAM-$PRGNAM4 +PKG5=$TMP/package-$PRGNAM-$PRGNAM5 +OUTPUT=${OUTPUT:-/tmp} + +# This package is built with Alien's Google API keys for LibreOffice. +# The keys are contained in the file "libreoffice_apikeys", +# which is not distributed. +# If you want to rebuild this package, you can use your own API keys, see: +# http://www.chromium.org/developers/how-tos/api-keys +# Or else the package compiles without API keys. +# This will disable the ability to directly edit and save Google Drive Docs. +# The following variables must be set: +# _gdrive_client_id +# _gdrive_client_secret +if [ -f ${HOME}/.libreoffice_apikeys ]; then + . ${HOME}/.libreoffice_apikeys +elif [ -f ${SRCDIR}/libreoffice_apikeys ]; then + . ${SRCDIR}/libreoffice_apikeys +fi +if [ -n "$_gdrive_client_id" -a -n "$_gdrive_client_secret" ]; then + GDRIVEOPTS=" --with-gdrive-client-id=${_gdrive_client_id} --with-gdrive-client-secret=${_gdrive_client_secret}" +else + GDRIVEOPTS=" " +fi + +# Base resource locators for tarballs and snapshots +# - if you are building from git snapshots, it is wise to point GITBASE to +# a local directory where you keep clones of the remote repositories: +SRCBASE="http://download.documentfoundation.org/libreoffice/src/${VERSION}" +GITBASE="git://anongit.freedesktop.org/git/libreoffice" + +# Core components of LibreOffice (downloaded or checked-out) are: +# core dictionaries help translations + +# Use SRCURL for tarball releases and GITURI for git snapshots: + +SOURCE[0]="$SRCDIR/sources44/libreoffice-${VERSION}${SUBVER}.tar.${COMPR}" +SRCURL[0]="$SRCBASE/libreoffice-${VERSION}${SUBVER}.tar.${COMPR}" +GITURI[0]="$GITBASE/core" + +SOURCE[1]="$SRCDIR/sources44/libreoffice-dictionaries-${VERSION}${SUBVER}.tar.${COMPR}" +SRCURL[1]="$SRCBASE/libreoffice-dictionaries-${VERSION}${SUBVER}.tar.${COMPR}" +GITURI[1]="$GITBASE/dictionaries" + +SOURCE[2]="$SRCDIR/sources44/libreoffice-help-${VERSION}${SUBVER}.tar.${COMPR}" +SRCURL[2]="$SRCBASE/libreoffice-help-${VERSION}${SUBVER}.tar.${COMPR}" +GITURI[2]="$GITBASE/help" + +SOURCE[3]="$SRCDIR/sources44/libreoffice-translations-${VERSION}${SUBVER}.tar.${COMPR}" +SRCURL[3]="$SRCBASE/libreoffice-translations-${VERSION}${SUBVER}.tar.${COMPR}" +GITURI[3]="$GITBASE/translations" + +# Two files that are used to determine what needs to be downloaded: +SOURCE[4]="$SRCDIR/sources44/download.lst-${VERSION}${SUBVER}" +SRCURL[4]="http://cgit.freedesktop.org/libreoffice/core/plain/download.lst?id=libreoffice-${VERSION}${SUBVER}" +SOURCE[5]="$SRCDIR/sources44/Makefile.fetch-${VERSION}${SUBVER}" +SRCURL[5]="http://cgit.freedesktop.org/libreoffice/core/plain/Makefile.fetch?id=libreoffice-${VERSION}${SUBVER}" + +# +# Extra libraries / binaries required to build LibreOffice from source: +# Lots of tarballs of which I am not sure which one are really needed... +# + +# --- Start of section generated by gensrc.sh --- +# External sources for libreoffice-4.4.3.1 + +SOURCE[6]="$SRCDIR/sources44/185d60944ea767075d27247c3162b3bc-unowinreg.dll" +SRCURL[6]="http://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll" + +SOURCE[7]="$SRCDIR/sources44/libabw-0.1.1.tar.bz2" +SRCURL[7]="http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2" + +SOURCE[8]="$SRCDIR/sources44/048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip" +SRCURL[8]="http://dev-www.libreoffice.org/src/048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip" + +SOURCE[9]="$SRCDIR/sources44/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz" +SRCURL[9]="http://dev-www.libreoffice.org/src/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz" + +SOURCE[10]="$SRCDIR/sources44/8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz" +SRCURL[10]="http://dev-www.libreoffice.org/src/8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz" + +SOURCE[11]="$SRCDIR/sources44/commons-logging-1.2-src.tar.gz" +SRCURL[11]="http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz" + +SOURCE[12]="$SRCDIR/sources44/apr-1.4.8.tar.gz" +SRCURL[12]="http://dev-www.libreoffice.org/src/apr-1.4.8.tar.gz" + +SOURCE[13]="$SRCDIR/sources44/apr-util-1.5.3.tar.gz" +SRCURL[13]="http://dev-www.libreoffice.org/src/apr-util-1.5.3.tar.gz" + +SOURCE[14]="$SRCDIR/sources44/d6eef4b4cacb2183f2bf265a5a03a354-boost_1_55_0.tar.bz2" +SRCURL[14]="http://dev-www.libreoffice.org/src/d6eef4b4cacb2183f2bf265a5a03a354-boost_1_55_0.tar.bz2" + +SOURCE[15]="$SRCDIR/sources44/ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz" +SRCURL[15]="http://dev-www.libreoffice.org/src/ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz" + +SOURCE[16]="$SRCDIR/sources44/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" +SRCURL[16]="http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" + +SOURCE[17]="$SRCDIR/sources44/libcdr-0.1.1.tar.bz2" +SRCURL[17]="http://dev-www.libreoffice.org/src/libcdr-0.1.1.tar.bz2" + +SOURCE[18]="$SRCDIR/sources44/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz" +SRCURL[18]="http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz" + +SOURCE[19]="$SRCDIR/sources44/5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz" +SRCURL[19]="http://dev-www.libreoffice.org/src/5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz" + +SOURCE[20]="$SRCDIR/sources44/CoinMP-1.7.6.tgz" +SRCURL[20]="http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz" + +SOURCE[21]="$SRCDIR/sources44/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2" +SRCURL[21]="http://dev-www.libreoffice.org/src/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2" + +SOURCE[22]="$SRCDIR/sources44/cppunit-1.13.2.tar.gz" +SRCURL[22]="http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz" + +SOURCE[23]="$SRCDIR/sources44/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt" +SRCURL[23]="http://dev-www.libreoffice.org/src/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt" + +SOURCE[24]="$SRCDIR/sources44/curl-7.36.0.tar.bz2" +SRCURL[24]="http://dev-www.libreoffice.org/src/curl-7.36.0.tar.bz2" + +SOURCE[25]="$SRCDIR/sources44/libe-book-0.1.2.tar.bz2" +SRCURL[25]="http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2" + +SOURCE[26]="$SRCDIR/sources44/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz" +SRCURL[26]="http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz" + +SOURCE[27]="$SRCDIR/sources44/libetonyek-0.1.1.tar.bz2" +SRCURL[27]="http://dev-www.libreoffice.org/src/libetonyek-0.1.1.tar.bz2" + +SOURCE[28]="$SRCDIR/sources44/dd7dab7a5fea97d2a6a43f511449b7cd-expat-2.1.0.tar.gz" +SRCURL[28]="http://dev-www.libreoffice.org/src/dd7dab7a5fea97d2a6a43f511449b7cd-expat-2.1.0.tar.gz" + +SOURCE[29]="$SRCDIR/sources44/Firebird-2.5.2.26540-0.tar.bz2" +SRCURL[29]="http://dev-www.libreoffice.org/src/Firebird-2.5.2.26540-0.tar.bz2" + +SOURCE[30]="$SRCDIR/sources44/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz" +SRCURL[30]="http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz" + +SOURCE[31]="$SRCDIR/sources44/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz" +SRCURL[31]="http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz" + +SOURCE[32]="$SRCDIR/sources44/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz" +SRCURL[32]="http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz" + +SOURCE[33]="$SRCDIR/sources44/a4e565e220b5de082c23995e256e3c12-dejavu-fonts-ttf-2.34.zip" +SRCURL[33]="http://dev-www.libreoffice.org/src/a4e565e220b5de082c23995e256e3c12-dejavu-fonts-ttf-2.34.zip" + +SOURCE[34]="$SRCDIR/sources44/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip" +SRCURL[34]="http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip" + +SOURCE[35]="$SRCDIR/sources44/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz" +SRCURL[35]="http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz" + +SOURCE[36]="$SRCDIR/sources44/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz" +SRCURL[36]="http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz" + +SOURCE[37]="$SRCDIR/sources44/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip" +SRCURL[37]="http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip" + +SOURCE[38]="$SRCDIR/sources44/7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz" +SRCURL[38]="http://dev-www.libreoffice.org/src/7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz" + +SOURCE[39]="$SRCDIR/sources44/c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz" +SRCURL[39]="http://dev-www.libreoffice.org/src/c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz" + +SOURCE[40]="$SRCDIR/sources44/0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz" +SRCURL[40]="http://dev-www.libreoffice.org/src/0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz" + +SOURCE[41]="$SRCDIR/sources44/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz" +SRCURL[41]="http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz" + +SOURCE[42]="$SRCDIR/sources44/libfreehand-0.1.0.tar.bz2" +SRCURL[42]="http://dev-www.libreoffice.org/src/libfreehand-0.1.0.tar.bz2" + +SOURCE[43]="$SRCDIR/sources44/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2" +SRCURL[43]="http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2" + +SOURCE[44]="$SRCDIR/sources44/594eb47b4b1210e25438d51825404d5a-glew-1.10.0.zip" +SRCURL[44]="http://dev-www.libreoffice.org/src/594eb47b4b1210e25438d51825404d5a-glew-1.10.0.zip" + +SOURCE[45]="$SRCDIR/sources44/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip" +SRCURL[45]="http://dev-www.libreoffice.org/src/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip" + +SOURCE[46]="$SRCDIR/sources44/graphite2-1.2.4.tgz" +SRCURL[46]="http://dev-www.libreoffice.org/src/graphite2-1.2.4.tgz" + +SOURCE[47]="$SRCDIR/sources44/harfbuzz-0.9.23.tar.bz2" +SRCURL[47]="http://dev-www.libreoffice.org/src/harfbuzz-0.9.23.tar.bz2" + +SOURCE[48]="$SRCDIR/sources44/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip" +SRCURL[48]="http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip" + +SOURCE[49]="$SRCDIR/sources44/4967da60b23413604c9e563beacc63b4-hunspell-1.3.3.tar.gz" +SRCURL[49]="http://dev-www.libreoffice.org/src/4967da60b23413604c9e563beacc63b4-hunspell-1.3.3.tar.gz" + +SOURCE[50]="$SRCDIR/sources44/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz" +SRCURL[50]="http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz" + +SOURCE[51]="$SRCDIR/sources44/b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz" +SRCURL[51]="http://dev-www.libreoffice.org/src/b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz" + +SOURCE[52]="$SRCDIR/sources44/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip" +SRCURL[52]="http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip" + +SOURCE[53]="$SRCDIR/sources44/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip" +SRCURL[53]="http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip" + +SOURCE[54]="$SRCDIR/sources44/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip" +SRCURL[54]="http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip" + +SOURCE[55]="$SRCDIR/sources44/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip" +SRCURL[55]="http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip" + +SOURCE[56]="$SRCDIR/sources44/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip" +SRCURL[56]="http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip" + +SOURCE[57]="$SRCDIR/sources44/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip" +SRCURL[57]="http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip" + +SOURCE[58]="$SRCDIR/sources44/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip" +SRCURL[58]="http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip" + +SOURCE[59]="$SRCDIR/sources44/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip" +SRCURL[59]="http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip" + +SOURCE[60]="$SRCDIR/sources44/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip" +SRCURL[60]="http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip" + +SOURCE[61]="$SRCDIR/sources44/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip" +SRCURL[61]="http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip" + +SOURCE[62]="$SRCDIR/sources44/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip" +SRCURL[62]="http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip" + +SOURCE[63]="$SRCDIR/sources44/jpegsrc.v9a.tar.gz" +SRCURL[63]="http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz" + +SOURCE[64]="$SRCDIR/sources44/libjpeg-turbo-1.3.1.tar.gz" +SRCURL[64]="http://dev-www.libreoffice.org/src/libjpeg-turbo-1.3.1.tar.gz" + +SOURCE[65]="$SRCDIR/sources44/language-subtag-registry-2014-12-03.tar.bz2" +SRCURL[65]="http://dev-www.libreoffice.org/src/language-subtag-registry-2014-12-03.tar.bz2" + +SOURCE[66]="$SRCDIR/sources44/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2" +SRCURL[66]="http://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2" + +SOURCE[67]="$SRCDIR/sources44/lcms2-2.6.tar.gz" +SRCURL[67]="http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz" + +SOURCE[68]="$SRCDIR/sources44/libatomic_ops-7_2d.zip" +SRCURL[68]="http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip" + +SOURCE[69]="$SRCDIR/sources44/libeot-0.01.tar.bz2" +SRCURL[69]="http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2" + +SOURCE[70]="$SRCDIR/sources44/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2" +SRCURL[70]="http://dev-www.libreoffice.org/src/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2" + +SOURCE[71]="$SRCDIR/sources44/libgltf-0.0.2.tar.bz2" +SRCURL[71]="http://dev-www.libreoffice.org/src/libgltf/libgltf-0.0.2.tar.bz2" + +SOURCE[72]="$SRCDIR/sources44/36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2" +SRCURL[72]="http://dev-www.libreoffice.org/src/36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2" + +SOURCE[73]="$SRCDIR/sources44/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" +SRCURL[73]="http://dev-www.libreoffice.org/src/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" + +SOURCE[74]="$SRCDIR/sources44/9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz" +SRCURL[74]="http://dev-www.libreoffice.org/src/9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz" + +SOURCE[75]="$SRCDIR/sources44/9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz" +SRCURL[75]="http://dev-www.libreoffice.org/src/9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz" + +SOURCE[76]="$SRCDIR/sources44/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz" +SRCURL[76]="http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz" + +SOURCE[77]="$SRCDIR/sources44/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz" +SRCURL[77]="http://dev-www.libreoffice.org/src/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz" + +SOURCE[78]="$SRCDIR/sources44/cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2" +SRCURL[78]="http://dev-www.libreoffice.org/src/cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2" + +SOURCE[79]="$SRCDIR/sources44/libmspub-0.1.2.tar.bz2" +SRCURL[79]="http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2" + +SOURCE[80]="$SRCDIR/sources44/libmwaw-0.3.4.tar.bz2" +SRCURL[80]="http://dev-www.libreoffice.org/src/libmwaw-0.3.4.tar.bz2" + +SOURCE[81]="$SRCDIR/sources44/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz" +SRCURL[81]="http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz" + +SOURCE[82]="$SRCDIR/sources44/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz" +SRCURL[82]="http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz" + +SOURCE[83]="$SRCDIR/sources44/ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz" +SRCURL[83]="http://dev-www.libreoffice.org/src/ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz" + +SOURCE[84]="$SRCDIR/sources44/b279551b7638d0e36d1199548124c247-nss-3.16.5-with-nspr-4.10.6.tar.gz" +SRCURL[84]="http://dev-www.libreoffice.org/src/b279551b7638d0e36d1199548124c247-nss-3.16.5-with-nspr-4.10.6.tar.gz" + +SOURCE[85]="$SRCDIR/sources44/libodfgen-0.1.3.tar.bz2" +SRCURL[85]="http://dev-www.libreoffice.org/src/libodfgen-0.1.3.tar.bz2" + +SOURCE[86]="$SRCDIR/sources44/OpenCOLLADA-master-6509aa13af.tar.bz2" +SRCURL[86]="http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2" + +SOURCE[87]="$SRCDIR/sources44/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz" +SRCURL[87]="http://dev-www.libreoffice.org/src/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz" + +SOURCE[88]="$SRCDIR/sources44/openssl-1.0.2a.tar.gz" +SRCURL[88]="http://dev-www.libreoffice.org/src/openssl-1.0.2a.tar.gz" + +SOURCE[89]="$SRCDIR/sources44/7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2" +SRCURL[89]="http://dev-www.libreoffice.org/src/7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2" + +SOURCE[90]="$SRCDIR/sources44/libpagemaker-0.0.2.tar.bz2" +SRCURL[90]="http://dev-www.libreoffice.org/src/libpagemaker-0.0.2.tar.bz2" + +SOURCE[91]="$SRCDIR/sources44/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" +SRCURL[91]="http://dev-www.libreoffice.org/src/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" + +SOURCE[92]="$SRCDIR/sources44/libpng-1.5.18.tar.gz" +SRCURL[92]="http://dev-www.libreoffice.org/src/libpng-1.5.18.tar.gz" + +SOURCE[93]="$SRCDIR/sources44/poppler-0.26.4.tar.gz" +SRCURL[93]="http://dev-www.libreoffice.org/src/poppler-0.26.4.tar.gz" + +SOURCE[94]="$SRCDIR/sources44/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2" +SRCURL[94]="http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2" + +SOURCE[95]="$SRCDIR/sources44/Python-3.3.5.tgz" +SRCURL[95]="http://dev-www.libreoffice.org/src/Python-3.3.5.tgz" + +SOURCE[96]="$SRCDIR/sources44/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz" +SRCURL[96]="http://dev-www.libreoffice.org/src/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz" + +SOURCE[97]="$SRCDIR/sources44/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz" +SRCURL[97]="http://dev-www.libreoffice.org/src/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz" + +SOURCE[98]="$SRCDIR/sources44/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz" +SRCURL[98]="http://dev-www.libreoffice.org/src/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz" + +SOURCE[99]="$SRCDIR/sources44/librevenge-0.0.2.tar.bz2" +SRCURL[99]="http://dev-www.libreoffice.org/src/librevenge-0.0.2.tar.bz2" + +SOURCE[100]="$SRCDIR/sources44/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip" +SRCURL[100]="http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip" + +SOURCE[101]="$SRCDIR/sources44/serf-1.2.1.tar.bz2" +SRCURL[101]="http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2" + +SOURCE[102]="$SRCDIR/sources44/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip" +SRCURL[102]="http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip" + +SOURCE[103]="$SRCDIR/sources44/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz" +SRCURL[103]="http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz" + +SOURCE[104]="$SRCDIR/sources44/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz" +SRCURL[104]="http://dev-www.libreoffice.org/src/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz" + +SOURCE[105]="$SRCDIR/sources44/libvisio-0.1.1.tar.bz2" +SRCURL[105]="http://dev-www.libreoffice.org/src/libvisio-0.1.1.tar.bz2" + +SOURCE[106]="$SRCDIR/sources44/libwpd-0.10.0.tar.bz2" +SRCURL[106]="http://dev-www.libreoffice.org/src/libwpd-0.10.0.tar.bz2" + +SOURCE[107]="$SRCDIR/sources44/libwpg-0.3.0.tar.bz2" +SRCURL[107]="http://dev-www.libreoffice.org/src/libwpg-0.3.0.tar.bz2" + +SOURCE[108]="$SRCDIR/sources44/libwps-0.3.1.tar.bz2" +SRCURL[108]="http://dev-www.libreoffice.org/src/libwps-0.3.1.tar.bz2" + +SOURCE[109]="$SRCDIR/sources44/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip" +SRCURL[109]="http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip" + +SOURCE[110]="$SRCDIR/sources44/zlib-1.2.8.tar.gz" +SRCURL[110]="http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz" + +# --- End of section generated by gensrc.sh --- + +# Use the src_checkout() function if no downloadable tarball exists. +# This function checks out sources from SVN/CVS and creates a tarball of them. +src_checkout() { + # Param #1 : index in the SOURCE[] array. + # Param #2 : full path to where SOURCE[$1] tarball should be created. + # Determine the tarball extension: + PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/') + case "$PEXT" in + "tar.xz") TARCOMP="J" ;; + "tar.gz") TARCOMP="z" ;; + "tgz") TARCOMP="z" ;; + "tar.bz2") TARCOMP="j" ;; + *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;; + esac + # Determine the directory name to create for the archive root: + PBASE=$(basename ${2} .${PEXT}) + # Determine the directory where we create our checkout: + CODIR=$(dirname ${2}) + # LibreOffice checkout from git: + BRANCH=${BRANCH[$1]:-master} + # Checkout code from a certain branch and/or date; this will take a + # long time because we have to clone the complete git-repository first: + echo "Checking out $BRANCH at date $VERSION from '${GITURI[$1]}':" + RETDIR=$(pwd) + mkdir -p $CODIR/libreoffice_temp_checkout_$$ \ + && cd $CODIR/libreoffice_temp_checkout_$$ + if [ "$SRCVER" != "HEAD" ]; then + git clone ${GITURI[$1]} ${PBASE} + cd ${PBASE} + # Differentiate between a git release tag and a snapshot date: + if [ "$(echo $VERSION |cut -c1,2)" = "20" ]; then + git checkout $BRANCH \ + && git checkout $(git rev-list -n 1 --before="`date -d $VERSION`" $BRANCH) + else + #git checkout $(echo "libreoffice-$VERSION" | tr 'a-z.-' 'A-Z_') + git checkout $(echo "libreoffice-$VERSION") + fi + cd .. + else + git clone --depth=1 ${GITURI[$1]} ${PBASE} + fi + if [ "$SRCVER" = "HEAD" ]; then + # Shallow clone, does not contain a lot in .git + tar -${TARCOMP}cf ${2} ${PBASE} + else + # Full clone, especially libreoffice-l10n is several GB in size: + tar --exclude .git -${TARCOMP}cf ${2} ${PBASE} + fi + cd $RETDIR + rm -rf $CODIR/libreoffice_temp_checkout_$$ +} + +## +## --- with a little luck, you won't have to edit below this point --- ## +## + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +case "$ARCH" in + i486) SLKCFLAGS="-march=i486 -mtune=i686" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + x86_64) SLKCFLAGS="-fPIC" + SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" + ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -std=c++98" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + *) SLKCFLAGS="" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; +esac + +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + +# Exit the script on errors: +set -e +trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR +# Catch unitialized variables: +set -u +P1=${1:-1} + +# Save old umask and set to 0022: +_UMASK_=$(umask) +umask 0022 + +if [ "$P1" == "--oldbuild" ]; then + echo "Re-using a previous compilation." +else + # Create working directories: + mkdir -p $OUTPUT # place for the package to be saved + mkdir -p $TMP/tmp-$PRGNAM # location to build the source + mkdir -p $PKG # place for the package to be built + rm -rf $PKG/* # always erase old package's contents + rm -rf $PKG2/* # always erase old package's contents + rm -rf $PKG3/* # always erase old package's contents + rm -rf $PKG4/* # always erase old package's contents + rm -rf $PKG5/* # always erase old package's contents + rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build + rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log + # remove old log files +fi + +# Make variables for the working directories absolute now that they exist: +TMP=$(cd $TMP; pwd) +PKG=$(cd $PKG; pwd) +OUTPUT=$(cd $OUTPUT; pwd) + +# Source file availability: +for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do + if ! [ -f ${SOURCE[$i]} ]; then + echo "Source '$(basename ${SOURCE[$i]})' not available yet..." + # Check if the $SRCDIR/sources is writable - if not, download to $OUTPUT + mkdir "$SRCDIR/sources" 2>/dev/null || true + [ -w "$SRCDIR/sources" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})" + if [ -f ${SOURCE[$i]} ]; then echo "Ah, found it!"; continue; fi + if ! [ "x${SRCURL[$i]}" == "x" ]; then + echo "Will download file to $(dirname $SOURCE[$i])" + wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true + if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then + echo "Fail to download '$(basename ${SOURCE[$i]})'. Aborting the build." + mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL + exit 1 + fi + else + # Try if we have a SVN/CVS download routine for ${SOURCE[$i]} + echo "Will checkout sources to $(dirname $SOURCE[$i])" + src_checkout $i "${SOURCE[$i]}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE[$i]}).log + fi + if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then + echo "File '$(basename ${SOURCE[$i]})' not available. Aborting the build." + exit 1 + fi + fi +done + +# Maybe we need even more? +echo "** Please examine the following output (enclosed in '-+-+-+' lines)." +echo "** If you see any filenames there, it means that these are still missing." +echo "** Since they will not be downloaded when LibreOffice starts compiling," +echo "** you may run into problems later." +echo "** NOTE: this indicates that this SlackBuild needs to be updated." +echo "-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-" +TMP_DLLST=$(mktemp -t lo_XXXXXX) +wget -q -O - "http://cgit.freedesktop.org/libreoffice/core/plain/download.lst?id=$(echo $PRGNAM-$VERSION$SUBVER)" > $TMP_DLLST +echo "all:" >> $TMP_DLLST +cat $TMP_DLLST | grep -v " *#" | grep -w export | grep TARBALL | cut -f2 -d' ' | sed -e 's/.*/\t&=$(&)'/ >> $TMP_DLLST +for FILE in $(make HAVE_JAVA6=TRUE -f $TMP_DLLST | cut -f2- -d=) ; do if [ ! -f $SRCDIR/sources44/$FILE ]; then echo $FILE; fi ; done; +rm $TMP_DLLST +echo "-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-" + +if [ "$P1" == "--download" ]; then + echo "Download complete." + exit 0 +fi + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $TMP/tmp-$PRGNAM +if [ "$P1" != "--oldbuild" ]; then + echo "Extracting source archive(s) for $PRGNAM..." + for (( i = 0; i < ${LO_TARBALLS}; i++ )) ; do + echo -n " ." + tar -xf ${SOURCE[$i]} + done + echo "" + # Remove multiple git-hooks directories: + find . -name git-hooks -type d -depth -exec rm -rf {} \; + + echo "Symlinking all external archives into src directory for $PRGNAM..." + mkdir -p extsrc + for (( i = ${LO_TARBALLS}; i < ${#SOURCE[*]}; i++ )) ; do + ln -sf ${SOURCE[$i]} extsrc/ + done +fi + +chown -R root:root . +chmod -R u+w,go+r-w,a+X-s . + +# Enter the build directory: +BUILDDIR="$TMP/tmp-$PRGNAM/libreoffice-${VERSION}${SUBVER}" +cd $BUILDDIR + +echo Building ... + +# Apply our own (borrowed) patches. +if [ "$P1" != "--oldbuild" ]; then + touch $OUTPUT/patch-$PRGNAM.log + ## Add internal copies of Google's Carlito and Caladea fonts: + ## (for 4.3.0 I expect that people install separate font packages instead) + #cat $SRCDIR/patches/libreoffice.crosextra_fonts.patch | patch -p1 --verbose \ + # 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log + ## Fix bug on KDE where application freezes: + ## (fixed in 4.3.0) + #cat $SRCDIR/patches/libreoffice.kde_qt_sessionmanager.patch \ + # | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log + ## Fix building with internal harfbuzz: + #cat $SRCDIR/patches/libreoffice.harfbuzz.patch \ + # | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log + # Remove failing unit test: + cat $SRCDIR/patches/libreoffice.failing_unittest.patch \ + | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-$PRGNAM.log +fi + +if [ -z "$SRCURL[0]" ]; then + # Git build; find out what this version of LibreOffice calls itself: + # Look for something like: AC_INIT(libreoffice-build, 3.2.99.2) + LOVER=$(cat configure.in | grep ^AC_INIT | sed -e 's/.*, \(.\+\))/\1/')_ +else + LOVER="" +fi + +# Check for an installed KDE4 and assume Qt4: +KDEDIRS=${KDEDIRS:-""} # to avoid "KDEDIRS: unbound variable" +if [ ! -z "$KDEDIRS" ]; then + # Stupid but what can I do... LibreOffice detection routines suck: + export KDE4DIR="$KDEDIRS" + export QT4INC="$QT4DIR/include" + export QT4LIB="$QT4DIR/lib${LIBDIRSUFFIX}" + KDEOPTS="--enable-kde4" +else + KDEOPTS="--disable-kde4" +fi + +# Make it install into proper directories: +export OOInBase="/usr/lib${LIBDIRSUFFIX}/libreoffice" +export OOInstall="/usr/lib${LIBDIRSUFFIX}/libreoffice" +export OODESTDIR="$PKG" + +# Regular build flags: +export LDFLAGS="-Wl,-rpath,/usr/lib${LIBDIRSUFFIX}/libreoffice/program/ $SLKLDFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export CFLAGS="$SLKCFLAGS" + +# If this local directory does not exist during configuration, +# support for Open Clip Art will be disabled: +mkdir -p /usr/share/openclipart + +# Do we generate language packs? +if [ -z "$ADD_LANGUAGES" ]; then + # Actually the compilation breaks if we specify "en_US" explicitly as the + # one default language - in this case the string should be empty. The error: + # " Error: ../unxlngx6.pro/misc/sysui/dummy/localize.sdf 0 Bytes! " + [ "$DEF_LANG" = "en_US" ] && LANGUAGES="" || LANGUAGES="$DEF_LANG" +else + LANGUAGES="${DEF_LANG} $(echo ${ADD_LANGUAGES} |sed -e "s/${DEF_LANG} *//")" +fi + +# Don't build localized help which is not translated (taken from Fedora): +POORHELPS=$(ls -d translations/source/*/helpcontent2 translations/source/*|cut -f 3 -d /|sort|uniq -u|xargs) +# Don't build localized help which is poorly translated: +POORHELPS="$POORHELPS $(grep 'msgstr .Working with Documents' translations/source/*/helpcontent2/source/text/swriter/guide.po| cut -f 3 -d / | xargs)" + +echo "Building for these languages: $LANGUAGES" + +if [ "$USE_GIT" = "yes" ]; then + GITOPTS=" " +else + GITOPTS="--disable-fetch-external" +fi + +case "$ARCH" in + arm*) + ARCHOPTS="--disable-postgresql-sdbc " ;; + *) + ARCHOPTS=" " ;; +esac + +#enable_pam=no \ +./autogen.sh \ + --prefix=/usr \ + --docdir=/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --mandir=/usr/man \ + --with-build-version="SlackBuild for ${LOVER}${VERSION}${PKG_SUBVER} by $PACKAGER" \ + --with-distro=Slackware \ + --with-external-tar="$TMP/tmp-$PRGNAM/extsrc" \ + --with-lang="$(echo ${LANGUAGES} |tr _ -)" \ + --with-package-format="archive installed" \ + --with-vendor="Slackware Team ($PACKAGER)" \ + ${GITOPTS} \ + ${KDEOPTS} \ + ${ARCHOPTS} \ + ${GDRIVEOPTS} \ + --disable-gconf \ + --disable-gnome-vfs \ + --disable-gstreamer-1-0 \ + --disable-kde \ + --disable-lockdown \ + --enable-dbus \ + --enable-eot \ + --enable-epm \ + --enable-ext-nlpsolver \ + --enable-ext-wiki-publisher \ + --enable-gltf \ + --enable-gstreamer-0-10 \ + --enable-hardlink-deliver \ + --enable-odk \ + --enable-python=internal \ + --enable-randr-link \ + --enable-release-build \ + --enable-scripting-beanshell \ + --enable-scripting-javascript \ + --enable-symbols \ + --enable-systray \ + --with-ant-home=/usr/share/ant \ + --with-external-dict-dir=/usr/share/hunspell \ + --with-external-hyph-dir=/usr/share/hyphen \ + --with-external-thes-dir=/usr/share/mythes \ + --with-fonts \ + --with-help \ + --with-jdk-home=$JAVA_HOME \ + --with-system-cairo \ + --with-system-curl \ + --with-system-dicts \ + --with-system-expat \ + --with-system-icu \ + --with-system-mesa-headers \ + --with-system-neon \ + --with-system-nss \ + --with-system-openssl \ + --with-system-zlib \ + --with-x \ + --without-gssapi \ + --without-junit \ + --without-krb5 \ + --without-myspell-dicts \ + --without-system-boost \ + --without-system-harfbuzz \ + --without-system-glew \ + --without-system-jars \ + --without-system-jpeg \ + --without-system-lcms2 \ + --without-system-libvisio \ + --without-system-npapi-headers \ + --without-system-poppler \ + --without-system-redland \ + --build=$TARGET \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log + +touch src.downloaded + +# Compile everything (takes many hours): +touch $OUTPUT/make-${PRGNAM}.log +echo "Starting $PRGNAM compilation (takes a long time)..." +#./bootstrap 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log +make VERBOSE=yes 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log + +# Compile the dictionaries from source. +# Resulting dict-* directories are placed in $INSTDIR : +# **TODO** figure out how to install these? Looks like the install line below +# does not actually install the dictionaries. +make -C dictionaries VERBOSE=yes 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log + +# Install the lot: +echo "Starting the packaging stage for $PRGNAM..." +make DESTDIR=$PKG distro-pack-install \ + 2>&1 | tee $OUTPUT/install-${PRGNAM}.log + +# Remove cruft: +rm -f $PKG/gid_Module* + +# We will be using these variables in the remainder of the script: +set +u +. ./bin/get_config_variables PRODUCTVERSIONSHORT PRODUCTVERSION ICONVERSION WORKDIR INSTDIR +export PRODUCTVERSIONSHORT PRODUCTVERSION ICONVERSION WORKDIR INSTDIR +set -u + +if [ ! -L $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/classes ]; then + mkdir -p $PKG/usr/share/${PRGNAM}/sdk + mv $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/classes \ + $PKG/usr/share/${PRGNAM}/sdk/ + ln -sf /usr/share/${PRGNAM}/sdk/classes \ + $(readlink -f $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk)/ +fi + +if [ ! -L $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/idl ]; then + mkdir -p $PKG/usr/share/idl + mv $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/idl \ + $PKG/usr/share/idl/${PRGNAM} + ln -sf /usr/share/idl/${PRGNAM} \ + $(readlink -f $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk)/idl +fi + +if [ ! -L $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/include ]; then + mkdir -p $PKG/usr/include + mv $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk/include \ + $PKG/usr/include/${PRGNAM} + ln -sf /usr/include/${PRGNAM} \ + $(readlink -f $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/sdk)/include +fi + +# Link the browser plugin into the mozilla plugins directory if we built one: +if [ -f $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/program/libnpsoplugin.so ]; then + ( mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins + cd $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins + ln -sf /usr/lib${LIBDIRSUFFIX}/$PRGNAM/program/libnpsoplugin.so + ) +fi + +# Replace redundant fonts with symlinks to save space: +( cd $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/share/fonts/truetype/ + for FONT in DejaVu*.ttf Liberation*.ttf ; do + rm -f $FONT + ln -sf /usr/share/fonts/TTF/$FONT + done +) + +# Move SDK docs into a separate package - normal users do not need this: +echo "Starting split-off of SDK docs from main $PRGNAM package..." +mkdir -p \ + $TMP/package-${PRGNAM}-sdkdoc/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} +mv $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER}/sdk \ + $TMP/package-${PRGNAM}-sdkdoc/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} +mkdir -p $TMP/package-${PRGNAM}-sdkdoc/install +cat $SRCDIR/slack-desc.sdkdoc \ + > $TMP/package-${PRGNAM}-sdkdoc/install/slack-desc +cd $TMP/package-${PRGNAM}-sdkdoc + /sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-sdkdoc-${LOVER}${VERSION}${PKG_SUBVER}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz} +cd - +cd $OUTPUT + md5sum ${PRGNAM}-sdkdoc-${LOVER}${VERSION}${PKG_SUBVER}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-sdkdoc-${LOVER}${VERSION}${PKG_SUBVER}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 +cd - +cat $TMP/package-${PRGNAM}-sdkdoc/install/slack-desc | grep "^${PRGNAM}-sdkdoc" > $OUTPUT/${PRGNAM}-sdkdoc-${LOVER}${VERSION}${PKG_SUBVER}-noarch-${BUILD}${TAG}.txt + +# Move the KDE integration libraries into a separate package so that people +# have a choice to leave these libraries out: +echo "Starting split-off of KDE integration libraries from main $PRGNAM package..." +mkdir -p $TMP/package-${PRGNAM}-kde-integration/usr/lib${LIBDIRSUFFIX}/libreoffice/program +for KDEFILE in libvclplug_kde4lo.so libkde4be1lo.so ; do + mv $PKG/usr/lib${LIBDIRSUFFIX}/libreoffice/program/${KDEFILE} \ + $TMP/package-${PRGNAM}-kde-integration/usr/lib${LIBDIRSUFFIX}/libreoffice/program/ +done +mkdir -p $TMP/package-${PRGNAM}-kde-integration/install +cat $SRCDIR/slack-desc.kde \ + > $TMP/package-${PRGNAM}-kde-integration/install/slack-desc +cd $TMP/package-${PRGNAM}-kde-integration + /sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-kde-integration-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} +cd - +cd $OUTPUT + md5sum ${PRGNAM}-kde-integration-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-kde-integration-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 +cd - +cat $TMP/package-${PRGNAM}-kde-integration/install/slack-desc | grep "^${PRGNAM}-kde-integration" > $OUTPUT/${PRGNAM}-kde-integration-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.txt + +# If we have any dictionaries in the $INSTDIR (this variable is set already +# by the build process), now is the time to copy them into the package: +echo "Starting split-off of dictionaries from main $PRGNAM package..." +DICTS="$(find $INSTDIR/share/extensions -name "dict-*" -type d -maxdepth 1 -mindepth 1 |rev |cut -d/ -f1 |rev |cut -d- -f2-)" +echo "Found the following dictionaries in $INSTDIR: $(echo $DICTS)" +for DICTLANG in $(cat $SRCDIR/languages.dict | cut -d= -f1) ; do + DICTLANGDESC="$(grep ^${DICTLANG}= $SRCDIR/languages.dict |cut -f2 -d=)" + if [ -d $INSTDIR/share/extensions/dict-${DICTLANG} ]; then + mkdir -p $TMP/package-${PRGNAM}-dict-${DICTLANG}/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/share/extensions + cp -a $INSTDIR/share/extensions/dict-${DICTLANG} \ + $TMP/package-${PRGNAM}-dict-${DICTLANG}/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/share/extensions/ + chown -R root:root $TMP/package-${PRGNAM}-dict-${DICTLANG}/usr/lib${LIBDIRSUFFIX}/$PRGNAM/share/extensions + mkdir -p $TMP/package-${PRGNAM}-dict-${DICTLANG}/install + cat $SRCDIR/slack-desc.dict \ + | sed -e "s/@LANG@/$DICTLANG/g" -e "s/@LANGDESC@/$DICTLANGDESC/g" > \ + $TMP/package-${PRGNAM}-dict-${DICTLANG}/install/slack-desc + cd $TMP/package-${PRGNAM}-dict-${DICTLANG} + /sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-dict-${DICTLANG}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} + cd - + cd $OUTPUT + md5sum ${PRGNAM}-dict-${DICTLANG}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-dict-$DICTLANG-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 + cd - + cat $TMP/package-${PRGNAM}-dict-${DICTLANG}/install/slack-desc | grep "^${PRGNAM}-dict-$DICTLANG" > $OUTPUT/${PRGNAM}-dict-$DICTLANG-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.txt + else + echo "ERROR: could not find dictionary '$DICTLANG' for packageing..." + fi +done +# Remove the remaining ones, we do not package them: +rm -rf $INSTDIR/share/extensions/dict-* + +# Create aliases for locales that have matching languages in LibreOffice. +# This enables people with these locales to use the autocorrect function: +# (code taken from Fedora's libreoffice.spec) +cd $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/share/autocorr + en_GB_aliases="en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT" + for lang in $en_GB_aliases; do + ln -sf acor_en-GB.dat acor_$lang.dat + done + en_US_aliases="en-PH" + for lang in $en_US_aliases; do + ln -sf acor_en-US.dat acor_$lang.dat + done + # en-ZA exists and has a good autocorrect file with two or three extras + # that make sense for neighbouring english speaking territories + en_ZA_aliases="en-NA en-ZW" + for lang in $en_ZA_aliases; do + ln -sf acor_en-ZA.dat acor_$lang.dat + done + if [ ! -z "$ADD_LANGUAGES" ]; then + af_ZA_aliases="af-NA" + for lang in $af_ZA_aliases; do + ln -sf acor_af-ZA.dat acor_$lang.dat + done + de_DE_aliases="de-AT de-BE de-CH de-LI de-LU" + for lang in $de_DE_aliases; do + ln -sf acor_de-DE.dat acor_$lang.dat + done + es_ES_aliases="es-AR es-BO es-CL es-CO es-CR es-CU es-DO es-EC es-GT es-HN es-MX es-NI es-PA es-PE es-PR es-PY es-SV es-US es-UY es-VE" + for lang in $es_ES_aliases; do + ln -sf acor_es-ES.dat acor_$lang.dat + done + fr_FR_aliases="fr-BE fr-CA fr-CH fr-LU fr-MC" + for lang in $fr_FR_aliases; do + ln -sf acor_fr-FR.dat acor_$lang.dat + done + it_IT_aliases="it-CH" + for lang in $it_IT_aliases; do + ln -sf acor_it-IT.dat acor_$lang.dat + done + nl_BE_aliases="nl-AW" + for lang in $nl_BE_aliases; do + ln -sf acor_nl-BE.dat acor_$lang.dat + done + sv_SE_aliases="sv-FI" + for lang in $sv_SE_aliases; do + ln -sf acor_sv-SE.dat acor_$lang.dat + done + [ -f acor_lt_LT.dat ] && mv acor_lt_LT.dat acor_lt-LT.dat + else + rm -f acor_[a-df-z]*.dat acor_e[su]*.dat + fi +cd - + +# Split out language packs if we have built additional languages: +if [ ! -z "${ADD_LANGUAGES}" ]; then + cd $PKG + for lang in $(echo ${ADD_LANGUAGES} |sed -e "s/${DEF_LANG} *//") ; do + langdesc="$(grep ^${lang}= $SRCDIR/languages |cut -f2 -d=)" + lolang=$(echo $lang | tr _ -) + echo "Splitting out '$lang' ($langdesc) - looking for '$lolang'..." + rm -rf ${PKG}-l10n-$lang + mkdir -p ${PKG}-l10n-$lang + tar cf - --remove-files \ + $(find . -depth -name "README*$lolang*" \ + -o -name "LICENSE*${lolang}*" \ + -o -name "description_${lolang}.txt" \ + -o -type d -name "${lolang}" \ + -o -path "*/autocorr/*" -name "*${lolang}.dat" \ + -o -path "*/resource/*" -name "*${lolang}.res" \ + -o -path "*/registry/*" -name "*_${lolang}.xcd" \ + -o -path "*/registry/*" -name "*-${lolang}.xcd" \ + -o -name "Lang_*${lolang}.xba" \ + -o -name "Langpack-${lolang}.xcu" \ + -o -name "*${lolang}.oxt") \ + | ( cd ${PKG}-l10n-$lang ; tar xf - ) + # Create slack-desc and doinst.sh : + mkdir -p ${PKG}-l10n-$lang/install + cat $SRCDIR/slack-desc.l10n \ + | sed -e "s/@LANG@/$lang/g" -e "s/@LANGDESC@/$langdesc/g" > \ + ${PKG}-l10n-$lang/install/slack-desc + # Install per-language dictionary: + cat $SRCDIR/doinst.sh.l10n \ + | sed -e "s/@LIBDIRSUFFIX@/${LIBDIRSUFFIX}/g" \ + -e "s/@LANG@/${lolang}/g" -e "s/@PRGNAM@/$PRGNAM/" \ + > ${PKG}-l10n-$lang/install/doinst.sh + cd ${PKG}-l10n-$lang + /sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-l10n-${lang}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} + cd - + cd $OUTPUT + md5sum ${PRGNAM}-l10n-${lang}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-l10n-$lang-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 + cd - + cat $PKG-l10n-$lang/install/slack-desc | grep "^${PRGNAM}-l10n-$lang" > $OUTPUT/${PRGNAM}-l10n-$lang-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.txt + done +fi # End of splitting out language packs + +# Back to base: +cd $BUILDDIR + +# Libreoffice suddenly added version numbers to the name of the wrapper script +# as well as the to the names of icons, so I'll remove that +cd $WORKDIR/CustomTarget/sysui/share/libreoffice + sed -i -e "s/^PREFIX=.*$/PREFIX=${PRGNAM}/" \ + -e "s/^ICON_PREFIX=.*$/ICON_PREFIX=${PRGNAM}/" \ + -e "s/^PRODUCTVERSION=.*$/PRODUCTVERSION=''/" \ + -e "s/^office_prefix=.*$/office_prefix=\/usr\/lib${LIBDIRSUFFIX}\/${PRGNAM}/" \ + create_tree.sh + + # Generate the icons and mimetype files; discard all the other created stuff: + KDEMAINDIR=/usr GNOMEDIR=/usr GNOME_MIME_THEME=hicolor DESTDIR=../output \ + ./create_tree.sh +cd - + +mkdir -p $PKG/usr/share/applications/ +# What about template.desktop ? +cd $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/share/xdg/ + for FILE in base calc impress writer math draw startcenter ; do + sed -i \ + -e "s/$PRODUCTVERSION//g" \ + -e "s/$ICONVERSION//g" \ + -e "s/$PRODUCTVERSIONSHORT//g" \ + ${FILE}.desktop + echo "StartupNotify=true" >> ${FILE}.desktop + install -m0644 ${FILE}.desktop \ + $PKG/usr/share/applications/${PRGNAM}-${FILE}.desktop + done +cd - +# Add an entry for the LibO extension manager which went missing: +cat <<EOF > $PKG/usr/share/applications/${PRGNAM}-extension-manager.desktop +[Desktop Entry] +Version=1.0 +Terminal=false +TryExec=unopkg +Exec=unopkg gui %U +Type=Application +Icon=${PRGNAM}-startcenter +StartupNotify=true +Categories=Office; +MimeType=application/vnd.openofficeorg.extension; +Name=LibreOffice Extension Manager +GenericName=Extension Manager +Comment=Add and organize the LibreOffice extensions. +EOF + +# Remove Gnome-specific stuff: +rm -r $PKG/usr/share/icons/{gnome,locolor} + +# Add a bash-completion script that was removed (?) after 3.3.2.2: +if [ ! -f $PKG/etc/bash_completion.d/${PRGNAM}.sh ]; then + mkdir -p $PKG/etc/bash_completion.d + install -m0755 $SRCDIR/bash_completion.sh \ + $PKG/etc/bash_completion.d/${PRGNAM}.sh +fi + +# Add wrapper scripts (if they do not exist yet) that call the real binaries: +( mkdir -p $PKG/usr/bin + cd $PKG/usr/bin + if ! [ -f ${PRGNAM} -o -L ${PRGNAM} ]; then + cat <<EOF > $PKG/usr/bin/${PRGNAM} +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice "\$@" +EOF + chmod 0755 $PKG/usr/bin/${PRGNAM} + fi + if ! [ -f loweb -o -L loweb ]; then + cat <<EOF > $PKG/usr/bin/loweb +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --web "\$@" +EOF + chmod 0755 $PKG/usr/bin/loweb + fi + if ! [ -f localc -o -L localc ]; then + cat <<EOF > $PKG/usr/bin/localc +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --calc "\$@" +EOF + chmod 0755 $PKG/usr/bin/localc + fi + if ! [ -f lobase -o -L lobase ]; then + cat <<EOF > $PKG/usr/bin/lobase +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --base "\$@"- +EOF + chmod 0755 $PKG/usr/bin/lobase + fi + if ! [ -f lofromtemplate -o -L lofromtemplate ]; then + cat <<EOF > $PKG/usr/bin/lofromtemplate +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice .uno:NewDoc "\$@" +EOF + chmod 0755 $PKG/usr/bin/lofromtemplate + fi + if ! [ -f lowriter -o -L lowriter ]; then + cat <<EOF > $PKG/usr/bin/lowriter +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --writer "\$@" +EOF + chmod 0755 $PKG/usr/bin/lowriter + fi + if ! [ -f unopkg -o -L unopkg ]; then + cat <<EOF > $PKG/usr/bin/unopkg +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/unopkg "\$@" +EOF + chmod 0755 $PKG/usr/bin/unopkg + fi + if ! [ -f lodraw -o -L lodraw ]; then + cat <<EOF > $PKG/usr/bin/lodraw +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --draw "\$@" +EOF + chmod 0755 $PKG/usr/bin/lodraw + fi + if ! [ -f lomath -o -L lomath ]; then + cat <<EOF > $PKG/usr/bin/lomath +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --math "\$@" +EOF + chmod 0755 $PKG/usr/bin/lomath + fi + if ! [ -f loimpress -o -L loimpress ]; then + cat <<EOF > $PKG/usr/bin/loimpress +#!/bin/sh +/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/program/soffice --impress "\$@" +EOF + chmod 0755 $PKG/usr/bin/loimpress + fi +) + +# Back to base: +cd $BUILDDIR + +# Create the package's post-install script: +mkdir -p $PKG/install +# Install language dictionary: +cat $SRCDIR/doinst.sh.l10n \ + | sed -e "s/@LIBDIRSUFFIX@/${LIBDIRSUFFIX}/g" \ + -e "s/@LANG@/$(echo ${DEF_LANG} |tr _ -)/g" -e "s/@PRGNAM@/$PRGNAM/" \ + > ${PKG}/install/doinst.sh +cat <<EOT >> $PKG/install/doinst.sh +# Update the desktop database: +if [ -x usr/bin/update-desktop-database ]; then + chroot . /usr/bin/update-desktop-database usr/share/applications 1> /dev/null 2> /dev/null +fi + +# Update the mime database: +if [ -x usr/bin/update-mime-database ]; then + chroot . /usr/bin/update-mime-database usr/share/mime 1> /dev/null 2> /dev/null +fi + +# Update hicolor theme cache: +if [ -d usr/share/icons/hicolor ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null + fi +fi + +EOT + +# Add documentation: +mkdir -p $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} +cp -a $DOCS $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} || true +cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER}/$PRGNAM.SlackBuild +#cat $SRCDIR/Slackware.conf.in > $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER}/Slackware.conf.in +cp -ia $SRCDIR/patches $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER}/ || true +chown -R root:root $PKG/usr/doc/$PRGNAM-${LOVER}${VERSION}${PKG_SUBVER} +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +# Fix permissions of license files: +chmod 0644 $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/*odt || true +chmod 0644 $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/{LICENSE,NOTICE} || true + +# Fix possible weird permissions: +find ${PKG} -perm 444 -exec chmod 644 {} \; || true +find ${PKG} -perm 555 -exec chmod 755 {} \; || true + +# Compress the man page(s): +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; + for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi + +# Strip binaries (if any): +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Split off the browser plugin if we built it, not everyone will want it: +if [ -f $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/program/libnpsoplugin.so ]; then + + echo -e "**\n** splitting off the mozilla plugin ...\n**" + # Move the mozilla plugin: + mkdir -p $PKG2/usr/lib${LIBDIRSUFFIX}/$PRGNAM/program + mv $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/program/libnpsoplugin.so \ + $PKG2/usr/lib${LIBDIRSUFFIX}/$PRGNAM/program/ + mkdir -p $PKG2/usr/lib${LIBDIRSUFFIX}/mozilla/ + mv $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins \ + $PKG2/usr/lib${LIBDIRSUFFIX}/mozilla/ + rmdir $PKG/usr/lib${LIBDIRSUFFIX}/mozilla 2>/dev/null || true + + # Add some package information: + mkdir -p $PKG2/install + cat $SRCDIR/slack-desc.$PRGNAM2 > $PKG2/install/slack-desc + cat $SRCDIR/slack-required.$PRGNAM2 > $PKG2/install/slack-required + + # Create the package: + ( cd $PKG2 + makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}_${PRGNAM2}.log + ) + ( cd $OUTPUT + md5sum ${PRGNAM}-${PRGNAM2}-${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${PRGNAM2}-${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 + ) + cat $PKG2/install/slack-desc | grep "^${PRGNAM}-${PRGNAM2}" > $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.txt + cat $PKG2/install/slack-required > $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.dep + +fi # End splitting off the mozplugin + +# Continuing with the main package: + +# Add a package description: +mkdir -p $PKG/install +cat $SRCDIR/slack-desc > $PKG/install/slack-desc +#cat $SRCDIR/slack-required > $PKG/install/slack-required + +# Build the package: +cd $PKG +/sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +cd $OUTPUT +md5sum ${PRGNAM}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 +cd - +cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.txt +#cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${LOVER}${VERSION}${PKG_SUBVER}-${ARCH}-${BUILD}${TAG}.dep + +# Restore the original umask: +umask ${_UMASK_} + |