#!/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 <> $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 <> $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 <> $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