|
|
|
#!/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
|
|
|
|
getsource_fn
|
|
|
|
|
|
|
|
untar_fn
|
|
|
|
|
|
|
|
## add -march and -mtune options to CFLAGS where they've been set in BUILD-TDE.sh
|
|
|
|
sed -i "s|^QMAKE_CFLAGS[^_].*$|& $SET_march|" mkspecs/linux-g++/qmake.conf
|
|
|
|
|
|
|
|
## $ORIGIN/../lib is to be added to RPATH, so don't need absolute libs directory built in:
|
|
|
|
sed -i "s|QMAKE_RPATH.*$|QMAKE_RPATH =|" mkspecs/linux-g++/qmake.conf
|
|
|
|
|
|
|
|
## allow building with clang
|
|
|
|
[[ ! $(grep COMPILER mkspecs/linux-g++/qmake.conf) ]] && {
|
|
|
|
echo $'--- mkspecs/linux-g++/qmake.conf
|
|
|
|
+++ mkspecs/linux-g++/qmake.conf
|
|
|
|
@@ -11 +11 @@
|
|
|
|
-QMAKE_CC = gcc
|
|
|
|
+QMAKE_CC = $(COMPILER)
|
|
|
|
@@ -29 +29 @@
|
|
|
|
-QMAKE_CXX = g++
|
|
|
|
+QMAKE_CXX = $(COMPILER_CXX)
|
|
|
|
@@ -49,2 +49,2 @@
|
|
|
|
-QMAKE_LINK = g++
|
|
|
|
-QMAKE_LINK_SHLIB = g++
|
|
|
|
+QMAKE_LINK = $(COMPILER_CXX)
|
|
|
|
+QMAKE_LINK_SHLIB = $(COMPILER_CXX)' | while read line
|
|
|
|
do
|
|
|
|
patch -p0
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
## don't install html docs if 'nodocs' has been selected
|
|
|
|
[[ $TQT_OPTS == *nodocs* ]] && sed -i '/htmldocs/d' src/qt_install.pri
|
|
|
|
|
|
|
|
## for a minimal build
|
|
|
|
[[ $TQT_OPTS == *minimal* ]] && {
|
|
|
|
sed -i '/translations/d' src/qt_install.pri
|
|
|
|
sed -i '/phrasebooks/d' tools/linguist/linguist/linguist.pro
|
|
|
|
sed -i '/templates/d' tools/designer/designer/designer.pro
|
|
|
|
## only need linux-g++
|
|
|
|
mv mkspecs/linux-g++ ../
|
|
|
|
rm -rf mkspecs/*
|
|
|
|
mv ../linux-g++ mkspecs/
|
|
|
|
}
|
|
|
|
|
|
|
|
listdocs_fn
|
|
|
|
|
|
|
|
chown_fn
|
|
|
|
|
|
|
|
#cd_builddir_fn
|
|
|
|
|
|
|
|
echo "yes" | CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
|
|
|
|
./configure \
|
|
|
|
-no-exceptions \
|
|
|
|
-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 \
|
|
|
|
-fast \
|
|
|
|
-R-Wl,-rpath,\'\\\$\$ORIGIN/../lib\'
|
|
|
|
|
|
|
|
## don't build tutorial and examples which won't be installed because the release version is being built
|
|
|
|
make -i $NUMJOBS symlinks src-qmake src-moc sub-src sub-tools || exit 1
|
|
|
|
make install INSTALL_ROOT=$PKG || exit 1
|
|
|
|
|
|
|
|
## for a minimal build
|
|
|
|
[[ $TQT_OPTS == *minimal* ]] && {
|
|
|
|
(cd $PKG$TQTDIR-$VERSION/
|
|
|
|
rm lib/libtqt[de]*
|
|
|
|
[[ $TQT_OPTS != *tdevel* ]] && rm lib/libtqas* && {
|
|
|
|
[[ $TQT_OPTS != *pim_ksq* ]] && rm lib/libtqui*
|
|
|
|
}
|
|
|
|
rm bin/???????*
|
|
|
|
rm bin/tqm2ts
|
|
|
|
rm -rf plugins/designer
|
|
|
|
(cd mkspecs
|
|
|
|
ln -s linux-g++ default
|
|
|
|
))}
|
|
|
|
|
|
|
|
# Link the shared libraries
|
|
|
|
( cd $PKG$INSTALL_TDE/lib$LIBDIRSUFFIX
|
|
|
|
for file in $PRGNAM-$VERSION/lib/*.so* ; do
|
|
|
|
ln -sf $file .
|
|
|
|
done
|
|
|
|
)
|
|
|
|
|
|
|
|
installdocs_fn
|
|
|
|
|
|
|
|
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_fn
|
|
|
|
|
|
|
|
# Put a ton of links to more "normal" places.
|
|
|
|
mkdir -p $PKG$INSTALL_TDE/bin
|
|
|
|
( cd $PKG$INSTALL_TDE/bin
|
|
|
|
ln -sf ../lib$LIBDIRSUFFIX/$PRGNAM-$VERSION/bin/* .
|
|
|
|
)
|
|
|
|
|
|
|
|
mkdir -p $PKG$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig
|
|
|
|
( cd $PKG$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig
|
|
|
|
ln -sf ../$PRGNAM-$VERSION/lib/pkgconfig/tqt-mt.pc .
|
|
|
|
)
|
|
|
|
|
|
|
|
[[ ! $TQT_OPTS == *minimal* ]] && {
|
|
|
|
# Add desktop files to launch some programs:
|
|
|
|
mkdir -p $PKG$INSTALL_TDE/share/applications/tde
|
|
|
|
cp -a $SRCDIR/apps/tqtconfig.desktop $PKG$INSTALL_TDE/share/applications/tde/tqtconfig.desktop
|
|
|
|
cp -a $SRCDIR/apps/tqlinguist.desktop $PKG$INSTALL_TDE/share/applications/tde/tqlinguist.desktop
|
|
|
|
cp -a $SRCDIR/apps/tqdesigner.desktop $PKG$INSTALL_TDE/share/applications/tde/tqdesigner.desktop
|
|
|
|
cp -a $SRCDIR/apps/tqassistant.desktop $PKG$INSTALL_TDE/share/applications/tde/tqassistant.desktop
|
|
|
|
}
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
|
|
|
mkdir_install_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 ':'.
|
|
|
|
|
|
|
|
$PRGNAM|-----handy-ruler------------------------------------------------------|
|
|
|
|
$PRGNAM: $PRGNAM (C++ GUI application framework)
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM: Qt is a multiplatform C++ GUI application framework
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
$PRGNAM:
|
|
|
|
" > $PKG/install/slack-desc
|
|
|
|
|
|
|
|
# Add this to the doinst.sh:
|
|
|
|
[[ $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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
makepkg_fn
|