diff options
Diffstat (limited to 'testing/source/vtown/deps/qt5/qt5.SlackBuild')
-rwxr-xr-x | testing/source/vtown/deps/qt5/qt5.SlackBuild | 341 |
1 files changed, 0 insertions, 341 deletions
diff --git a/testing/source/vtown/deps/qt5/qt5.SlackBuild b/testing/source/vtown/deps/qt5/qt5.SlackBuild deleted file mode 100755 index de522772..00000000 --- a/testing/source/vtown/deps/qt5/qt5.SlackBuild +++ /dev/null @@ -1,341 +0,0 @@ -#!/bin/sh - -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 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 <rworkman@slackware.com> for QT4 & KDE4 -# -# Modifications 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL -# Modifications for qt 5.2.0 2013 by Michael James, AU -# Modifications for qt 5.x by Eric Hameleers, Eindhoven, NL - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=qt5 -VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev) -BUILD=${BUILD:-2_vtown_1} -PKGSRC=$(echo $VERSION | cut -d - -f 1) -PKGVER=$(echo $VERSION | tr - _) - -USE_CODECS=${USE_CODECS:-NO} -SYSTEM_FFMPEG=${SYSTEM_FFMPEG:-YES} - -# 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: -zcat $CWD/patches/qt5.mysql.h.diff.gz | 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 - zcat $CWD/patches/qt5.qtbase_cmake_isystem_includes.patch.gz | patch -p1 --verbose || exit 1 -cd - 1>/dev/null - -# If PulseAudio is not found, use the _alsa $TAG and disable it in the build: -if ! pkg-config --exists libpulse 2>/dev/null ; then - PULSEAUDIO_OPTION="-no-pulseaudio -no-webengine-pulseaudio" - TAG="_alsa" -else - unset PULSEAUDIO_OPTION - unset TAG -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 - -if [ ! "$USE_CODECS" = "NO" ]; then - CODEC_OPTION="-proprietary-codecs -webengine-proprietary-codecs" -else - unset CODEC_OPTION -fi - -if [ "$SYSTEM_FFMPEG" = "YES" ]; then - FFMPEG_OPTION="-webengine-ffmpeg" -else - unset FFMPEG_OPTION -fi - -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 \ - -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 \ - ${CODEC_OPTION} \ - ${FFMPEG_OPTION} \ - ${PULSEAUDIO_OPTION} \ - ${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: -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 $PKG | 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 <<EOF > $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 <<EOF > $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 <<EOF > $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 <<EOF > $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 -zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $TMP/$PKGNAM-$PKGVER-$ARCH-${BUILD}${TAG}.txz |