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.

232 lines
7.7 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 USA
# 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.
# Much help from the 12.2 SlackBuild script of qt3. And from SBo qt3 script
# Man pages are not installed, so they won't overwrite Qt4's
PRGNAM=tqt3
VERSION=${VERSION:-$TDEVERSION}
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
source ../../get-source.sh
cd $TMP/tmp-$PRGNAM
tar -xf ${SOURCE}
cd dependencies
cd ${PRGNAM}
# list only files > zero bytes
DOCS=$(for file in AUTHORS* ChangeLog* COPYING* FAQ* INSTALL* KNOWNBUGS* LICEN?E* NEWS* *README* TODO* *.lsm;do [[ -s $file ]] && ls -1 $file;done ) || true
chown -R root:root .
chmod -R u+w,go+r-w,a+rX-st .
echo "yes" | CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
CC=${COMPILER} \
CXX=${COMPILER_CXX} \
./configure \
-prefix $TQTDIR-${VERSION} \
-release \
-verbose \
-I/usr/include/freetype2 \
-I/usr/include/mysql \
-L/usr/lib${LIBDIRSUFFIX} \
-system-zlib \
-qt-imgfmt-png \
-qt-imgfmt-mng \
-qt-gif \
-thread \
-stl \
-nis \
-cups \
-pch \
-xft \
-xrender \
-xrandr \
-xcursor \
-tablet \
-xinerama \
-plugin-style-cde \
-plugin-style-compact \
-plugin-style-motif \
-plugin-style-motifplus \
-plugin-style-platinum \
-plugin-style-sgi \
-plugin-style-windows
make -i $NUMJOBS || exit 1
QTDIR=$PKG$TQTDIR-$VERSION
LD_LIBRARY_PATH=$QTDIR/lib make install INSTALL_ROOT=$PKG || exit 1
make -i $NUMJOBS symlinks sub-src sub-tools || exit 1
make install INSTALL_ROOT=$PKG || exit 1
[[ $TQT_DOCS == "no" ]] && rm -rf $PKG$TQTDIR-$VERSION/doc
# Link the shared libraries
( cd $PKG${INSTALL_TDE}/lib${LIBDIRSUFFIX}
for file in $PRGNAM-$VERSION/lib/*.so* ; do
ln -sf $file .
done
)
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 {} \;
mkdir -p $PKG/etc/profile.d
# JD: adapt these to the correct value of LIBDIRSUFFIX
# later changed to TQTDIR
sed "s|\$TQTDIR|$TQTDIR|g" < $SRCDIR/profile.d/${PRGNAM}.sh > $PKG/etc/profile.d/${PRGNAM}.sh
sed "s|\$TQTDIR|$TQTDIR|g" < $SRCDIR/profile.d/${PRGNAM}.csh > $PKG/etc/profile.d/${PRGNAM}.csh
chmod 755 $PKG/etc/profile.d/*
# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Put a ton of links to more "normal" places.
mkdir -p $PKG${INSTALL_TDE}/bin
( cd $PKG${INSTALL_TDE}/bin
for file in tqassistant tqdesigner tqlinguist tqlrelease tqlupdate tqmoc tqm2ts tqmake tqtconfig tquic ; do
ln -sf $TQTDIR-$VERSION/bin/$file .
done
)
mkdir -p $PKG${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig
( cd $PKG${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig
ln -sf $TQTDIR-${VERSION}/lib/pkgconfig/tqt-mt.pc .
)
# Symlink tqt3 includes to qt3, to provide it for non-tde software as well =]
mkdir -p $PKG${INSTALL_TDE}/include
( cd $PKG${INSTALL_TDE}/include ; ln -sf $TQTDIR-${VERSION}/include qt3 )
# Symlink all of it:
( cd $PKG${INSTALL_TDE}/lib${LIBDIRSUFFIX} ; ln -sf ${PRGNAM}-${VERSION} ${PRGNAM})
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 ':'.
|-----handy-ruler------------------------------------------------------|
tqt3: tqt3 (C++ GUI application framework)
tqt3:
tqt3: Qt is a multiplatform C++ GUI application framework
tqt3:
tqt3:
tqt3:
tqt3:
tqt3:
tqt3:
tqt3:
tqt3: Home: https://wiki.trinitydesktop.org/Trinity_Desktop_Environment
" > $PKG/install/slack-desc
}
# Add this to the doinst.sh:
mkdir -p $PKG/install
[[ $PREPEND != yes ]] && \
cat <<EOINS >> $PKG/install/doinst.sh
# Add TQt library directories to /etc/ld.so.conf:
if ! grep ${INSTALL_TDE}/lib${LIBDIRSUFFIX} /etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
echo "${INSTALL_TDE}/lib${LIBDIRSUFFIX}" >> /etc/ld.so.conf
fi
if ! grep $TQTDIR-$VERSION/lib /etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
echo "$TQTDIR-$VERSION/lib" >> /etc/ld.so.conf
fi
if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig 2> /dev/null
fi
# Update PKG_CONFIG_PATH:
if ! grep ${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig /etc/profile.d/pkgconfig.sh
then
sed -i "s|pkgconfig$|pkgconfig:${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig|g" /etc/profile.d/pkgconfig.sh
sed -i "s|pkgconfig$|pkgconfig:${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig|g" /etc/profile.d/pkgconfig.csh
fi
EOINS
## Removing any existing TDE libs paths and re-installing prevents duplication -
## upgradepkg runs installpkg, and hence doinst.sh, twice, also generating the double colon.
[[ $PREPEND == yes ]] && \
cat <<EOINS >> $PKG/install/doinst.sh
# Add TQt library directories to /etc/ld.so.conf:
sed -i "\|${INSTALL_TDE}/lib${LIBDIRSUFFIX}|d" /etc/ld.so.conf
sed -i "1i ${INSTALL_TDE}/lib${LIBDIRSUFFIX}" /etc/ld.so.conf
sed -i "1i $TQTDIR-$VERSION/lib" /etc/ld.so.conf
if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig 2> /dev/null
fi
# Update PKG_CONFIG_PATH:
sed -i "s|${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig||g;s|:$||g" /etc/profile.d/pkgconfig.{,c}sh
sed -i "s|PKG_CONFIG_PATH=|PKG_CONFIG_PATH=${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig:|g;s|::|:|g" /etc/profile.d/pkgconfig.sh
sed -i "s|PKG_CONFIG_PATH |PKG_CONFIG_PATH ${INSTALL_TDE}/lib${LIBDIRSUFFIX}/pkgconfig:|g;s|::|:|g" /etc/profile.d/pkgconfig.csh
EOINS
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 ${INSTALL_TDE}/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 ${INSTALL_TDE}/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
fi
EOINS
SlackDesc
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}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}