You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

190 lines
6.3 KiB

#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands
# Copyright 2015-2017 Thorn Inurcide
# Copyright 2015-2017 tde-slackbuilds project on GitHub
# 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.
PRGNAM=tde-i18n
[[ $PRE_DOWNLOAD != yes ]] && [[ $I18N == "" ]] && \
echo -e "\033[39;1m
You have tried to build $PRGNAM without selecting any language(s)
\033[0m" && exit
VERSION=$TDEVERSION
BUILD=${BUILD:-1}
source ../../get-source.sh
getsource_fn
## the source unpacked is ~950MB, so to save on build space
## extract, build, and remove source for each language package one at a time
cd $TMP_BUILD/tmp-$PRGNAM
[[ $TDEVERSION == 14.1.3 ]] && {
# extract the template source once only
echo -e "\033[39;1m
Extracting the template source from $(basename $SOURCE) ...
\033[0m"
tar xf $SOURCE $PRGNAM-trinity-$TDEVERSION/template
# extract the translations source once only
echo -e "\033[39;1m
Extracting the translations source from $(basename $SOURCE) ...
\033[0m"
tar xf $SOURCE $PRGNAM-trinity-$TDEVERSION/translations
# extract the cmake source once only
## it's unlikely that this is being run without the 'Required' packages,
## in which case the cmake archive will exist
echo -e "\033[39;1m
Extracting the cmake source from $(basename $SRCDIR/cmake-$TDEVERSION.tar.xz) ...
\033[0m"
(cd $PRGNAM-trinity-$TDEVERSION
tar xf $SRCDIR/cmake-$TDEVERSION.tar.xz
mv tde-cmake-trinity-$TDEVERSION cmake)
## prevent copying from cgit if this fails
cd tde-i18n-trinity-$TDEVERSION
[[ ! -d cmake || ! -d template || ! -d translations ]] && exit
cd - > /dev/null
} || {
mkdir -p $PRGNAM # need -p for git builds if more than one lang
(cd $BUILD_TDE_ROOT/src/cgit
cp -a tdei18n/cgit/tde-i18n/plain/{template,translations} $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/
cp -a --parents cmake/* $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/)
}
for lang in $I18N
do
[[ $TDEVERSION == 14.1.3 ]] && {
# extract the source for one language at a time for each iteration of the loop
echo -e "\033[39;1m
Extracting the $PRGNAM-$lang source from $(basename $SOURCE) ...
\033[0m"
tar -xf $SOURCE $PRGNAM-trinity-$TDEVERSION/$PRGNAM-$lang
cd $PRGNAM-trinity-$TDEVERSION
## link cmake into the $PRGNAM-$lang top level
(cd $PRGNAM-$lang
ln -s ../cmake .)
true # don't go to cgit if extracting fails
} || {
cd $PRGNAM
echo "
copying $PRGNAM-$lang source files to build area ...
"
(cd $BUILD_TDE_ROOT/src/cgit
cp -a tdei18n/cgit/tde-i18n/plain/tde-i18n-$lang $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/)
(cd $TMP_BUILD/tmp-$PRGNAM/$PRGNAM/$PRGNAM-$lang/
ln -sf ../template/commonCMakeLists.txt CMakeLists.txt
ln -s ../cmake cmake)
}
## language specific patches
echo -e "\033[39;1m"
[[ -e $SB_SRCDIR/tde-i18n-$lang-patch ]] && {
patch -N -p0 < $SB_SRCDIR/tde-i18n-$lang-patch
}
echo -e "\033[0m"
chown_fn
mkdir -p $PRGNAM-$lang/build
cd $PRGNAM-$lang/build
## The path to the TDE cmake modules is added for 14.0.11+ & 14.1.0+ which assume a cmake-trinity package is installed to the CMake system directories
cmake ${G_NINJA:-} \
-DCMAKE_MODULE_PATH=$PWD/../cmake/modules \
-DCMAKE_C_FLAGS="$SLKRCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKRCFLAGS" \
-DCMAKE_C_COMPILER=$COMPILER \
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DBUILD_DOC="ON" \
-DBUILD_DATA="ON" \
-DBUILD_MESSAGES="ON" \
-Wno-dev \
..
## install to $PKG/$PRGNAM-$lang so that the build files can be retained
PKG1=$PKG
PKG=$PKG/$PRGNAM-$lang
make_fn
mkdir_install_fn
Lang=$(xzgrep ^"$lang " $SB_SRCDIR/langcodes.xz |colrm 1 16|cut -f1)
Lang_en=$(xzgrep ^"$lang " $SB_SRCDIR/langcodes.xz |colrm 1 40)
doinst_sh_fn
echo "
# 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------------------------------------------------------|
$PRGNAM-$lang: tde-i18n-$lang
$PRGNAM-$lang:
$PRGNAM-$lang: Language support for TDE: $Lang [$Lang_en]
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
$PRGNAM-$lang:
" > $PKG/install/slack-desc
ARCH="noarch"
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txz
cd $OUTPUT
md5sum $PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txz > $PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txz.md5
cat $PKG/install/slack-desc | grep "^$PRGNAM" | grep -v handy > $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txt
# Restore the original umask:
umask ${_UMASK_}
## Reset the packaging directory base
PKG=$PKG1
cd $TMP_BUILD/tmp-$PRGNAM
# remove any previous builds if option chosen
[[ $KEEP_BUILD != "yes" ]] && echo "
removing tde-i18n-$lang build data ..
" && {
rm -rf $PKG/*
rm -rf $PRGNAM*/$PRGNAM-$lang
}
# Install i18n package(s) here because if more than one language pack is built,
# upgradepkg [in BUILD-TDE.sh] can't process them in one command and the build will exit
[[ $INST == 1 ]] && upgradepkg --install-new --reinstall $OUTPUT/$PRGNAM-$lang-$VERSION-$ARCH-$BUILD.txz
done
echo $lang > $TMPVARS/LASTLANG
[[ $KEEP_BUILD != "yes" ]] && rm -rf $TMP_BUILD/{package,tmp}-$PRGNAM