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/OpenAL/.deps | 1 - deps/OpenAL/.url | 2 - deps/OpenAL/OpenAL.SlackBuild | 135 -------- deps/OpenAL/slack-desc | 19 -- deps/SDL_sound/.url | 1 - deps/SDL_sound/SDL_sound.SlackBuild | 114 ------- deps/SDL_sound/slack-desc | 19 -- deps/alldeps.SlackBuild | 4 - deps/cracklib/.url | 2 + deps/cracklib/cracklib-words-2.9.7.bz2 | Bin 0 -> 6951761 bytes deps/cracklib/cracklib.SlackBuild | 135 ++++++++ .../patches/cracklib-2.9.6-cve-2016-6318.patch | 108 ++++++ deps/cracklib/slack-desc | 20 ++ deps/libxkbcommon/.url | 2 - deps/libxkbcommon/libxkbcommon.SlackBuild | 125 ------- deps/libxkbcommon/slack-desc | 19 -- deps/qt5/.deps | 2 - deps/qt5/.url | 1 - deps/qt5/doinst.sh | 9 - .../patches/platformplugin-install-path-fix.patch | 15 - deps/qt5/patches/qt5.alsa.patch | 11 - deps/qt5/patches/qt5.cr206850.patch | 43 --- deps/qt5/patches/qt5.cve-2020-0569.patch | 29 -- deps/qt5/patches/qt5.cve-2020-0570.patch | 48 --- deps/qt5/patches/qt5.delayed_highlight.patch | 72 ---- deps/qt5/patches/qt5.glibc224.patch | 33 -- deps/qt5/patches/qt5.mysql.h.diff | 11 - deps/qt5/patches/qt5.private-includes.patch | 53 --- deps/qt5/patches/qt5.pulseaudio.diff | 12 - deps/qt5/patches/qt5.qlockfile-deadlock.patch | 116 ------- deps/qt5/patches/qt5.qt5uitoolsconfig.patch | 17 - .../qt5.qtbase_cmake_isystem_includes.patch | 14 - deps/qt5/patches/qt5.qtbug-49061.patch | 80 ----- deps/qt5/patches/qt5.qtbug-49452.patch | 58 ---- deps/qt5/patches/qt5.qtbug-51621.patch | 39 --- deps/qt5/patches/qt5.qtbug-51648.patch | 88 ----- deps/qt5/patches/qt5.qtbug-51649.patch | 159 --------- deps/qt5/patches/qt5.qtbug-51676.patch | 126 ------- deps/qt5/patches/qt5.qtbug-51890.patch | 82 ----- deps/qt5/patches/qt5.qtbug-51927.patch | 185 ---------- deps/qt5/patches/qt5.qtbug-53237.patch | 90 ----- deps/qt5/patches/qt5.qtbug-55583.patch | 41 --- deps/qt5/patches/qt5.qtbug-60558.patch | 32 -- deps/qt5/patches/qt5.qtbug-61140.patch | 101 ------ deps/qt5/patches/qt5.qtbug-66103.patch | 172 ---------- deps/qt5/patches/qt5.qtbug-69310.patch | 37 -- deps/qt5/patches/qt5.qtbug-76255.patch | 35 -- deps/qt5/patches/qt5.qtbug-77037.patch | 89 ----- deps/qt5/patches/qt5.qtbug-77364.patch | 13 - deps/qt5/patches/qt5.webengine_gcc8.patch | 26 -- deps/qt5/patches/qt5.whandle.patch | 24 -- deps/qt5/patches/qtbase-qxcbwindow.patch | 97 ------ deps/qt5/patches/qtbase-zlib-compression.patch | 41 --- deps/qt5/profile.d/qt5.csh | 17 - deps/qt5/profile.d/qt5.sh | 17 - deps/qt5/qt5.SlackBuild | 380 --------------------- deps/qt5/slack-desc | 19 -- deps/updates.SlackBuild | 4 - 58 files changed, 265 insertions(+), 2979 deletions(-) delete mode 100644 deps/OpenAL/.deps delete mode 100644 deps/OpenAL/.url delete mode 100755 deps/OpenAL/OpenAL.SlackBuild delete mode 100644 deps/OpenAL/slack-desc delete mode 100644 deps/SDL_sound/.url delete mode 100755 deps/SDL_sound/SDL_sound.SlackBuild delete mode 100644 deps/SDL_sound/slack-desc create mode 100644 deps/cracklib/.url create mode 100644 deps/cracklib/cracklib-words-2.9.7.bz2 create mode 100755 deps/cracklib/cracklib.SlackBuild create mode 100644 deps/cracklib/patches/cracklib-2.9.6-cve-2016-6318.patch create mode 100644 deps/cracklib/slack-desc delete mode 100644 deps/libxkbcommon/.url delete mode 100755 deps/libxkbcommon/libxkbcommon.SlackBuild delete mode 100644 deps/libxkbcommon/slack-desc delete mode 100644 deps/qt5/.deps delete mode 100644 deps/qt5/.url delete mode 100644 deps/qt5/doinst.sh delete mode 100644 deps/qt5/patches/platformplugin-install-path-fix.patch delete mode 100644 deps/qt5/patches/qt5.alsa.patch delete mode 100644 deps/qt5/patches/qt5.cr206850.patch delete mode 100644 deps/qt5/patches/qt5.cve-2020-0569.patch delete mode 100644 deps/qt5/patches/qt5.cve-2020-0570.patch delete mode 100644 deps/qt5/patches/qt5.delayed_highlight.patch delete mode 100644 deps/qt5/patches/qt5.glibc224.patch delete mode 100644 deps/qt5/patches/qt5.mysql.h.diff delete mode 100644 deps/qt5/patches/qt5.private-includes.patch delete mode 100644 deps/qt5/patches/qt5.pulseaudio.diff delete mode 100644 deps/qt5/patches/qt5.qlockfile-deadlock.patch delete mode 100644 deps/qt5/patches/qt5.qt5uitoolsconfig.patch delete mode 100644 deps/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-49061.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-49452.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51621.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51648.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51649.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51676.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51890.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-51927.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-53237.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-55583.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-60558.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-61140.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-66103.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-69310.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-76255.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-77037.patch delete mode 100644 deps/qt5/patches/qt5.qtbug-77364.patch delete mode 100644 deps/qt5/patches/qt5.webengine_gcc8.patch delete mode 100644 deps/qt5/patches/qt5.whandle.patch delete mode 100644 deps/qt5/patches/qtbase-qxcbwindow.patch delete mode 100644 deps/qt5/patches/qtbase-zlib-compression.patch delete mode 100644 deps/qt5/profile.d/qt5.csh delete mode 100644 deps/qt5/profile.d/qt5.sh delete mode 100755 deps/qt5/qt5.SlackBuild delete mode 100644 deps/qt5/slack-desc (limited to 'deps') diff --git a/deps/OpenAL/.deps b/deps/OpenAL/.deps deleted file mode 100644 index b787fd1..0000000 --- a/deps/OpenAL/.deps +++ /dev/null @@ -1 +0,0 @@ -SDL_sound diff --git a/deps/OpenAL/.url b/deps/OpenAL/.url deleted file mode 100644 index 51a72d9..0000000 --- a/deps/OpenAL/.url +++ /dev/null @@ -1,2 +0,0 @@ -http://kcat.strangesoft.net/openal-releases/openal-soft-1.19.1.tar.bz2 - diff --git a/deps/OpenAL/OpenAL.SlackBuild b/deps/OpenAL/OpenAL.SlackBuild deleted file mode 100755 index 0397a82..0000000 --- a/deps/OpenAL/OpenAL.SlackBuild +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh -# Copyright 2014 Patrick J. Volkerding, Sebeka, MN, USA -# Copyright 2012, 2013, 2014, 2015, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL -# 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. -# ----------------------------------------------------------------------------- - - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=OpenAL -SRCNAM=openal-soft -VERSION=${VERSION:-1.19.1} -BUILD=${BUILD:-2} - -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} - -TMP=${TMP:-/tmp} -PKG=$TMP/package-$PKGNAM - -# 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 - -# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "arm" ]; then - SLKCFLAGS="-O2 -march=armv5te" - LIBDIRSUFFIX="" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -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}-${VERSION}-${ARCH}-${BUILD}.txz" - exit 0 -fi - -rm -rf $PKG -mkdir -p $TMP $PKG -cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1 -cd $SRCNAM-$VERSION || 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 {} \; - -mkdir -p build -cd build - cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DMAN_INSTALL_DIR=/usr/man \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -G Ninja \ - .. - ninja || exit 1 - DESTDIR=$PKG ninja install || exit 1 -cd - - -# Add an example configuration file: -mkdir -p $PKG/etc/openal -install -m0644 alsoftrc.sample $PKG/etc/openal/alsoft.conf.sample - -# Add documentation: -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -cp -a \ - COPYING ChangeLog README XCompile.txt docs/*.txt \ - $PKG/usr/doc/$PKGNAM-$VERSION || true -chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION -find $PKG/usr/doc -type f -exec chmod 644 {} \; - -# Strip binaries (if any): -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Add a package description: -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -/sbin/makepkg --linkadd y --chown n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz - diff --git a/deps/OpenAL/slack-desc b/deps/OpenAL/slack-desc deleted file mode 100644 index 9519678..0000000 --- a/deps/OpenAL/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# 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------------------------------------------------------| -OpenAL: OpenAL (implementation of the OpenAL 3D audio API) -OpenAL: -OpenAL: OpenAL Soft is an LGPL-licensed, cross-platform, implementation -OpenAL: of the OpenAL 3D audio API. OpenAL provides capabilities for -OpenAL: playing audio in a virtual 3D environment. It also facilitates -OpenAL: streaming audio, multi-channel buffers, and audio capture. -OpenAL: -OpenAL: -OpenAL: OpenAL by Creative Labs: http://www.OpenAL.org/ -OpenAL: OpenAL Soft home: http://openal-soft.org/ -OpenAL: diff --git a/deps/SDL_sound/.url b/deps/SDL_sound/.url deleted file mode 100644 index 70b1017..0000000 --- a/deps/SDL_sound/.url +++ /dev/null @@ -1 +0,0 @@ -http://icculus.org/SDL_sound/downloads/SDL_sound-1.0.3.tar.gz diff --git a/deps/SDL_sound/SDL_sound.SlackBuild b/deps/SDL_sound/SDL_sound.SlackBuild deleted file mode 100755 index 99dfd4d..0000000 --- a/deps/SDL_sound/SDL_sound.SlackBuild +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh - -# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA -# Copyright 2019 Eric Hameleers, Eindhoven, NL -# 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. - - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=SDL_sound -VERSION=${VERSION:-1.0.3} -BUILD=${BUILD:-1} - -TMP=${TMP:-/tmp} -PKG=$TMP/package-$PKGNAM - -# 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 - -# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "arm" ]; then - SLKCFLAGS="-O2 -march=armv5te" - LIBDIRSUFFIX="" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -case "$ARCH" in - arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; - *) TARGET=$ARCH-slackware-linux ;; -esac - -# 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}-${VERSION}-${ARCH}-${BUILD}.txz" - exit 0 -fi - -rm -rf $PKG -mkdir -p $TMP $PKG -cd $TMP -rm -rf $PKGNAM-$VERSION -tar xvf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1 -cd $PKGNAM-$VERSION || exit 1 -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --disable-static \ - --build=$TARGET || exit 1 - -make || exit 1 -make install-strip DESTDIR=$PKG || exit 1 - -# Add documentation: -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -cp -a CHANGELOG COPYING CREDITS INSTALL README TODO \ - $PKG/usr/doc/$PKGNAM-$VERSION - -# Strip binaries (if any): -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Add a package description: -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz - diff --git a/deps/SDL_sound/slack-desc b/deps/SDL_sound/slack-desc deleted file mode 100644 index 961108c..0000000 --- a/deps/SDL_sound/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# 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 ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -SDL_sound: SDL_sound (a sound library add-on for SDL) -SDL_sound: -SDL_sound: SDL_sound is a library to decode sseveral popular sound file formats, -SDL_sound: such as .WAV and .MP3. -SDL_sound: -SDL_sound: -SDL_sound: -SDL_sound: -SDL_sound: -SDL_sound: Homepage: https://icculus.org/SDL_sound/ -SDL_sound: diff --git a/deps/alldeps.SlackBuild b/deps/alldeps.SlackBuild index f9f078d..e3e7ed5 100755 --- a/deps/alldeps.SlackBuild +++ b/deps/alldeps.SlackBuild @@ -17,15 +17,11 @@ ALLDEPS=" \ extra-cmake-modules \ md4c \ sni-qt \ - libxkbcommon \ wayland \ hyphen \ brotli \ woff2 \ - qt5 \ qt5-webkit \ - SDL_sound \ - OpenAL \ qjson \ phonon \ phonon-gstreamer \ diff --git a/deps/cracklib/.url b/deps/cracklib/.url new file mode 100644 index 0000000..257cdea --- /dev/null +++ b/deps/cracklib/.url @@ -0,0 +1,2 @@ +https://github.com/cracklib/cracklib/releases/download/v2.9.7/cracklib-2.9.7.tar.bz2 +https://github.com/cracklib/cracklib/releases/download/v2.9.7/cracklib-words-2.9.7.bz2 diff --git a/deps/cracklib/cracklib-words-2.9.7.bz2 b/deps/cracklib/cracklib-words-2.9.7.bz2 new file mode 100644 index 0000000..b29dbf1 Binary files /dev/null and b/deps/cracklib/cracklib-words-2.9.7.bz2 differ diff --git a/deps/cracklib/cracklib.SlackBuild b/deps/cracklib/cracklib.SlackBuild new file mode 100755 index 0000000..f1825a7 --- /dev/null +++ b/deps/cracklib/cracklib.SlackBuild @@ -0,0 +1,135 @@ +#!/bin/sh + +# Copyright 2010,2011 Vincent Batts, Vienna, VA, USA +# Copyright 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, 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. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=cracklib +VERSION=${VERSION:-2.9.7} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +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-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 +cd $PKGNAM-$VERSION || 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 {} \+ + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sbindir=/sbin \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +mkdir -p $PKG/usr/share/cracklib + +# If there's a large word list in the source directory, use it. +# Otherwise go with the bundled list. +if [ -r $CWD/cracklib-words-$VERSION.bz2 ]; then + bzcat $CWD/cracklib-words-$VERSION.bz2 | gzip -c > words.gz + PATH=$(pwd)/util:$PATH \ + ./util/create-cracklib-dict \ + -o $PKG/usr/share/cracklib/pw_dict \ + dicts/cracklib-small words.gz +else + PATH=$(pwd)/util:$PATH \ + ./util/create-cracklib-dict \ + -o $PKG/usr/share/cracklib/pw_dict \ + dicts/cracklib-small +fi + +mkdir -p $PKG/var/cache/cracklib +( cd $PKG/var/cache/cracklib +ln -s /usr/share/cracklib/pw_dict.pwd cracklib_dict.pwd +ln -s /usr/share/cracklib/pw_dict.pwi cracklib_dict.pwi +) + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS COPYING.LIB ChangeLog INSTALL NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/deps/cracklib/patches/cracklib-2.9.6-cve-2016-6318.patch b/deps/cracklib/patches/cracklib-2.9.6-cve-2016-6318.patch new file mode 100644 index 0000000..bc47734 --- /dev/null +++ b/deps/cracklib/patches/cracklib-2.9.6-cve-2016-6318.patch @@ -0,0 +1,108 @@ +From 47e5dec521ab6243c9b249dd65b93d232d90d6b1 Mon Sep 17 00:00:00 2001 +From: Jan Dittberner +Date: Thu, 25 Aug 2016 17:13:49 +0200 +Subject: [PATCH] Apply patch to fix CVE-2016-6318 + +This patch fixes an issue with a stack-based buffer overflow whne +parsing large GECOS field. See +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6318 and +https://security-tracker.debian.org/tracker/CVE-2016-6318 for more +information. +--- + src/NEWS | 1 + + src/lib/fascist.c | 57 ++++++++++++++++++++++++++++++++----------------------- + 2 files changed, 34 insertions(+), 24 deletions(-) + +diff --git a/src/NEWS b/src/NEWS +index 26abeee..361a207 100644 +--- a/src/NEWS ++++ b/src/NEWS +@@ -1,3 +1,4 @@ ++v2.9.x apply patch to fix CVE-2016-6318 Stack-based buffer overflow when parsing large GECOS field + v2.9.6 updates to cracklib-words to add a bunch of other dictionary lists + migration to github + patch to add some particularly bad cases to the cracklib small dictionary (Matthew Miller) +diff --git a/src/lib/fascist.c b/src/lib/fascist.c +index a996509..d4deb15 100644 +--- a/src/lib/fascist.c ++++ b/src/lib/fascist.c +@@ -502,7 +502,7 @@ FascistGecosUser(char *password, const char *user, const char *gecos) + char gbuffer[STRINGSIZE]; + char tbuffer[STRINGSIZE]; + char *uwords[STRINGSIZE]; +- char longbuffer[STRINGSIZE * 2]; ++ char longbuffer[STRINGSIZE]; + + if (gecos == NULL) + gecos = ""; +@@ -583,38 +583,47 @@ FascistGecosUser(char *password, const char *user, const char *gecos) + { + for (i = 0; i < j; i++) + { +- strcpy(longbuffer, uwords[i]); +- strcat(longbuffer, uwords[j]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) + strlen(uwords[j]) < STRINGSIZE) + { +- return _("it is derived from your password entry"); +- } ++ strcpy(longbuffer, uwords[i]); ++ strcat(longbuffer, uwords[j]); + +- strcpy(longbuffer, uwords[j]); +- strcat(longbuffer, uwords[i]); ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derived from your password entry"); ++ } + +- if (GTry(longbuffer, password)) +- { +- return _("it's derived from your password entry"); +- } ++ strcpy(longbuffer, uwords[j]); ++ strcat(longbuffer, uwords[i]); + +- longbuffer[0] = uwords[i][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[j]); ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derived from your password entry"); ++ } ++ } + +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[j]) < STRINGSIZE - 1) + { +- return _("it is derivable from your password entry"); ++ longbuffer[0] = uwords[i][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[j]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it is derivable from your password entry"); ++ } + } + +- longbuffer[0] = uwords[j][0]; +- longbuffer[1] = '\0'; +- strcat(longbuffer, uwords[i]); +- +- if (GTry(longbuffer, password)) ++ if (strlen(uwords[i]) < STRINGSIZE - 1) + { +- return _("it's derivable from your password entry"); ++ longbuffer[0] = uwords[j][0]; ++ longbuffer[1] = '\0'; ++ strcat(longbuffer, uwords[i]); ++ ++ if (GTry(longbuffer, password)) ++ { ++ return _("it's derivable from your password entry"); ++ } + } + } + } diff --git a/deps/cracklib/slack-desc b/deps/cracklib/slack-desc new file mode 100644 index 0000000..0f475fb --- /dev/null +++ b/deps/cracklib/slack-desc @@ -0,0 +1,20 @@ +# 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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +cracklib: cracklib (password crack library) +cracklib: +cracklib: CrackLib is a library allowing a "passwd"-like program to filter out +cracklib: passwords that are considered easy to crack by brute-force. +cracklib: Cracklib uses dictionary lists of easy to guess passwords. +cracklib: +cracklib: +cracklib: +cracklib: +cracklib: See also: https://github.com/cracklib/cracklib +cracklib: + diff --git a/deps/libxkbcommon/.url b/deps/libxkbcommon/.url deleted file mode 100644 index 9c97562..0000000 --- a/deps/libxkbcommon/.url +++ /dev/null @@ -1,2 +0,0 @@ -https://xkbcommon.org/download/libxkbcommon-0.8.4.tar.xz - diff --git a/deps/libxkbcommon/libxkbcommon.SlackBuild b/deps/libxkbcommon/libxkbcommon.SlackBuild deleted file mode 100755 index e44da4f..0000000 --- a/deps/libxkbcommon/libxkbcommon.SlackBuild +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/sh - -# Copyright 2015 Patrick J. Volkerding, Sebeka, MN, USA -# Copyright 2015, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL -# 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. - - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=libxkbcommon -VERSION=${VERSION:-0.8.4} -BUILD=${BUILD:-1} - -TMP=${TMP:-/tmp} -PKG=$TMP/package-$PKGNAM - -# 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 - -# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX: -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "arm" ]; then - SLKCFLAGS="-O2 -march=armv5te" - LIBDIRSUFFIX="" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -case "$ARCH" in - arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; - *) TARGET=$ARCH-slackware-linux ;; -esac - -# 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-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -rm -rf $PKG -mkdir -p $TMP $PKG -cd $TMP -rm -rf $PKGNAM-$VERSION -tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 -cd $PKGNAM-$VERSION || exit 1 -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \; - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PKGNAM-$VERSION \ - --disable-static \ - --build=$TARGET - -# Build and install: -make || exit 1 -make install DESTDIR=$PKG || exit 1 - -# Don't ship .la files: -rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la - -# Add documentation: -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -cp -a \ - LICENSE NEWS PACKAGING README* \ - $PKG/usr/doc/$PKGNAM-$VERSION - -# Strip binaries (if any): -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Add a package description: -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz - diff --git a/deps/libxkbcommon/slack-desc b/deps/libxkbcommon/slack-desc deleted file mode 100644 index 6e5e0ea..0000000 --- a/deps/libxkbcommon/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# 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 ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -libxkbcommon: libxkbcommon (library to handle keyboard descriptions) -libxkbcommon: -libxkbcommon: xkbcommon is a library to handle keyboard descriptions, including -libxkbcommon: loading them from disk, parsing them and handling their state. -libxkbcommon: It's mainly meant for client toolkits, window systems, and other -libxkbcommon: system applications; currently that includes Wayland, kmscon, -libxkbcommon: GTK+, Qt, Clutter, and more. It is also used by some XCB -libxkbcommon: applications for proper keyboard support. -libxkbcommon: -libxkbcommon: -libxkbcommon: Home page: http://xkbcommon.org/ diff --git a/deps/qt5/.deps b/deps/qt5/.deps deleted file mode 100644 index d1eaacd..0000000 --- a/deps/qt5/.deps +++ /dev/null @@ -1,2 +0,0 @@ -OpenAL -libxkbcommon diff --git a/deps/qt5/.url b/deps/qt5/.url deleted file mode 100644 index cc9f30b..0000000 --- a/deps/qt5/.url +++ /dev/null @@ -1 +0,0 @@ -https://download.qt.io/official_releases/qt/5.13/5.13.2/single/qt-everywhere-src-5.13.2.tar.xz diff --git a/deps/qt5/doinst.sh b/deps/qt5/doinst.sh deleted file mode 100644 index 3e5691a..0000000 --- a/deps/qt5/doinst.sh +++ /dev/null @@ -1,9 +0,0 @@ -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 -fi - -if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then - if [ -x /usr/bin/gtk-update-icon-cache ]; then - /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 - fi -fi diff --git a/deps/qt5/patches/platformplugin-install-path-fix.patch b/deps/qt5/patches/platformplugin-install-path-fix.patch deleted file mode 100644 index db9b33b..0000000 --- a/deps/qt5/patches/platformplugin-install-path-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ -See https://bugs.webkit.org/show_bug.cgi?id=117077 - -diff -Naur qt-everywhere-opensource-src-5.0.2.orig/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro qt-everywhere-opensource-src-5.0.2/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro ---- qt-everywhere-opensource-src-5.0.2.orig/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro 2013-04-09 00:11:38.000000000 +0000 -+++ qt-everywhere-opensource-src-5.0.2/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro 2013-05-31 01:18:29.157175082 +0000 -@@ -20,7 +20,8 @@ - } - } - --DESTDIR = $$[QT_INSTALL_PLUGINS]/webkit -+target.path = $$[QT_INSTALL_PLUGINS]/webkit -+INSTALLS += target - - SOURCES += \ - WebPlugin.cpp \ diff --git a/deps/qt5/patches/qt5.alsa.patch b/deps/qt5/patches/qt5.alsa.patch deleted file mode 100644 index 892431b..0000000 --- a/deps/qt5/patches/qt5.alsa.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-everywhere-opensource-src-5.6.0/qtbase/config.tests/unix/alsa/alsatest.cpp.orig 2016-02-29 08:15:48.203031809 +0000 -+++ qt-everywhere-opensource-src-5.6.0/qtbase/config.tests/unix/alsa/alsatest.cpp 2016-02-29 08:16:39.712811962 +0000 -@@ -32,7 +32,7 @@ - ****************************************************************************/ - - #include --#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) -+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10))) - #error "Alsa version found too old, require >= 1.0.10" - #endif - diff --git a/deps/qt5/patches/qt5.cr206850.patch b/deps/qt5/patches/qt5.cr206850.patch deleted file mode 100644 index 1fb71df..0000000 --- a/deps/qt5/patches/qt5.cr206850.patch +++ /dev/null @@ -1,43 +0,0 @@ -The latest MariaDB versions aren't caught properly by the checks in Qt, which -may cause a regression to appear (regression, because it was already fixed in -Qt by Dan Vratil): this manifests itself in Akonadi losing its connection to -the database if running for long periods of time. - -Until this is fixed in Qt, you may want to apply this patch in your packages: - -https://codereview.qt-project.org/#/c/206850/ - -From 64588c9bae92ef79f9ca5e87653ffb0962691d0d Mon Sep 17 00:00:00 2001 -From: Andy Shaw -Date: Wed, 27 Sep 2017 09:23:10 +0200 -Subject: [PATCH] Extend the MariaDB define check to cover the later versions too - -Change-Id: Ide89b4e07feb116bf152cbf3f5630d313e8ba0f1 ---- - src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp -index 6e428fb..b2d3e85 100644 ---- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp -+++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp -@@ -1159,14 +1159,14 @@ static void qLibraryInit() - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED - --#ifdef MARIADB_BASE_VERSION -+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID) - qAddPostRoutine(mysql_server_end); - #endif - } - - static void qLibraryEnd() - { --#if !defined(MARIADB_BASE_VERSION) -+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID) - # if !defined(Q_NO_MYSQL_EMBEDDED) - # if MYSQL_VERSION_ID > 40000 - # if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 --- -2.7.4 - diff --git a/deps/qt5/patches/qt5.cve-2020-0569.patch b/deps/qt5/patches/qt5.cve-2020-0569.patch deleted file mode 100644 index fa0efdc..0000000 --- a/deps/qt5/patches/qt5.cve-2020-0569.patch +++ /dev/null @@ -1,29 +0,0 @@ -From bf131e8d2181b3404f5293546ed390999f760404 Mon Sep 17 00:00:00 2001 -From: Olivier Goffart -Date: Fri, 8 Nov 2019 11:30:40 +0100 -Subject: Do not load plugin from the $PWD - -I see no reason why this would make sense to look for plugins in the current -directory. And when there are plugins there, it may actually be wrong - -Change-Id: I5f5aa168021fedddafce90effde0d5762cd0c4c5 -Reviewed-by: Thiago Macieira ---- - src/corelib/plugin/qpluginloader.cpp | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp -index cadff4f32b..c2443dbdda 100644 ---- a/src/corelib/plugin/qpluginloader.cpp -+++ b/src/corelib/plugin/qpluginloader.cpp -@@ -305,7 +305,6 @@ static QString locatePlugin(const QString& fileName) - paths.append(fileName.left(slash)); // don't include the '/' - } else { - paths = QCoreApplication::libraryPaths(); -- paths.prepend(QStringLiteral(".")); // search in current dir first - } - - for (const QString &path : qAsConst(paths)) { --- -cgit v1.2.1 - diff --git a/deps/qt5/patches/qt5.cve-2020-0570.patch b/deps/qt5/patches/qt5.cve-2020-0570.patch deleted file mode 100644 index fa3eb33..0000000 --- a/deps/qt5/patches/qt5.cve-2020-0570.patch +++ /dev/null @@ -1,48 +0,0 @@ -QLibrary/Unix: do not attempt to load a library relative to $PWD - -I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to -find libraries in a haswell/ subdir of the main path, but we only need -to do that transformation if the library is contains at least one -directory seprator. That is, if the user asks to load "lib/foo", then we -should try "lib/haswell/foo" (often, the path prefix will be absolute). - -When the library name the user requested has no directory separators, we -let dlopen() do the transformation for us. Testing on Linux confirms -glibc does so: - -$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor - 1972475: find library=libXcursor.so.1 [0]; searching - 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1 - 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1 - 1972475: trying file=/usr/lib64/libXcursor.so.1 - 1972475: calling init: /usr/lib64/libXcursor.so.1 - 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0] - -Fixes: QTBUG-81272 -Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb - -X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=blobdiff_plain;f=src%2Fcorelib%2Fplugin%2Fqlibrary_unix.cpp;h=135b82cd378b00abe231c2320866d88f8a71b25a;hp=f0de1010d7b7126d83c4365a31924fa080ec334d;hb=27d92ead3a5f3c145f16b96f95a43c5af136a36b;hpb=3b54009b13e9629b75827a59f8537451d25613a4 - -diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp -index f0de1010d7b..135b82cd378 100644 ---- a/src/corelib/plugin/qlibrary_unix.cpp -+++ b/src/corelib/plugin/qlibrary_unix.cpp -@@ -1,7 +1,7 @@ - /**************************************************************************** - ** - ** Copyright (C) 2016 The Qt Company Ltd. --** Copyright (C) 2018 Intel Corporation -+** Copyright (C) 2020 Intel Corporation - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtCore module of the Qt Toolkit. -@@ -218,6 +218,8 @@ bool QLibraryPrivate::load_sys() - for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) { - if (!prefixes.at(prefix).isEmpty() && name.startsWith(prefixes.at(prefix))) - continue; -+ if (path.isEmpty() && prefixes.at(prefix).contains(QLatin1Char('/'))) -+ continue; - if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix))) - continue; - if (loadHints & QLibrary::LoadArchiveMemberHint) { - diff --git a/deps/qt5/patches/qt5.delayed_highlight.patch b/deps/qt5/patches/qt5.delayed_highlight.patch deleted file mode 100644 index 201179b..0000000 --- a/deps/qt5/patches/qt5.delayed_highlight.patch +++ /dev/null @@ -1,72 +0,0 @@ -From f8f0f3eef1151c9377a5c76ccfa6432e930e1307 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= -Date: Mon, 14 Jan 2019 10:37:42 +0100 -Subject: QSyntaxHighlighter: cancel delayed highlight if done manually -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It was an implicit effect before which stopped working after -dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some -projects used this side-effect as a way to abort the initial -highlighting. - -Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357 -Reviewed-by: J?drzej Nowacki ---- - src/gui/text/qsyntaxhighlighter.cpp | 1 + - .../qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp | 19 +++++++++++++++++++ - 2 files changed, 20 insertions(+) - -diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp -index b09f8b565a..0e07b69868 100644 ---- a/src/gui/text/qsyntaxhighlighter.cpp -+++ b/src/gui/text/qsyntaxhighlighter.cpp -@@ -376,6 +376,7 @@ void QSyntaxHighlighter::rehighlight() - - QTextCursor cursor(d->doc); - d->rehighlight(cursor, QTextCursor::End); -+ d->rehighlightPending = false; // user manually did a full rehighlight - } - - /*! -diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp -index 9d6ce78b24..c683ecd424 100644 ---- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp -+++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp -@@ -82,6 +82,7 @@ private slots: - void preservePreeditArea(); - void task108530(); - void avoidUnnecessaryRehighlight(); -+ void avoidUnnecessaryDelayedRehighlight(); - void noContentsChangedDuringHighlight(); - void rehighlight(); - void rehighlightBlock(); -@@ -478,6 +479,24 @@ void tst_QSyntaxHighlighter::avoidUnnecessaryRehighlight() - QTRY_VERIFY(!hl->highlighted); - } - -+void tst_QSyntaxHighlighter::avoidUnnecessaryDelayedRehighlight() -+{ -+ // Having text in the document before creating the highlighter starts the delayed rehighlight -+ cursor.insertText("Hello World"); -+ -+ TestHighlighter *hl = new TestHighlighter(doc); -+ QVERIFY(!hl->highlighted); -+ -+ hl->rehighlight(); -+ QVERIFY(hl->highlighted); -+ -+ hl->highlighted = false; -+ // Process events, including delayed rehighlight emission -+ QCoreApplication::processEvents(); -+ // Should be cancelled and no extra rehighlight should be done -+ QVERIFY(!hl->highlighted); -+} -+ - void tst_QSyntaxHighlighter::noContentsChangedDuringHighlight() - { - QVector formats; --- -cgit v1.2.1 - diff --git a/deps/qt5/patches/qt5.glibc224.patch b/deps/qt5/patches/qt5.glibc224.patch deleted file mode 100644 index 773781a..0000000 --- a/deps/qt5/patches/qt5.glibc224.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b12ffcd411d4776f7120ccecb3be34344d930d2b Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Tue, 9 Aug 2016 16:21:29 +0200 -Subject: Do not depend on Linux 4.5 - -Avoid using MADV_FREE that was only recently added to Linux. It will fail when -run on older Linux kernels. - -Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0 -Reviewed-by: Peter Varga ---- - chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -index 121b687..be7c3b9 100644 ---- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -@@ -39,6 +39,11 @@ - - #include - -+#if OS(LINUX) && defined(MADV_FREE) -+// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime -+#undef MADV_FREE -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif --- -cgit v1.0-4-g1e03 - diff --git a/deps/qt5/patches/qt5.mysql.h.diff b/deps/qt5/patches/qt5.mysql.h.diff deleted file mode 100644 index f1cf11b..0000000 --- a/deps/qt5/patches/qt5.mysql.h.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-everywhere-opensource-src-5.9.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h.orig 2017-05-26 14:43:31.000000000 +0200 -+++ qt-everywhere-opensource-src-5.9.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2017-06-17 22:11:34.211899826 +0200 -@@ -57,7 +57,7 @@ - #include - #endif - --#include -+#include - - #ifdef QT_PLUGIN - #define Q_EXPORT_SQLDRIVER_MYSQL diff --git a/deps/qt5/patches/qt5.private-includes.patch b/deps/qt5/patches/qt5.private-includes.patch deleted file mode 100644 index 3ef8ebe..0000000 --- a/deps/qt5/patches/qt5.private-includes.patch +++ /dev/null @@ -1,53 +0,0 @@ -# Taken from http://code.qt.io/cgit/qt/qtbase.git/patch/?id=67aa365d -# ------------------------------------------------------------------ - -From 67aa365d41ebfe082b4efcfd725e4d5f08be678c Mon Sep 17 00:00:00 2001 -From: Ulf Hermann -Date: Wed, 25 Apr 2018 12:48:21 +0200 -Subject: Do emit CMake declarations for existing private headers - -We need to make sure we don't emit CMake declarations for private -headers if those headers are absent. However, most of the time we have -private headers and should add them. - -Task-number: QTBUG-37417 -Change-Id: I639eb93d008de27928dedac540894af70c1883b9 -Reviewed-by: Oswald Buddenhagen ---- - mkspecs/features/create_cmake.prf | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 66acedef55..2ed708e085 100644 ---- a/mkspecs/features/create_cmake.prf -+++ b/mkspecs/features/create_cmake.prf -@@ -28,9 +28,13 @@ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake - - CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE}) - -+!generated_privates { -+ isEmpty(SYNCQT.INJECTED_PRIVATE_HEADER_FILES):isEmpty(SYNCQT.PRIVATE_HEADER_FILES): \ -+ CMAKE_NO_PRIVATE_INCLUDES = true -+} -+ - split_incpath { - CMAKE_ADD_SOURCE_INCLUDE_DIRS = true -- CMAKE_NO_PRIVATE_INCLUDES = true # Don't add private includes in the build dir which don't exist - CMAKE_SOURCE_INCLUDES = \ - $$cmakeTargetPaths($$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME}) - CMAKE_SOURCE_PRIVATE_INCLUDES = \ -@@ -53,10 +57,6 @@ contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { - CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True - } - --isEmpty(QT.$${MODULE}_private.includes)| \ -- !exists($$first(QT.$${MODULE}_private.includes)): \ -- CMAKE_NO_PRIVATE_INCLUDES = true -- - CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) - contains(CMAKE_LIB_DIR,"^\\.\\./.*") { - CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ --- -cgit v1.1-6-g87c4 - - diff --git a/deps/qt5/patches/qt5.pulseaudio.diff b/deps/qt5/patches/qt5.pulseaudio.diff deleted file mode 100644 index 8d8f616..0000000 --- a/deps/qt5/patches/qt5.pulseaudio.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- qt-everywhere-opensource-src-5.4.0/qtwebengine/src/3rdparty/chromium/media/media.gyp.orig 2014-12-05 17:26:44.000000000 +0100 -+++ qt-everywhere-opensource-src-5.4.0/qtwebengine/src/3rdparty/chromium/media/media.gyp 2014-12-12 10:27:20.393735405 +0100 -@@ -29,7 +29,7 @@ - ['use_cras==1', { - 'use_pulseaudio%': 0, - }, { -- 'use_pulseaudio%': 1, -+ 'use_pulseaudio%': 0, - }], - ], - }, { - diff --git a/deps/qt5/patches/qt5.qlockfile-deadlock.patch b/deps/qt5/patches/qt5.qlockfile-deadlock.patch deleted file mode 100644 index e51d5ad..0000000 --- a/deps/qt5/patches/qt5.qlockfile-deadlock.patch +++ /dev/null @@ -1,116 +0,0 @@ -# Taken from: -# https://projects.archlinux.org/svntogit/packages.git/plain/trunk/qlockfile-deadlock.patch?h=packages/qt5 -# QTBUG-44771 -# ---------------------------------------------------------------------------- -From f58e882b7594c59b6050d3c87562fcf836d10f60 Mon Sep 17 00:00:00 2001 -From: Olivier Goffart -Date: Tue, 14 Apr 2015 10:58:26 +0200 -Subject: QLockFile: fix deadlock when the lock file is corrupted - -[ChangeLog][QtCore][QLockFile] Fixed a deadlock when the lock file -is corrupted. - -Task-number: QTBUG-44771 -Change-Id: Ic490b09d70ff1cc1733b64949889a73720b2d0f3 -Reviewed-by: David Faure ---- - src/corelib/io/qlockfile_unix.cpp | 10 +++++----- - src/corelib/io/qlockfile_win.cpp | 22 +++++++++++----------- - tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp | 17 +++++++++++++++++ - 3 files changed, 33 insertions(+), 16 deletions(-) - -diff --git a/qtbase/src/corelib/io/qlockfile_unix.cpp b/qtbase/src/corelib/io/qlockfile_unix.cpp -index bf1015a..dc9f8f7 100644 ---- a/qtbase/src/corelib/io/qlockfile_unix.cpp -+++ b/qtbase/src/corelib/io/qlockfile_unix.cpp -@@ -181,11 +181,11 @@ bool QLockFilePrivate::isApparentlyStale() const - { - qint64 pid; - QString hostname, appname; -- if (!getLockInfo(&pid, &hostname, &appname)) -- return false; -- if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) { -- if (::kill(pid, 0) == -1 && errno == ESRCH) -- return true; // PID doesn't exist anymore -+ if (getLockInfo(&pid, &hostname, &appname)) { -+ if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) { -+ if (::kill(pid, 0) == -1 && errno == ESRCH) -+ return true; // PID doesn't exist anymore -+ } - } - const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime()); - return staleLockTime > 0 && age > staleLockTime; -diff --git a/qtbase/src/corelib/io/qlockfile_win.cpp b/qtbase/src/corelib/io/qlockfile_win.cpp -index f9f2909..3587c7b 100644 ---- a/qtbase/src/corelib/io/qlockfile_win.cpp -+++ b/qtbase/src/corelib/io/qlockfile_win.cpp -@@ -115,21 +115,21 @@ bool QLockFilePrivate::isApparentlyStale() const - { - qint64 pid; - QString hostname, appname; -- if (!getLockInfo(&pid, &hostname, &appname)) -- return false; - - // On WinRT there seems to be no way of obtaining information about other - // processes due to sandboxing - #ifndef Q_OS_WINRT -- if (hostname == QString::fromLocal8Bit(localHostName())) { -- HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid); -- if (!procHandle) -- return true; -- // We got a handle but check if process is still alive -- DWORD dwR = ::WaitForSingleObject(procHandle, 0); -- ::CloseHandle(procHandle); -- if (dwR == WAIT_TIMEOUT) -- return true; -+ if (getLockInfo(&pid, &hostname, &appname)) { -+ if (hostname == QString::fromLocal8Bit(localHostName())) { -+ HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid); -+ if (!procHandle) -+ return true; -+ // We got a handle but check if process is still alive -+ DWORD dwR = ::WaitForSingleObject(procHandle, 0); -+ ::CloseHandle(procHandle); -+ if (dwR == WAIT_TIMEOUT) -+ return true; -+ } - } - #endif // !Q_OS_WINRT - const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime()); -diff --git a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -index 77bef94..12bea67 100644 ---- a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -+++ b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp -@@ -58,6 +58,7 @@ private slots: - void staleLongLockFromBusyProcess(); - void staleLockRace(); - void noPermissions(); -+ void corruptedLockFile(); - - public: - QString m_helperApp; -@@ -415,5 +416,21 @@ void tst_QLockFile::noPermissions() - QCOMPARE(int(lockFile.error()), int(QLockFile::PermissionError)); - } - -+void tst_QLockFile::corruptedLockFile() -+{ -+ const QString fileName = dir.path() + "/corruptedLockFile"; -+ -+ { -+ // Create a empty file. Typically the result of a computer crash or hard disk full. -+ QFile file(fileName); -+ QVERIFY(file.open(QFile::WriteOnly)); -+ } -+ -+ QLockFile secondLock(fileName); -+ secondLock.setStaleLockTime(100); -+ QVERIFY(secondLock.tryLock(10000)); -+ QCOMPARE(int(secondLock.error()), int(QLockFile::NoError)); -+} -+ - QTEST_MAIN(tst_QLockFile) - #include "tst_qlockfile.moc" --- -cgit v0.11.0 - diff --git a/deps/qt5/patches/qt5.qt5uitoolsconfig.patch b/deps/qt5/patches/qt5.qt5uitoolsconfig.patch deleted file mode 100644 index 1a0da5b..0000000 --- a/deps/qt5/patches/qt5.qt5uitoolsconfig.patch +++ /dev/null @@ -1,17 +0,0 @@ -The fix for https://bugreports.qt.io/browse/QTBUG-76244 was not complete. -Further quoting is needed to deal with empty variables. --- Eric Hameleers - ---- qt-everywhere-src-5.13.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2019-06-13 06:18:18.000000000 +0200 -+++ qt-everywhere-src-5.13.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2019-07-09 19:37:15.253291684 +0200 -@@ -57,8 +57,8 @@ - - if(EXISTS \"${prl_file_location}\") - file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\") -- string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings}) -- string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends}) -+ string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\") -+ string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends \"${_static_depends}\") - string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\") - set(_search_paths) - string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\") diff --git a/deps/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch b/deps/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch deleted file mode 100644 index ff00e63..0000000 --- a/deps/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in ---- qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo 2019-04-30 15:18:24.886346423 -0500 -+++ qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in 2019-04-30 15:19:48.303873296 -0500 -@@ -66,8 +66,10 @@ unset(_GL_INCDIRS) - # Don\'t check for existence of the "_qt5gui_OPENGL_INCLUDE_DIR" because it is - # optional. - -+if (NOT ${_qt5gui_OPENGL_INCLUDE_DIR} STREQUAL "/usr/include") - list(APPEND Qt5Gui_INCLUDE_DIRS ${_qt5gui_OPENGL_INCLUDE_DIR}) - set_property(TARGET Qt5::Gui APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR}) -+endif() - - unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE) - diff --git a/deps/qt5/patches/qt5.qtbug-49061.patch b/deps/qt5/patches/qt5.qtbug-49061.patch deleted file mode 100644 index d006edb..0000000 --- a/deps/qt5/patches/qt5.qtbug-49061.patch +++ /dev/null @@ -1,80 +0,0 @@ -# -# https://github.com/qt/qtbase/commit/494376f9.patch -# -From 494376f980e96339b6f1eff7c41336ca4d853065 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Thu, 12 Nov 2015 10:14:51 -0800 -Subject: [PATCH] Stop unloading plugins in QPluginLoader and QFactoryLoader - -QPluginLoader hasn't unloaded in its destructor since Qt 5.0, but we -missed the equivalent code in QFactoryLoader (which bypasses -QPluginLoader). Besides, QPluginLoader::unload() was still doing -unloading, which it won't anymore. - -Not unloading plugins is Qt's policy, as decided during the 5.0 -development process and reaffirmed now in 5.6. This is due to static -data in plugins leaking out and remaining in use past the unloading of -the plugin, causing crashes. - -This does not affect QLibrary and QLibrary::unload(). Those are meant -for non-Qt loadable modules, so unloading them may be safe. - -Task-number: QTBUG-49061 -Discussed-on: http://lists.qt-project.org/pipermail/development/2015-November/023681.html -Change-Id: I461e9fc7199748faa187ffff1416070f138df8db -Reviewed-by: Simon Hausmann -Reviewed-by: Lars Knoll ---- - src/corelib/plugin/qfactoryloader.cpp | 6 ++++-- - src/corelib/plugin/qpluginloader.cpp | 5 +++-- - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp -index 53b38c3..c820d53 100644 ---- a/src/corelib/plugin/qfactoryloader.cpp -+++ b/src/corelib/plugin/qfactoryloader.cpp -@@ -203,10 +203,12 @@ void QFactoryLoader::update() - ++keyUsageCount; - } - } -- if (keyUsageCount || keys.isEmpty()) -+ if (keyUsageCount || keys.isEmpty()) { -+ library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload - d->libraryList += library; -- else -+ } else { - library->release(); -+ } - } - } - #else -diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp -index 62067c7..4752f69 100644 ---- a/src/corelib/plugin/qpluginloader.cpp -+++ b/src/corelib/plugin/qpluginloader.cpp -@@ -154,6 +154,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, QObject *parent) - : QObject(parent), d(0), did_load(false) - { - setFileName(fileName); -+ setLoadHints(QLibrary::PreventUnloadHint); - } - - /*! -@@ -348,7 +349,7 @@ static QString locatePlugin(const QString& fileName) - void QPluginLoader::setFileName(const QString &fileName) - { - #if defined(QT_SHARED) -- QLibrary::LoadHints lh; -+ QLibrary::LoadHints lh = QLibrary::PreventUnloadHint; - if (d) { - lh = d->loadHints(); - d->release(); -@@ -394,7 +395,7 @@ QString QPluginLoader::errorString() const - \brief Give the load() function some hints on how it should behave. - - You can give hints on how the symbols in the plugin are -- resolved. By default, none of the hints are set. -+ resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set. - - See the documentation of QLibrary::loadHints for a complete - description of how this property works. diff --git a/deps/qt5/patches/qt5.qtbug-49452.patch b/deps/qt5/patches/qt5.qtbug-49452.patch deleted file mode 100644 index 4549ff1..0000000 --- a/deps/qt5/patches/qt5.qtbug-49452.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 6f423555eba55ccdf7287071e10576bc1b687fd2 Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt -Date: Mon, 1 Aug 2016 13:39:53 +0200 -Subject: [PATCH] REG: Fix unwanted cache flush in Freetype engine - -The Freetype cache was almost completely disabled by -134c6db8587a8ce156d4fa31ffa62605821851b2 because after that -change, the lockedAlphaMapForGlyph() function would no longer -cut off early for empty glyphs like spaces, but rather go -through all alpha map functions before it realized that there -was nothing to render. This would in turn invalidate the cache -for every empty glyph, causing all glyphs to be rerendered for -every isolated word. - -This change adds back a cut off. This is only needed in the -lockedAlphaMapForGlyph() function, since the superclass implementation -of the other alpha map functions already contains a cut off for -width/height == 0. - -[ChangeLog][Qt Gui][Text] Fixed a performance regression in Freetype -engine that was introduced in Qt 5.5. - -Change-Id: I381285939909e99cc5fb5f3497fecf9fa871f29a -Task-number: QTBUG-49452 -Reviewed-by: Simon Hausmann ---- - src/gui/text/qfontengine_ft.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp -index 4de41df..7c878da 100644 ---- a/src/gui/text/qfontengine_ft.cpp -+++ b/src/gui/text/qfontengine_ft.cpp -@@ -1716,7 +1716,7 @@ glyph_metrics_t QFontEngineFT::alphaMapBoundingBox(glyph_t glyph, QFixed subPixe - - static inline QImage alphaMapFromGlyphData(QFontEngineFT::Glyph *glyph, QFontEngine::GlyphFormat glyphFormat) - { -- if (glyph == Q_NULLPTR) -+ if (glyph == Q_NULLPTR || glyph->height == 0 || glyph->width == 0) - return QImage(); - - QImage::Format format = QImage::Format_Invalid; -@@ -1764,11 +1764,15 @@ QImage *QFontEngineFT::lockedAlphaMapForGlyph(glyph_t glyphIndex, QFixed subPixe - - currentlyLockedAlphaMap = alphaMapFromGlyphData(glyph, neededFormat); - -+ const bool glyphHasGeometry = glyph != Q_NULLPTR && glyph->height != 0 && glyph->width != 0; - if (!cacheEnabled && glyph != &emptyGlyph) { - currentlyLockedAlphaMap = currentlyLockedAlphaMap.copy(); - delete glyph; - } - -+ if (!glyphHasGeometry) -+ return Q_NULLPTR; -+ - if (currentlyLockedAlphaMap.isNull()) - return QFontEngine::lockedAlphaMapForGlyph(glyphIndex, subPixelPosition, neededFormat, t, offset); - diff --git a/deps/qt5/patches/qt5.qtbug-51621.patch b/deps/qt5/patches/qt5.qtbug-51621.patch deleted file mode 100644 index 187a3d7..0000000 --- a/deps/qt5/patches/qt5.qtbug-51621.patch +++ /dev/null @@ -1,39 +0,0 @@ -build with explicitlib after all - -unlike speculated in 2fe363514, this is not a workaround at all: it -causes that libraries' public link interfaces (LIBS) are exported in the -first place. unlike with staticlib, this does not export LIBS_PRIVATE, -so it wouldn't even be a particularly effective workaround for rpath -brokenness anyway. - -the problem was pretty well hidden by the qt module system, which at the -level of libraries is pretty redundant with the .prl file handling, -which shows just how stupid the whole "design" is. - -unlike before, we now enable explicitlib for all libraries, not just qt -modules - we enable create_prl for all of them as well, after all. - -an immediate effect of this change is that it fixes linking on RaspPI: -the qtcore headers make the user code require linking libatomic, so we -must add it to our public link interface. - -Task-number: QTBUG-51621 -Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2 - -X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=blobdiff_plain;f=mkspecs%2Ffeatures%2Fqt_build_config.prf;h=b3081b960ec192c3421d7a1c2bd5a628f0ca8455;hp=518fd93f0457c6060721c38ad8b6a0286407e562;hb=268e7ee9778de79d2485bdd028721ec7adbc1324;hpb=495e8c205424253186bef47421de63534d23dd59 - -diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf -index 518fd93..b3081b9 100644 ---- a/mkspecs/features/qt_build_config.prf -+++ b/mkspecs/features/qt_build_config.prf -@@ -72,6 +72,10 @@ CONFIG += \ - # However, testcases should be still built with exceptions. - exceptions_off testcase_exceptions - -+# Under Windows, this is neither necessary (transitive deps are automatically -+# resolved), nor functional (.res files end up in .prl files and break things). -+unix: CONFIG += explicitlib -+ - - defineTest(qtBuildPart) { - bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS) diff --git a/deps/qt5/patches/qt5.qtbug-51648.patch b/deps/qt5/patches/qt5.qtbug-51648.patch deleted file mode 100644 index 279839b..0000000 --- a/deps/qt5/patches/qt5.qtbug-51648.patch +++ /dev/null @@ -1,88 +0,0 @@ -From b024fbe83863fc57364a52c717d5b43d654bdb5d Mon Sep 17 00:00:00 2001 -From: Weng Xuetian -Date: Sat, 5 Mar 2016 12:23:21 -0800 -Subject: [PATCH] QtDBus: clean up signal hooks and object tree in - closeConnection - -If a QObject is added or passed as receiver to QDBusConnection::connect() -and it is managed by Q_GLOBAL_STATIC or similar mechanism, it is -possible that when that its destructor is called after the dbus daemon -thread ends. In that case, QObject::destroyed connected via -Qt::BlockingQueuedConnection to QDBusConnectionPrivate will cause dead -lock since the thread is no longer processing events. - -Task-number: QTBUG-51648 -Change-Id: I1a1810a6d6d0234af0269d5f3fc1f54101bf1547 ---- - src/dbus/qdbusconnection_p.h | 1 + - src/dbus/qdbusintegrator.cpp | 28 +++++++++++++++++++++++++++- - 2 files changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h -index c77daf7..565eb83 100644 ---- a/src/dbus/qdbusconnection_p.h -+++ b/src/dbus/qdbusconnection_p.h -@@ -254,6 +254,7 @@ private: - const QVector &metaTypes, int slotIdx); - - SignalHookHash::Iterator removeSignalHookNoLock(SignalHookHash::Iterator it); -+ void disconnectObjectTree(ObjectTreeNode &node); - - bool isServiceRegisteredByThread(const QString &serviceName); - -diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp -index cd44861..a3cd47b 100644 ---- a/src/dbus/qdbusintegrator.cpp -+++ b/src/dbus/qdbusintegrator.cpp -@@ -1030,7 +1030,6 @@ QDBusConnectionPrivate::~QDBusConnectionPrivate() - qPrintable(name)); - - closeConnection(); -- rootNode.children.clear(); // free resources - qDeleteAll(cachedMetaObjects); - - if (mode == ClientMode || mode == PeerMode) { -@@ -1052,6 +1051,20 @@ QDBusConnectionPrivate::~QDBusConnectionPrivate() - } - } - -+void QDBusConnectionPrivate::disconnectObjectTree(QDBusConnectionPrivate::ObjectTreeNode &haystack) -+{ -+ QDBusConnectionPrivate::ObjectTreeNode::DataList::Iterator it = haystack.children.begin(); -+ -+ while (it != haystack.children.end()) { -+ disconnectObjectTree(*it); -+ it++; -+ } -+ -+ if (haystack.obj) { -+ haystack.obj->disconnect(this); -+ } -+} -+ - void QDBusConnectionPrivate::closeConnection() - { - QDBusWriteLocker locker(CloseConnectionAction, this); -@@ -1075,6 +1088,19 @@ void QDBusConnectionPrivate::closeConnection() - } - - qDeleteAll(pendingCalls); -+ -+ // clean up all signal hook and object tree, to avoid QObject::destroyed -+ // being activated to dbus daemon thread which already quits. -+ // dbus connection is already closed, so there is nothing we could do be clean -+ // up everything here. -+ SignalHookHash::iterator sit = signalHooks.begin(); -+ while (sit != signalHooks.end()) { -+ sit.value().obj->disconnect(this); -+ sit++; -+ } -+ -+ disconnectObjectTree(rootNode); -+ rootNode.children.clear(); // free resources - } - - void QDBusConnectionPrivate::checkThread() --- -2.7.1 - diff --git a/deps/qt5/patches/qt5.qtbug-51649.patch b/deps/qt5/patches/qt5.qtbug-51649.patch deleted file mode 100644 index 3b7cf9e..0000000 --- a/deps/qt5/patches/qt5.qtbug-51649.patch +++ /dev/null @@ -1,159 +0,0 @@ -From acde2e69df5dedc624674107596f276125e22864 Mon Sep 17 00:00:00 2001 -From: Weng Xuetian -Date: Thu, 3 Mar 2016 21:56:53 -0800 -Subject: [PATCH] QtDBus: finish all pending call with error if disconnected - -libdbus will send a local signal if connection gets disconnected. When -this happens, end all pending calls with QDBusError::Disconnected. - -Task-number: QTBUG-51649 -Change-Id: I5c7d2a468bb5da746d0c0e53e458c1e376f186a9 ---- - src/dbus/dbus_minimal_p.h | 2 ++ - src/dbus/qdbusintegrator.cpp | 26 +++++++++++++++++----- - src/dbus/qdbusutil_p.h | 6 +++++ - .../dbus/qdbusconnection/tst_qdbusconnection.cpp | 22 ++++++++++++++++++ - .../dbus/qdbusconnection/tst_qdbusconnection.h | 1 + - 5 files changed, 51 insertions(+), 6 deletions(-) - -diff --git a/src/dbus/dbus_minimal_p.h b/src/dbus/dbus_minimal_p.h -index f0a2954..8f25b24 100644 ---- a/src/dbus/dbus_minimal_p.h -+++ b/src/dbus/dbus_minimal_p.h -@@ -99,9 +99,11 @@ typedef dbus_uint32_t dbus_bool_t; - /* dbus-shared.h */ - #define DBUS_SERVICE_DBUS "org.freedesktop.DBus" - #define DBUS_PATH_DBUS "/org/freedesktop/DBus" -+#define DBUS_PATH_LOCAL "/org/freedesktop/DBus/Local" - #define DBUS_INTERFACE_DBUS "org.freedesktop.DBus" - #define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable" - #define DBUS_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties" -+#define DBUS_INTERFACE_LOCAL "org.freedesktop.DBus.Local" - - #define DBUS_NAME_FLAG_ALLOW_REPLACEMENT 0x1 /**< Allow another service to become the primary owner if requested */ - #define DBUS_NAME_FLAG_REPLACE_EXISTING 0x2 /**< Request to replace the current primary owner */ -diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp -index cd44861..320419f 100644 ---- a/src/dbus/qdbusintegrator.cpp -+++ b/src/dbus/qdbusintegrator.cpp -@@ -519,6 +519,14 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg) - switch (amsg.type()) { - case QDBusMessage::SignalMessage: - handleSignal(amsg); -+ // Check local disconnected signal from libdbus -+ if (amsg.interface() == QDBusUtil::dbusInterfaceLocal() -+ && amsg.path() == QDBusUtil::dbusPathLocal() -+ && amsg.member() == QDBusUtil::disconnected() -+ && !QDBusMessagePrivate::isLocal(amsg)) { -+ while (!pendingCalls.isEmpty()) -+ processFinishedCall(pendingCalls.first()); -+ } - // if there are any other filters in this DBusConnection, - // let them see the signal too - return false; -@@ -1767,10 +1775,16 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) - - QDBusMessage &msg = call->replyMessage; - if (call->pending) { -- // decode the message -- DBusMessage *reply = q_dbus_pending_call_steal_reply(call->pending); -- msg = QDBusMessagePrivate::fromDBusMessage(reply, connection->capabilities); -- q_dbus_message_unref(reply); -+ // when processFinishedCall is called and pending call is not completed, -+ // it means we received disconnected signal from libdbus -+ if (q_dbus_pending_call_get_completed(call->pending)) { -+ // decode the message -+ DBusMessage *reply = q_dbus_pending_call_steal_reply(call->pending); -+ msg = QDBusMessagePrivate::fromDBusMessage(reply, connection->capabilities); -+ q_dbus_message_unref(reply); -+ } else { -+ msg = QDBusMessage::createError(QDBusError::Disconnected, QDBusUtil::disconnectedErrorMessage()); -+ } - } - qDBusDebug() << connection << "got message reply:" << msg; - -@@ -2070,8 +2084,8 @@ void QDBusConnectionPrivate::sendInternal(QDBusPendingCallPrivate *pcall, void * - pcall->pending = pending; - q_dbus_pending_call_set_notify(pending, qDBusResultReceived, pcall, 0); - -- // DBus won't notify us when a peer disconnects so we need to track these ourselves -- if (mode == QDBusConnectionPrivate::PeerMode) -+ // DBus won't notify us when a peer disconnects or server terminates so we need to track these ourselves -+ if (mode == QDBusConnectionPrivate::PeerMode || mode == QDBusConnectionPrivate::ClientMode) - pendingCalls.append(pcall); - - return; -diff --git a/src/dbus/qdbusutil_p.h b/src/dbus/qdbusutil_p.h -index 8f5ae92..ca70ff9 100644 ---- a/src/dbus/qdbusutil_p.h -+++ b/src/dbus/qdbusutil_p.h -@@ -155,6 +155,8 @@ namespace QDBusUtil - { return QStringLiteral(DBUS_SERVICE_DBUS); } - inline QString dbusPath() - { return QStringLiteral(DBUS_PATH_DBUS); } -+ inline QString dbusPathLocal() -+ { return QStringLiteral(DBUS_PATH_LOCAL); } - inline QString dbusInterface() - { - // it's the same string, but just be sure -@@ -165,8 +167,12 @@ namespace QDBusUtil - { return QStringLiteral(DBUS_INTERFACE_PROPERTIES); } - inline QString dbusInterfaceIntrospectable() - { return QStringLiteral(DBUS_INTERFACE_INTROSPECTABLE); } -+ inline QString dbusInterfaceLocal() -+ { return QStringLiteral(DBUS_INTERFACE_LOCAL); } - inline QString nameOwnerChanged() - { return QStringLiteral("NameOwnerChanged"); } -+ inline QString disconnected() -+ { return QStringLiteral("Disconnected"); } - inline QString disconnectedErrorMessage() - { return QStringLiteral("Not connected to D-Bus server"); } - } -diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp -index e91f87d..6c7e6b1 100644 ---- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp -+++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp -@@ -1218,6 +1218,28 @@ void tst_QDBusConnection::callVirtualObjectLocal() - QCOMPARE(obj.replyArguments, subPathReply.arguments()); - } - -+void tst_QDBusConnection::pendingCallWhenDisconnected() -+{ -+ QDBusServer *server = new QDBusServer; -+ QDBusConnection con = QDBusConnection::connectToPeer(server->address(), "disconnect"); -+ QTestEventLoop::instance().enterLoop(2); -+ QVERIFY(!QTestEventLoop::instance().timeout()); -+ QVERIFY(con.isConnected()); -+ -+ delete server; -+ -+ // Make sure we call the method before we know it is disconnected. -+ QVERIFY(con.isConnected()); -+ QDBusMessage message = QDBusMessage::createMethodCall("", "/", QString(), "method"); -+ QDBusPendingCall reply = con.asyncCall(message); -+ -+ QTestEventLoop::instance().enterLoop(2); -+ QVERIFY(!con.isConnected()); -+ QVERIFY(reply.isFinished()); -+ QVERIFY(reply.isError()); -+ QVERIFY(reply.error().type() == QDBusError::Disconnected); -+} -+ - QString MyObject::path; - QString MyObjectWithoutInterface::path; - QString MyObjectWithoutInterface::interface; -diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h -index a53ba32..720e484 100644 ---- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h -+++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h -@@ -121,6 +121,7 @@ private slots: - void registerVirtualObject(); - void callVirtualObject(); - void callVirtualObjectLocal(); -+ void pendingCallWhenDisconnected(); - - public: - QString serviceName() const { return "org.qtproject.Qt.Autotests.QDBusConnection"; } --- -2.7.1 - diff --git a/deps/qt5/patches/qt5.qtbug-51676.patch b/deps/qt5/patches/qt5.qtbug-51676.patch deleted file mode 100644 index 8672a21..0000000 --- a/deps/qt5/patches/qt5.qtbug-51676.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 11c5e716b08b6b3c5a7c9fce96b0cde8624ec869 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Tue, 15 Mar 2016 11:00:20 -0700 -Subject: [PATCH] Fix QtDBus deadlock inside kded/kiod - -Whenever a message spy was installed, we failed to actually process -looped-back messages by queueing them for processing by the spy. That -had as a consequence that the caller got an error reply. Worse, since -the message had been queued, QtDBus would attempt to deliver it later. -Since that message had isLocal==true, bad things happened inside the -manager thread. - -The correct solution is not to queue the message for the filter. If the -message is local, then simply deliver directly, as we're still in the -user's thread. This used to be the behavior in Qt 5.5. - -Task-number: QTBUG-51676 -Change-Id: I1dc112894cde7121e8ce302ae51b438ade1ff612 ---- - src/dbus/qdbusintegrator.cpp | 42 ++++++++++++++++++++++++++++++++---------- - src/dbus/qdbusintegrator_p.h | 1 + - 2 files changed, 33 insertions(+), 10 deletions(-) - -diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp -index cd44861..478a2c4 100644 ---- a/src/dbus/qdbusintegrator.cpp -+++ b/src/dbus/qdbusintegrator.cpp -@@ -481,6 +481,11 @@ QDBusSpyCallEvent::~QDBusSpyCallEvent() - - void QDBusSpyCallEvent::placeMetaCall(QObject *) - { -+ invokeSpyHooks(msg, hooks, hookCount); -+} -+ -+inline void QDBusSpyCallEvent::invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount) -+{ - // call the spy hook list - for (int i = 0; i < hookCount; ++i) - hooks[i](msg); -@@ -509,7 +514,12 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg) - { - if (!ref.load()) - return false; -- if (!dispatchEnabled && !QDBusMessagePrivate::isLocal(amsg)) { -+ -+ // local message are always delivered, regardless of filtering -+ // or whether the dispatcher is enabled -+ bool isLocal = QDBusMessagePrivate::isLocal(amsg); -+ -+ if (!dispatchEnabled && !isLocal) { - // queue messages only, we'll handle them later - qDBusDebug() << this << "delivery is suspended"; - pendingMessages << amsg; -@@ -523,13 +533,23 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg) - // let them see the signal too - return false; - case QDBusMessage::MethodCallMessage: -- // run it through the spy filters (if any) before the regular processing -+ // run it through the spy filters (if any) before the regular processing: -+ // a) if it's a local message, we're in the caller's thread, so invoke the filter directly -+ // b) if it's an external message, post to the main thread - if (Q_UNLIKELY(qDBusSpyHookList.exists()) && qApp) { - const QDBusSpyHookList &list = *qDBusSpyHookList; -- qDBusDebug() << this << "invoking message spies"; -- QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this), -- amsg, list.constData(), list.size())); -- return true; -+ if (isLocal) { -+ Q_ASSERT(QThread::currentThread() != thread()); -+ qDBusDebug() << this << "invoking message spies directly"; -+ QDBusSpyCallEvent::invokeSpyHooks(amsg, list.constData(), list.size()); -+ } else { -+ qDBusDebug() << this << "invoking message spies via event"; -+ QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this), -+ amsg, list.constData(), list.size())); -+ -+ // we'll be called back, so return -+ return true; -+ } - } - - handleObjectCall(amsg); -@@ -1451,9 +1471,9 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg) - // that means the dispatchLock mutex is locked - // must not call out to user code in that case - // -- // however, if the message is internal, handleMessage was called -- // directly and no lock is in place. We can therefore call out to -- // user code, if necessary -+ // however, if the message is internal, handleMessage was called directly -+ // (user's thread) and no lock is in place. We can therefore call out to -+ // user code, if necessary. - ObjectTreeNode result; - int usedLength; - QThread *objThread = 0; -@@ -1492,12 +1512,14 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg) - usedLength, msg)); - return; - } else if (objThread != QThread::currentThread()) { -- // synchronize with other thread -+ // looped-back message, targeting another thread: -+ // synchronize with it - postEventToThread(HandleObjectCallPostEventAction, result.obj, - new QDBusActivateObjectEvent(QDBusConnection(this), this, result, - usedLength, msg, &sem)); - semWait = true; - } else { -+ // looped-back message, targeting current thread - semWait = false; - } - } // release the lock -diff --git a/src/dbus/qdbusintegrator_p.h b/src/dbus/qdbusintegrator_p.h -index 2bbebdf..c0d9c22 100644 ---- a/src/dbus/qdbusintegrator_p.h -+++ b/src/dbus/qdbusintegrator_p.h -@@ -145,6 +145,7 @@ public: - {} - ~QDBusSpyCallEvent(); - void placeMetaCall(QObject *) Q_DECL_OVERRIDE; -+ static inline void invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount); - - QDBusConnection conn; // keeps the refcount in QDBusConnectionPrivate up - QDBusMessage msg; --- -2.7.1 - diff --git a/deps/qt5/patches/qt5.qtbug-51890.patch b/deps/qt5/patches/qt5.qtbug-51890.patch deleted file mode 100644 index 51168b9..0000000 --- a/deps/qt5/patches/qt5.qtbug-51890.patch +++ /dev/null @@ -1,82 +0,0 @@ -QTBUG-51890: qtwebengine fails to build with system nss 3.23 -Patch obtained from: -https://github.com/qtproject/qtwebengine/commit/82900c7b96b2a6fb42fe3841df7685b820edd588.patch - -And modified to exclude the "Subproject commit" lines. - -# ---------------------------------------------------------------------------- - -From 82900c7b96b2a6fb42fe3841df7685b820edd588 Mon Sep 17 00:00:00 2001 -From: Kai Koehne -Date: Thu, 24 Mar 2016 13:55:28 +0100 -Subject: [PATCH] Use system NSS only for certificate handling - -Compiling against NSS 3.23 fails with current Chromium. Also, with NSS -3.21 there are failures connecting to e.g. google.com. - -Fix this by adapting the setup endorsed by upstream Chromium: BoringSSL -is always used for cryptography, and NSS only for certificate handlng. - -Patches included in 3rdparty update: - -0a385bb [backport] Call EnsureNSSHttpIOInit in the chimera build. -0472123 Fix build against newer NSS -90c62c4 [Backport] update to libpng 1.2.56 -34857b8 [Backport] Stop large iCCP chunks causing delays and "Aw Snap!" - -Task-number: QTBUG-52193 -Task-number: QTBUG-51890 -Task-number: QTBUG-52068 -Change-Id: If8aaed9b9a09475c5ed0dfec64d31f45ce9670f5 -Reviewed-by: Allan Sandfeld Jensen ---- - src/3rdparty | 2 +- - src/core/config/linux.pri | 9 ++++++--- - tools/qmake/mkspecs/features/configure.prf | 4 ++-- - 3 files changed, 9 insertions(+), 6 deletions(-) - -#diff --git a/src/3rdparty b/src/3rdparty -#index 3b2b78c..0a385bb 160000 -#--- a/src/3rdparty -#+++ b/src/3rdparty -#@@ -1 +1 @@ -#-Subproject commit 3b2b78caa761db2b7b25dc51c3dae8316f595db1 -#+Subproject commit 0a385bb01d9cf060fae4c9d350ee98561654df96 -diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri -index 88c1a41..39eeb2a 100644 ---- a/src/core/config/linux.pri -+++ b/src/core/config/linux.pri -@@ -18,11 +18,14 @@ GYP_CONFIG += \ - use_gio=0 \ - use_gnome_keyring=0 \ - use_kerberos=0 \ -- use_pango=0 -+ use_pango=0 \ -+ use_openssl=1 - --!use?(nss) { -+use?(nss) { -+ GYP_CONFIG += use_nss_certs=1 \ -+ use_openssl_certs=0 -+} else { - GYP_CONFIG += use_nss_certs=0 \ -- use_openssl=1 \ - use_openssl_certs=1 - } - -diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf -index 4cb4600..953572d 100644 ---- a/tools/qmake/mkspecs/features/configure.prf -+++ b/tools/qmake/mkspecs/features/configure.prf -@@ -72,9 +72,9 @@ defineTest(runConfigure) { - defineTest(finalizeConfigure) { - linux { - use?(nss) { -- log("SSL............................... Using system NSS$${EOL}") -+ log("Certificate handling.............. Using system NSS$${EOL}") - } else { -- log("SSL............................... Using bundled BoringSSL$${EOL}") -+ log("Certificate handling.............. Using bundled BoringSSL$${EOL}") - } - use?(system_icu) { - packagesExist("icu-uc icu-i18n") { diff --git a/deps/qt5/patches/qt5.qtbug-51927.patch b/deps/qt5/patches/qt5.qtbug-51927.patch deleted file mode 100644 index d253dc1..0000000 --- a/deps/qt5/patches/qt5.qtbug-51927.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 5149aa68eca6ede8836ec4f07a14d22d9da9b161 Mon Sep 17 00:00:00 2001 -From: Mitch Curtis -Date: Tue, 13 Sep 2016 12:42:12 +0200 -Subject: Fix crash on exit when using default property aliases with layouts - -The layout was being destroyed before the text, which meant that the -removeItemChangeListener() call never got hit. To ensure that the -listener is always removed, loop through each child in QQuickLayout's -destructor. - -This is a manual cherry-pick of -59c6c0e0b1b5b46747595a58e11311b7393d7e70. - -Task-number: QTBUG-51927 -Change-Id: I669f42beb8c3dd6b4b741cae0b16e017bb3409df -Reviewed-by: J-P Nurmi ---- - src/imports/layouts/qquicklayout.cpp | 4 ++ - .../qquicklayouts/data/rowlayout/Container.qml | 55 ++++++++++++++++++++++ - .../qquicklayouts/data/rowlayout/ContainerUser.qml | 53 +++++++++++++++++++++ - .../quick/qquicklayouts/data/tst_rowlayout.qml | 12 +++++ - 4 files changed, 124 insertions(+) - create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml - create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml - -diff --git a/src/imports/layouts/qquicklayout.cpp b/src/imports/layouts/qquicklayout.cpp -index abc8f97..9914826 100644 ---- a/src/imports/layouts/qquicklayout.cpp -+++ b/src/imports/layouts/qquicklayout.cpp -@@ -698,6 +698,10 @@ QQuickLayout::QQuickLayout(QQuickLayoutPrivate &dd, QQuickItem *parent) - QQuickLayout::~QQuickLayout() - { - d_func()->m_isReady = false; -+ -+ const auto childItems = d_func()->childItems; -+ for (QQuickItem *child : childItems) -+ QQuickItemPrivate::get(child)->removeItemChangeListener(this, QQuickItemPrivate::SiblingOrder); - } - - QQuickLayoutAttached *QQuickLayout::qmlAttachedProperties(QObject *object) -diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml -new file mode 100644 -index 0000000..22205c1 ---- /dev/null -+++ b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml -@@ -0,0 +1,55 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2016 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the test suite of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:BSD$ -+** You may use this file under the terms of the BSD license as follows: -+** -+** "Redistribution and use in source and binary forms, with or without -+** modification, are permitted provided that the following conditions are -+** met: -+** * Redistributions of source code must retain the above copyright -+** notice, this list of conditions and the following disclaimer. -+** * Redistributions in binary form must reproduce the above copyright -+** notice, this list of conditions and the following disclaimer in -+** the documentation and/or other materials provided with the -+** distribution. -+** * Neither the name of The Qt Company Ltd nor the names of its -+** contributors may be used to endorse or promote products derived -+** from this software without specific prior written permission. -+** -+** -+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+** "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 COPYRIGHT -+** OWNER OR 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." -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+import QtQuick 2.7 -+import QtQuick.Layouts 1.3 -+ -+Item { -+ objectName: "qtbug51927-window" -+ visible: true -+ -+ default property alias _contents: customContent.data -+ -+ RowLayout { -+ id: customContent -+ objectName: "qtbug51927-columnLayout" -+ anchors.fill: parent -+ } -+} -diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml -new file mode 100644 -index 0000000..ff7ce62 ---- /dev/null -+++ b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml -@@ -0,0 +1,53 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2016 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the test suite of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:BSD$ -+** You may use this file under the terms of the BSD license as follows: -+** -+** "Redistribution and use in source and binary forms, with or without -+** modification, are permitted provided that the following conditions are -+** met: -+** * Redistributions of source code must retain the above copyright -+** notice, this list of conditions and the following disclaimer. -+** * Redistributions in binary form must reproduce the above copyright -+** notice, this list of conditions and the following disclaimer in -+** the documentation and/or other materials provided with the -+** distribution. -+** * Neither the name of The Qt Company Ltd nor the names of its -+** contributors may be used to endorse or promote products derived -+** from this software without specific prior written permission. -+** -+** -+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+** "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 COPYRIGHT -+** OWNER OR 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." -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+import QtQuick 2.6 -+import QtQuick.Window 2.2 -+ -+Container { -+ visible: true -+ -+ Text { -+ objectName: "qtbug51927-text" -+ text: qsTr("Hello World") -+ anchors.centerIn: parent -+ renderType: Text.QtRendering -+ } -+} -diff --git a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml -index 33b8fd0..2d4e227 100644 ---- a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml -+++ b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml -@@ -926,5 +926,17 @@ Item { - waitForRendering(layout) - layout.destroy() - } -+ -+ -+ function test_defaultPropertyAliasCrash() { -+ var containerUserComponent = Qt.createComponent("rowlayout/ContainerUser.qml"); -+ compare(containerUserComponent.status, Component.Ready); -+ -+ var containerUser = containerUserComponent.createObject(testCase); -+ verify(containerUser); -+ -+ // Shouldn't crash. -+ containerUser.destroy(); -+ } - } - } --- -cgit v1.0-4-g1e03 - diff --git a/deps/qt5/patches/qt5.qtbug-53237.patch b/deps/qt5/patches/qt5.qtbug-53237.patch deleted file mode 100644 index c6d5739..0000000 --- a/deps/qt5/patches/qt5.qtbug-53237.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 8e889378115c69508b050a511621ac8e30ec4158 Mon Sep 17 00:00:00 2001 -From: Jesus Fernandez -Date: Mon, 13 Jun 2016 19:09:15 +0200 -Subject: [PATCH] Fix UNSIGNED values in QMYSQL - -The unsigned flag in columns was ignored when creating the list of -bound values in a mysql table. So the result iteration with -QSqlQuery::next stops after the first wrong truncated value. - -[ChangeLog][QtSql] Fixed QSqlQuery::prepare value truncation error when -using UNSIGNED values in a MySQL database. - -Task-number: QTBUG-53969 -Task-number: QTBUG-53237 -Change-Id: I10d977993445f2794f1dd8c88b2e83517ef524f3 -Reviewed-by: Milian Wolff ---- - src/sql/drivers/mysql/qsql_mysql.cpp | 1 + - tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp | 39 +++++++++++++++++++++++ - 2 files changed, 40 insertions(+) - -diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp -index 96bdcc4..55bf499 100644 ---- a/src/sql/drivers/mysql/qsql_mysql.cpp -+++ b/src/sql/drivers/mysql/qsql_mysql.cpp -@@ -387,6 +387,7 @@ bool QMYSQLResultPrivate::bindInValues() - bind->buffer_length = f.bufLength = fieldInfo->length + 1; - bind->is_null = &f.nullIndicator; - bind->length = &f.bufLength; -+ bind->is_unsigned = fieldInfo->flags & UNSIGNED_FLAG ? 1 : 0; - f.outField=field; - - ++i; -diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp -index bd553d5..f1c4333 100644 ---- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp -+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp -@@ -233,6 +233,9 @@ private slots: - void QTBUG_36211_data() { generic_data("QPSQL"); } - void QTBUG_36211(); - -+ void QTBUG_53969_data() { generic_data("QMYSQL"); } -+ void QTBUG_53969(); -+ - void sqlite_constraint_data() { generic_data("QSQLITE"); } - void sqlite_constraint(); - -@@ -3652,6 +3655,42 @@ void tst_QSqlQuery::QTBUG_36211() - } - } - -+void tst_QSqlQuery::QTBUG_53969() -+{ -+ QFETCH( QString, dbName ); -+ QVector values = QVector() << 10 << 20 << 127 << 128 << 1, tableValues; -+ QSqlDatabase db = QSqlDatabase::database( dbName ); -+ CHECK_DATABASE( db ); -+ tableValues.reserve(values.size()); -+ if (tst_Databases::getDatabaseType(db) == QSqlDriver::MySqlServer) { -+ const QString tableName(qTableName("bug53969", __FILE__, db)); -+ tst_Databases::safeDropTable( db, tableName ); -+ -+ QSqlQuery q(db); -+ QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (id INT AUTO_INCREMENT PRIMARY KEY, " -+ "test_number TINYINT(3) UNSIGNED)") -+ .arg(tableName))); -+ -+ QVERIFY_SQL(q, prepare("INSERT INTO " + tableName + " (test_number) VALUES (:value)")); -+ -+ QVector::iterator begin = values.begin(), end = values.end(), it; -+ for (it = begin; it != end; ++it) { -+ q.bindValue(":value", *it); -+ QVERIFY_SQL(q, exec()); -+ } -+ -+ QVERIFY_SQL(q, prepare("SELECT test_number FROM " + tableName)); -+ QVERIFY_SQL(q, exec()); -+ -+ while (q.next()) { -+ bool ok; -+ tableValues.push_back(q.value(0).toUInt(&ok)); -+ QVERIFY(ok); -+ } -+ QCOMPARE(values, tableValues); -+ } -+} -+ - void tst_QSqlQuery::oraOCINumber() - { - QFETCH( QString, dbName ); diff --git a/deps/qt5/patches/qt5.qtbug-55583.patch b/deps/qt5/patches/qt5.qtbug-55583.patch deleted file mode 100644 index 804f538..0000000 --- a/deps/qt5/patches/qt5.qtbug-55583.patch +++ /dev/null @@ -1,41 +0,0 @@ -# -# https://github.com/qt/qtbase/commit/84ea00d4.patch -# -From 84ea00d47049d882f2fabf1446ec6c6eb5fe3038 Mon Sep 17 00:00:00 2001 -From: J-P Nurmi -Date: Tue, 6 Dec 2016 16:30:31 +0100 -Subject: [PATCH] QGtk3Dialog: don't crash on Wayland - -Check if it's an X11 window before calling XSetTransientForHint(). -No transient parent will be set for GTK+ dialogs on Wayland. That -has to be implemented separately. - -Task-number: QTBUG-55583 -Change-Id: Iabc2a72681c8157bb2f2fe500892853aa397106b -Reviewed-by: Dmitry Shachnev -Reviewed-by: Shawn Rutledge ---- - src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -index ba5089a..699b058 100644 ---- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -+++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp -@@ -135,10 +135,12 @@ bool QGtk3Dialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWind - - GdkWindow *gdkWindow = gtk_widget_get_window(gtkWidget); - if (parent) { -- GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow); -- XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay), -- gdk_x11_window_get_xid(gdkWindow), -- parent->winId()); -+ if (GDK_IS_X11_WINDOW(gdkWindow)) { -+ GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow); -+ XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay), -+ gdk_x11_window_get_xid(gdkWindow), -+ parent->winId()); -+ } - } - - if (modality != Qt::NonModal) { diff --git a/deps/qt5/patches/qt5.qtbug-60558.patch b/deps/qt5/patches/qt5.qtbug-60558.patch deleted file mode 100644 index 2d03920..0000000 --- a/deps/qt5/patches/qt5.qtbug-60558.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/qt/qtbase/commit/f45c6c18.patch - -From f45c6c180463ccb6620e1d273a264f14a1204a93 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Wed, 3 May 2017 14:08:50 -0700 -Subject: [PATCH] QInternal::unregisterCallback: don't crash on unregistering - during exit - -Task-number: QTBUG-60558 -Change-Id: Ica9894dc9b5e48278fd4fffd14bb34c6d98d2555 -Reviewed-by: Olivier Goffart (Woboq GmbH) ---- - src/corelib/global/qglobal.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp -index c37503f3db..22fc20d47e 100644 ---- a/src/corelib/global/qglobal.cpp -+++ b/src/corelib/global/qglobal.cpp -@@ -3988,8 +3988,10 @@ bool QInternal::registerCallback(Callback cb, qInternalCallback callback) - bool QInternal::unregisterCallback(Callback cb, qInternalCallback callback) - { - if (cb >= 0 && cb < QInternal::LastCallback) { -- QInternal_CallBackTable *cbt = global_callback_table(); -- return (bool) cbt->callbacks[cb].removeAll(callback); -+ if (global_callback_table.exists()) { -+ QInternal_CallBackTable *cbt = global_callback_table(); -+ return (bool) cbt->callbacks[cb].removeAll(callback); -+ } - } - return false; - } diff --git a/deps/qt5/patches/qt5.qtbug-61140.patch b/deps/qt5/patches/qt5.qtbug-61140.patch deleted file mode 100644 index 17468a9..0000000 --- a/deps/qt5/patches/qt5.qtbug-61140.patch +++ /dev/null @@ -1,101 +0,0 @@ -https://github.com/qt/qtbase/commit/744fd39e.patch - -From 744fd39e66b0b44e65a2505d674fa1cda8b205a4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Fri, 2 Jun 2017 11:09:55 +0200 -Subject: [PATCH] xcb: Don't destroy foreign windows - -We can't rely on virtual dispatch in the destructor. - -Task-number: QTBUG-61140 -Change-Id: Ib1026caf126095778c24254775cb5a0bfecf3a38 -Reviewed-by: Fabian Vogt -Reviewed-by: Gatis Paeglis ---- - src/plugins/platforms/xcb/qxcbintegration.cpp | 18 +----------------- - src/plugins/platforms/xcb/qxcbwindow.cpp | 16 ++++++++++------ - src/plugins/platforms/xcb/qxcbwindow.h | 12 ++++++++++++ - 3 files changed, 23 insertions(+), 23 deletions(-) - -diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp -index b414bee204..8e3ee20329 100644 ---- a/src/plugins/platforms/xcb/qxcbintegration.cpp -+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp -@@ -214,25 +214,9 @@ QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const - return xcbWindow; - } - --class QXcbForeignWindow : public QXcbWindow --{ --public: -- QXcbForeignWindow(QWindow *window, WId nativeHandle) -- : QXcbWindow(window) { m_window = nativeHandle; } -- ~QXcbForeignWindow() {} -- bool isForeignWindow() const override { return true; } -- --protected: -- // No-ops -- void create() override {} -- void destroy() override {} --}; -- - QPlatformWindow *QXcbIntegration::createForeignWindow(QWindow *window, WId nativeHandle) const - { -- QXcbWindow *xcbWindow = new QXcbForeignWindow(window, nativeHandle); -- xcbWindow->create(); -- return xcbWindow; -+ return new QXcbForeignWindow(window, nativeHandle); - } - - #ifndef QT_NO_OPENGL -diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp -index 289d0720e7..d6c69d52ef 100644 ---- a/src/plugins/platforms/xcb/qxcbwindow.cpp -+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp -@@ -597,13 +597,17 @@ QXcbWindow::~QXcbWindow() - } - - destroy(); -+} - -- if (isForeignWindow()) { -- if (connection()->mouseGrabber() == this) -- connection()->setMouseGrabber(Q_NULLPTR); -- if (connection()->mousePressWindow() == this) -- connection()->setMousePressWindow(Q_NULLPTR); -- } -+QXcbForeignWindow::~QXcbForeignWindow() -+{ -+ // Clear window so that destroy() does not affect it -+ m_window = 0; -+ -+ if (connection()->mouseGrabber() == this) -+ connection()->setMouseGrabber(nullptr); -+ if (connection()->mousePressWindow() == this) -+ connection()->setMousePressWindow(nullptr); - } - - void QXcbWindow::destroy() -diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h -index 56628094ee..f38343b6c2 100644 ---- a/src/plugins/platforms/xcb/qxcbwindow.h -+++ b/src/plugins/platforms/xcb/qxcbwindow.h -@@ -278,6 +278,18 @@ public Q_SLOTS: - xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE; - }; - -+class QXcbForeignWindow : public QXcbWindow -+{ -+public: -+ QXcbForeignWindow(QWindow *window, WId nativeHandle) -+ : QXcbWindow(window) { m_window = nativeHandle; } -+ ~QXcbForeignWindow(); -+ bool isForeignWindow() const override { return true; } -+ -+protected: -+ void create() override {} // No-op -+}; -+ - QT_END_NAMESPACE - - Q_DECLARE_METATYPE(QXcbWindow*) diff --git a/deps/qt5/patches/qt5.qtbug-66103.patch b/deps/qt5/patches/qt5.qtbug-66103.patch deleted file mode 100644 index 62d1b30..0000000 --- a/deps/qt5/patches/qt5.qtbug-66103.patch +++ /dev/null @@ -1,172 +0,0 @@ -https://code.qt.io/cgit/qt/qtbase.git/patch/?id=4a7771f206d4b29be549d3827c36a46679d90de6 - -From 4a7771f206d4b29be549d3827c36a46679d90de6 Mon Sep 17 00:00:00 2001 -From: Eike Hein -Date: Sun, 7 Jan 2018 13:02:01 +0900 -Subject: QSimpleDrag: Fix mouse release coords for delayed event transmission - -On platforms such as XCB, the drag cursor pixmap is shown via a window -(a QShapedPixmapWindow) under the cursor. - -The mouse button release event at the end of the drag is received in -this QXcbWindow, but intercepted by an event filter that QSimpleDrag -installs on the QApplication. It then resends it unmodified(!) after -the drag has ended and the drag pixmap window destroyed, causing it to -be delivered to the new top-level window. - -The local coordinates in the unmodified QMouseEvent are local to the -drag pixmap window and don't match the window it is delayed-transmitted -to. - -This ends up having fatal, user-visible effects particularly in Qt -Quick: QQuickWindow synthesizes a hover event once per frame using -the last received mouse coordinates, here: the release posted by -QSimpleDrag. This is done to update the hover event state for items -under the cursor when the mouse hasn't moved (e.g. QQuickMouseArea:: -containsMouse). The bogus event coordinates in the release event then -usually end up causing an item near the top-left of the QQuickWindow -to assume it is hovered (because drag pixmap windows tend to be small), -even when the mouse cursor is actually far away from it at the end of -the drag. - -This shows up e.g. in the Plasma 5 desktop, where dragging an icon -on the desktop will cause the icon at the top-left of the screen (if -any) to switch to hovered state, as the release coordinates on the -drag pixmap window (showing a dragged icon) fall into the geometry -of the top-left icon. - -QSimpleDrag contains a topLevelAt() function to find the top-level -window under the global cursor coordinates that is not the drag -pixmap window. This is used by the drop event delivery code. - -This patch uses this function to find the relevant top-level window, -then asks it to map the global cusor coordinates to its local -coordinate system, then synthesizes a new QMouseEvent with local -coordinates computed in this fashion. As a result the window now -gets a release event with coordinates that make sense and are -correct. - -Task-number: QTBUG-66103 -Change-Id: I04ebe6ccd4a991fdd4b540ff0227973ea8896a9d -Reviewed-by: Eike Hein -Reviewed-by: Shawn Rutledge ---- - src/gui/kernel/qsimpledrag.cpp | 32 +++++++++++++++++++++++++++----- - src/gui/kernel/qsimpledrag_p.h | 6 +++--- - 2 files changed, 30 insertions(+), 8 deletions(-) - -diff --git a/src/gui/kernel/qsimpledrag.cpp b/src/gui/kernel/qsimpledrag.cpp -index a1e25dc53c..87d3ba5915 100644 ---- a/src/gui/kernel/qsimpledrag.cpp -+++ b/src/gui/kernel/qsimpledrag.cpp -@@ -58,6 +58,7 @@ - - #include - #include -+#include - - #include - #include -@@ -69,6 +70,8 @@ QT_BEGIN_NAMESPACE - - #ifndef QT_NO_DRAGANDDROP - -+Q_LOGGING_CATEGORY(lcDnd, "qt.gui.dnd") -+ - static QWindow* topLevelAt(const QPoint &pos) - { - QWindowList list = QGuiApplication::topLevelWindows(); -@@ -94,10 +97,10 @@ static QWindow* topLevelAt(const QPoint &pos) - */ - - QBasicDrag::QBasicDrag() : -- m_restoreCursor(false), m_eventLoop(0), -+ m_current_window(nullptr), m_restoreCursor(false), m_eventLoop(nullptr), - m_executed_drop_action(Qt::IgnoreAction), m_can_drop(false), -- m_drag(0), m_drag_icon_window(0), m_useCompositing(true), -- m_screen(Q_NULLPTR) -+ m_drag(nullptr), m_drag_icon_window(nullptr), m_useCompositing(true), -+ m_screen(nullptr) - { - } - -@@ -161,6 +164,7 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) - return true; // Eat all mouse move events - } - case QEvent::MouseButtonRelease: -+ { - disableEventFilter(); - if (canDrop()) { - QPoint nativePosition = getNativeMousePos(e, m_drag_icon_window); -@@ -169,8 +173,25 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e) - cancel(); - } - exitDndEventLoop(); -- QCoreApplication::postEvent(o, new QMouseEvent(*static_cast(e))); -+ -+ // If a QShapedPixmapWindow (drag feedback) is being dragged along, the -+ // mouse event's localPos() will be relative to that, which is useless. -+ // We want a position relative to the window where the drag ends, if possible (?). -+ // If there is no such window (belonging to this Qt application), -+ // make the event relative to the window where the drag started. (QTBUG-66103) -+ const QMouseEvent *release = static_cast(e); -+ const QWindow *releaseWindow = topLevelAt(release->globalPos()); -+ qCDebug(lcDnd) << "mouse released over" << releaseWindow << "after drag from" << m_current_window << "globalPos" << release->globalPos(); -+ if (!releaseWindow) -+ releaseWindow = m_current_window; -+ QPoint releaseWindowPos = (releaseWindow ? releaseWindow->mapFromGlobal(release->globalPos()) : release->globalPos()); -+ QMouseEvent *newRelease = new QMouseEvent(release->type(), -+ releaseWindowPos, releaseWindowPos, release->screenPos(), -+ release->button(), release->buttons(), -+ release->modifiers(), release->source()); -+ QCoreApplication::postEvent(o, newRelease); - return true; // defer mouse release events until drag event loop has returned -+ } - case QEvent::MouseButtonDblClick: - case QEvent::Wheel: - return true; -@@ -349,7 +370,7 @@ static inline QPoint fromNativeGlobalPixels(const QPoint &point) - into account. - */ - --QSimpleDrag::QSimpleDrag() : m_current_window(0) -+QSimpleDrag::QSimpleDrag() - { - } - -@@ -373,6 +394,7 @@ void QSimpleDrag::startDrag() - updateCursor(Qt::IgnoreAction); - } - setExecutedDropAction(Qt::IgnoreAction); -+ qCDebug(lcDnd) << "drag began from" << m_current_window<< "cursor pos" << QCursor::pos() << "can drop?" << canDrop(); - } - - void QSimpleDrag::cancel() -diff --git a/src/gui/kernel/qsimpledrag_p.h b/src/gui/kernel/qsimpledrag_p.h -index 0b8a0bc703..bbd7f7f4bb 100644 ---- a/src/gui/kernel/qsimpledrag_p.h -+++ b/src/gui/kernel/qsimpledrag_p.h -@@ -105,6 +105,9 @@ protected: - - QDrag *drag() const { return m_drag; } - -+protected: -+ QWindow *m_current_window; -+ - private: - void enableEventFilter(); - void disableEventFilter(); -@@ -132,9 +135,6 @@ protected: - virtual void cancel() Q_DECL_OVERRIDE; - virtual void move(const QPoint &globalPos) Q_DECL_OVERRIDE; - virtual void drop(const QPoint &globalPos) Q_DECL_OVERRIDE; -- --private: -- QWindow *m_current_window; - }; - - #endif // QT_NO_DRAGANDDROP --- -cgit v1.1-6-g87c4 - - diff --git a/deps/qt5/patches/qt5.qtbug-69310.patch b/deps/qt5/patches/qt5.qtbug-69310.patch deleted file mode 100644 index b924627..0000000 --- a/deps/qt5/patches/qt5.qtbug-69310.patch +++ /dev/null @@ -1,37 +0,0 @@ -From fcba9fa861574f33e1d2e54d8c8d6da8062927cd Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Wed, 23 Jan 2019 10:42:12 +0100 -Subject: Fix regression in QPlainTextEdit updating - -It was incorrectly counting a block having more than one line as having -changed visibility. - -Fixes: QTBUG-69310 -Change-Id: I502cda1d3e8a4efb1c14122353cc0a4731d8581c -Reviewed-by: Richard Moe Gustavsen ---- - src/widgets/widgets/qplaintextedit.cpp | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp -index d6f6a364a8..57f2dec8f7 100644 ---- a/src/widgets/widgets/qplaintextedit.cpp -+++ b/src/widgets/widgets/qplaintextedit.cpp -@@ -312,10 +312,11 @@ void QPlainTextDocumentLayout::documentChanged(int from, int charsRemoved, int c - QTextBlock block = changeStartBlock; - do { - block.clearLayout(); -- const int lineCount = block.isVisible() ? 1 : 0; -- if (block.lineCount() != lineCount) { -+ if (block.isVisible() -+ ? (block.lineCount() == 0) -+ : (block.lineCount() > 0)) { - blockVisibilityChanged = true; -- block.setLineCount(lineCount); -+ block.setLineCount(block.isVisible() ? 1 : 0); - } - if (block == changeEndBlock) - break; --- -cgit v1.2.1 - diff --git a/deps/qt5/patches/qt5.qtbug-76255.patch b/deps/qt5/patches/qt5.qtbug-76255.patch deleted file mode 100644 index 678913c..0000000 --- a/deps/qt5/patches/qt5.qtbug-76255.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cc32a691936f37eaaec618a71edd62f896009c9d Mon Sep 17 00:00:00 2001 -From: Joerg Bornemann -Date: Fri, 06 Sep 2019 10:54:44 +0200 -Subject: [PATCH] Fix CMake config files for -libdir different from "lib" - -When Qt was configured with -libdir different from "lib", one could not -build with CMake whenever a static lib was pulled in (e.g. uitools). - -Do not hard-code "/lib" but use the correct variable also for static -libraries. - -Fixes: QTBUG-76255 -Change-Id: I28c6861752e29e461247628d2b1f8a9ec32f0790 -Reviewed-by: Alexandru Croitor -Reviewed-by: Fabian Vogt ---- - -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index d4fd057..f4a34d6 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -53,7 +53,11 @@ - set(_lib_deps) - set(_link_flags) - -- get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE) -+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\") -+!!ELSE -+ set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\") -+!!ENDIF - - if(EXISTS \"${prl_file_location}\") - file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\") - diff --git a/deps/qt5/patches/qt5.qtbug-77037.patch b/deps/qt5/patches/qt5.qtbug-77037.patch deleted file mode 100644 index 4dac59a..0000000 --- a/deps/qt5/patches/qt5.qtbug-77037.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 0b57f15958f07ef12c8944d6db7a33a6fe9d9c59 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Mon, 23 Sep 2019 13:49:53 +0200 -Subject: Fix building with pulseaudio 13 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The function signature changed though the ABI stayed the same. - -Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876 -Fixes: QTBUG-77037 -Reviewed-by: Jüri Valdmann ---- - chromium/media/audio/pulse/pulse.sigs | 16 ++++++++-------- - chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++ - 2 files changed, 19 insertions(+), 8 deletions(-) - -diff --git a/chromium/media/audio/pulse/pulse.sigs b/chromium/media/audio/pulse/pulse.sigs -index 8b5888786a9..daaeb149c13 100644 ---- a/chromium/media/audio/pulse/pulse.sigs -+++ b/chromium/media/audio/pulse/pulse.sigs -@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p - pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); - pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); - pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); --pa_context_state_t pa_context_get_state(pa_context* c); -+pa_context_state_t pa_context_get_state(const_pa_context_ptr c); - pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); - pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); - void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); --pa_operation_state_t pa_operation_get_state(pa_operation* o); -+pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o); - void pa_context_unref(pa_context* c); - void pa_operation_unref(pa_operation* o); - int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); -@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi - int pa_stream_disconnect(pa_stream* s); - int pa_stream_drop(pa_stream *p); - pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); --uint32_t pa_stream_get_device_index(pa_stream* s); -+uint32_t pa_stream_get_device_index(const_pa_stream_ptr s); - int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); --pa_stream_state_t pa_stream_get_state(pa_stream* p); -+pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p); - pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); - pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); - pa_proplist* pa_proplist_new(void); --int pa_proplist_contains(pa_proplist* p, const char* key); -+int pa_proplist_contains(const_pa_proplist_ptr p, const char* key); - void pa_proplist_free(pa_proplist* p); --const char* pa_proplist_gets(pa_proplist* p, const char* key); -+const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key); - int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); --size_t pa_stream_readable_size(pa_stream *p); -+size_t pa_stream_readable_size(const_pa_stream_ptr p); - int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); - void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); - void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); - int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); - void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); - void pa_stream_unref(pa_stream* s); --int pa_context_errno(pa_context *c); -+int pa_context_errno(const_pa_context_ptr c); - const char* pa_strerror(int error); - pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); -diff --git a/chromium/media/audio/pulse/pulse_stub_header.fragment b/chromium/media/audio/pulse/pulse_stub_header.fragment -index 2a2d3e7552b..cdaa841b29f 100644 ---- a/chromium/media/audio/pulse/pulse_stub_header.fragment -+++ b/chromium/media/audio/pulse/pulse_stub_header.fragment -@@ -5,4 +5,15 @@ extern "C" { - - #include - -+#if PA_MAJOR > 12 -+typedef const pa_context* const_pa_context_ptr; -+typedef const pa_operation* const_pa_operation_ptr; -+typedef const pa_proplist* const_pa_proplist_ptr; -+typedef const pa_stream* const_pa_stream_ptr; -+#else -+typedef pa_context* const_pa_context_ptr; -+typedef pa_operation* const_pa_operation_ptr; -+typedef pa_proplist* const_pa_proplist_ptr; -+typedef pa_stream* const_pa_stream_ptr; -+#endif - } --- -cgit v1.2.1 - diff --git a/deps/qt5/patches/qt5.qtbug-77364.patch b/deps/qt5/patches/qt5.qtbug-77364.patch deleted file mode 100644 index 088856c..0000000 --- a/deps/qt5/patches/qt5.qtbug-77364.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp -index 04290a4ce1..27773d5762 100644 ---- a/src/widgets/kernel/qwidget.cpp -+++ b/src/widgets/kernel/qwidget.cpp -@@ -6446,7 +6446,7 @@ void QWidget::setFocusProxy(QWidget * w) - - if (changingAppFocusWidget) { - QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy(); -- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this; -+ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason); - } - } - diff --git a/deps/qt5/patches/qt5.webengine_gcc8.patch b/deps/qt5/patches/qt5.webengine_gcc8.patch deleted file mode 100644 index cf276bc..0000000 --- a/deps/qt5/patches/qt5.webengine_gcc8.patch +++ /dev/null @@ -1,26 +0,0 @@ -# Prevent these errors caused by using GCC8 -# (original patch taken from Fedora's chromium SRPM): -# -# make: *** [Makefile:1028: module-qtwebengine-make_first] Error 2 -# FAILED: obj/mojo/public/c/system/system/thunks.o -# ../../3rdparty/chromium/mojo/public/c/system/buffer.h:38:42: error: static assertion failed: int64_t has weird alignment -# ../../3rdparty/chromium/mojo/public/c/system/data_pipe.h:49:42: error: static assertion failed: int64_t has weird alignment -# ../../3rdparty/chromium/mojo/public/c/system/message_pipe.h:47:42: error: static assertion failed: int64_t has weird alignment -# ---- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400 -+++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 -@@ -18,7 +18,13 @@ - #endif - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/deps/qt5/patches/qt5.whandle.patch b/deps/qt5/patches/qt5.whandle.patch deleted file mode 100644 index 4428974..0000000 --- a/deps/qt5/patches/qt5.whandle.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Ulf Hermann -Date: Tue, 27 Oct 2015 14:25:42 +0000 (+0100) -Subject: WIP: Also do hide/show via WA_OutsideWSRange for native widgets -X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=5ea44d1d516f0c68a6793279df5c1569ef9fadd2 - -WIP: Also do hide/show via WA_OutsideWSRange for native widgets - -Task-number: QTBUG-48321 -Change-Id: I78ef29975181ee22429c9bd4b11d96d9e68b7a9c ---- - -diff --git a/qtbase/src/widgets/kernel/qwidget.cpp b/qtbase/src/widgets/kernel/qwidget.cpp -index a006246..024005d 100644 ---- a/qtbase/src/widgets/kernel/qwidget.cpp -+++ b/qtbase/src/widgets/kernel/qwidget.cpp -@@ -7169,7 +7169,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) - - bool needsShow = false; - -- if (q->isWindow()) { -+ if (q->isWindow() || q->windowHandle()) { - if (!(data.window_state & Qt::WindowFullScreen) && (w == 0 || h == 0)) { - q->setAttribute(Qt::WA_OutsideWSRange, true); - if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) diff --git a/deps/qt5/patches/qtbase-qxcbwindow.patch b/deps/qt5/patches/qtbase-qxcbwindow.patch deleted file mode 100644 index 62a0bb4..0000000 --- a/deps/qt5/patches/qtbase-qxcbwindow.patch +++ /dev/null @@ -1,97 +0,0 @@ -Taken from: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=0c183117 - -From 0c1831178540462da31fd7a4b6d2e446bc84498b Mon Sep 17 00:00:00 2001 -From: Erik Kurzinger -Date: Thu, 13 Jun 2019 08:15:50 -0700 -Subject: Track swap interval in QXcbWindow - -As per GLX_EXT_swap_control, the GLX swap interval is specified on a -per-drawable basis. However, QGLXContext only tracks it per-context -using the m_swapInterval member. If a new drawable is made current to a -context, it is still necessary to call glXSwapIntervalEXT to change the -swap interval, even if it has been previously called for the same -context with a different drawable. However, currently, -QGLXContext::makeCurrent doesn't do this if its m_swapInterval field -matches the new swap interval. This change removes m_swapInterval from -QGLXContext, instead tracking it in QXcbWindow. This still avoids -unnecessary calls to glXSwapIntervalEXT, while ensuring the swap -interval is always set for new window drawables. - -Change-Id: Idc34101476c6af618059f6f3d8925dee743994a3 -Reviewed-by: Giuseppe D'Angelo -Reviewed-by: Laszlo Agocs ---- - .../platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 6 +++--- - src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h | 1 - - src/plugins/platforms/xcb/qxcbwindow.h | 4 ++++ - 3 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -index 4adf662152..f26f698e76 100644 ---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -@@ -204,7 +204,6 @@ QGLXContext::QGLXContext(QXcbScreen *screen, const QSurfaceFormat &format, QPlat - , m_shareContext(0) - , m_format(format) - , m_isPBufferCurrent(false) -- , m_swapInterval(-1) - , m_ownsContext(nativeHandle.isNull()) - , m_getGraphicsResetStatus(0) - , m_lost(false) -@@ -567,9 +566,9 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface) - - if (success && surfaceClass == QSurface::Window) { - int interval = surface->format().swapInterval(); -+ QXcbWindow *window = static_cast(surface); - QXcbScreen *screen = screenForPlatformSurface(surface); -- if (interval >= 0 && m_swapInterval != interval && screen) { -- m_swapInterval = interval; -+ if (interval >= 0 && interval != window->swapInterval() && screen) { - typedef void (*qt_glXSwapIntervalEXT)(Display *, GLXDrawable, int); - typedef void (*qt_glXSwapIntervalMESA)(unsigned int); - static qt_glXSwapIntervalEXT glXSwapIntervalEXT = 0; -@@ -588,6 +587,7 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface) - glXSwapIntervalEXT(m_display, glxDrawable, interval); - else if (glXSwapIntervalMESA) - glXSwapIntervalMESA(interval); -+ window->setSwapInterval(interval); - } - } - -diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h -index be9d3f5dcb..2a88fd6e59 100644 ---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h -+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h -@@ -87,7 +87,6 @@ private: - GLXContext m_shareContext; - QSurfaceFormat m_format; - bool m_isPBufferCurrent; -- int m_swapInterval; - bool m_ownsContext; - GLenum (APIENTRY * m_getGraphicsResetStatus)(); - bool m_lost; -diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h -index f98cd8a74d..8258cc2dfa 100644 ---- a/src/plugins/platforms/xcb/qxcbwindow.h -+++ b/src/plugins/platforms/xcb/qxcbwindow.h -@@ -184,6 +184,9 @@ public: - static void setWindowTitle(const QXcbConnection *conn, xcb_window_t window, const QString &title); - static QString windowTitle(const QXcbConnection *conn, xcb_window_t window); - -+ int swapInterval() const { return m_swapInterval; } -+ void setSwapInterval(int swapInterval) { m_swapInterval = swapInterval; } -+ - public Q_SLOTS: - void updateSyncRequestCounter(); - -@@ -276,6 +279,7 @@ protected: - SyncState m_syncState = NoSyncNeeded; - - QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr; -+ int m_swapInterval = -1; - }; - - class QXcbForeignWindow : public QXcbWindow --- -cgit v1.2.1 - diff --git a/deps/qt5/patches/qtbase-zlib-compression.patch b/deps/qt5/patches/qtbase-zlib-compression.patch deleted file mode 100644 index a6896a4..0000000 --- a/deps/qt5/patches/qtbase-zlib-compression.patch +++ /dev/null @@ -1,41 +0,0 @@ -Taken from: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=cbdc9a77 - -From cbdc9a7786278c31fdb6eb465f32d0374349c1ef Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Thu, 20 Jun 2019 09:36:46 -0700 -Subject: RCC: Change the default compression to Zlib - -Codebases using QResource::isCompressed() and assuming it is Zlib break -if zstd is enabled. So change the default back to Zlib until Qt 6.0. - -[ChangeLog][Important Behavior Changes] RCC's default compression -algorithm was changed back to Zlib, as it was in all previous releases -until 5.13.0. The default will remain Zlib for all Qt 5.x releases but -will change in Qt 6.0. To activate Zstd compression for your resources, -either pass the --compress-algo=zstd option to the rcc tool or add the -XML attribute compression-algorithm="zstd" to the tags in the -.qrc file. - -Task-number: QTBUG-76521 -Change-Id: Ief874765cd7b43798de3fffd15a9f56fd9ad1ad4 -Reviewed-by: Simon Hausmann ---- - src/tools/rcc/rcc.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp -index 862e574f2d..011a7db810 100644 ---- a/src/tools/rcc/rcc.cpp -+++ b/src/tools/rcc/rcc.cpp -@@ -58,7 +58,7 @@ enum { - CONSTANT_COMPRESSTHRESHOLD_DEFAULT = 70 - }; - --#if QT_CONFIG(zstd) -+#if QT_CONFIG(zstd) && QT_VERSION >= QT_VERSION_CHECK(6,0,0) - # define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zstd - #elif !defined(QT_NO_COMPRESS) - # define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zlib --- -cgit v1.2.1 - diff --git a/deps/qt5/profile.d/qt5.csh b/deps/qt5/profile.d/qt5.csh deleted file mode 100644 index ec1ecd9..0000000 --- a/deps/qt5/profile.d/qt5.csh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/csh -# Environment path variables for the Qt package: -if ( ! $?QT5DIR ) then - # It's best to use the generic directory to avoid - # compiling in a version-containing path: - if ( -d /usr/lib@LIBDIRSUFFIX@/qt5 ) then - setenv QT5DIR /usr/lib@LIBDIRSUFFIX@/qt5 - else - # Find the newest Qt directory and set $QT5DIR to that: - foreach qtd ( /usr/lib@LIBDIRSUFFIX@/qt5-* ) - if ( -d $qtd ) then - setenv QT5DIR $qtd - endif - end - endif -endif -set path = ( $path $QT5DIR/bin ) diff --git a/deps/qt5/profile.d/qt5.sh b/deps/qt5/profile.d/qt5.sh deleted file mode 100644 index 8ee075e..0000000 --- a/deps/qt5/profile.d/qt5.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Environment variables for the Qt package. -# -# It's best to use the generic directory to avoid -# compiling in a version-containing path: -if [ -d /usr/lib@LIBDIRSUFFIX@/qt5 ]; then - QT5DIR=/usr/lib@LIBDIRSUFFIX@/qt5 -else - # Find the newest Qt directory and set $QT5DIR to that: - for qtd in /usr/lib@LIBDIRSUFFIX@/qt5-* ; do - if [ -d $qtd ]; then - QT5DIR=$qtd - fi - done -fi -PATH="$PATH:$QT5DIR/bin" -export QT5DIR 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 - diff --git a/deps/qt5/slack-desc b/deps/qt5/slack-desc deleted file mode 100644 index 99abf5c..0000000 --- a/deps/qt5/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# 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 ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -qt5: qt5 (a multi-platform C++ graphical user interface toolkit) -qt5: -qt5: Qt is a cross-platform C++ application framework. Qt's primary feature -qt5: is its rich set of widgets that provide standard GUI functionality. -qt5: -qt5: Homepage: http://qt-project.org -qt5: -qt5: -qt5: -qt5: -qt5: diff --git a/deps/updates.SlackBuild b/deps/updates.SlackBuild index 83375c9..f6e9dd8 100755 --- a/deps/updates.SlackBuild +++ b/deps/updates.SlackBuild @@ -17,14 +17,10 @@ ALLDEPS=" \ extra-cmake-modules \ md4c \ sni-qt \ - SDL_sound \ - OpenAL \ - libxkbcommon \ wayland \ brotli \ woff2 \ hyphen \ - qt5 \ qt5-webkit \ qca-qt5 \ libdbusmenu-qt5 \ -- cgit v1.2.3