From d54fbdec265cf449cdb4910268b2d242e4f1f997 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sat, 15 Feb 2020 17:50:19 +0100 Subject: Remove deps that are now part of Slackware OpenAL got added to Slackware as 'openal-soft'; SDL_sound is now part of the Slackware 'sdl' package; libxkbcommon and qt5 were added to Slackware in the 'L' series. --- deps/qt5/qt5.SlackBuild | 380 ------------------------------------------------ 1 file changed, 380 deletions(-) delete mode 100755 deps/qt5/qt5.SlackBuild (limited to 'deps/qt5/qt5.SlackBuild') diff --git a/deps/qt5/qt5.SlackBuild b/deps/qt5/qt5.SlackBuild deleted file mode 100755 index 7ce93c3..0000000 --- a/deps/qt5/qt5.SlackBuild +++ /dev/null @@ -1,380 +0,0 @@ -#!/bin/sh - -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 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 AUTHOR 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. - -# Merged some ideas from Alex Sarmardzic's script for qt4 at SlackBuilds.org -# ^^ Modified by Robby Workman for QT4 & KDE4 - -# We're using qt-copy instead of a released qt version, as this git release -# has at least one bugfix strongly recommended by the kde developers. - -# Obtained from: -# git clone git://gitorious.org/+kde-developers/qt/kde-qt.git -# git checkout origin/4.5.3-patched -# git checkout origin/4.6.0-stable-patched -# git checkout origin/4.6.1-patched -# git checkout origin/4.7.0-patched -# -# Alternate method (we don't use this): -# wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched -# -# Modifications 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,2019 Eric Hameleers, Eindhoven, NL -# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4, are built from original nokia sources. -# -# Modifications for qt 5.2.0 2013 by Michael James, AU -# Modifications for qt 5.2.1 2014 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.3.1 2014 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.4.0 2015 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.4.1 2015 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.5.1 2015,2016 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.6.0 2016 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.6.1 2016 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.7.0 2016 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.7.1 2017 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.0 2017 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.1 2017 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.2 2017 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.3 2017 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.4 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.5 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.9.6 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.11.0 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.11.1 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.11.2 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.11.3 2018 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.12.1 2019 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.12.3 2019 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.13.0 2019 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.13.1 2019 by Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.13.2 2019 by Eric Hameleers, Eindhoven, NL - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=qt5 -VERSION=${VERSION:-5.13.2} -BUILD=${BUILD:-2} -PKGSRC=$(echo $VERSION |cut -d- -f1) -PKGVER=$(echo $VERSION |tr - _) - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i586 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$(uname -m) ;; - esac - export ARCH -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-${PKGVER}-${ARCH}-${BUILD}.txz" - exit 0 -fi - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - SLKLDFLAGS="" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - SLKLDFLAGS="" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - SLKLDFLAGS="" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - SLKLDFLAGS="" - SLKLDFLAGS="-L/usr/lib64" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - # To prevent "qatomic_armv6.h error: output number 2 not directly addressable" - # More permanent solution is to patch gcc: - # http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/revision/106731 - SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -fno-strict-volatile-bitfields" - SLKLDFLAGS="" - LIBDIRSUFFIX="" -else - SLKCFLAGS="-O2" - SLKLDFLAGS="" - LIBDIRSUFFIX="" -fi - -case "$ARCH" in - arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; - *) TARGET=$ARCH-slackware-linux ;; -esac - -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} - -TMP=${TMP:-/tmp} -PKG=$TMP/package-${PKGNAM} - -rm -rf $PKG -mkdir -p $TMP $PKG -cd $TMP -rm -rf qt-everywhere-src-$VERSION -echo "Extracting qt-everywhere-src-$VERSION.tar.xz" -tar xf $CWD/qt-everywhere-src-$VERSION.tar.xz || exit 1 -cd qt-everywhere-src-$PKGSRC || exit 1 - -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -# Use -reduce-relocations only on i?86 and x86_64 architextures. -# https://bugreports.qt-project.org/browse/QTBUG-36129 -if echo $ARCH | grep -q '\(i.86\|x86_64\)' 2>/dev/null; then - RELOCATIONS="-reduce-relocations" -else - RELOCATIONS="" -fi - -# Fix path to mysql header: -cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose || exit 1 - -# CMake generates wrong -isystem /usr/include compilations flags with Qt5::Gui -# and for it breaks KWin compilation with: -# /usr/include/c++/9.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory -# See also https://bugzilla.redhat.com/1704474 -cd qtbase - cat $CWD/patches/qt5.qtbase_cmake_isystem_includes.patch \ - | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - -# CVE-2020-0569 (fixed in 5.14.0): -cd qtbase - cat $CWD/patches/qt5.cve-2020-0569.patch \ - | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - -# CVE-2020-0570 (fixed in 5.14.1): -cd qtbase - cat $CWD/patches/qt5.cve-2020-0570.patch \ - | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - -if ! pkg-config --exists libpulse 2>/dev/null ; then - # Forcibly disable pulseaudio in qtwebengine: - cat $CWD/patches/qt5.pulseaudio.diff | patch -p1 --verbose || exit 1 - # Disable pulseaudio in Qt5: - PACONF="-no-pulseaudio" -else - PACONF=" " -fi - -# Use our custom compiler and linker flags: -sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \ - -i qtbase/mkspecs/common/gcc-base.conf || exit 1 -sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \ - -i qtbase/mkspecs/common/g++-unix.conf || exit 1 - -export CFLAGS="$SLKCFLAGS" -export CXXFLAGS="$SLKCFLAGS" -export OPENSOURCE_CXXFLAGS="$SLKCFLAGS" -export QTDIR="${TMP}/qt-everywhere-src-${PKGSRC}" -export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PATH}" -export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins" -./configure -v \ - -confirm-license \ - -opensource \ - -prefix /usr \ - -libdir /usr/lib${LIBDIRSUFFIX} \ - -bindir /usr/lib${LIBDIRSUFFIX}/qt5/bin \ - -sysconfdir /etc/xdg \ - -headerdir /usr/include/qt5 \ - -datadir /usr/share/qt5 \ - -archdatadir /usr/lib${LIBDIRSUFFIX}/qt5 \ - -docdir /usr/doc/qt5-$PKGVER \ - -examplesdir /usr/doc/qt5-$PKGVER/examples \ - -proprietary-codecs \ - -system-libpng \ - -system-libjpeg \ - -system-sqlite \ - -system-zlib \ - -plugin-sql-mysql \ - -plugin-sql-sqlite \ - -accessibility \ - -alsa \ - -dbus \ - -glib \ - -icu \ - -opengl \ - -openssl-linked \ - -optimized-qmake \ - -qpa xcb \ - -qt-harfbuzz \ - -verbose \ - -xcb \ - -nomake examples \ - -nomake tests \ - -no-mimetype-database \ - -no-separate-debug-info \ - -no-strip \ - -no-use-gold-linker \ - -webengine-proprietary-codecs \ - ${PACONF} \ - ${RELOCATIONS} \ - -no-pch \ - # No-precompiled-headers is ccache-friendly. - -# Sometimes a failure happens when parallelizing make. Try again if make fails, -# but make a failure the second time around (single threaded) a fatal error: -make $NUMJOBS || make || exit 1 -make install INSTALL_ROOT=$PKG || exit 1 - -# Strip binaries the Slackware way: -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -# Remove rpaths: -for file in $(find . | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do - if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then - patchelf --remove-rpath $file - fi -done - -# Don't ship .la files: -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la - -# Fix internal linking for Qt5WebEngineCore.pc , -# thanks to Larry Hajali's SBo script: -sed -i \ - -e 's|-Wl,--start-group.* -Wl,--end-group||' \ - -e "s|-L${PWD}/qtwebengine/src/core/api/Release||" \ - $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/Qt5WebEngineCore.pc - -# Fix the path in prl files: -find "$PKG/usr/lib${LIBDIRSUFFIX}" -type f -name '*.prl' \ - -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; - -# Fix the qmake path in pri file: -sed -i "s,${QTDIR}/qtbase,/usr/lib${LIBDIRSUFFIX}/qt5," \ - $PKG/usr/lib${LIBDIRSUFFIX}/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri - -# Install symlinks to the Qt5 binaries in the $PATH: -mkdir -p $PKG/usr/bin -for FILE in $PKG/usr/lib${LIBDIRSUFFIX}/qt5/bin/* ; do - ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/$(basename $FILE) $PKG/usr/bin/$(basename $FILE)-qt5 -done - -# Set the QT5DIR variable in the environment: -mkdir -p $PKG/etc/profile.d -sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX},g" $CWD/profile.d/$PKGNAM.sh \ - > $PKG/etc/profile.d/$PKGNAM.sh -sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX},g" $CWD/profile.d/$PKGNAM.csh \ - > $PKG/etc/profile.d/$PKGNAM.csh -chmod 0755 $PKG/etc/profile.d/* - -# Add menu entries for all those hidden but great Qt applications: -# Qt5 logo: -mkdir -p $PKG/usr/share/icons/hicolor/48x48/apps -convert qtdoc/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png -# Assistant icons -install -p -m644 -D qttools/src/assistant/assistant/images/assistant.png $PKG/usr/share/icons/hicolor/32x32/apps/qt5-assistant.png -install -p -m644 -D qttools/src/assistant/assistant/images/assistant-128.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-assistant.png -# Designer icon -install -p -m644 -D qttools/src/designer/src/designer/images/designer.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-designer.png -# QDbusViewer icons -install -p -m644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer.png $PKG/usr/share/icons/hicolor/32x32/apps/qt5-qdbusviewer.png -install -p -m644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-qdbusviewer.png -# Linguist icons -for icon in qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do - size=$(echo $(basename ${icon}) | cut -d- -f2) - install -p -m644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/qt5-linguist.png -done - -# And the .desktop files too: -mkdir -p $PKG/usr/share/applications -cat < $PKG/usr/share/applications/qt5-designer.desktop -[Desktop Entry] -Name=Qt5 Designer -GenericName=Interface Designer -Comment=Design GUIs for Qt5 applications -Exec=designer-qt5 -Icon=qt5-designer -MimeType=application/x-designer; -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development; -EOF -cat < $PKG/usr/share/applications/qt5-assistant.desktop -[Desktop Entry] -Name=Qt5 Assistant -Comment=Shows Qt5 documentation and examples -Exec=assistant-qt5 -Icon=qt5-assistant -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development;Documentation; -EOF -cat < $PKG/usr/share/applications/qt5-linguist.desktop -[Desktop Entry] -Name=Qt5 Linguist -Comment=Add translations to Qt5 applications -Exec=linguist-qt5 -Icon=qt5-linguist -MimeType=text/vnd.trolltech.linguist;application/x-linguist; -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development; -EOF -cat < $PKG/usr/share/applications/qt5-qdbusviewer.desktop -[Desktop Entry] -Name=Qt5 QDbusViewer -GenericName=Qt5 D-Bus Debugger -Comment=Debug D-Bus applications -Exec=qdbusviewer-qt5 -Icon=qt5-qdbusviewer -Terminal=false -Type=Application -Categories=Qt;Development;Debugger; -EOF - -# Add a documentation directory: -mkdir -p $PKG/usr/doc/$PKGNAM-$PKGVER -cp -a \ - README qtbase/{header*,LGPL_EXCEPTION.txt,LICENSE*} \ - $PKG/usr/doc/$PKGNAM-$PKGVER -if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt5/doc/html ]; then - ( cd $PKG/usr/doc/$PKGNAM-$PKGVER - ln -sf /usr/lib${LIBDIRSUFFIX}/qt5/doc/html . - ) -fi - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $TMP/$PKGNAM-$PKGVER-$ARCH-$BUILD.txz - -- cgit v1.2.3