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.

247 lines
8.0 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 by 'make install' and have not been manually installed
PRGNAM=tqt3
VERSION=$TDEVERSION
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
source ../../get-source.sh
getsource_fn
untar_fn
## add -march, -mtune and no_warn options to CFLAGS where they've been set in BUILD-TDE.sh
sed -i "s|^QMAKE_CFLAGS[^_].*$|& $SET_march ${NO_WARN:-}|" mkspecs/linux-g++/qmake.conf
## RPATH is set to $ORIGIN/../lib to locate libs during the build
## and added during configure to apply only to tqt3 build
sed -i "s|QMAKE_RPATH.*$|QMAKE_RPATH =|" mkspecs/linux-g++/qmake.conf
## tqt libs might be installed in $([T]QTDIR)/lib64
sed -i "s|QTDIR)/lib|&$LIBDIRSUFFIX|" mkspecs/linux-g++/qmake.conf
## [open]GL libs might be installed in ../lib64
sed -i "s|X11R6/lib|&$LIBDIRSUFFIX|" mkspecs/linux-g++/qmake.conf
## add -headerdir as set in configure
[[ $TDEVERSION == 14.1.0 ]] && QTDIR_PFX=T || QTDIR=$TQTDIR
sed -i "s|QMAKE_INCDIR =|& \$(${QTDIR_PFX:-}QTDIR)/include/tqt|" 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++
[[ $TQT_OPTS == *mkspecs* ]] && {
mv mkspecs/linux-g++ ../
rm -rf mkspecs/*
mv ../linux-g++ mkspecs/
}
## install desktop files to applications/tde as for the other TDE desktop files
sed -i 's|desktop.path = $$share.path/applications|&/tde|' tools/assistant/assistant.pro
sed -i 's|desktop.path = $$share.path/applications|&/tde|' tools/qtconfig/qtconfig.pro
sed -i 's|desktop.path = $$share.path/applications|&/tde|' tools/designer/designer/designer.pro
sed -i 's|desktop.path = $$share.path/applications|&/tde|' tools/linguist/linguist/linguist.pro
listdocs_fn
chown_fn
#cd_builddir_fn - don't use
## datadir is where mkspecs is installed
## gcc visibility hidden is the default in mkspecs/..qmake.conf
echo "yes" | \
./configure \
-no-exceptions \
-prefix $TQTDIR \
-libdir $TQTDIR/lib$LIBDIRSUFFIX \
-bindir $TQTDIR/bin \
-headerdir $TQTDIR/include/tqt \
-plugindir $TQTDIR/lib$LIBDIRSUFFIX/tqt/plugins \
-datadir $TQTDIR/lib$LIBDIRSUFFIX/tqt \
-translationdir $TQTDIR/share/tqt/translations \
-release \
${VERBOSE:+-verbose} \
-I/usr/include/freetype2 \
-I/usr/include/mysql \
-I/usr/include/tirpc \
-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:$INST_RPATH\'
## 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 packaging
[[ $TQT_OPTS == *minimal* ]] && {
(cd $PKG$TQTDIR/
rm lib$LIBDIRSUFFIX/libtqt[de]*
[[ $TQT_OPTS != *tdevel* ]] && rm lib$LIBDIRSUFFIX/libtqas* && {
[[ $TQT_OPTS != *pim_ksq* ]] && rm lib$LIBDIRSUFFIX/libtqui*
}
rm bin/???????*
rm bin/tqm2ts
[[ $TQT_OPTS != *ktorrent* ]] && rm -rf lib$LIBDIRSUFFIX/tqt/plugins/designer
)} || true # otherwise will exit 1 if [[ $TQT_OPTS == *ktorrent* ]]
installdocs_fn
mkdir -p $PKG/etc/profile.d
#
echo '#!'"/bin/sh
# Environment path variable for the tQt package.
export ${QTDIR_PFX:-}QTDIR=$TQTDIR
" > $PKG/etc/profile.d/tqt3.sh
#
echo '#!'"/bin/csh
# Environment path variable for the tQt package:
setenv ${QTDIR_PFX:-}QTDIR $TQTDIR
" > $PKG/etc/profile.d/tqt3.csh
#
chmod 755 $PKG/etc/profile.d/*
strip_fn
mkdir_install_fn
# Add this to the doinst.sh:
cat <<EOINS >> $PKG/install/doinst.sh
# Add TDE library directory:
[[ \$(cat etc/ld.so.conf|head -n1) != $INSTALL_TDE/lib$LIBDIRSUFFIX ]] && \
sed -i "1i $INSTALL_TDE/lib$LIBDIRSUFFIX" etc/ld.so.conf
# Add TQt library directory:
[[ \$(cat etc/ld.so.conf|head -n1) != $TQTDIR/lib$LIBDIRSUFFIX ]] && \
sed -i "1i $TQTDIR/lib$LIBDIRSUFFIX" etc/ld.so.conf
[[ -x /sbin/ldconfig ]] && /sbin/ldconfig
EOINS
[[ $(cat $TMPVARS/PKG_CONFIG_PATH_MOD) != set ]] && PC_HASH="#"
cat <<EOINS >> $PKG/install/doinst.sh
## This could be a rebuild or upgradepkg running installpkg twice,
## so delete any previous routine
sed -i '/Update PKG_CONFIG_PATH for TDE/,+11d' etc/profile.d/pkgconfig.sh
echo '# Update PKG_CONFIG_PATH for TDE:
## remove duplicated paths:
${PC_HASH:-}PKG_CONFIG_PATH=\$(echo \$PKG_CONFIG_PATH| tr : \\\\n | awk '"'!seen[\\\$0]++'"' | tr \\\\n :|sed '"'s|:\$||'"')
#
## add path for INSTALL_TDE ..
[[ ! \$PKG_CONFIG_PATH == *$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\
PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig
## .. and for TQTDIR if different
[[ ! \$PKG_CONFIG_PATH == *$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig* ]] && \\
PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig
#
export PKG_CONFIG_PATH' >> etc/profile.d/pkgconfig.sh
## csh
# Update PKG_CONFIG_PATH:
[[ ! \$( grep $INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig etc/profile.d/pkgconfig.csh ) ]] && \\
sed -i "s|pkgconfig$|pkgconfig:$INSTALL_TDE/lib$LIBDIRSUFFIX/pkgconfig|" etc/profile.d/pkgconfig.csh
[[ ! \$( grep $TQTDIR/lib$LIBDIRSUFFIX/pkgconfig etc/profile.d/pkgconfig.csh ) ]] && \\
sed -i "s|pkgconfig$|pkgconfig:$TQTDIR/lib$LIBDIRSUFFIX/pkgconfig|" etc/profile.d/pkgconfig.csh
EOINS
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: tqt3 (C++ GUI application framework)
$PRGNAM:
$PRGNAM: tQt is a multiplatform C++ GUI application framework
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
" > $PKG/install/slack-desc
makepkg_fn