diff options
author | Eric Hameleers <alien@slackware.com> | 2010-10-23 15:14:34 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2010-10-23 15:14:34 +0000 |
commit | d457230386a1b350759819808b5d46af49cd152f (patch) | |
tree | 9930dfc7171c57fe805fcb28a6fac9a15de62779 /libreoffice/build/libreoffice36.SlackBuild | |
parent | b98209cbc24941f69e77c44b2055765cb72cabbe (diff) | |
download | asb-d457230386a1b350759819808b5d46af49cd152f.tar.gz asb-d457230386a1b350759819808b5d46af49cd152f.tar.xz |
Let's try to create language packs!
Diffstat (limited to 'libreoffice/build/libreoffice36.SlackBuild')
-rwxr-xr-x | libreoffice/build/libreoffice36.SlackBuild | 65 |
1 files changed, 52 insertions, 13 deletions
diff --git a/libreoffice/build/libreoffice36.SlackBuild b/libreoffice/build/libreoffice36.SlackBuild index 43c1c328..63b4355f 100755 --- a/libreoffice/build/libreoffice36.SlackBuild +++ b/libreoffice/build/libreoffice36.SlackBuild @@ -39,10 +39,10 @@ # 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. -# 20101013-1: 13/oct/2010 by Eric Hameleers <alien@slackware.com> +# 20101023-1: 23/oct/2010 by Eric Hameleers <alien@slackware.com> # * Fix permissions of LICENSE.odt file. -# Add additional (non-english) language support - code taken from -# GnomeSlackBuild project's openoffice3.SlackBuild script. +# Add additional (non-english) language support - some code taken +# from GnomeSlackBuild's openoffice3.SlackBuild script. # # Run 'sh libreoffice.SlackBuild' to build a Slackware package. # The package (.tgz) and .txt file as well as build logs are created in /tmp . @@ -53,7 +53,7 @@ # Set initial variables: PRGNAM=libreoffice -#SRCVER=${SRCVER:-20101013} +#SRCVER=${SRCVER:-20101023} SRCVER=${SRCVER:-HEAD} [ "$SRCVER" = "HEAD" ] && VERSION=$(date +%Y%m%d) || VERSION=$SRCVER BUILD=${BUILD:-1} @@ -64,11 +64,12 @@ DOCS="AUTHORS COPYING* MAINTAINERS NEWS README* TODO TOTEST" # Select default langue for the libreoffice package: DEF_LANG=${DEF_LANG:-"en-US"} -# Should we generate additional language packs: -ADD_LANGUAGES=${ADD_LANGUAGES:-"YES"} - -# We keep languages plus their descriptive names in an external file: -LANGUAGES="$(cat $SRCDIR/languages |cut -f1 -d= |tr '\n' ' ' |tr -s ' ' |sed -e 's/ *$//')" +# If this variable is non-empty, we will build additional languuage packs; +# otherwise LibreOffice will be built for one language, defined in DEF_LANG: +# By the way: +# The languages plus their descriptive names are kept in an external file +# called 'languages' in the same directory, edit that one if you want: +ADD_LANGUAGES="$(cat $SRCDIR/languages |cut -f1 -d= |tr '\n' ' ' |tr -s ' ' |sed -e 's/ *$//')" # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -254,10 +255,10 @@ cat $SRCDIR/Slackware.conf.in > distro-configs/Slackware.conf.in mkdir -p /usr/share/openclipart # Do we generate language packs? -if [ "$ADD_LANGUAGES" != "YES" ]; then +if [ -z "$ADD_LANGUAGES" ]; then LANGUAGES="$DEF_LANG" else - LANGUAGES="${DEF_LANG} $(echo ${LANGUAGES} |sed -e 's/${DEF_LANG} *//')" + LANGUAGES="${DEF_LANG} $(echo ${ADD_LANGUAGES} |sed -e 's/${DEF_LANG} *//')" fi enable_pam=no \ @@ -310,8 +311,46 @@ fi # Fix permissions of a license file: chmod 0644 $PKG/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/LICENSE.odt -# Add this to the doinst.sh: +# 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=)" + mkdir -p ${PKG}-l10n-$lang + tar cf - --remove-files \ + $(find . -name "README*$lang*" \ + -o -name "LICENSE*${lang}*" \ + -o -type d -name "${lang}" \ + -o -name "Lang_*${lang}.xba" \ + -o -name "Langpack-${lang}.xcu" \ + -o -name "*${lang}.oxt") \ + | ( cd ${PKG}-l10n-$lang ; tar xf - ) + 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@/${lang}/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}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz} + cd - + cd $OUTPUT + md5sum ${PRGNAM}-l10n-${lang}-${LOVER}_${VERSION}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-l10n-$lang-${LOVER}_${VERSION}-noarch-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 + cd - + cat $PKG-l10n-$lang/install/slack-desc | grep "^${PRGNAM}-l10n-$lang" > $OUTPUT/${PRGNAM}-l10n-$lang-${LOVER}_${VERSION}-noarch-${BUILD}${TAG}.txt + done +fi # End of splitting out langiage packs + +# 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@/${DEF_LANG}/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 @@ -356,7 +395,7 @@ cat $SRCDIR/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG -makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${LOVER}_${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log +/sbin/makepkg -p -l y -c n $OUTPUT/${PRGNAM}-${LOVER}_${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log cd $OUTPUT md5sum ${PRGNAM}-${LOVER}_${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${LOVER}_${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5 cd - |