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.

192 lines
6.9 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=dolphin
VERSION=${VERSION:-$TDEVERSION}
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
SlackDesc()
{
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 ':'.
$PRGNAM|-----handy-ruler------------------------------------------------------|
$PRGNAM: $PRGNAM (Dolphin file manager for TDE)
$PRGNAM:
$PRGNAM: Dolphin file manager for TDE
$PRGNAM:
$PRGNAM:
$PRGNAM: With language support for:
$PRGNAM:
$PRGNAM: en $langs
$PRGNAM:
$PRGNAM:
$PRGNAM: Home: https://www.trinitydesktop.org/index.php
" > $PKG/install/slack-desc
}
source ../../get-source.sh
cd $TMP/tmp-$PRGNAM
echo "
Extracting the source from the ${PRGNAM} archive ..."
tar -xf ${SOURCE}
cd applications
cd ${PRGNAM}
# list only files > zero bytes
DOCS=$(for file in AUTHORS* ChangeLog* COPYING* FAQ* INSTALL* KNOWNBUGS* NEWS* README* TODO* *.lsm;do [[ -s $file ]] && ls -1 $file;done ) || true
## Patches to edit/create CMakeLists.txt for documentation and locales support
sed -i 's|src )|src )\nadd_subdirectory( po )\nadd_subdirectory( doc )|' CMakeLists.txt
## for doc - based on amarok CMakeLists.txt:
echo "tde_auto_add_subdirectories()
" > doc/CMakeLists.txt
echo "tde_create_handbook( LANG en DESTINATION d3lphin )
" > doc/en/CMakeLists.txt
## for po - based on tde-style-qtcurve CMakeLists.txt:
echo 'exec_program(tde-config
ARGS --install locale --expandvars
OUTPUT_VARIABLE TDE_LOCALE_PREFIX)
find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
if(NOT GETTEXT_MSGFMT_EXECUTABLE)
message("------\n"
"NOTE: msgfmt not found. Translations will *not* be installed\n"
"------\n")
else(NOT GETTEXT_MSGFMT_EXECUTABLE)
set(catalogname d3lphin)
add_custom_target(translations ALL)
file(GLOB PO_FILES *.po)
foreach(_poFile ${PO_FILES})
get_filename_component(_poFileName ${_poFile} NAME)
string(REGEX REPLACE "^${catalogname}_?" "" _langCode ${_poFileName} )
string(REGEX REPLACE "\\.po$" "" _langCode ${_langCode} )
if(_langCode)
get_filename_component(_lang ${_poFile} NAME_WE)
set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
add_custom_command(TARGET translations
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${_gmoFile} ${_poFile}
DEPENDS ${_poFile})
install(FILES ${_gmoFile} DESTINATION ${TDE_LOCALE_PREFIX}/${_langCode}/LC_MESSAGES/ RENAME ${catalogname}.mo)
endif( _langCode )
endforeach(_poFile ${PO_FILES})
endif(NOT GETTEXT_MSGFMT_EXECUTABLE)
' > po/CMakeLists.txt
# set support for additional language(s) as per I18N variable
# but only for languages available with this package
langs="";for Lang in $I18N;do [[ -e po/$Lang".po" ]] && langs="$langs $Lang"".po";done
echo $langs
#
## output list of available locales ...
ls -1 po | while read line
do
## ... and compare to selected locales & remove those not required
[[ $(echo $line|grep po) ]] && [[ $langs != *$line* ]] && rm -rf po/$line
done
langs=$(echo $langs | sed 's|.po||g')
chown -R root:root .
chmod -R u+w,go+r-w,a+rX-st .
mkdir -p build-${PRGNAM}
cd build-${PRGNAM}
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS $TQT_INCLUDE_PATH" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=${INSTALL_TDE} \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DSYSCONF_INSTALL_DIR="/etc/trinity" \
-DMAN_INSTALL_DIR=${INSTALL_TDE}/man \
..
make $NUMJOBS || exit 1
make DESTDIR=$PKG install || exit 1
cd -
# Add this to the doinst.sh:
mkdir -p $PKG/install
cat <<EOINS >> $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 > /dev/null 2>&1
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
EOINS
mkdir -p $PKG${INSTALL_TDE}/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG${INSTALL_TDE}/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG${INSTALL_TDE}/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG${INSTALL_TDE}/doc/$PRGNAM-$VERSION
find $PKG${INSTALL_TDE}/doc -type f -exec chmod 644 {} \;
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/install
SlackDesc
# Replace the desktop file, with an alternate one. This one changes the
# icon name from d3lphin to dolphin. To allow easy system-wide icon
# themeing changes. No other alterations made. I've decided this shouldn't
# be default. I will uncomment this when I build, and others can do the
# the same if they wish =]
#mv -v $PKG/opt/trinity/share/applications/tde/d3lphin.desktop \
#$PKG/opt/trinity/share/applications/tde/d3lphine.desktop.orig
#cp -v $SRCDIR/d3lphin.desktop $PKG/opt/trinity/share/applications/tde/d3lphin.desktop
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" | grep -v handy > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}