summaryrefslogtreecommitdiffstats
path: root/source/l
diff options
context:
space:
mode:
Diffstat (limited to 'source/l')
-rwxr-xr-xsource/l/ConsoleKit2/ConsoleKit2.SlackBuild182
-rw-r--r--source/l/ConsoleKit2/rc.consolekit34
-rw-r--r--source/l/ConsoleKit2/slack-desc19
-rwxr-xr-xsource/l/PyQt/PyQt.SlackBuild139
-rw-r--r--source/l/PyQt/PyQt.phonon.diff11
-rwxr-xr-xsource/l/QScintilla/QScintilla.SlackBuild60
-rwxr-xr-xsource/l/QtAV/QtAV.SlackBuild138
-rw-r--r--source/l/QtAV/QtAV.url1
-rw-r--r--source/l/QtAV/doinst.sh3
-rwxr-xr-xsource/l/QtAV/fetch-QtAV.sh52
-rw-r--r--source/l/QtAV/slack-desc (renamed from source/l/PyQt/slack-desc)22
-rwxr-xr-xsource/l/SDL2/SDL2.SlackBuild2
-rwxr-xr-xsource/l/accountsservice/accountsservice.SlackBuild156
-rw-r--r--source/l/accountsservice/accountsservice.url1
-rw-r--r--source/l/accountsservice/slack-desc20
-rw-r--r--source/l/akonadi/akonadi-mariadb-10.2.patch65
-rw-r--r--source/l/akonadi/doinst.sh5
-rw-r--r--source/l/akonadi/mysql-global.conf.patch21
-rwxr-xr-xsource/l/attica/attica.SlackBuild114
-rw-r--r--source/l/attica/slack-desc19
-rw-r--r--source/l/automoc4/slack-desc19
-rwxr-xr-xsource/l/cfitsio/cfitsio.SlackBuild140
-rw-r--r--source/l/cfitsio/cfitsio.url1
-rw-r--r--source/l/cfitsio/slack-desc19
-rwxr-xr-xsource/l/cryfs/cryfs.SlackBuild138
-rw-r--r--source/l/cryfs/cryfs.url1
-rw-r--r--source/l/cryfs/slack-desc (renamed from source/l/liblastfm/slack-desc)24
-rwxr-xr-xsource/l/cryptopp/cryptopp.SlackBuild (renamed from source/l/automoc4/automoc4.SlackBuild)108
-rw-r--r--source/l/cryptopp/cryptopp.url1
-rw-r--r--source/l/cryptopp/slack-desc19
-rwxr-xr-xsource/l/dotconf/dotconf.SlackBuild (renamed from source/l/liblastfm/liblastfm.SlackBuild)97
-rw-r--r--source/l/dotconf/dotconf.url1
-rw-r--r--source/l/dotconf/slack-desc19
-rw-r--r--source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch75
-rwxr-xr-xsource/l/dvdauthor/dvdauthor.SlackBuild148
-rw-r--r--source/l/dvdauthor/dvdauthor.url1
-rw-r--r--source/l/dvdauthor/slack-desc19
-rwxr-xr-xsource/l/eigen3/eigen3.SlackBuild12
-rw-r--r--source/l/eigen3/slack-desc2
-rwxr-xr-xsource/l/frei0r-plugins/frei0r-plugins.SlackBuild (renamed from source/l/akonadi/akonadi.SlackBuild)108
-rw-r--r--source/l/frei0r-plugins/frei0r-plugins.url1
-rw-r--r--source/l/frei0r-plugins/slack-desc19
-rwxr-xr-xsource/l/grantlee/grantlee.SlackBuild99
-rw-r--r--source/l/grantlee/grantlee.url1
-rw-r--r--source/l/grantlee/slack-desc14
-rwxr-xr-xsource/l/gst-plugins-base/gst-plugins-base.SlackBuild2
-rw-r--r--source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff583
-rwxr-xr-xsource/l/gtk+3/gtk+3.SlackBuild5
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild4
-rwxr-xr-xsource/l/kdsoap/kdsoap.SlackBuild (renamed from source/l/qjson/qjson.SlackBuild)73
-rw-r--r--source/l/kdsoap/kdsoap.url1
-rw-r--r--source/l/kdsoap/slack-desc19
-rwxr-xr-xsource/l/lensfun/lensfun.SlackBuild (renamed from source/l/qt-gstreamer/qt-gstreamer.SlackBuild)112
-rw-r--r--source/l/lensfun/lensfun.url1
-rw-r--r--source/l/lensfun/slack-desc (renamed from source/l/akonadi/slack-desc)24
-rwxr-xr-xsource/l/libappindicator/libappindicator.SlackBuild163
-rw-r--r--source/l/libappindicator/slack-desc19
-rw-r--r--source/l/libbluedevil/slack-desc19
-rwxr-xr-xsource/l/libburn/libburn.SlackBuild143
-rw-r--r--source/l/libburn/libburn.url1
-rw-r--r--source/l/libburn/slack-desc19
-rwxr-xr-xsource/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild114
-rw-r--r--source/l/libdbusmenu-qt/libdbusmenu-qt.url1
-rw-r--r--source/l/libdbusmenu-qt/slack-desc4
-rwxr-xr-xsource/l/libdbusmenu/libdbusmenu.SlackBuild159
-rw-r--r--source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch35
-rw-r--r--source/l/libdbusmenu/slack-desc19
-rwxr-xr-xsource/l/libdmtx/libdmtx.SlackBuild143
-rw-r--r--source/l/libdmtx/libdmtx.url1
-rw-r--r--source/l/libdmtx/slack-desc19
-rw-r--r--source/l/libindicator/libindicator.LIBM.diff11
-rwxr-xr-xsource/l/libindicator/libindicator.SlackBuild159
-rw-r--r--source/l/libindicator/slack-desc19
-rw-r--r--source/l/liblastfm/liblastfm.url1
-rwxr-xr-xsource/l/libqalculate/libqalculate.SlackBuild145
-rw-r--r--source/l/libqalculate/libqalculate.url1
-rw-r--r--source/l/libqalculate/slack-desc19
-rwxr-xr-xsource/l/mlt/mlt.SlackBuild153
-rw-r--r--source/l/mlt/mlt.deps4
-rw-r--r--source/l/mlt/mlt.url1
-rw-r--r--source/l/mlt/slack-desc19
-rwxr-xr-xsource/l/opencv/opencv.SlackBuild148
-rw-r--r--source/l/opencv/opencv.url2
-rw-r--r--source/l/opencv/slack-desc19
-rwxr-xr-xsource/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild (renamed from source/l/qca-qt5/qca-qt5.SlackBuild)25
-rw-r--r--source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url1
-rw-r--r--source/l/phonon-backend-gstreamer/slack-desc19
-rwxr-xr-xsource/l/phonon-gstreamer/phonon-gstreamer.SlackBuild151
-rw-r--r--source/l/phonon-gstreamer/slack-desc19
-rwxr-xr-xsource/l/phonon/phonon.SlackBuild80
-rw-r--r--source/l/phonon/phonon.deps1
-rw-r--r--source/l/phonon/phonon.url1
-rw-r--r--source/l/phonon/slack-desc4
-rw-r--r--source/l/pipewire/doinst.sh (renamed from source/l/ConsoleKit2/doinst.sh)14
-rwxr-xr-xsource/l/pipewire/pipewire.SlackBuild137
-rw-r--r--source/l/pipewire/pipewire.url1
-rw-r--r--source/l/pipewire/slack-desc19
-rwxr-xr-xsource/l/polkit-qt-1/polkit-qt-1.SlackBuild95
-rw-r--r--source/l/polkit-qt-1/polkit-qt-1.url1
-rw-r--r--source/l/polkit-qt-1/pull-polkit-qt-16
-rw-r--r--source/l/polkit-qt-1/slack-desc6
-rw-r--r--source/l/polkit/0001-configure-fix-elogind-support.patch29
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild18
-rw-r--r--source/l/qca-qt5/slack-desc19
-rw-r--r--source/l/qca/Add_support_for_OpenSSL_1.1.0.diff1720
-rwxr-xr-xsource/l/qca/qca.SlackBuild118
-rw-r--r--source/l/qca/qca.tlsunittest.cpp.diff58
-rw-r--r--source/l/qca/qca.url (renamed from source/l/qca-qt5/qca-qt5.url)0
-rw-r--r--source/l/qca/slack-desc22
-rwxr-xr-xsource/l/qimageblitz/qimageblitz.SlackBuild101
-rw-r--r--source/l/qimageblitz/qimageblitz.info8
-rw-r--r--source/l/qimageblitz/slack-desc19
-rw-r--r--source/l/qjson/slack-desc19
-rwxr-xr-xsource/l/qrencode/qrencode.SlackBuild144
-rw-r--r--source/l/qrencode/qrencode.url1
-rw-r--r--source/l/qrencode/slack-desc19
-rw-r--r--source/l/qt-gstreamer/doinst.sh5
-rw-r--r--source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff12
-rw-r--r--source/l/qt-gstreamer/slack-desc19
-rw-r--r--source/l/qt/Qt.pc16
-rw-r--r--source/l/qt/README9
-rw-r--r--source/l/qt/doinst.sh10
-rw-r--r--source/l/qt/patches/qt-4.8-disable-sslv3.patch56
-rw-r--r--source/l/qt/patches/qt-4.8-poll.patch812
-rw-r--r--source/l/qt/patches/qt-aarch64.patch514
-rw-r--r--source/l/qt/patches/qt-cupsEnumDests.patch238
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch84
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch69
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch41
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch20
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch36
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch27
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch10
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch23
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch14
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch16
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch24
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch84
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch29
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch19
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch22
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch19
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch16
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch17
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch94
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch63
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch31
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch351
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch1456
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch137
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch45
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch35
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch694
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch40
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch12
-rw-r--r--source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch17
-rw-r--r--source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch50
-rw-r--r--source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch12
-rw-r--r--source/l/qt/profile.d/qt4.csh22
-rw-r--r--source/l/qt/profile.d/qt4.sh23
-rwxr-xr-xsource/l/qt/qt-nowebkit.SlackBuild362
-rwxr-xr-xsource/l/qt/qt.SlackBuild113
-rw-r--r--source/l/qt/qtwebkit/doinst.sh5
-rwxr-xr-xsource/l/qt/qtwebkit/qtwebkit.SlackBuild166
-rw-r--r--source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff13
-rw-r--r--source/l/qt/qtwebkit/qtwebkit.url1
-rw-r--r--source/l/qt/qtwebkit/slack-desc19
-rw-r--r--source/l/qt/slack-desc19
-rwxr-xr-xsource/l/qt5/qt5.SlackBuild3
-rwxr-xr-xsource/l/qtkeychain/qtkeychain.SlackBuild124
-rw-r--r--source/l/qtkeychain/qtkeychain.url1
-rw-r--r--source/l/qtkeychain/slack-desc19
-rw-r--r--source/l/qtscriptgenerator/include-everything.patch55
-rwxr-xr-xsource/l/qtscriptgenerator/qtscriptgenerator.SlackBuild150
-rw-r--r--source/l/qtscriptgenerator/qtscriptgenerator.info8
-rw-r--r--source/l/qtscriptgenerator/slack-desc19
-rwxr-xr-xsource/l/quazip/quazip.SlackBuild (renamed from source/l/libbluedevil/libbluedevil.SlackBuild)81
-rw-r--r--source/l/quazip/quazip.url1
-rw-r--r--source/l/quazip/slack-desc19
-rw-r--r--source/l/raptor2/slack-desc19
-rwxr-xr-xsource/l/rasqal/rasqal.SlackBuild140
-rw-r--r--source/l/rasqal/slack-desc19
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00138
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00260
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00369
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00447
-rwxr-xr-xsource/l/redland/redland.SlackBuild146
-rw-r--r--source/l/redland/slack-desc19
-rwxr-xr-xsource/l/rttr/rttr.SlackBuild136
-rw-r--r--source/l/rttr/rttr.url1
-rw-r--r--source/l/rttr/slack-desc19
-rw-r--r--source/l/soprano/slack-desc19
-rwxr-xr-xsource/l/soprano/soprano.SlackBuild115
-rw-r--r--source/l/speech-dispatcher/slack-desc19
-rwxr-xr-xsource/l/speech-dispatcher/speech-dispatcher.SlackBuild (renamed from source/l/raptor2/raptor2.SlackBuild)147
-rw-r--r--source/l/speech-dispatcher/speech-dispatcher.url1
-rw-r--r--source/l/strigi/README17
-rw-r--r--source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch30
-rw-r--r--source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch33
-rw-r--r--source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch1266
-rw-r--r--source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch50
-rw-r--r--source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch43
-rw-r--r--source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch65
-rw-r--r--source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch25
-rw-r--r--source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch276
-rw-r--r--source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/slack-desc19
-rwxr-xr-xsource/l/strigi/strigi.SlackBuild136
-rw-r--r--source/l/strigi/strigi.info4
-rwxr-xr-xsource/l/vid.stab/fetch-vid.stab.sh52
-rw-r--r--source/l/vid.stab/slack-desc19
-rwxr-xr-xsource/l/vid.stab/vid.stab.SlackBuild127
-rw-r--r--source/l/vid.stab/vid.stab.url1
-rwxr-xr-xsource/l/xapian-core/xapian-core.SlackBuild2
228 files changed, 4092 insertions, 13286 deletions
diff --git a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild b/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
deleted file mode 100755
index 1c5c07a28..000000000
--- a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for ConsoleKit
-
-# Copyright 2009, 2015 Robby Workman, Northport, Alabama, USA
-# Copyright 2010, 2015 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=ConsoleKit2
-VERSION=${VERSION:-1.2.1}
-BUILD=${BUILD:-4}
-
-# Maximum storage quota for XDG_RUNTIME_DIR:
-XDG_RUNTIME_QUOTA=${XDG_RUNTIME_QUOTA:-size=100M}
-
-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
-
-# 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) "}
-
-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" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- SLKLDFLAGS="-L/usr/lib64"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-# Apply a reasonable maximum size for the user's XDG_RUNTIME_DIR:
-sed -i "s/mode=0700,uid=%d/mode=0700,$XDG_RUNTIME_QUOTA,uid=%d/g" src/ck-sysdeps-linux.c
-
-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 {} \+
-
-# Choose correct options depending on whether PAM is installed:
-if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
- PAM_OPTIONS="--enable-pam-module=yes --with-pam-module-dir=/lib${LIBDIRSUFFIX}/security --disable-libcgmanager"
- unset SHADOW_OPTIONS
-else
- unset PAM_OPTIONS
- SHADOW_OPTIONS="--enable-pam-module=no"
-fi
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --with-rundir=/var/run \
- --with-pid-file=/var/run/ConsoleKit/pid \
- --enable-docbook-docs \
- $PAM_OPTIONS \
- $SHADOW_OPTIONS \
- --enable-udev-acl \
- --enable-polkit \
- --disable-static \
- --build=$TARGET || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-
-# The ones in /lib${LIBDIRSUFFIX}/security can also go:
-rm -f $PKG/lib${LIBDIRSUFFIX}/security/*.la
-
-# Let's not clobber config files
-mv $PKG/etc/ConsoleKit/seats.d/00-primary.seat \
- $PKG/etc/ConsoleKit/seats.d/00-primary.seat.new
-
-# Add an init script
-mkdir -p $PKG/etc/rc.d
-cat $CWD/rc.consolekit > $PKG/etc/rc.d/rc.consolekit.new
-chmod 0755 $PKG/etc/rc.d/rc.consolekit.new
-
-# Remove unused xinitrc.d script:
-rm -r $PKG/etc/X11/xinit/xinitrc.d
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Compress manual pages:
-find $PKG/usr/man -type f -exec gzip -9 {} \+
-for i in $( find $PKG/usr/man -type l ) ; do
- ln -s $( readlink $i ).gz $i.gz
- rm $i
-done
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING HACKING INSTALL NEWS README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/ConsoleKit2/rc.consolekit b/source/l/ConsoleKit2/rc.consolekit
deleted file mode 100644
index a1937569c..000000000
--- a/source/l/ConsoleKit2/rc.consolekit
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# /etc/rc.d/rc.consolekit
-#
-# Start/stop consolekit-kit daemon.
-#
-# This daemon is used by polkit's console auth agent.
-
-# Start consolekit:
-ck_start() {
- echo "Starting ConsoleKit daemon: /usr/sbin/console-kit-daemon"
- /usr/sbin/console-kit-daemon
-}
-
-# Stop consolekit:
-ck_stop() {
- if [ -r /var/run/ConsoleKit/pid ]; then
- kill -HUP $(cat /var/run/ConsoleKit/pid)
- rm -f /var/run/ConsoleKit/pid
- else
- killall -HUP -q console-kit-daemon
- fi
-}
-
-case "$1" in
-'start')
- ck_start
- ;;
-'stop')
- ck_stop
- ;;
-*)
- echo "Usage: $0 start|stop"
-esac
diff --git a/source/l/ConsoleKit2/slack-desc b/source/l/ConsoleKit2/slack-desc
deleted file mode 100644
index 6b51ea7df..000000000
--- a/source/l/ConsoleKit2/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-----------------------------------------------------|
-ConsoleKit2: ConsoleKit2 (user, login, and seat tracking framework)
-ConsoleKit2:
-ConsoleKit2: ConsoleKit2 is a framework for defining and tracking users, login
-ConsoleKit2: sessions, and seats.
-ConsoleKit2:
-ConsoleKit2: Homepage: https://github.com/ConsoleKit2/ConsoleKit2
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
diff --git a/source/l/PyQt/PyQt.SlackBuild b/source/l/PyQt/PyQt.SlackBuild
deleted file mode 100755
index 801234244..000000000
--- a/source/l/PyQt/PyQt.SlackBuild
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for PyQt
-
-# Copyright 2008 Aleksandar Samardzic <asamardzic@gmail.com>
-# Copyright 2008, 2009, 2010, 2011, 2017, 2018 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.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=PyQt
-VERSION=${VERSION:-$(echo ${PKGNAM}4_gpl_x11-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-# 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 [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
-else
- SLKCFLAGS="-O2"
-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-$(echo $VERSION |tr - _)-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-PYTHON2LIB=$( python2 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null )
-PYTHON3LIB=$( python3 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null )
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-
-rm -rf ${PKGNAM}4_gpl_x11-$VERSION
-tar xvf $CWD/${PKGNAM}4_gpl_x11-$VERSION.tar.?z || exit 1
-cd ${PKGNAM}4_gpl_x11-$VERSION || exit 1
-
-# Fix phonon detection:
-zcat $CWD/$PKGNAM.phonon.diff.gz | patch -p1 --verbose || 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 {} \+
-
-# This avoids compiling a version number into KDE's .la files:
-export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-export QT4DIR=/usr/lib${LIBDIRSUFFIX}/qt
-
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
-
-python3 configure.py \
- --confirm-license \
- --qsci-api \
- --verbose
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
-make clean
-
-mv $PKG/usr/bin/pyuic4 $PKG/usr/bin/pyuic4-py3
-rm -rf $PKG/$PYTHON3LIB/${PKGNAM}4/uic/port_v2/
-
-python2 configure.py \
- --confirm-license \
- --qsci-api \
- --verbose
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
-
-rm -rf $PKG/$PYTHON2LIB/${PKGNAM}4/uic/port_v3/
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Remove rpaths:
-for file in $(find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do
- if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then
- patchelf --remove-rpath $file
- fi
-done
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- GPL_EXCEPTION*.TXT LICENSE.* NEWS OPENSOURCE-NOTICE.TXT README THANKS doc/* \
- $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-$(echo $VERSION |tr - _)-$ARCH-$BUILD.txz
diff --git a/source/l/PyQt/PyQt.phonon.diff b/source/l/PyQt/PyQt.phonon.diff
deleted file mode 100644
index feda65096..000000000
--- a/source/l/PyQt/PyQt.phonon.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- PyQt-x11-gpl-4.6.2/configure.py.orig 2010-01-08 23:39:46.000000000 +0100
-+++ PyQt-x11-gpl-4.6.2/configure.py 2010-01-08 23:45:18.000000000 +0100
-@@ -451,7 +451,7 @@
- generate_code("QtXmlPatterns")
-
- if "phonon" in pyqt_modules:
-- generate_code("phonon")
-+ generate_code("phonon", extra_include_dirs=["/usr/include/phonon"])
-
- if "QtAssistant" in pyqt_modules:
- generate_code("QtAssistant")
diff --git a/source/l/QScintilla/QScintilla.SlackBuild b/source/l/QScintilla/QScintilla.SlackBuild
index ec2cd41ba..708c02a92 100755
--- a/source/l/QScintilla/QScintilla.SlackBuild
+++ b/source/l/QScintilla/QScintilla.SlackBuild
@@ -29,7 +29,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=QScintilla
VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -142,66 +142,8 @@ if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
#make || exit 1
#make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
cd -
-
- # In order to compile Qt4 support next, clean up first:
- make clean -C Qt4Qt5 || exit 1
- make clean -C designer-Qt4Qt5 || exit 1
- make clean -C Python || exit 1
fi
-# QT4 support:
-echo "-- Compiling Qt4 support --"
-cd Qt4Qt5
- echo "-- >> Qt4Qt5 --"
- qmake \
- -o Makefile \
- QMAKE_CFLAGS+="$SLKCFLAGS" \
- QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \
- qscintilla.pro || exit 1
- make $NUMJOBS || exit 1
- make install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-cd designer-Qt4Qt5
- echo "-- >> designer-Qt4Qt5 --"
- qmake \
- -o Makefile \
- INCLUDEPATH+=../Qt4Qt5 QMAKE_LIBDIR+=../Qt4Qt5 \
- QMAKE_CFLAGS+="$SLKCFLAGS" \
- QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \
- designer.pro || exit 1
- make $NUMJOBS || exit 1
- make install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-cd Python
- echo "-- >> Python --"
- python3 configure.py \
- --verbose \
- --qmake /usr/bin/qmake \
- -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \
- || exit 1
- make -j1 || exit 1
- make -j1 install INSTALL_ROOT=$PKG || exit 1
-
- make clean || exit 1
-
- python2 configure.py \
- --verbose \
- --qmake /usr/bin/qmake \
- -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \
- || exit 1
- make -j1 || exit 1
- make -j1 install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-# Link the shared qt4 libraries into /usr/lib${LIBDIRSUFFIX}:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in $(ls -1 qt/lib/*.so* 2>/dev/null) ; do
- ln -sf $file .
- done
-)
-
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/QtAV/QtAV.SlackBuild b/source/l/QtAV/QtAV.SlackBuild
new file mode 100755
index 000000000..3e4cd3438
--- /dev/null
+++ b/source/l/QtAV/QtAV.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=QtAV
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export LDFLAGS="$SLKLDFLAGS"
+
+qmake-qt5 INSTALL_PREFIX=/usr "CONFIG+=no-tests no_rpath recheck"
+make $NUMJOBS || make || exit 1
+make INSTALL_ROOT=$PKG install || exit 1
+
+# Create symlinks for the binaries; these are referenced in *.desktop:
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/Player .
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/QMLPlayer .
+)
+
+# Fix documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mv $PKG/usr/share/doc/* $PKG/usr/doc/$PKGNAM-$VERSION/
+rmdir $PKG/usr/share/doc
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+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/source/l/QtAV/QtAV.url b/source/l/QtAV/QtAV.url
new file mode 100644
index 000000000..8927fd5b6
--- /dev/null
+++ b/source/l/QtAV/QtAV.url
@@ -0,0 +1 @@
+https://github.com/wang-bin/QtAV
diff --git a/source/l/QtAV/doinst.sh b/source/l/QtAV/doinst.sh
new file mode 100644
index 000000000..5fb28930d
--- /dev/null
+++ b/source/l/QtAV/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/source/l/QtAV/fetch-QtAV.sh b/source/l/QtAV/fetch-QtAV.sh
new file mode 100755
index 000000000..d802d7add
--- /dev/null
+++ b/source/l/QtAV/fetch-QtAV.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 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.
+
+
+PKGNAM=QtAV
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/wang-bin/QtAV
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/l/PyQt/slack-desc b/source/l/QtAV/slack-desc
index e8cf45acd..95f8483f0 100644
--- a/source/l/PyQt/slack-desc
+++ b/source/l/QtAV/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-PyQt: PyQt (Python bindings for Qt)
-PyQt:
-PyQt: PyQt is a set of Python bindings for the Qt application framework and
-PyQt: runs on all platforms supported by Qt.
-PyQt:
-PyQt: Homepage: http://www.riverbankcomputing.co.uk/software/pyqt/
-PyQt:
-PyQt:
-PyQt:
-PyQt:
-PyQt:
+QtAV: QtAV (multimedia playback framework)
+QtAV:
+QtAV: QtAV is a multimedia playback framework based on Qt and FFmpeg. Some
+QtAV: components in QtAV are designed to be extensible.
+QtAV:
+QtAV: Homepage: http://qtav.org
+QtAV:
+QtAV:
+QtAV:
+QtAV:
+QtAV:
diff --git a/source/l/SDL2/SDL2.SlackBuild b/source/l/SDL2/SDL2.SlackBuild
index 984c58803..a07d35960 100755
--- a/source/l/SDL2/SDL2.SlackBuild
+++ b/source/l/SDL2/SDL2.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=SDL2
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/accountsservice/accountsservice.SlackBuild b/source/l/accountsservice/accountsservice.SlackBuild
new file mode 100755
index 000000000..0c2c02b3f
--- /dev/null
+++ b/source/l/accountsservice/accountsservice.SlackBuild
@@ -0,0 +1,156 @@
+#!/bin/bash
+
+# Copyright 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=accountsservice
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -D admin_group=wheel \
+ -D docbook=false \
+ -D gtk_doc=true \
+ -D elogind=true \
+ -D systemd=false \
+ -D systemdsystemunitdir=no \
+ -D user_heuristics=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/accountsservice/accountsservice.url b/source/l/accountsservice/accountsservice.url
new file mode 100644
index 000000000..73889e637
--- /dev/null
+++ b/source/l/accountsservice/accountsservice.url
@@ -0,0 +1 @@
+https://www.freedesktop.org/software/accountsservice
diff --git a/source/l/accountsservice/slack-desc b/source/l/accountsservice/slack-desc
new file mode 100644
index 000000000..e11fb6e85
--- /dev/null
+++ b/source/l/accountsservice/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------------------------------------------------------|
+accountsservice: accountsservice (D-Bus interface for user account query)
+accountsservice:
+accountsservice: AccountsService is a D-Bus service for accessing the list of user
+accountsservice: accounts and information attached to those accounts.
+accountsservice:
+accountsservice: Homepage: https://www.freedesktop.org/wiki/Software/AccountsService/
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+
diff --git a/source/l/akonadi/akonadi-mariadb-10.2.patch b/source/l/akonadi/akonadi-mariadb-10.2.patch
deleted file mode 100644
index 99b096fb3..000000000
--- a/source/l/akonadi/akonadi-mariadb-10.2.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-commit 22c53fa2aa97c7f0b5d7a1947821c5b3aef9de0f
-Author: Heinz Wiesinger <pprkut@liwjatan.at>
-Date: Sun Sep 17 15:55:48 2017 +0200
-
- Only remove init connections to the database on server shutdown.
-
- With MariaDB 10.2 libmysqlclient was replaced with libmariadb that
- changed how establishing database connections behaves. The MySQL
- QSQL driver calls mysql_server_end() on QSqlDatabase::removeDatabase()
- if the overall connection count dropped to 0 (which it does when
- the init connection is removed).
- A future QSqlDatabase:addDatabase() would call mysql_server_init()
- again, but this no longer works with libmariadb as that one only
- allows calling mysql_server_init() once. Future calls are simply
- ignored.
-
- In order to prevent this from happening we have to keep the
- init connection open until the server shuts down, so the connection
- count only drops to 0 at shutdown and mysql_server_end() isn't
- called before.
-
- This is a workaround for QTBUG-63108
-
-diff --git a/server/src/akonadi.cpp b/server/src/akonadi.cpp
-index 5369320c8..6d31f6ff4 100644
---- a/server/src/akonadi.cpp
-+++ b/server/src/akonadi.cpp
-@@ -370,12 +370,13 @@ void AkonadiServer::createDatabase()
- db.close();
- }
- }
-- QSqlDatabase::removeDatabase( initCon );
- }
-
- void AkonadiServer::stopDatabaseProcess()
- {
- if ( !DbConfig::configuredDatabase()->useInternalServer() ) {
-+ // closing initConnection this late to work around QTBUG-63108
-+ QSqlDatabase::removeDatabase(QLatin1String("initConnection"));
- return;
- }
-
-diff --git a/server/src/storage/dbconfigmysql.cpp b/server/src/storage/dbconfigmysql.cpp
-index 10f99db70..36f1f3a42 100644
---- a/server/src/storage/dbconfigmysql.cpp
-+++ b/server/src/storage/dbconfigmysql.cpp
-@@ -395,8 +395,6 @@ void DbConfigMysql::startInternalServer()
- db.close();
- }
- }
--
-- QSqlDatabase::removeDatabase( initCon );
- }
-
- void DbConfigMysql::stopInternalServer()
-@@ -405,6 +403,9 @@ void DbConfigMysql::stopInternalServer()
- return;
- }
-
-+ // closing initConnection this late to work around QTBUG-63108
-+ QSqlDatabase::removeDatabase(QLatin1String("initConnection"));
-+
- // first, try the nicest approach
- if ( !mCleanServerShutdownCommand.isEmpty() ) {
- QProcess::execute( mCleanServerShutdownCommand );
diff --git a/source/l/akonadi/doinst.sh b/source/l/akonadi/doinst.sh
deleted file mode 100644
index aab1b9e3c..000000000
--- a/source/l/akonadi/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database ./usr/share/mime >/dev/null 2>&1
-fi
-
diff --git a/source/l/akonadi/mysql-global.conf.patch b/source/l/akonadi/mysql-global.conf.patch
deleted file mode 100644
index 24bf6ea0c..000000000
--- a/source/l/akonadi/mysql-global.conf.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -r -u akonadi-1.13.0.orig/server/src/storage/mysql-global.conf akonadi-1.13.0/server/src/storage/mysql-global.conf
---- akonadi-1.13.0.orig/server/src/storage/mysql-global.conf 2014-08-10 12:38:58.000000000 +0200
-+++ akonadi-1.13.0/server/src/storage/mysql-global.conf 2017-08-31 19:43:35.000000000 +0200
-@@ -37,13 +37,13 @@
- # use InnoDB for transactions and better crash recovery
- default_storage_engine=innodb
-
--# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
--# Deprecated in MySQL >= 5.6.3
--innodb_additional_mem_pool_size=1M
-+# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:8M)
-+# Deprecated in MySQL >= 5.6.3, removed in 5.7 (works in MariaDB)
-+# innodb_additional_mem_pool_size=8M
-
- # memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
- # Larger values means less I/O
--innodb_buffer_pool_size=80M
-+innodb_buffer_pool_size=128M
-
- # Create a .ibd file for each table (default:0)
- innodb_file_per_table=1
diff --git a/source/l/attica/attica.SlackBuild b/source/l/attica/attica.SlackBuild
deleted file mode 100755
index 36615ca5d..000000000
--- a/source/l/attica/attica.SlackBuild
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-
-# Copyright 2009, 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011, 2018 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.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=attica
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-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" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || 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 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- $KDE_OPT_ARGS \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a AUTHORS* COPYING* 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/source/l/attica/slack-desc b/source/l/attica/slack-desc
deleted file mode 100644
index b9a96f33a..000000000
--- a/source/l/attica/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-------------------------------------------------------|
-attica: attica (Qt Collaboration library)
-attica:
-attica: Attica is a Qt library that implements the freedesktop.org
-attica: specification for the Open Collaboration Services API version 1.4.
-attica: It grants easy access to the services such as querying information
-attica: about persons and contents.
-attica:
-attica: Homepage: http://www.kde.org
-attica:
-attica:
-attica:
diff --git a/source/l/automoc4/slack-desc b/source/l/automoc4/slack-desc
deleted file mode 100644
index 892792ffe..000000000
--- a/source/l/automoc4/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-----------------------------------------------------|
-automoc4: automoc4 (automatic moc for Qt4)
-automoc4:
-automoc4: This package contains the automoc4 binary which is used to run moc
-automoc4: on the right source files in a Qt 4 or KDE 4 application.
-automoc4: Moc is the meta object compiler which is a widely used tool with Qt
-automoc4: and creates standard C++ files to provide syntactic sugar of the
-automoc4: signal/slots mechanism.
-automoc4:
-automoc4:
-automoc4: See also http://www.kde.org
-automoc4:
diff --git a/source/l/cfitsio/cfitsio.SlackBuild b/source/l/cfitsio/cfitsio.SlackBuild
new file mode 100755
index 000000000..655418fad
--- /dev/null
+++ b/source/l/cfitsio/cfitsio.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+# Copyright 2015, 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=cfitsio
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS shared || make || exit 1
+make $NUMJOBS utils || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Remove the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcfitsio.a
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ License.* README* docs/*.doc docs/changes.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a changes.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r changes.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat changes.txt | head -n 1000 > $DOCSDIR/changes.txt
+ touch -r changes.txt $DOCSDIR/changes.txt
+fi
+
+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/source/l/cfitsio/cfitsio.url b/source/l/cfitsio/cfitsio.url
new file mode 100644
index 000000000..e56983a58
--- /dev/null
+++ b/source/l/cfitsio/cfitsio.url
@@ -0,0 +1 @@
+http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/
diff --git a/source/l/cfitsio/slack-desc b/source/l/cfitsio/slack-desc
new file mode 100644
index 000000000..35f969727
--- /dev/null
+++ b/source/l/cfitsio/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+cfitsio: cfitsio (FITS file subroutine library)
+cfitsio:
+cfitsio: cfitsio is a library of ANSI C routines for reading and writing FITS
+cfitsio: format data files. A set of Fortran-callable wrapper routines is also
+cfitsio: included.
+cfitsio:
+cfitsio: Homepage: http://heasarc.gsfc.nasa.gov/fitsio
+cfitsio:
+cfitsio:
+cfitsio:
+cfitsio:
diff --git a/source/l/cryfs/cryfs.SlackBuild b/source/l/cryfs/cryfs.SlackBuild
new file mode 100755
index 000000000..11f021f04
--- /dev/null
+++ b/source/l/cryfs/cryfs.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=cryfs
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Oddly, cryfs expects a static boost, so we'll need to hit it with the LART:
+export LDFLAGS="$SLKLDFLAGS -lboost_thread -lboost_program_options -lboost_filesystem -lboost_chrono -lcryptopp -lfuse"
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DBoost_INCLUDE_DIRS=/usr/include/boost \
+ -DBoost_USE_STATIC_LIBS=OFF \
+ -DCRYFS_UPDATE_CHECKS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ # When compiling against a shared boost, these fail to install properly without help:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+ install -m0755 ./src/cryfs-cli/libcryfs-cli.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-cli.so
+ install -m0755 ./src/cryfs-unmount/libcryfs-unmount.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-unmount.so
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog* README* LICENSE* \
+ $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/source/l/cryfs/cryfs.url b/source/l/cryfs/cryfs.url
new file mode 100644
index 000000000..e1bf0c480
--- /dev/null
+++ b/source/l/cryfs/cryfs.url
@@ -0,0 +1 @@
+https://github.com/cryfs/cryfs
diff --git a/source/l/liblastfm/slack-desc b/source/l/cryfs/slack-desc
index 921b5d42e..8dd66bdbd 100644
--- a/source/l/liblastfm/slack-desc
+++ b/source/l/cryfs/slack-desc
@@ -5,15 +5,15 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler------------------------------------------------------|
-liblastfm: liblastfm (last fm library)
-liblastfm:
-liblastfm: The last.fm audio scrobbling service library.
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
+ |-----handy-ruler------------------------------------------------------|
+cryfs: cryfs (cryptographic filesystem)
+cryfs:
+cryfs: CryFS encrypts your files, so you can safely store them anywhere. It
+cryfs: works well together with cloud services.
+cryfs:
+cryfs: Homepage: https://www.cryfs.org
+cryfs:
+cryfs:
+cryfs:
+cryfs:
+cryfs:
diff --git a/source/l/automoc4/automoc4.SlackBuild b/source/l/cryptopp/cryptopp.SlackBuild
index 167ef1d59..4ce5a9694 100755
--- a/source/l/automoc4/automoc4.SlackBuild
+++ b/source/l/cryptopp/cryptopp.SlackBuild
@@ -1,6 +1,7 @@
-#!/bin/sh
+#!/bin/sh
-# Copyright 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2014, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,18 +23,25 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=automoc4
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+PKGNAM=cryptopp
+VERSION=${VERSION:-8.2.0}
+SRCVER=$(echo $VERSION | tr -d '.')
+BUILD=${BUILD:-1}
+
+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) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -44,56 +52,74 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-automoc4
-
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKLDFLAGS=""
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
LIBDIRSUFFIX=""
fi
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+# Extract the sources:
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-tar xvf $CWD/automoc4-$VERSION.tar.?z* || exit 1
-cd automoc4-$VERSION || exit 1
+rm -rf ${PKGNAM}-${VERSION}
+mkdir -p ${PKGNAM}-${VERSION}
+unzip -a ${CWD}/${PKGNAM}${SRCVER}.zip -d ${PKGNAM}-${VERSION} || exit 1
+cd ${PKGNAM}-${VERSION} || exit 1
+
+# Fix bogus permissions:
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_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DCMAKE_INSTALL_PREFIX=/usr \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ \( -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 {} \+
+
+# Cater to 64-bit Slackware:
+sed -i -e "s,(PREFIX)/lib,(PREFIX)/lib${LIBDIRSUFFIX},g" GNUmakefile
+
+# Compile and install:
+make all dynamic libcryptopp.pc $NUMJOBS \
+ CXXFLAGS="${SLKCFLAGS} -DNDEBUG" LDFLAGS="${LDFLAGS}"
+make install-lib PREFIX=$PKG/usr
+
+# Dump the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcryptopp.a
+# Fix the installed pkg-config file:
+sed \
+ -i $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/libcryptopp.pc \
+ -e "s,/usr/local,/usr,g"
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a *.txt $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/automoc4-$VERSION-$ARCH-$BUILD.txz
-
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
diff --git a/source/l/cryptopp/cryptopp.url b/source/l/cryptopp/cryptopp.url
new file mode 100644
index 000000000..1bc3357dd
--- /dev/null
+++ b/source/l/cryptopp/cryptopp.url
@@ -0,0 +1 @@
+https://www.cryptopp.com/cryptopp820.zip
diff --git a/source/l/cryptopp/slack-desc b/source/l/cryptopp/slack-desc
new file mode 100644
index 000000000..11da183c6
--- /dev/null
+++ b/source/l/cryptopp/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+cryptopp: cryptopp (library of cryptographic schemes)
+cryptopp:
+cryptopp: Crypto++ Library is a free C++ class library of cryptographic schemes.
+cryptopp: See http://www.cryptopp.com/ for a list of supported algorithms. One
+cryptopp: purpose of Crypto++ is to act as a repository of public domain (not
+cryptopp: copyrighted) source code. Although the library is copyrighted as a
+cryptopp: compilation, the individual files in it are in the public domain.
+cryptopp:
+cryptopp: Homepage: http://www.cryptopp.com/
+cryptopp:
+cryptopp:
diff --git a/source/l/liblastfm/liblastfm.SlackBuild b/source/l/dotconf/dotconf.SlackBuild
index 89cd535d7..d99226dd1 100755
--- a/source/l/liblastfm/liblastfm.SlackBuild
+++ b/source/l/dotconf/dotconf.SlackBuild
@@ -1,9 +1,8 @@
#!/bin/bash
-# Slackware build script for liblastfm
-
-# Copyright 2009 Vincent Batts
-# Copyright 2011, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019, 2020 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:
@@ -24,19 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM="liblastfm"
+PKGNAM=dotconf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 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 ;;
+ 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:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -47,58 +46,84 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "x86_64" ]; then
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
else
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-mkdir cmake-build
-cd cmake-build
+ \( -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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ autoreconf -vif
+fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
- -DBUILD_FINGERPRINT="ON" \
- -DBUILD_WITH_QT4="ON" .. || exit 1
-
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd ..
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# This library is currently used for nothing in Slackware except for
+# speech-dispatcher and hasn't seen a release in a decade. This quantity
+# of included examples seems excessive.
+rm -rf $PKG/usr/doc/$PKGNAM-$VERSION/examples
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/source/l/dotconf/dotconf.url b/source/l/dotconf/dotconf.url
new file mode 100644
index 000000000..17e18ef72
--- /dev/null
+++ b/source/l/dotconf/dotconf.url
@@ -0,0 +1 @@
+https://github.com/williamh/dotconf/
diff --git a/source/l/dotconf/slack-desc b/source/l/dotconf/slack-desc
new file mode 100644
index 000000000..b79dc103d
--- /dev/null
+++ b/source/l/dotconf/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+dotconf: dotconf (configuration file parser)
+dotconf:
+dotconf: Dot.conf is a lightweight and simple configuration file parser that
+dotconf: contains many features.
+dotconf:
+dotconf: Homepage: https://github.com/williamh/dotconf/
+dotconf:
+dotconf:
+dotconf:
+dotconf:
+dotconf:
diff --git a/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch b/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
new file mode 100644
index 000000000..0f6bed437
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
@@ -0,0 +1,75 @@
+--- dvdauthor/src/subgen-image.c 2014-01-21 00:12:37.000000000 +0100
++++ dvdauthor/src/subgen-image.c 2017-11-27 20:26:53.682914041 +0100
+@@ -30,7 +30,7 @@
+
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+ #include <stdarg.h>
+-#include <magick/api.h>
++#include <MagickWand/MagickWand.h>
+ #else
+ #include <png.h>
+ #endif
+@@ -176,18 +176,18 @@
+ {
+ Image *im;
+ ImageInfo *ii;
+- ExceptionInfo ei;
++ ExceptionInfo *ei;
+ int x,y;
+ unsigned long magickver;
+ unsigned char amask;
+
+- GetExceptionInfo(&ei);
++ ei = AcquireExceptionInfo();
+ ii=CloneImageInfo(NULL);
+ strcpy(ii->filename,s->fname);
+- im=ReadImage(ii,&ei);
++ im=ReadImage(ii,ei);
+
+ if( !im ) {
+- MagickError(ei.severity,"Unable to load file",ii->filename);
++ MagickError(ei->severity,"Unable to load file",ii->filename);
+ return -1;
+ }
+
+@@ -202,10 +202,10 @@
+ for( y=0; y<im->rows; y++ ) {
+ char pdata[MAXX*4];
+
+- if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,&ei)) {
+- fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei.reason,ei.description);
+- CatchException(&ei);
+- MagickError(ei.severity,ei.reason,ei.description);
++ if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,ei)) {
++ fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei->reason,ei->description);
++ CatchException(ei);
++ MagickError(ei->severity,ei->reason,ei->description);
+ DestroyImage(im);
+ return -1;
+ }
+@@ -219,7 +219,7 @@
+ }
+ }
+ DestroyImage(im);
+- DestroyExceptionInfo(&ei);
++ DestroyExceptionInfo(ei);
+ fprintf(stderr,"INFO: Picture %s had %d colors\n",s->fname,s->numpal);
+
+ return 0;
+@@ -1098,13 +1098,13 @@
+ void image_init()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- InitializeMagick(NULL);
++ MagickCoreGenesis("", MagickFalse);
+ #endif
+ }
+
+ void image_shutdown()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- DestroyMagick();
++ MagickCoreTerminus();
+ #endif
+ }
+
diff --git a/source/l/dvdauthor/dvdauthor.SlackBuild b/source/l/dvdauthor/dvdauthor.SlackBuild
new file mode 100755
index 000000000..d25691c8b
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=dvdauthor
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Make it compile with imagemagick 7.x:
+zcat $CWD/dvdauthor-0.7.2_imagemagick7.patch.gz | patch -p1 --verbose || exit 1
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ ./bootstrap
+ else
+ autoreconf -vif
+ ./bootstrap
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/dvdauthor/dvdauthor.url b/source/l/dvdauthor/dvdauthor.url
new file mode 100644
index 000000000..d08d87824
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor.url
@@ -0,0 +1 @@
+https://github.com/ldo/dvdauthor
diff --git a/source/l/dvdauthor/slack-desc b/source/l/dvdauthor/slack-desc
new file mode 100644
index 000000000..01b9f5503
--- /dev/null
+++ b/source/l/dvdauthor/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+dvdauthor: dvdauthor (tools to author a DVD)
+dvdauthor:
+dvdauthor: dvdauthor is a program that will generate a DVD movie from a valid
+dvdauthor: MPEG2 stream. The resulting movie should play in a standard DVD
+dvdauthor: player.
+dvdauthor:
+dvdauthor: Homepage: http://dvdauthor.sf.net
+dvdauthor:
+dvdauthor:
+dvdauthor:
+dvdauthor:
diff --git a/source/l/eigen3/eigen3.SlackBuild b/source/l/eigen3/eigen3.SlackBuild
index f4c926014..30ce46284 100755
--- a/source/l/eigen3/eigen3.SlackBuild
+++ b/source/l/eigen3/eigen3.SlackBuild
@@ -24,9 +24,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=eigen
-VERSION=3.2.10
-SRCVER="eigen-b9cd8366d4e8"
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -71,9 +70,9 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $PKG $TMP
cd $TMP
-rm -rf eigen-$SRCVER
-tar xvf $CWD/eigen-$VERSION.tar.xz || exit 1
-cd eigen-$SRCVER || exit 1
+rm -rf eigen-$VERSION
+tar xvf $CWD/eigen-$VERSION.tar.?z || exit 1
+cd eigen-$VERSION || exit 1
chown -R root:root .
find -L . \
@@ -107,4 +106,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/eigen3-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/eigen3/slack-desc b/source/l/eigen3/slack-desc
index 253eba8f0..8c4398f89 100644
--- a/source/l/eigen3/slack-desc
+++ b/source/l/eigen3/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-eigen3: eigen3 (c++ math library)
+eigen3: eigen3 (C++ math library)
eigen3:
eigen3: Eigen is a C++ template library for linear algebra: matrices, vectors,
eigen3: numerical solvers, and related algorithms.
diff --git a/source/l/akonadi/akonadi.SlackBuild b/source/l/frei0r-plugins/frei0r-plugins.SlackBuild
index da12a4634..2f9b516fe 100755
--- a/source/l/akonadi/akonadi.SlackBuild
+++ b/source/l/frei0r-plugins/frei0r-plugins.SlackBuild
@@ -1,9 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Slackware build script for akonadi
-
-# Copyright 2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=akonadi
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-16}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=frei0r-plugins
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -51,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -73,58 +73,56 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-# Update mysql configuration
-zcat $CWD/mysql-global.conf.patch.gz | patch -p1 --verbose || exit 1
-
-# Work around problems with MariaDB 10.2
-zcat $CWD/akonadi-mariadb-10.2.patch.gz | patch -p1 --verbose || exit 1
-
-# If we do not specify the correct QT_PLUGINS_DIR, then the application
-# decides on using $QT4DIR/qt4/plugins instead.
-mkdir -p build
-cd build
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DMAN_INSTALL_DIR=/usr/man \
- -DINSTALL_QSQLITE_IN_QT_PREFIX:BOOL=ON \
- -DQT_PLUGINS_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DWITHOUT_OPENCV=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS INSTALL README lgpl-license \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* NEWS* *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/frei0r-plugins/frei0r-plugins.url b/source/l/frei0r-plugins/frei0r-plugins.url
new file mode 100644
index 000000000..df2f24cae
--- /dev/null
+++ b/source/l/frei0r-plugins/frei0r-plugins.url
@@ -0,0 +1 @@
+https://files.dyne.org/frei0r
diff --git a/source/l/frei0r-plugins/slack-desc b/source/l/frei0r-plugins/slack-desc
new file mode 100644
index 000000000..d7fe4b3c0
--- /dev/null
+++ b/source/l/frei0r-plugins/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+frei0r-plugins: frei0r-plugins (API for video effects)
+frei0r-plugins:
+frei0r-plugins: Frei0r is a minimalistic plugin API for video effects. The main
+frei0r-plugins: emphasis is on simplicity for an API that will round up the most
+frei0r-plugins: common video effects into simple filters, sources, and mixers that can
+frei0r-plugins: be controlled by parameters. Its goal is that these simple effects can
+frei0r-plugins: be shared between many applications, avoiding their reimplementation
+frei0r-plugins: by different projects.
+frei0r-plugins:
+frei0r-plugins: Homepage: http://frei0r.dyne.org
+frei0r-plugins:
diff --git a/source/l/grantlee/grantlee.SlackBuild b/source/l/grantlee/grantlee.SlackBuild
index af781224b..1da9cf98d 100755
--- a/source/l/grantlee/grantlee.SlackBuild
+++ b/source/l/grantlee/grantlee.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2011, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016, 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -10,35 +10,32 @@
# 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.
+# 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=grantlee
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,9 +46,14 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -59,7 +61,7 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,42 +73,51 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
- $KDE_OPT_ARGS \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ cp -a AUTHORS* CHANGELOG* COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a AUTHORS CHANGELOG COPYING* GOALS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# If there's a CHANGELOG, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGELOG ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/CHANGELOG
+fi
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/source/l/grantlee/grantlee.url b/source/l/grantlee/grantlee.url
new file mode 100644
index 000000000..e78ca6f50
--- /dev/null
+++ b/source/l/grantlee/grantlee.url
@@ -0,0 +1 @@
+https://github.com/steveire/grantlee
diff --git a/source/l/grantlee/slack-desc b/source/l/grantlee/slack-desc
index 8acc268cc..136660265 100644
--- a/source/l/grantlee/slack-desc
+++ b/source/l/grantlee/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':'.
|-----handy-ruler-------------------------------------------------------|
-grantlee: grantlee (string template engine)
-grantlee:
-grantlee: Grantlee is a plugin based String Template system written using the
-grantlee: Qt framework. The goals of the project are to make it easier for
-grantlee: application developers to separate the structure of documents from
-grantlee: the data they contain, opening the door for theming.
+grantlee: grantlee (string template engine for Qt)
grantlee:
-grantlee: Homepage: http://gitorious.org/grantlee/
+grantlee: Grantlee is a plugin based String Template system written with the Qt
+grantlee: framework. The goals of the project are to make it easier for
+grantlee: application developers to separate the structure of documents from the
+grantlee: data they contain, opening the door for theming.
+grantlee:
+grantlee: Homepage: https://github.com/steveire/grantlee
grantlee:
grantlee:
grantlee:
diff --git a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
index a14932a28..22de14190 100755
--- a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
+++ b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gst-plugins-base
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff b/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff
deleted file mode 100644
index b9efbf6fe..000000000
--- a/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff
+++ /dev/null
@@ -1,583 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 62c17b2b8472ee8552405e26f4b1a13307619009..a26b03d3c3e1ece50fa171cfc4af316315da2edd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -61,7 +61,7 @@ m4_define([cairo_required_version], [1.14.0])
- m4_define([gdk_pixbuf_required_version], [2.30.0])
- m4_define([introspection_required_version], [1.39.0])
- m4_define([wayland_required_version], [1.14.91])
--m4_define([wayland_protocols_required_version], [1.14])
-+m4_define([wayland_protocols_required_version], [1.17])
- m4_define([epoxy_required_version], [1.4])
- m4_define([cloudproviders_required_version], [0.2.5])
- m4_define([sysprof_required_version], [3.33.2])
-diff --git a/gdk/wayland/Makefile.am b/gdk/wayland/Makefile.am
-index 31f12251b30b175e353888c6ce4fb315fa34ce13..6595013d3f00314c42d4a530ecfeba39d1c5d477 100644
---- a/gdk/wayland/Makefile.am
-+++ b/gdk/wayland/Makefile.am
-@@ -40,7 +40,9 @@ BUILT_SOURCES = \
- server-decoration-client-protocol.h \
- server-decoration-protocol.c \
- gtk-shell-client-protocol.h \
-- gtk-shell-protocol.c
-+ gtk-shell-protocol.c \
-+ primary-selection-unstable-v1-client-protocol.h \
-+ primary-selection-unstable-v1-protocol.c
-
- nodist_libgdk_wayland_la_SOURCES = \
- $(BUILT_SOURCES)
-diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
-index 7d81eaff3b40e3775e1c21637773145f56acb7bc..c5b273eb908d727751dafc22d710f10a20d16a79 100644
---- a/gdk/wayland/gdkdevice-wayland.c
-+++ b/gdk/wayland/gdkdevice-wayland.c
-@@ -237,7 +237,8 @@ struct _GdkWaylandSeat
- uint32_t keyboard_time;
- uint32_t keyboard_key_serial;
-
-- struct gtk_primary_selection_device *primary_data_device;
-+ struct gtk_primary_selection_device *gtk_primary_data_device;
-+ struct zwp_primary_selection_device_v1 *zwp_primary_data_device_v1;
- struct wl_data_device *data_device;
- GdkDragContext *drop_context;
-
-@@ -1308,23 +1309,43 @@ static const struct wl_data_device_listener data_device_listener = {
- };
-
- static void
--primary_selection_data_offer (void *data,
-- struct gtk_primary_selection_device *gtk_primary_selection_device,
-- struct gtk_primary_selection_offer *gtk_primary_offer)
-+primary_selection_data_offer (void *data,
-+ gpointer primary_selection_device,
-+ gpointer primary_offer)
- {
- GdkWaylandSeat *seat = data;
-
- GDK_NOTE (EVENTS,
- g_message ("primary selection offer, device %p, data offer %p",
-- gtk_primary_selection_device, gtk_primary_offer));
-+ primary_selection_device, primary_offer));
-
-- gdk_wayland_selection_ensure_primary_offer (seat->display, gtk_primary_offer);
-+ gdk_wayland_selection_ensure_primary_offer (seat->display, primary_offer);
- }
-
- static void
--primary_selection_selection (void *data,
-- struct gtk_primary_selection_device *gtk_primary_selection_device,
-- struct gtk_primary_selection_offer *gtk_primary_offer)
-+gtk_primary_selection_data_offer (void *data,
-+ struct gtk_primary_selection_device *primary_selection_device,
-+ struct gtk_primary_selection_offer *primary_offer)
-+{
-+ primary_selection_data_offer (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+zwp_primary_selection_v1_data_offer (void *data,
-+ struct zwp_primary_selection_device_v1 *primary_selection_device,
-+ struct zwp_primary_selection_offer_v1 *primary_offer)
-+{
-+ primary_selection_data_offer (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+primary_selection_selection (void *data,
-+ gpointer primary_selection_device,
-+ gpointer primary_offer)
- {
- GdkWaylandSeat *seat = data;
- GdkAtom selection;
-@@ -1334,16 +1355,41 @@ primary_selection_selection (void *data,
-
- GDK_NOTE (EVENTS,
- g_message ("primary selection selection, device %p, data offer %p",
-- gtk_primary_selection_device, gtk_primary_offer));
-+ primary_selection_device, primary_offer));
-
- selection = gdk_atom_intern_static_string ("PRIMARY");
-- gdk_wayland_selection_set_offer (seat->display, selection, gtk_primary_offer);
-+ gdk_wayland_selection_set_offer (seat->display, selection, primary_offer);
- emit_selection_owner_change (seat->keyboard_focus, selection);
- }
-
--static const struct gtk_primary_selection_device_listener primary_selection_device_listener = {
-- primary_selection_data_offer,
-- primary_selection_selection,
-+static void
-+gtk_primary_selection_selection (void *data,
-+ struct gtk_primary_selection_device *primary_selection_device,
-+ struct gtk_primary_selection_offer *primary_offer)
-+{
-+ primary_selection_selection (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+zwp_primary_selection_v1_selection (void *data,
-+ struct zwp_primary_selection_device_v1 *primary_selection_device,
-+ struct zwp_primary_selection_offer_v1 *primary_offer)
-+{
-+ primary_selection_selection (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static const struct gtk_primary_selection_device_listener gtk_primary_device_listener = {
-+ gtk_primary_selection_data_offer,
-+ gtk_primary_selection_selection,
-+};
-+
-+static const struct zwp_primary_selection_device_v1_listener zwp_primary_device_v1_listener = {
-+ zwp_primary_selection_v1_data_offer,
-+ zwp_primary_selection_v1_selection,
- };
-
- static GdkDevice * get_scroll_device (GdkWaylandSeat *seat,
-@@ -5078,13 +5124,23 @@ _gdk_wayland_device_manager_add_seat (GdkDeviceManager *device_manager,
- wl_seat_add_listener (seat->wl_seat, &seat_listener, seat);
- wl_seat_set_user_data (seat->wl_seat, seat);
-
-- if (display_wayland->primary_selection_manager)
-+ if (display_wayland->zwp_primary_selection_manager_v1)
- {
-- seat->primary_data_device =
-- gtk_primary_selection_device_manager_get_device (display_wayland->primary_selection_manager,
-+ seat->zwp_primary_data_device_v1 =
-+ zwp_primary_selection_device_manager_v1_get_device (display_wayland->zwp_primary_selection_manager_v1,
-+ seat->wl_seat);
-+ zwp_primary_selection_device_v1_add_listener (seat->zwp_primary_data_device_v1,
-+ &zwp_primary_device_v1_listener,
-+ seat);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ {
-+ seat->gtk_primary_data_device =
-+ gtk_primary_selection_device_manager_get_device (display_wayland->gtk_primary_selection_manager,
- seat->wl_seat);
-- gtk_primary_selection_device_add_listener (seat->primary_data_device,
-- &primary_selection_device_listener, seat);
-+ gtk_primary_selection_device_add_listener (seat->gtk_primary_data_device,
-+ &gtk_primary_device_listener,
-+ seat);
- }
-
- seat->data_device =
-@@ -5355,8 +5411,8 @@ gdk_wayland_seat_set_selection (GdkSeat *seat,
- }
-
- void
--gdk_wayland_seat_set_primary (GdkSeat *seat,
-- struct gtk_primary_selection_source *source)
-+gdk_wayland_seat_set_primary (GdkSeat *seat,
-+ gpointer source)
- {
- GdkWaylandSeat *wayland_seat = GDK_WAYLAND_SEAT (seat);
- GdkWaylandDisplay *display_wayland;
-@@ -5366,8 +5422,16 @@ gdk_wayland_seat_set_primary (GdkSeat *seat,
- {
- display_wayland = GDK_WAYLAND_DISPLAY (gdk_seat_get_display (seat));
- serial = _gdk_wayland_display_get_serial (display_wayland);
-- gtk_primary_selection_device_set_selection (wayland_seat->primary_data_device,
-- source, serial);
-+ if (wayland_seat->zwp_primary_data_device_v1)
-+ {
-+ zwp_primary_selection_device_v1_set_selection (wayland_seat->zwp_primary_data_device_v1,
-+ source, serial);
-+ }
-+ else if (wayland_seat->gtk_primary_data_device)
-+ {
-+ gtk_primary_selection_device_set_selection (wayland_seat->gtk_primary_data_device,
-+ source, serial);
-+ }
- }
- }
-
-diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
-index d4503c256236ae942bde999c964fbf1d85abdf29..dfb8d3069a36ddb72340815cd2e809596416ccaf 100644
---- a/gdk/wayland/gdkdisplay-wayland.c
-+++ b/gdk/wayland/gdkdisplay-wayland.c
-@@ -476,10 +476,16 @@ gdk_registry_handle_global (void *data,
- }
- else if (strcmp (interface, "gtk_primary_selection_device_manager") == 0)
- {
-- display_wayland->primary_selection_manager =
-+ display_wayland->gtk_primary_selection_manager =
- wl_registry_bind(display_wayland->wl_registry, id,
- &gtk_primary_selection_device_manager_interface, 1);
- }
-+ else if (strcmp (interface, "zwp_primary_selection_device_manager_v1") == 0)
-+ {
-+ display_wayland->zwp_primary_selection_manager_v1 =
-+ wl_registry_bind(display_wayland->wl_registry, id,
-+ &zwp_primary_selection_device_manager_v1_interface, 1);
-+ }
- else if (strcmp (interface, "zwp_tablet_manager_v2") == 0)
- {
- display_wayland->tablet_manager =
-diff --git a/gdk/wayland/gdkdisplay-wayland.h b/gdk/wayland/gdkdisplay-wayland.h
-index 1e4a9860f61c71466bdb58e288abcb83129fc63d..62696300d15531d0ca212428c8eb3325fe10eb96 100644
---- a/gdk/wayland/gdkdisplay-wayland.h
-+++ b/gdk/wayland/gdkdisplay-wayland.h
-@@ -35,6 +35,7 @@
- #include <gdk/wayland/keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h>
- #include <gdk/wayland/server-decoration-client-protocol.h>
- #include <gdk/wayland/xdg-output-unstable-v1-client-protocol.h>
-+#include <gdk/wayland/primary-selection-unstable-v1-client-protocol.h>
-
- #include <glib.h>
- #include <gdk/gdkkeys.h>
-@@ -88,7 +89,8 @@ struct _GdkWaylandDisplay
- struct wl_data_device_manager *data_device_manager;
- struct wl_subcompositor *subcompositor;
- struct zwp_pointer_gestures_v1 *pointer_gestures;
-- struct gtk_primary_selection_device_manager *primary_selection_manager;
-+ struct gtk_primary_selection_device_manager *gtk_primary_selection_manager;
-+ struct zwp_primary_selection_device_manager_v1 *zwp_primary_selection_manager_v1;
- struct zwp_tablet_manager_v2 *tablet_manager;
- struct zxdg_exporter_v1 *xdg_exporter;
- struct zxdg_importer_v1 *xdg_importer;
-diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
-index fc8e9fe2800b129a9ac0432ee85511633eb407f5..4a921b3b9965085b580cbb736f280cfae60efb86 100644
---- a/gdk/wayland/gdkprivate-wayland.h
-+++ b/gdk/wayland/gdkprivate-wayland.h
-@@ -191,8 +191,8 @@ struct wl_data_device * gdk_wayland_device_get_data_device (GdkDevice *gdk_devic
- void gdk_wayland_seat_set_selection (GdkSeat *seat,
- struct wl_data_source *source);
-
--void gdk_wayland_seat_set_primary (GdkSeat *seat,
-- struct gtk_primary_selection_source *source);
-+void gdk_wayland_seat_set_primary (GdkSeat *seat,
-+ gpointer source);
-
- GdkDragContext * gdk_wayland_device_get_drop_context (GdkDevice *gdk_device);
-
-@@ -249,8 +249,8 @@ void gdk_wayland_selection_free (GdkWaylandSelection *selection);
-
- void gdk_wayland_selection_ensure_offer (GdkDisplay *display,
- struct wl_data_offer *wl_offer);
--void gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-- struct gtk_primary_selection_offer *wp_offer);
-+void gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-+ gpointer wp_offer);
-
- void gdk_wayland_selection_set_offer (GdkDisplay *display,
- GdkAtom selection,
-diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
-index 0dd3aa9ebfd4dbd80666fcd1c122f67fb2d44569..f85f595616a51168be49b3dd92612ccd6d325fa7 100644
---- a/gdk/wayland/gdkselection-wayland.c
-+++ b/gdk/wayland/gdkselection-wayland.c
-@@ -104,7 +104,7 @@ struct _GdkWaylandSelection
- GArray *source_targets;
- GdkAtom requested_target;
-
-- struct gtk_primary_selection_source *primary_source;
-+ gpointer primary_source;
- GdkWindow *primary_owner;
-
- struct wl_data_source *clipboard_source;
-@@ -434,6 +434,18 @@ gdk_wayland_selection_new (void)
- return selection;
- }
-
-+static void
-+primary_selection_source_destroy (gpointer primary_source)
-+{
-+ GdkDisplay *display = gdk_display_get_default ();
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
-+
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ zwp_primary_selection_source_v1_destroy (primary_source);
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ gtk_primary_selection_source_destroy (primary_source);
-+}
-+
- void
- gdk_wayland_selection_free (GdkWaylandSelection *selection)
- {
-@@ -448,7 +460,7 @@ gdk_wayland_selection_free (GdkWaylandSelection *selection)
- g_ptr_array_unref (selection->stored_selections);
-
- if (selection->primary_source)
-- gtk_primary_selection_source_destroy (selection->primary_source);
-+ primary_selection_source_destroy (selection->primary_source);
- if (selection->clipboard_source)
- wl_data_source_destroy (selection->clipboard_source);
- if (selection->dnd_source)
-@@ -546,27 +558,47 @@ static const struct wl_data_offer_listener data_offer_listener = {
- };
-
- static void
--primary_offer_offer (void *data,
-- struct gtk_primary_selection_offer *gtk_offer,
-- const char *type)
-+primary_offer_offer (void *data,
-+ gpointer offer,
-+ const char *type)
- {
- GdkWaylandSelection *selection = data;
- DataOfferData *info;
- GdkAtom atom = gdk_atom_intern (type, FALSE);
-
-- info = g_hash_table_lookup (selection->offers, gtk_offer);
-+ info = g_hash_table_lookup (selection->offers, offer);
-
- if (!info || g_list_find (info->targets, atom))
- return;
-
- GDK_NOTE (EVENTS,
-- g_message ("primary offer offer, offer %p, type = %s", gtk_offer, type));
-+ g_message ("primary offer offer, offer %p, type = %s", offer, type));
-
- info->targets = g_list_prepend (info->targets, atom);
- }
-
--static const struct gtk_primary_selection_offer_listener primary_offer_listener = {
-- primary_offer_offer,
-+static void
-+gtk_primary_offer_offer (void *data,
-+ struct gtk_primary_selection_offer *offer,
-+ const char *type)
-+{
-+ primary_offer_offer (data, (gpointer) offer, type);
-+}
-+
-+static void
-+zwp_primary_offer_v1_offer (void *data,
-+ struct zwp_primary_selection_offer_v1 *offer,
-+ const char *type)
-+{
-+ primary_offer_offer (data, (gpointer) offer, type);
-+}
-+
-+static const struct gtk_primary_selection_offer_listener gtk_primary_offer_listener = {
-+ gtk_primary_offer_offer,
-+};
-+
-+static const struct zwp_primary_selection_offer_v1_listener zwp_primary_offer_listener_v1 = {
-+ zwp_primary_offer_v1_offer,
- };
-
- SelectionData *
-@@ -604,9 +636,10 @@ gdk_wayland_selection_ensure_offer (GdkDisplay *display,
- }
-
- void
--gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-- struct gtk_primary_selection_offer *gtk_offer)
-+gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-+ gpointer gtk_offer)
- {
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
- GdkWaylandSelection *selection = gdk_wayland_display_get_selection (display);
- DataOfferData *info;
-
-@@ -614,12 +647,24 @@ gdk_wayland_selection_ensure_primary_offer (GdkDisplay *
-
- if (!info)
- {
-- info = data_offer_data_new (gtk_offer,
-- (GDestroyNotify) gtk_primary_selection_offer_destroy);
-- g_hash_table_insert (selection->offers, gtk_offer, info);
-- gtk_primary_selection_offer_add_listener (gtk_offer,
-- &primary_offer_listener,
-- selection);
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ {
-+ info = data_offer_data_new (gtk_offer,
-+ (GDestroyNotify) zwp_primary_selection_offer_v1_destroy);
-+ g_hash_table_insert (selection->offers, gtk_offer, info);
-+ zwp_primary_selection_offer_v1_add_listener (gtk_offer,
-+ &zwp_primary_offer_listener_v1,
-+ selection);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ {
-+ info = data_offer_data_new (gtk_offer,
-+ (GDestroyNotify) gtk_primary_selection_offer_destroy);
-+ g_hash_table_insert (selection->offers, gtk_offer, info);
-+ gtk_primary_selection_offer_add_listener (gtk_offer,
-+ &gtk_primary_offer_listener,
-+ selection);
-+ }
- }
- }
-
-@@ -1138,10 +1183,10 @@ static const struct wl_data_source_listener data_source_listener = {
- };
-
- static void
--primary_source_send (void *data,
-- struct gtk_primary_selection_source *source,
-- const char *mime_type,
-- int32_t fd)
-+primary_source_send (void *data,
-+ gpointer source,
-+ const char *mime_type,
-+ int32_t fd)
- {
- GdkWaylandSelection *wayland_selection = data;
-
-@@ -1163,8 +1208,26 @@ primary_source_send (void *data,
- }
-
- static void
--primary_source_cancelled (void *data,
-- struct gtk_primary_selection_source *source)
-+gtk_primary_source_send (void *data,
-+ struct gtk_primary_selection_source *source,
-+ const char *mime_type,
-+ int32_t fd)
-+{
-+ primary_source_send (data, (gpointer) source, mime_type, fd);
-+}
-+
-+static void
-+zwp_primary_source_v1_send (void *data,
-+ struct zwp_primary_selection_source_v1 *source,
-+ const char *mime_type,
-+ int32_t fd)
-+{
-+ primary_source_send (data, (gpointer) source, mime_type, fd);
-+}
-+
-+static void
-+primary_source_cancelled (void *data,
-+ gpointer source)
- {
- GdkDisplay *display;
- GdkAtom atom;
-@@ -1180,9 +1243,28 @@ primary_source_cancelled (void *data,
- gdk_wayland_selection_unset_data_source (display, atom);
- }
-
--static const struct gtk_primary_selection_source_listener primary_source_listener = {
-- primary_source_send,
-- primary_source_cancelled,
-+static void
-+gtk_primary_source_cancelled (void *data,
-+ struct gtk_primary_selection_source *source)
-+{
-+ primary_source_cancelled (data, source);
-+}
-+
-+static void
-+zwp_primary_source_v1_cancelled (void *data,
-+ struct zwp_primary_selection_source_v1 *source)
-+{
-+ primary_source_cancelled (data, source);
-+}
-+
-+static const struct gtk_primary_selection_source_listener gtk_primary_source_listener = {
-+ gtk_primary_source_send,
-+ gtk_primary_source_cancelled,
-+};
-+
-+static const struct zwp_primary_selection_source_v1_listener zwp_primary_source_v1_listener = {
-+ zwp_primary_source_v1_send,
-+ zwp_primary_source_v1_cancelled,
- };
-
- struct wl_data_source *
-@@ -1204,11 +1286,11 @@ gdk_wayland_selection_get_data_source (GdkWindow *owner,
- {
- if (wayland_selection->primary_source &&
- (!owner || owner == wayland_selection->primary_owner))
-- return (gpointer) wayland_selection->primary_source;
-+ return wayland_selection->primary_source;
-
- if (wayland_selection->primary_source)
- {
-- gtk_primary_selection_source_destroy (wayland_selection->primary_source);
-+ primary_selection_source_destroy (wayland_selection->primary_source);
- wayland_selection->primary_source = NULL;
- }
- }
-@@ -1234,11 +1316,18 @@ gdk_wayland_selection_get_data_source (GdkWindow *owner,
-
- if (selection == atoms[ATOM_PRIMARY])
- {
-- if (display_wayland->primary_selection_manager)
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ {
-+ source = zwp_primary_selection_device_manager_v1_create_source (display_wayland->zwp_primary_selection_manager_v1);
-+ zwp_primary_selection_source_v1_add_listener (source,
-+ &zwp_primary_source_v1_listener,
-+ wayland_selection);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
- {
-- source = gtk_primary_selection_device_manager_create_source (display_wayland->primary_selection_manager);
-+ source = gtk_primary_selection_device_manager_create_source (display_wayland->gtk_primary_selection_manager);
- gtk_primary_selection_source_add_listener (source,
-- &primary_source_listener,
-+ &gtk_primary_source_listener,
- wayland_selection);
- }
- }
-@@ -1278,7 +1367,7 @@ gdk_wayland_selection_unset_data_source (GdkDisplay *display,
- {
- if (wayland_selection->primary_source)
- {
-- gtk_primary_selection_source_destroy (wayland_selection->primary_source);
-+ primary_selection_source_destroy (wayland_selection->primary_source);
- wayland_selection->primary_source = NULL;
- }
- }
-@@ -1449,6 +1538,7 @@ _gdk_wayland_display_convert_selection (GdkDisplay *display,
- GdkAtom target,
- guint32 time)
- {
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
- GdkWaylandSelection *wayland_selection = gdk_wayland_display_get_selection (display);
- const SelectionData *selection_data;
- SelectionBuffer *buffer_data;
-@@ -1514,9 +1604,16 @@ _gdk_wayland_display_convert_selection (GdkDisplay *display,
- g_unix_open_pipe (pipe_fd, FD_CLOEXEC, NULL);
-
- if (selection == atoms[ATOM_PRIMARY])
-- gtk_primary_selection_offer_receive (offer, mimetype, pipe_fd[1]);
-+ {
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ zwp_primary_selection_offer_v1_receive (offer, mimetype, pipe_fd[1]);
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ gtk_primary_selection_offer_receive (offer, mimetype, pipe_fd[1]);
-+ }
- else
-- wl_data_offer_receive (offer, mimetype, pipe_fd[1]);
-+ {
-+ wl_data_offer_receive (offer, mimetype, pipe_fd[1]);
-+ }
-
- stream = g_unix_input_stream_new (pipe_fd[0], TRUE);
- close (pipe_fd[1]);
-diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build
-index 8f6b7faf31ca379cd602ae437b7864308b1bffd6..e66afd7f95bfc6e39cd200eedf55813862213664 100644
---- a/gdk/wayland/meson.build
-+++ b/gdk/wayland/meson.build
-@@ -56,6 +56,7 @@ proto_sources = [
- ['keyboard-shortcuts-inhibit', 'unstable', 'v1', ],
- ['server-decoration', 'private' ],
- ['xdg-output', 'unstable', 'v1', ],
-+ ['primary-selection', 'unstable', 'v1', ],
- ]
-
- gdk_wayland_gen_headers = []
-diff --git a/meson.build b/meson.build
-index a3a7545ae103a88fc73cffe917c79848018f1a61..9c80fafc0314aed310018bc1f8851bc00e85f68a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -30,7 +30,7 @@ atk_req = '>= 2.15.1'
- cairo_req = '>= 1.14.0'
- gdk_pixbuf_req = '>= 2.30.0'
- introspection_req = '>= 1.39.0'
--wayland_proto_req = '>= 1.14'
-+wayland_proto_req = '>= 1.17'
- wayland_req = '>= 1.14.91'
- epoxy_req = '>= 1.4'
- cloudproviders_req = '>= 0.2.5'
diff --git a/source/l/gtk+3/gtk+3.SlackBuild b/source/l/gtk+3/gtk+3.SlackBuild
index 4e44e2caf..377b619a9 100755
--- a/source/l/gtk+3/gtk+3.SlackBuild
+++ b/source/l/gtk+3/gtk+3.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gtk+3
VERSION=${VERSION:-$(echo gtk+-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -82,9 +82,6 @@ find . \
# the configure process doesn't try to call it:
zcat $CWD/gtk.fix.missing.version-check.py.diff.gz | patch -p1 --verbose || exit 1
-# Fix middle button paste between GTK+ and KDE apps on Wayland:
-zcat $CWD/9a693c7228a88b76a007aed41b101d89d084cf9b.diff.gz | patch -p1 --verbose || exit 1
-
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
export CXXFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index f0f423b68..7cd928045 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gvfs
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -95,7 +95,7 @@ meson setup \
-Ddnssd=false \
-Dgoa=false \
-Dgoogle=false \
- -Dlogind=false \
+ -Dlogind=true \
-Dman=true \
-Dnfs=false \
-Dsystemduserunitdir=no \
diff --git a/source/l/qjson/qjson.SlackBuild b/source/l/kdsoap/kdsoap.SlackBuild
index caf678b3f..c6df5a089 100755
--- a/source/l/qjson/qjson.SlackBuild
+++ b/source/l/kdsoap/kdsoap.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2013 Eric Hameleers, Eindhoven, NL
-# Copyright 2013, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qjson
-VERSION=${VERSION:-0.9.0}
+PKGNAM=kdsoap
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,42 +73,49 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+ \( -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
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PKGNAM-$VERSION \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
+ -DBUILD_TESTS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- README* COPYING* doc \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* README.txt \
+ $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/source/l/kdsoap/kdsoap.url b/source/l/kdsoap/kdsoap.url
new file mode 100644
index 000000000..dc0f8926e
--- /dev/null
+++ b/source/l/kdsoap/kdsoap.url
@@ -0,0 +1 @@
+https://github.com/KDAB/KDSoap
diff --git a/source/l/kdsoap/slack-desc b/source/l/kdsoap/slack-desc
new file mode 100644
index 000000000..f272d0a96
--- /dev/null
+++ b/source/l/kdsoap/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+kdsoap: kdsoap (Qt-based client/server SOAP component)
+kdsoap:
+kdsoap: KD SOAP is a tool for creating client applications for web services.
+kdsoap: It also provides the means to create web services without the need for
+kdsoap: any further component such as a dedicated web server. It makes it
+kdsoap: possible to interact with applications which have APIs that can be
+kdsoap: exported as SOAP objects. The web service then provides a machine-
+kdsoap: accessible interface to its functionality via HTTP.
+kdsoap:
+kdsoap: Homepage:
+kdsoap: https://www.kdab.com/development-resources/qt-tools/kd-soap/
diff --git a/source/l/qt-gstreamer/qt-gstreamer.SlackBuild b/source/l/lensfun/lensfun.SlackBuild
index 3270912dc..4342c7ce9 100755
--- a/source/l/qt-gstreamer/qt-gstreamer.SlackBuild
+++ b/source/l/lensfun/lensfun.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2014, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2014 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2012, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qt-gstreamer
-VERSION=${VERSION:-1.2.0}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=lensfun
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,69 +73,59 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-# Fix build with gstreamer-1.16.x. This is rather pointless since qt-gstreamer
-# is considered dead (in -current only artikulate uses it, and in Plasma 5
-# nothing does), but we'll queue a fix for the FTBFS anyway:
-zcat $CWD/qt-gstreamer.gstreamer-1.16.x.diff.gz | patch -p1 --verbose || exit 1
-
-mkdir -p build
-cd build
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DQT_VERSION=4 \
- ..
+ -DBUILD_LENSTOOL=ON \
+ -DBUILD_FOR_SSE=ON \
+ -DBUILD_FOR_SSE2=ON \
+ -DBUILD_TESTS=OFF \
+ -DINSTALL_HELPER_SCRIPTS=ON \
+ .. || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
-
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir -p build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DQT_VERSION=5 \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
- cd -
-fi
+cd ..
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING HACKING NEWS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ ChangeLog README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/lensfun/lensfun.url b/source/l/lensfun/lensfun.url
new file mode 100644
index 000000000..913b9f399
--- /dev/null
+++ b/source/l/lensfun/lensfun.url
@@ -0,0 +1 @@
+https://github.com/lensfun/lensfun
diff --git a/source/l/akonadi/slack-desc b/source/l/lensfun/slack-desc
index e046a8876..e39b450fd 100644
--- a/source/l/akonadi/slack-desc
+++ b/source/l/lensfun/slack-desc
@@ -5,15 +5,15 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler-----------------------------------------------------|
-akonadi: akonadi (PIM storage service)
-akonadi:
-akonadi: akonadi is an extensible cross-desktop storage service for PIM data
-akonadi: and meta data providing concurrent read, write, and query access.
-akonadi: It will provide a unique desktop wide object identification and
-akonadi: retrieval.
-akonadi:
-akonadi: Homepage: http://www.kdepim.org/akonadi/
-akonadi:
-akonadi:
-akonadi:
+ |-----handy-ruler------------------------------------------------------|
+lensfun: lensfun (photographic lens info database)
+lensfun:
+lensfun: lensfun is a library that provide a open source database of
+lensfun: photographic lenses and their characteristics also provides a set of
+lensfun: algorithms for correcting images based on detailed knowledge of lens
+lensfun: properties and calibration data.
+lensfun:
+lensfun: Homepage: http://lensfun.sourceforge.net
+lensfun:
+lensfun:
+lensfun:
diff --git a/source/l/libappindicator/libappindicator.SlackBuild b/source/l/libappindicator/libappindicator.SlackBuild
new file mode 100755
index 000000000..39c46969a
--- /dev/null
+++ b/source/l/libappindicator/libappindicator.SlackBuild
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=libappindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+for file in bindings/python/Makefile.in bindings/python/Makefile.am example/Makefile.in example/Makefile.am src/Makefile.in src/Makefile.am tests/Makefile.in tests/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS -fcommon" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ $* \
+ --build=$ARCH-slackware-linux || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libappindicator/slack-desc b/source/l/libappindicator/slack-desc
new file mode 100644
index 000000000..895eb5f41
--- /dev/null
+++ b/source/l/libappindicator/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libappindicator: libappindicator (Plasma 5 systray support for GTK apps)
+libappindicator:
+libappindicator: A library to allow applications to export a menu into the system tray.
+libappindicator: Based on KSNI, it also works in KDE and will fallback to generic
+libappindicator: systray support (xembed) if none of those are available.
+libappindicator:
+libappindicator: Homepage: https://launchpad.net/libappindicator
+libappindicator:
+libappindicator:
+libappindicator:
+libappindicator:
diff --git a/source/l/libbluedevil/slack-desc b/source/l/libbluedevil/slack-desc
deleted file mode 100644
index 012f3d9ea..000000000
--- a/source/l/libbluedevil/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------------------------------------------------------|
-libbluedevil: libbluedevil (Qt wrapper for bluez)
-libbluedevil:
-libbluedevil: This is a Qt-based library for handling Bluetooth functionality.
-libbluedevil:
-libbluedevil: Homepage: http://ereslibre.es/
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
diff --git a/source/l/libburn/libburn.SlackBuild b/source/l/libburn/libburn.SlackBuild
new file mode 100755
index 000000000..52a80555d
--- /dev/null
+++ b/source/l/libburn/libburn.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2017, 2020 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=libburn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* CONTRIBUTORS* COPYING* COPYRIGHT* ChangeLog NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libburn/libburn.url b/source/l/libburn/libburn.url
new file mode 100644
index 000000000..02c4e769b
--- /dev/null
+++ b/source/l/libburn/libburn.url
@@ -0,0 +1 @@
+http://files.libburnia-project.org/releases/
diff --git a/source/l/libburn/slack-desc b/source/l/libburn/slack-desc
new file mode 100644
index 000000000..6c68d4a52
--- /dev/null
+++ b/source/l/libburn/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libburn: libburn (optical media writing library)
+libburn:
+libburn: libburn is a library for writing preformatted data onto optical media
+libburn: such as CD, DVD and BD (Blu-Ray). Libburn also offers a facility for
+libburn: reading data blocks from optical drives without using the normal block
+libburn: device I/O.
+libburn:
+libburn: Homepage: https://dev.lovelyhq.com/libburnia/libburn
+libburn:
+libburn:
+libburn:
diff --git a/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild b/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
index 2a77669bd..2b986317e 100755
--- a/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
+++ b/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
@@ -1,51 +1,48 @@
#!/bin/bash
-# Copyright 2010, 2011, 2012 Eric Hameleers, Eindhoven, The Netherlands
-# Copyright 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2014, 2015, 2017, 2020 Eric Hameleers, Eindhoven, The Netherlands
+# Copyright 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
-
+#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-# Pull this package from git due to some copyright related
-# problems going on at Canonical...
-# git clone git://gitorious.org/dbusmenu/dbusmenu-qt.git dbusmenu-qt
+# 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.
+
+# This project has moved to https://launchpad.net/libdbusmenu-qt
+# Get the latest code with:
+# bzr branch lp:libdbusmenu-qt
#
# Get version number from
# grep dbusmenu_qt_VERSION dbusmenu-qt/CMakeLists.txt
-PKGNAM=libdbusmenu-qt
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+cd $(dirname $0) ; CWD=$(pwd)
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=libdbusmenu-qt
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z | rev | cut -f 4- -d . | cut -f 1 -d _ | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -56,15 +53,23 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -75,42 +80,48 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/${PKGNAM}_${VERSION}.orig.tar.?z || 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 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 \
PATH=$QTDIR/bin:$PATH \
cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DUSE_QT4:BOOL=FALSE \
+ -DUSE_QT5:BOOL=TRUE \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
cd ..
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING NEWS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/doc
-mv $PKG/usr/share/doc/dbusmenu-qt/* $PKG/usr/doc/$PKGNAM-$VERSION/doc
+# Don't package API docs:
rm -rf $PKG/usr/share/doc
mkdir -p $PKG/install
@@ -118,4 +129,3 @@ 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/source/l/libdbusmenu-qt/libdbusmenu-qt.url b/source/l/libdbusmenu-qt/libdbusmenu-qt.url
new file mode 100644
index 000000000..57ed56dbb
--- /dev/null
+++ b/source/l/libdbusmenu-qt/libdbusmenu-qt.url
@@ -0,0 +1 @@
+http://archive.ubuntu.com/ubuntu/pool/main/libd/libdbusmenu-qt/
diff --git a/source/l/libdbusmenu-qt/slack-desc b/source/l/libdbusmenu-qt/slack-desc
index 42029d657..508d674c7 100644
--- a/source/l/libdbusmenu-qt/slack-desc
+++ b/source/l/libdbusmenu-qt/slack-desc
@@ -5,14 +5,14 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler-----------------------------------------------------|
+ |-----handy-ruler------------------------------------------------------|
libdbusmenu-qt: libdbusmenu-qt (Qt implementation of the DBusMenu spec)
libdbusmenu-qt:
libdbusmenu-qt: This library provides a Qt implementation of the DBusMenu protocol.
libdbusmenu-qt: The DBusMenu protocol makes it possible for applications to export
libdbusmenu-qt: and import their menus over DBus.
libdbusmenu-qt:
-libdbusmenu-qt: Homepage: http://people.canonical.com/~agateau/dbusmenu/
+libdbusmenu-qt: Homepage: https://launchpad.net/libdbusmenu-qt
libdbusmenu-qt:
libdbusmenu-qt:
libdbusmenu-qt:
diff --git a/source/l/libdbusmenu/libdbusmenu.SlackBuild b/source/l/libdbusmenu/libdbusmenu.SlackBuild
new file mode 100755
index 000000000..0d93309ce
--- /dev/null
+++ b/source/l/libdbusmenu/libdbusmenu.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015, 2018 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=libdbusmenu
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+zcat $CWD/libdbusmenu_configure_valgrind.patch.gz | patch -p1 --verbose || exit 1
+
+for file in libdbusmenu-glib/Makefile.in libdbusmenu-glib/Makefile.am libdbusmenu-gtk/Makefile.in libdbusmenu-gtk/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/testapp/Makefile.in tools/testapp/Makefile.am tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --disable-tests \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch b/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch
new file mode 100644
index 000000000..a57877810
--- /dev/null
+++ b/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch
@@ -0,0 +1,35 @@
+From 4b79b41a25cc1e2c4355738b4bed6c73b919ffee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 6 Aug 2017 17:55:45 +0200
+Subject: [PATCH] configure: Fix HAVE_VALGRIND not being defined when tests are
+ disabled
+
+If --disable-tests is used, configure fails with the following error:
+
+ configure: error: conditional "HAVE_VALGRIND" was never defined.
+ Usually this means the macro was only invoked conditionally.
+
+This is because AM_CONDITIONAL for it is called inside the 'if' for
+tests being enabled. Move it just below that block to ensure that it's
+defined unconditionally.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ace54d1..cbd38a6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,8 +120,8 @@ PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION
+ [have_tests=yes]
+ )
+ PKG_CHECK_MODULES(DBUSMENUTESTSVALGRIND, valgrind, have_valgrind=yes, have_valgrind=no)
+-AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+ ])
++AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+
+ AC_SUBST(DBUSMENUTESTS_CFLAGS)
+ AC_SUBST(DBUSMENUTESTS_LIBS)
+--
+2.14.0
+
diff --git a/source/l/libdbusmenu/slack-desc b/source/l/libdbusmenu/slack-desc
new file mode 100644
index 000000000..9bc6ed9ff
--- /dev/null
+++ b/source/l/libdbusmenu/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libdbusmenu: libdbusmenu (GTK DBusMenu protocol)
+libdbusmenu:
+libdbusmenu: A small library that was created by pulling out some common code out
+libdbusmenu: of indicator-applet. It passes a menu structure across DBus so that a
+libdbusmenu: program can create a menu without worrying about how it is displayed
+libdbusmenu: on the other side of the bus.
+libdbusmenu:
+libdbusmenu: Homepage: https://launchpad.net/libdbusmenu
+libdbusmenu:
+libdbusmenu:
+libdbusmenu:
diff --git a/source/l/libdmtx/libdmtx.SlackBuild b/source/l/libdmtx/libdmtx.SlackBuild
new file mode 100755
index 000000000..f1ce55072
--- /dev/null
+++ b/source/l/libdmtx/libdmtx.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=libdmtx
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* KNOWNBUG* LICENSE* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libdmtx/libdmtx.url b/source/l/libdmtx/libdmtx.url
new file mode 100644
index 000000000..b2baaf776
--- /dev/null
+++ b/source/l/libdmtx/libdmtx.url
@@ -0,0 +1 @@
+https://github.com/dmtx/libdmtx
diff --git a/source/l/libdmtx/slack-desc b/source/l/libdmtx/slack-desc
new file mode 100644
index 000000000..3846d4de3
--- /dev/null
+++ b/source/l/libdmtx/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libdmtx: libdmtx (Data Matrix barcode library)
+libdmtx:
+libdmtx: libdmtx is a library that enables programs to read and write Data
+libdmtx: Matrix barcodes of the modern ECC200 variety. The utility programs
+libdmtx: dmtxread and dmtxwrite also provide a command line interface for
+libdmtx: libdmtx, and serve as a good reference for developers writing their
+libdmtx: own libdmtx-enabled programs.
+libdmtx:
+libdmtx: Homepage: https://github.com/dmtx/libdmtx
+libdmtx:
+libdmtx:
diff --git a/source/l/libindicator/libindicator.LIBM.diff b/source/l/libindicator/libindicator.LIBM.diff
new file mode 100644
index 000000000..fae77e3a6
--- /dev/null
+++ b/source/l/libindicator/libindicator.LIBM.diff
@@ -0,0 +1,11 @@
+--- ./configure.ac.orig 2012-09-19 10:38:40.047378393 -0500
++++ ./configure.ac 2020-10-10 13:41:31.782774168 -0500
+@@ -66,7 +66,7 @@
+ AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
+
+ LT_LIB_M
+-LIBINDICATOR_LIBS+="$LIBM"
++LIBINDICATOR_LIBS+=" $LIBM"
+
+ ##############################
+ # Custom Junk
diff --git a/source/l/libindicator/libindicator.SlackBuild b/source/l/libindicator/libindicator.SlackBuild
new file mode 100755
index 000000000..3e904a3ef
--- /dev/null
+++ b/source/l/libindicator/libindicator.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=libindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+zcat $CWD/libindicator.LIBM.diff.gz | patch -p1 --verbose || exit 1
+
+for file in libindicator/Makefile.in libindicator/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libindicator/slack-desc b/source/l/libindicator/slack-desc
new file mode 100644
index 000000000..e28015fa1
--- /dev/null
+++ b/source/l/libindicator/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libindicator: libindicator (support functions for indicators)
+libindicator:
+libindicator: A set of symbols and convenience functions that all indicators would
+libindicator: like to use.
+libindicator:
+libindicator: Homepage: https://launchpad.net/libindicator
+libindicator:
+libindicator:
+libindicator:
+libindicator:
+libindicator:
diff --git a/source/l/liblastfm/liblastfm.url b/source/l/liblastfm/liblastfm.url
deleted file mode 100644
index 8bdd15172..000000000
--- a/source/l/liblastfm/liblastfm.url
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/lastfm/liblastfm
diff --git a/source/l/libqalculate/libqalculate.SlackBuild b/source/l/libqalculate/libqalculate.SlackBuild
new file mode 100755
index 000000000..82062ea8a
--- /dev/null
+++ b/source/l/libqalculate/libqalculate.SlackBuild
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2020 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=libqalculate
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --with-libcurl \
+ --with-icu \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/libqalculate/libqalculate.url b/source/l/libqalculate/libqalculate.url
new file mode 100644
index 000000000..718016a15
--- /dev/null
+++ b/source/l/libqalculate/libqalculate.url
@@ -0,0 +1 @@
+https://github.com/Qalculate/libqalculate
diff --git a/source/l/libqalculate/slack-desc b/source/l/libqalculate/slack-desc
new file mode 100644
index 000000000..b01a3e8f5
--- /dev/null
+++ b/source/l/libqalculate/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+libqalculate: libqalculate (multi-purpose calculator library)
+libqalculate:
+libqalculate: Qalculate! is a multi-purpose desktop calculator. It is small and
+libqalculate: simple to use but with much power and versatility underneath. Features
+libqalculate: include customizable functions, units, arbitrary precision, and
+libqalculate: plotting. This package includes the library and a command-line
+libqalculate: interface.
+libqalculate:
+libqalculate: Homepage: http://qalculate.github.io/
+libqalculate:
+libqalculate:
diff --git a/source/l/mlt/mlt.SlackBuild b/source/l/mlt/mlt.SlackBuild
new file mode 100755
index 000000000..59182265f
--- /dev/null
+++ b/source/l/mlt/mlt.SlackBuild
@@ -0,0 +1,153 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=mlt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+PYTHONSITEPKG=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --avformat-swscale \
+ --disable-debug \
+ --enable-gpl \
+ --enable-gpl3 \
+ --enable-motion-est \
+ --enable-opencv \
+ --enable-qt \
+ --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \
+ --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \
+ --swig-languages="python" \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install the extensions we enabled:
+install -D -m0755 src/swig/python/_mlt.so $PKG/$PYTHONSITEPKG/_mlt.so
+install -D -m0755 src/swig/python/mlt_wrap.o $PKG/$PYTHONSITEPKG/mlt_wrap.o
+install -D -m0755 src/swig/python/mlt.py $PKG/$PYTHONSITEPKG/mlt.py
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* GPL* NEWS* README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/mlt/mlt.deps b/source/l/mlt/mlt.deps
new file mode 100644
index 000000000..9c0527b33
--- /dev/null
+++ b/source/l/mlt/mlt.deps
@@ -0,0 +1,4 @@
+frei0r-plugins
+opencv
+qt5
+vid.stab
diff --git a/source/l/mlt/mlt.url b/source/l/mlt/mlt.url
new file mode 100644
index 000000000..e2907785c
--- /dev/null
+++ b/source/l/mlt/mlt.url
@@ -0,0 +1 @@
+https://github.com/mltframework/mlt
diff --git a/source/l/mlt/slack-desc b/source/l/mlt/slack-desc
new file mode 100644
index 000000000..debc9002c
--- /dev/null
+++ b/source/l/mlt/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+mlt: mlt (open source multimedia framework)
+mlt:
+mlt: MLT is an open source multimedia framework, designed and developed for
+mlt: television broadcasting. It provides a toolkit for broadcasters, video
+mlt: editors, media players, transcoders, web streamers, and many more
+mlt: types of applications. The functionality of the system is provided via
+mlt: an assortment of ready to use tools, XML authoring components, and an
+mlt: extensible plug-in based API.
+mlt:
+mlt: Homepage: http://www.mltframework.org/
+mlt:
diff --git a/source/l/opencv/opencv.SlackBuild b/source/l/opencv/opencv.SlackBuild
new file mode 100755
index 000000000..fb2ccd052
--- /dev/null
+++ b/source/l/opencv/opencv.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2015, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=opencv
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+tar xvf $CWD/${PKGNAM}_contrib-${VERSION}.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_MAN_DIR=man \
+ -DINSTALL_DOC_DIR=doc/$PKGNAM-$VERSION \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
+ -DBUILD_CUDA_STUBS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ -DBUILD_PERF_TESTS=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_WITH_DEBUG_INFO=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DWITH_CUDA=OFF \
+ -DWITH_FFMPEG=ON \
+ -DWITH_GDAL=OFF \
+ -DWITH_IPP=OFF \
+ -DWITH_OPENGL=ON \
+ -DWITH_OPENMP=ON \
+ -DWITH_QT=ON \
+ -DWITH_XINE=ON \
+ -DOPENCV_ENABLE_NONFREE=ON \
+ -DOPENCV_EXTRA_MODULES_PATH=../${PKGNAM}_contrib-$VERSION/modules \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_JNI_INSTALL_PATH=lib${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# COMMENTED OUT as mlt finds opencv4.pc just fine.
+# Add a symlink to opencv.pc to make eg. mlt find it:
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf opencv4.pc opencv.pc )
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+mv $PKG/usr/share/licenses $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/source/l/opencv/opencv.url b/source/l/opencv/opencv.url
new file mode 100644
index 000000000..db4af844d
--- /dev/null
+++ b/source/l/opencv/opencv.url
@@ -0,0 +1,2 @@
+https://github.com/Itseez/opencv
+https://github.com/Itseez/opencv_contrib
diff --git a/source/l/opencv/slack-desc b/source/l/opencv/slack-desc
new file mode 100644
index 000000000..c979cdda6
--- /dev/null
+++ b/source/l/opencv/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+opencv: opencv (Open Source Computer Vision)
+opencv:
+opencv: OpenCV is a collection of algorithms and sample code for various
+opencv: computer vision problems.
+opencv:
+opencv: Homepage: http://opencv.willowgarage.com
+opencv:
+opencv:
+opencv:
+opencv:
+opencv:
diff --git a/source/l/qca-qt5/qca-qt5.SlackBuild b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
index fba0b3195..f1e2be9a0 100755
--- a/source/l/qca-qt5/qca-qt5.SlackBuild
+++ b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012, 2014, 2015, 2016, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qca-qt5
-SRCNAM=qca
-VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+PKGNAM=phonon-backend-gstreamer
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -76,9 +75,9 @@ 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
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
@@ -91,15 +90,15 @@ find . \
mkdir cmake-build
cd cmake-build
cmake \
- -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
- -DQCA_MAN_INSTALL_DIR=/usr/man \
- -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
+ -DSYSCONF_INSTALL_DIR=/etc \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DBUILD_TESTS:BOOL=OFF \
.. || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -118,7 +117,7 @@ done
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* INSTALL* README* TODO* \
+ COPYING* gstreamer/lgpl-* \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
diff --git a/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url
new file mode 100644
index 000000000..6d6621d75
--- /dev/null
+++ b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url
@@ -0,0 +1 @@
+http://download.kde.org/stable/phonon/phonon-backend-gstreamer/
diff --git a/source/l/phonon-backend-gstreamer/slack-desc b/source/l/phonon-backend-gstreamer/slack-desc
new file mode 100644
index 000000000..bb76521f2
--- /dev/null
+++ b/source/l/phonon-backend-gstreamer/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+phonon-backend-gstreamer: phonon-backend-gstreamer (gstreamer backend for phonon)
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: This package provides an additional gstreamer backend for the phonon
+phonon-backend-gstreamer: multimedia framework used in KDE.
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: Homepage: https://invent.kde.org/libraries/phonon-gstreamer
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
diff --git a/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild b/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild
deleted file mode 100755
index 6d2f50272..000000000
--- a/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/bin/bash
-# Copyright 2011, 2012, 2014 Eric Hameleers, Eindhoven, NL
-# Copyright 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# 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=phonon-gstreamer
-SRCNAM=phonon-backend-gstreamer
-VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-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" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-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 {} \+
-
-echo Building ...
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS: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} \
- .. || exit 1
- make $NUMJOBS || exit 1
- make DESTDIR=$PKG install || exit 1
-cd -
-
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir -p build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS: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} \
- -DPHONON_BUILD_PHONON4QT5=ON \
- .. || exit 1
- make $NUMJOBS || exit 1
- make DESTDIR=$PKG install || exit 1
- cd -
-fi
-
-# Add documentation:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- COPYING.LIB gstreamer/lgpl-* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# Compress the man page(s):
-if [ -d $PKG/usr/man ]; then
- find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \+
- for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).
-gz $i.gz ; rm $i ; done
-fi
-
-# 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/source/l/phonon-gstreamer/slack-desc b/source/l/phonon-gstreamer/slack-desc
deleted file mode 100644
index 924967e0c..000000000
--- a/source/l/phonon-gstreamer/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------------------------------------------------------|
-phonon-gstreamer: phonon-gstreamer (gstreamer backend for phonon)
-phonon-gstreamer:
-phonon-gstreamer: This package provides an additional gstreamer backend for the phonon
-phonon-gstreamer: multimedia framework used in KDE.
-phonon-gstreamer:
-phonon-gstreamer: For more information, visit:
-phonon-gstreamer: https://projects.kde.org/projects/kdesupport/phonon/phonon-gstreamer
-phonon-gstreamer:
-phonon-gstreamer:
-phonon-gstreamer:
-phonon-gstreamer:
diff --git a/source/l/phonon/phonon.SlackBuild b/source/l/phonon/phonon.SlackBuild
index a85c26685..3c97b93b8 100755
--- a/source/l/phonon/phonon.SlackBuild
+++ b/source/l/phonon/phonon.SlackBuild
@@ -1,7 +1,8 @@
#!/bin/sh
# Copyright 2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,26 +22,21 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified 2010, 2011, 2012, 2014 Eric Hameleers, Eindhoven, NL
-
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=phonon
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
if [ "$ARCH" = "i586" ]; then
@@ -76,25 +72,28 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
TMP=${TMP:-/tmp}
-PKG=$TMP/package-phonon
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -r phonon-$VERSION
-tar xvf $CWD/phonon-$VERSION.tar.?z* || exit 1
-cd phonon-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-mkdir build
-cd build
+ \( -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 {} \+
+
+# Qt5 is the only supported version as of 4.11.0:
+mkdir build-qt5
+cd build-qt5
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
@@ -105,36 +104,12 @@ cd build
-DPHONON_QT_PLUGIN_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins/designer \
-DWITH_QZeitgeist=BOOL:OFF \
-DWITH_PulseAudio=BOOL:${PULSEAUDIO} \
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
..
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
cd -
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT:BOOL=ON \
- -DPHONON_QT_PLUGIN_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins/designer \
- -DWITH_QZeitgeist=BOOL:OFF \
- -DWITH_PulseAudio=BOOL:ON \
- -DPHONON_BUILD_PHONON4QT5=ON \
- -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
- cd -
-fi
-
-# PyQT won't find the header files otherwise:
-sed -i -e 's#{includedir}$#& -I\${includedir}/phonon#' $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/phonon.pc
-
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
@@ -150,8 +125,8 @@ if [ -d $PKG/usr/man ]; then
)
fi
-mkdir -p $PKG/usr/doc/phonon-$VERSION
-cp -a phonon/{BUGS,IDEAS,TODO} $PKG/usr/doc/phonon-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a doc/{BUGS,IDEAS,TODO} $PKG/usr/doc/$PKGNAM-$VERSION
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -160,5 +135,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/phonon-$VERSION-$ARCH-$BUILD$TAG.txz
-
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz
diff --git a/source/l/phonon/phonon.deps b/source/l/phonon/phonon.deps
new file mode 100644
index 000000000..bc90dbd95
--- /dev/null
+++ b/source/l/phonon/phonon.deps
@@ -0,0 +1 @@
+extra-cmake-modules
diff --git a/source/l/phonon/phonon.url b/source/l/phonon/phonon.url
new file mode 100644
index 000000000..f0620e58e
--- /dev/null
+++ b/source/l/phonon/phonon.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/phonon/
diff --git a/source/l/phonon/slack-desc b/source/l/phonon/slack-desc
index 97f667a4f..253c95add 100644
--- a/source/l/phonon/slack-desc
+++ b/source/l/phonon/slack-desc
@@ -6,12 +6,12 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-phonon: phonon (multimedia framework for KDE4)
+phonon: phonon (multimedia framework for KDE)
phonon:
phonon: Phonon is the multimedia API provided by Qt and is the standard
phonon: abstraction for handling multimedia streams within the KDE Software
phonon: Compilation. Phonon provides an API for multimedia using various
-phonon: backends (gstreamer, mplayer, xine) to handle the lower level I/O.
+phonon: backends (e.g. GStreamer or VLC) to handle the lower level I/O.
phonon:
phonon: Homepage: http://phonon.kde.org
phonon:
diff --git a/source/l/ConsoleKit2/doinst.sh b/source/l/pipewire/doinst.sh
index c13a36e3e..50765972b 100644
--- a/source/l/ConsoleKit2/doinst.sh
+++ b/source/l/pipewire/doinst.sh
@@ -11,17 +11,5 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-config etc/ConsoleKit/seats.d/00-primary.seat.new
-preserve_perms etc/rc.d/rc.consolekit.new
+config etc/pipewire/pipewire.conf.new
diff --git a/source/l/pipewire/pipewire.SlackBuild b/source/l/pipewire/pipewire.SlackBuild
new file mode 100755
index 000000000..d3210a726
--- /dev/null
+++ b/source/l/pipewire/pipewire.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=pipewire
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Djack=false \
+ -Dpipewire-jack=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Do not clobber custom configurations:
+mv $PKG/etc/pipewire/pipewire.conf{,.new}
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CODE_OF_CONDUCT* COPYING* INSTALL* LICENSE* NEWS* PROTOCOL* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+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/source/l/pipewire/pipewire.url b/source/l/pipewire/pipewire.url
new file mode 100644
index 000000000..c9f6477ee
--- /dev/null
+++ b/source/l/pipewire/pipewire.url
@@ -0,0 +1 @@
+https://gitlab.freedesktop.org/pipewire/pipewire
diff --git a/source/l/pipewire/slack-desc b/source/l/pipewire/slack-desc
new file mode 100644
index 000000000..180d5602b
--- /dev/null
+++ b/source/l/pipewire/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+pipewire: pipewire (multimedia processing)
+pipewire:
+pipewire: PipeWire is a project that aims to greatly improve handling of audio
+pipewire: and video under Linux. It provides a low-latency, graph based
+pipewire: processing engine on top of audio and video devices that can be used
+pipewire: to support the use cases currently handled by both pulseaudio and
+pipewire: JACK. PipeWire was designed with a powerful security model
+pipewire: particularly suited for containerized applications.
+pipewire:
+pipewire: Homepage: https://pipewire.org/
+pipewire:
diff --git a/source/l/polkit-qt-1/polkit-qt-1.SlackBuild b/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
index 7c5ee922c..5d5a8c375 100755
--- a/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
+++ b/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2009, 2010, 2011, 2012, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,21 +23,18 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit-qt-1
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -48,74 +45,86 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
-# Avoid a version number in .la files:
-if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-fi
-
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
-mkdir -p $TMP $PKG/usr
+mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
-
-mkdir -p build
-cd build
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
- $KDE_OPT_ARGS \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
.. || exit 1
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
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/source/l/polkit-qt-1/polkit-qt-1.url b/source/l/polkit-qt-1/polkit-qt-1.url
new file mode 100644
index 000000000..5f88bb433
--- /dev/null
+++ b/source/l/polkit-qt-1/polkit-qt-1.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/polkit-qt-1
diff --git a/source/l/polkit-qt-1/pull-polkit-qt-1 b/source/l/polkit-qt-1/pull-polkit-qt-1
deleted file mode 100644
index 42d648777..000000000
--- a/source/l/polkit-qt-1/pull-polkit-qt-1
+++ /dev/null
@@ -1,6 +0,0 @@
-rm -rf polkit-qt-1
-git clone git://anongit.kde.org/polkit-qt-1
-( cd polkit-qt-1 && rm -rf .git* )
-mv polkit-qt-1 polkit-qt-1-$(date +%Y%m%d)git
-tar cf polkit-qt-1-$(date +%Y%m%d)git.tar polkit-qt-1-$(date +%Y%m%d)git
-xz -9 polkit-qt-1-$(date +%Y%m%d)git.tar
diff --git a/source/l/polkit-qt-1/slack-desc b/source/l/polkit-qt-1/slack-desc
index 92ecd543d..f1fdd088b 100644
--- a/source/l/polkit-qt-1/slack-desc
+++ b/source/l/polkit-qt-1/slack-desc
@@ -10,10 +10,10 @@ polkit-qt-1: polkit-qt-1 (Qt polkit API wrapper)
polkit-qt-1:
polkit-qt-1: polkit-qt-1 aims to make it easy for Qt developers to take advantage
polkit-qt-1: of the polkit API. It is a convenience wrapper around QAction and
-polkit-qt-1: QAbstractButton that lets you integrate those two components
-polkit-qt-1: easily with polkit.
+polkit-qt-1: QAbstractButton that lets you integrate those two components easily
+polkit-qt-1: with polkit.
polkit-qt-1:
-polkit-qt-1: Homepage: http://techbase.kde.org/Polkit-Qt-1
+polkit-qt-1: Homepage: https://projects.kde.org/projects/kdesupport/polkit-qt-1/
polkit-qt-1:
polkit-qt-1:
polkit-qt-1:
diff --git a/source/l/polkit/0001-configure-fix-elogind-support.patch b/source/l/polkit/0001-configure-fix-elogind-support.patch
new file mode 100644
index 000000000..4c40bd9b2
--- /dev/null
+++ b/source/l/polkit/0001-configure-fix-elogind-support.patch
@@ -0,0 +1,29 @@
+From 08bb656496cd3d6213bbe9473f63f2d4a110da6e Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <cogitri@exherbo.org>
+Date: Wed, 11 Apr 2018 13:14:14 +0200
+Subject: [PATCH] configure: fix elogind support
+
+HAVE_LIBSYSTEMD is used to determine which source files to use.
+We have to check if either have_libsystemd or have_libelogind is
+true, as both of these need the source files which are used when
+HAVE_LIBSYSTEMD is true.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 36df239..da47ecb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -221,7 +221,7 @@ AS_IF([test "x$cross_compiling" != "xyes" ], [
+
+ AC_SUBST(LIBSYSTEMD_CFLAGS)
+ AC_SUBST(LIBSYSTEMD_LIBS)
+-AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes"], [Using libsystemd])
++AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes" || test "$have_libelogind" = "yes" ], [Using libsystemd])
+
+ dnl ---------------------------------------------------------------------------
+ dnl - systemd unit / service files
+--
+2.17.0
+
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index 3182b9958..0c12c80a6 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -82,6 +82,9 @@ find . \
zcat $CWD/dont-set-wheel-group-as-admin.diff.gz | patch -p1 || exit 1
+# https://gitlab.freedesktop.org/polkit/polkit/-/issues/29
+zcat $CWD/0001-configure-fix-elogind-support.patch.gz | patch -p1 || exit 1
+
# If we get here and don't have a polkitd user/group, add one.
# Otherwise a few directories in the package will have wrong permissions.
if ! grep -q "^polkitd:" /etc/passwd ; then
@@ -99,9 +102,15 @@ else
fi
if [ ! -r configure ]; then
- NOCONFIGURE=1 ./autogen.sh
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
fi
+LIBELOGIND_CFLAGS="$(pkg-config --cflags libelogind)" \
+LIBELOGIND_LIBS="$(pkg-config --libs libelogind)" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -117,7 +126,7 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-examples \
--enable-introspection \
--enable-libsystemd-login=no \
- --enable-libelogind=no \
+ --enable-libelogind=yes \
$PAM_OPTIONS \
$SHADOW_OPTIONS \
--enable-verbose-mode \
@@ -179,9 +188,8 @@ if [ -r ChangeLog ]; then
fi
mkdir -p $PKG/install
-zcat $CWD/doinst.sh > $PKG/install/doinst.sh
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
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/source/l/qca-qt5/slack-desc b/source/l/qca-qt5/slack-desc
deleted file mode 100644
index 7d8852bea..000000000
--- a/source/l/qca-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 ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qca-qt5: qca-qt5 (Qt Cryptographic Architecture for Qt5)
-qca-qt5:
-qca-qt5: QCA aims to provide a straightforward and cross-platform cryptographic
-qca-qt5: API using Qt datatypes and conventions. The library and plugins
-qca-qt5: support a range of cryptographic features, including SSL/TLS, X.509
-qca-qt5: certificates, SASL, OpenPGP, smartcards, and much more.
-qca-qt5:
-qca-qt5: Homepage: https://github.com/KDE/qca
-qca-qt5:
-qca-qt5:
-qca-qt5:
diff --git a/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff b/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff
deleted file mode 100644
index 01d8bab5a..000000000
--- a/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff
+++ /dev/null
@@ -1,1720 +0,0 @@
-From d58e20ee652038dc4ec4fe4765dc3639ed735526 Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Sat, 16 Dec 2017 22:29:40 +0100
-Subject: Add support for OpenSSL 1.1.0
-
-Test Plan:
-Ran the testsuite with OpenSSL 1.1.0g and 1.0.2j, all passed.
-Using this code with kdeconnect and okteta successfully on my system now.
-
-Reviewers: iromanov
-
-Subscribers: anthonyfieroni, alonbl, heikobecker, cfeck, asturmlechner, bero, rdieter
-
-Differential Revision: https://phabricator.kde.org/D9416
----
- plugins/qca-ossl/ossl110-compat.h | 283 ++++++++++++++++++
- plugins/qca-ossl/qca-ossl.cpp | 583 ++++++++++++++++++++++++--------------
- create mode 100644 plugins/qca-ossl/ossl110-compat.h
-
-diff --git a/plugins/qca-ossl/ossl110-compat.h b/plugins/qca-ossl/ossl110-compat.h
-new file mode 100644
-index 0000000..ec15475
---- /dev/null
-+++ b/plugins/qca-ossl/ossl110-compat.h
-@@ -0,0 +1,283 @@
-+/*
-+ * Copyright (C) 2017 Gabriel Souza Franco <gabrielfrancosouza@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-+ *
-+ */
-+
-+#ifndef OSSL110COMPAT_H
-+#define OSSL110COMPAT_H
-+
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+#include <openssl/rsa.h>
-+#include <openssl/dsa.h>
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define RSA_F_RSA_METH_DUP 161
-+
-+static void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
-+{
-+ if (pr)
-+ *pr = sig->r;
-+ if (ps)
-+ *ps = sig->s;
-+}
-+
-+static int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-+{
-+ if (!sig) return 0;
-+ sig->r = r;
-+ sig->s = s;
-+ return 1;
-+}
-+
-+static void DSA_get0_pqg(const DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ if (p)
-+ *p = dsa->p;
-+ if (q)
-+ *q = dsa->q;
-+ if (g)
-+ *g = dsa->g;
-+}
-+
-+static int DSA_set0_pqg(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ if (!dsa) return 0;
-+ dsa->p = p;
-+ dsa->q = q;
-+ dsa->g = g;
-+ return 1;
-+}
-+
-+static void RSA_get0_key(const RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ if (n)
-+ *n = rsa->n;
-+ if (e)
-+ *e = rsa->e;
-+ if (d)
-+ *d = rsa->d;
-+}
-+
-+static int RSA_set0_key(RSA *rsa, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ if (!rsa) return 0;
-+ rsa->n = n;
-+ rsa->e = e;
-+ rsa->d = d;
-+ return 1;
-+}
-+
-+static void RSA_get0_factors(const RSA *rsa, const BIGNUM **p, const BIGNUM **q)
-+{
-+ if (p)
-+ *p = rsa->p;
-+ if (q)
-+ *q = rsa->q;
-+}
-+
-+static int RSA_set0_factors(RSA *rsa, BIGNUM *p, BIGNUM *q)
-+{
-+ if (!rsa) return 0;
-+ rsa->p = p;
-+ rsa->q = q;
-+ return 1;
-+}
-+
-+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ if (p)
-+ *p = dh->p;
-+ if (q)
-+ *q = dh->q;
-+ if (g)
-+ *g = dh->g;
-+}
-+
-+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ if (!dh) return 0;
-+ dh->p = p;
-+ dh->q = q;
-+ dh->g = g;
-+ return 1;
-+}
-+
-+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key)
-+ *pub_key = dh->pub_key;
-+ if (priv_key)
-+ *priv_key = dh->priv_key;
-+}
-+
-+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ if (!dh) return 0;
-+ dh->pub_key = pub_key;
-+ dh->priv_key = priv_key;
-+ return 1;
-+}
-+
-+static void DSA_get0_key(const DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key)
-+ *pub_key = dsa->pub_key;
-+ if (priv_key)
-+ *priv_key = dsa->priv_key;
-+}
-+
-+static int DSA_set0_key(DSA *dsa, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ if (!dsa) return 0;
-+ dsa->pub_key = pub_key;
-+ dsa->priv_key = priv_key;
-+ return 1;
-+}
-+
-+static void X509_SIG_getm(const X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
-+{
-+ if (palg)
-+ *palg = sig->algor;
-+ if (pdigest)
-+ *pdigest = sig->digest;
-+}
-+
-+static void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, const X509_ALGOR **palg)
-+{
-+ if (psig)
-+ *psig = req->signature;
-+ if (palg)
-+ *palg = req->sig_alg;
-+}
-+
-+static void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, const X509_ALGOR **palg)
-+{
-+ if (psig)
-+ *psig = crl->signature;
-+ if (palg)
-+ *palg = crl->sig_alg;
-+}
-+
-+static RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth)
-+{
-+ if (!meth)
-+ return NULL;
-+
-+ RSA_METHOD *_meth = (RSA_METHOD *) OPENSSL_malloc(sizeof(*_meth));
-+
-+ if (!_meth)
-+ {
-+ RSAerr(RSA_F_RSA_METH_DUP, ERR_R_MALLOC_FAILURE);
-+ return NULL;
-+ }
-+
-+ memcpy(_meth, meth, sizeof(*_meth));
-+ _meth->name = strdup(meth->name);
-+ if (!_meth->name) {
-+ OPENSSL_free(_meth);
-+ RSAerr(RSA_F_RSA_METH_DUP, ERR_R_MALLOC_FAILURE);
-+ return NULL;
-+ }
-+
-+ return _meth;
-+}
-+
-+static int RSA_meth_set_priv_enc(RSA_METHOD *rsa, int (*priv_enc) (int flen, const unsigned char *from,
-+ unsigned char *to, RSA *rsa, int padding))
-+{
-+ if (!rsa) return 0;
-+ rsa->rsa_priv_enc = priv_enc;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_priv_dec(RSA_METHOD *rsa, int (*priv_dec) (int flen, const unsigned char *from,
-+ unsigned char *to, RSA *rsa, int padding))
-+{
-+ if (!rsa) return 0;
-+ rsa->rsa_priv_dec = priv_dec;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_sign(RSA_METHOD *meth, int (*sign) (int type, const unsigned char *m,
-+ unsigned int m_length, unsigned char *sigret, unsigned int *siglen, const RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->rsa_sign = sign;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_verify(RSA_METHOD *meth, int (*verify) (int dtype, const unsigned char *m,
-+ unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, const RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->rsa_verify = verify;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish) (RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->finish = finish;
-+ return 1;
-+}
-+
-+static HMAC_CTX *HMAC_CTX_new()
-+{
-+ HMAC_CTX *ctx = (HMAC_CTX *) OPENSSL_malloc(sizeof(HMAC_CTX));
-+ if (ctx)
-+ HMAC_CTX_init(ctx);
-+ return ctx;
-+}
-+
-+static void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+ if (!ctx)
-+ return;
-+ HMAC_CTX_cleanup(ctx);
-+ EVP_MD_CTX_cleanup(&ctx->i_ctx);
-+ EVP_MD_CTX_cleanup(&ctx->o_ctx);
-+ EVP_MD_CTX_cleanup(&ctx->md_ctx);
-+ OPENSSL_free(ctx);
-+}
-+
-+#define ASN1_STRING_get0_data(...) (const unsigned char*)ASN1_STRING_data(__VA_ARGS__)
-+
-+#define EVP_MD_CTX_new(...) EVP_MD_CTX_create(__VA_ARGS__)
-+#define EVP_MD_CTX_free(...) EVP_MD_CTX_destroy(__VA_ARGS__)
-+
-+#define EVP_PKEY_up_ref(pkey) CRYPTO_add(&(pkey)->references, 1, CRYPTO_LOCK_EVP_PKEY)
-+#define X509_up_ref(cert) CRYPTO_add(&(cert)->references, 1, CRYPTO_LOCK_X509)
-+#define X509_CRL_up_ref(crl) CRYPTO_add(&(crl)->references, 1, CRYPTO_LOCK_X509_CRL)
-+
-+#define EVP_PKEY_id(pky) (pky)->type
-+#define EVP_PKEY_get0_DSA(pky) (pky)->pkey.dsa
-+#define EVP_PKEY_get0_RSA(pky) (pky)->pkey.rsa
-+#define EVP_PKEY_get0_DH(pky) (pky)->pkey.dh
-+
-+#define X509_CRL_get0_lastUpdate X509_CRL_get_lastUpdate
-+#define X509_CRL_get0_nextUpdate X509_CRL_get_nextUpdate
-+
-+#define X509_REQ_get_signature_nid(req) OBJ_obj2nid((req)->sig_alg->algorithm)
-+#define X509_CRL_get_signature_nid(crl) OBJ_obj2nid((crl)->sig_alg->algorithm)
-+
-+#define X509_REVOKED_get0_serialNumber(rev) (rev)->serialNumber
-+#define X509_REVOKED_get0_revocationDate(rev) (rev)->revocationDate
-+
-+#endif // OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#endif // OSSL110COMPAT_H
-diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
-index a507604..39dbc2b 100644
---- a/plugins/qca-ossl/qca-ossl.cpp
-+++ b/plugins/qca-ossl/qca-ossl.cpp
-@@ -2,6 +2,7 @@
- /*
- * Copyright (C) 2004-2007 Justin Karneges <justin@affinix.com>
- * Copyright (C) 2004-2006 Brad Hards <bradh@frogmouth.net>
-+ * Copyright (C) 2017 Fabian Vogt <fabian@ritter-vogt.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -39,6 +40,8 @@
- #include <openssl/pkcs12.h>
- #include <openssl/ssl.h>
-
-+#include "ossl110-compat.h"
-+
- #ifndef OSSL_097
- // comment this out if you'd rather use openssl 0.9.6
- #define OSSL_097
-@@ -53,6 +56,16 @@
- ((_STACK*) (1 ? p : (type*)0))
- #endif
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ #define OSSL_110
-+#endif
-+
-+// OpenSSL 1.1.0 compatibility macros
-+#ifdef OSSL_110
-+#define M_ASN1_IA5STRING_new() ASN1_IA5STRING_new()
-+#define RSA_F_RSA_EAY_PRIVATE_DECRYPT RSA_F_RSA_OSSL_PRIVATE_DECRYPT
-+#endif
-+
- using namespace QCA;
-
- namespace opensslQCAPlugin {
-@@ -94,7 +107,7 @@ static QByteArray bio2ba(BIO *b)
- return buf;
- }
-
--static BigInteger bn2bi(BIGNUM *n)
-+static BigInteger bn2bi(const BIGNUM *n)
- {
- SecureArray buf(BN_num_bytes(n) + 1);
- buf[0] = 0; // positive
-@@ -110,7 +123,7 @@ static BIGNUM *bi2bn(const BigInteger &n)
-
- // take lowest bytes of BIGNUM to fit
- // pad with high byte zeroes to fit
--static SecureArray bn2fixedbuf(BIGNUM *n, int size)
-+static SecureArray bn2fixedbuf(const BIGNUM *n, int size)
- {
- SecureArray buf(BN_num_bytes(n));
- BN_bn2bin(n, (unsigned char *)buf.data());
-@@ -128,8 +141,11 @@ static SecureArray dsasig_der_to_raw(const SecureArray &in)
- const unsigned char *inp = (const unsigned char *)in.data();
- d2i_DSA_SIG(&sig, &inp, in.size());
-
-- SecureArray part_r = bn2fixedbuf(sig->r, 20);
-- SecureArray part_s = bn2fixedbuf(sig->s, 20);
-+ const BIGNUM *bnr, *bns;
-+ DSA_SIG_get0(sig, &bnr, &bns);
-+
-+ SecureArray part_r = bn2fixedbuf(bnr, 20);
-+ SecureArray part_s = bn2fixedbuf(bns, 20);
- SecureArray result;
- result.append(part_r);
- result.append(part_s);
-@@ -144,12 +160,16 @@ static SecureArray dsasig_raw_to_der(const SecureArray &in)
- return SecureArray();
-
- DSA_SIG *sig = DSA_SIG_new();
-- SecureArray part_r(20);
-- SecureArray part_s(20);
-+ SecureArray part_r(20); BIGNUM *bnr;
-+ SecureArray part_s(20); BIGNUM *bns;
- memcpy(part_r.data(), in.data(), 20);
- memcpy(part_s.data(), in.data() + 20, 20);
-- sig->r = BN_bin2bn((const unsigned char *)part_r.data(), part_r.size(), NULL);
-- sig->s = BN_bin2bn((const unsigned char *)part_s.data(), part_s.size(), NULL);
-+ bnr = BN_bin2bn((const unsigned char *)part_r.data(), part_r.size(), NULL);
-+ bns = BN_bin2bn((const unsigned char *)part_s.data(), part_s.size(), NULL);
-+
-+ if(DSA_SIG_set0(sig, bnr, bns) == 0)
-+ return SecureArray();
-+ // Not documented what happens in the failure case, free bnr and bns?
-
- int len = i2d_DSA_SIG(sig, NULL);
- SecureArray result(len);
-@@ -1005,29 +1025,39 @@ public:
- opensslHashContext(const EVP_MD *algorithm, Provider *p, const QString &type) : HashContext(p, type)
- {
- m_algorithm = algorithm;
-- EVP_DigestInit( &m_context, m_algorithm );
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
-+ }
-+
-+ opensslHashContext(const opensslHashContext &other)
-+ : HashContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy_ex(m_context, other.m_context);
- }
-
- ~opensslHashContext()
- {
-- EVP_MD_CTX_cleanup(&m_context);
-+ EVP_MD_CTX_free(m_context);
- }
-
- void clear()
- {
-- EVP_MD_CTX_cleanup(&m_context);
-- EVP_DigestInit( &m_context, m_algorithm );
-+ EVP_MD_CTX_free(m_context);
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
- }
-
- void update(const MemoryRegion &a)
- {
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
- }
-
- MemoryRegion final()
- {
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- return a;
- }
-
-@@ -1038,7 +1068,7 @@ public:
-
- protected:
- const EVP_MD *m_algorithm;
-- EVP_MD_CTX m_context;
-+ EVP_MD_CTX *m_context;
- };
-
-
-@@ -1048,7 +1078,21 @@ public:
- opensslPbkdf1Context(const EVP_MD *algorithm, Provider *p, const QString &type) : KDFContext(p, type)
- {
- m_algorithm = algorithm;
-- EVP_DigestInit( &m_context, m_algorithm );
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
-+ }
-+
-+ opensslPbkdf1Context(const opensslPbkdf1Context &other)
-+ : KDFContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy(m_context, other.m_context);
-+ }
-+
-+ ~opensslPbkdf1Context()
-+ {
-+ EVP_MD_CTX_free(m_context);
- }
-
- Provider::Context *clone() const
-@@ -1082,16 +1126,16 @@ public:
- DK = Tc<0..dkLen-1>
- */
- // calculate T_1
-- EVP_DigestUpdate( &m_context, (unsigned char*)secret.data(), secret.size() );
-- EVP_DigestUpdate( &m_context, (unsigned char*)salt.data(), salt.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)secret.data(), secret.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)salt.data(), salt.size() );
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
-
- // calculate T_2 up to T_c
- for ( unsigned int i = 2; i <= iterationCount; ++i ) {
-- EVP_DigestInit( &m_context, m_algorithm );
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestInit( m_context, m_algorithm );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- }
-
- // shrink a to become DK, of the required length
-@@ -1137,19 +1181,19 @@ public:
- DK = Tc<0..dkLen-1>
- */
- // calculate T_1
-- EVP_DigestUpdate( &m_context, (unsigned char*)secret.data(), secret.size() );
-- EVP_DigestUpdate( &m_context, (unsigned char*)salt.data(), salt.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)secret.data(), secret.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)salt.data(), salt.size() );
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
-
- // calculate T_2 up to T_c
- *iterationCount = 2 - 1; // <- Have to remove 1, unless it computes one
- timer.start(); // ^ time more than the base function
- // ^ with the same iterationCount
- while (timer.elapsed() < msecInterval) {
-- EVP_DigestInit( &m_context, m_algorithm );
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestInit( m_context, m_algorithm );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- ++(*iterationCount);
- }
-
-@@ -1164,7 +1208,7 @@ public:
-
- protected:
- const EVP_MD *m_algorithm;
-- EVP_MD_CTX m_context;
-+ EVP_MD_CTX *m_context;
- };
-
- class opensslPbkdf2Context : public KDFContext
-@@ -1232,12 +1276,28 @@ public:
- opensslHMACContext(const EVP_MD *algorithm, Provider *p, const QString &type) : MACContext(p, type)
- {
- m_algorithm = algorithm;
-- HMAC_CTX_init( &m_context );
-+ m_context = HMAC_CTX_new();
-+#ifndef OSSL_110
-+ HMAC_CTX_init( m_context );
-+#endif
-+ }
-+
-+ opensslHMACContext(const opensslHMACContext &other)
-+ : MACContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = HMAC_CTX_new();
-+ HMAC_CTX_copy(m_context, other.m_context);
-+ }
-+
-+ ~opensslHMACContext()
-+ {
-+ HMAC_CTX_free(m_context);
- }
-
- void setup(const SymmetricKey &key)
- {
-- HMAC_Init_ex( &m_context, key.data(), key.size(), m_algorithm, 0 );
-+ HMAC_Init_ex( m_context, key.data(), key.size(), m_algorithm, 0 );
- }
-
- KeyLength keyLength() const
-@@ -1247,14 +1307,18 @@ public:
-
- void update(const MemoryRegion &a)
- {
-- HMAC_Update( &m_context, (unsigned char *)a.data(), a.size() );
-+ HMAC_Update( m_context, (unsigned char *)a.data(), a.size() );
- }
-
- void final(MemoryRegion *out)
- {
- SecureArray sa( EVP_MD_size( m_algorithm ), 0 );
-- HMAC_Final(&m_context, (unsigned char *)sa.data(), 0 );
-- HMAC_CTX_cleanup(&m_context);
-+ HMAC_Final(m_context, (unsigned char *)sa.data(), 0 );
-+#ifdef OSSL_110
-+ HMAC_CTX_reset(m_context);
-+#else
-+ HMAC_CTX_cleanup(m_context);
-+#endif
- *out = sa;
- }
-
-@@ -1264,7 +1328,7 @@ public:
- }
-
- protected:
-- HMAC_CTX m_context;
-+ HMAC_CTX *m_context;
- const EVP_MD *m_algorithm;
- };
-
-@@ -1278,7 +1342,7 @@ class EVPKey
- public:
- enum State { Idle, SignActive, SignError, VerifyActive, VerifyError };
- EVP_PKEY *pkey;
-- EVP_MD_CTX mdctx;
-+ EVP_MD_CTX *mdctx;
- State state;
- bool raw_type;
- SecureArray raw;
-@@ -1288,19 +1352,23 @@ public:
- pkey = 0;
- raw_type = false;
- state = Idle;
-+ mdctx = EVP_MD_CTX_new();
- }
-
- EVPKey(const EVPKey &from)
- {
- pkey = from.pkey;
-- CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
-+ EVP_PKEY_up_ref(pkey);
- raw_type = false;
- state = Idle;
-+ mdctx = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy(mdctx, from.mdctx);
- }
-
- ~EVPKey()
- {
- reset();
-+ EVP_MD_CTX_free(mdctx);
- }
-
- void reset()
-@@ -1323,8 +1391,8 @@ public:
- else
- {
- raw_type = false;
-- EVP_MD_CTX_init(&mdctx);
-- if(!EVP_SignInit_ex(&mdctx, type, NULL))
-+ EVP_MD_CTX_init(mdctx);
-+ if(!EVP_SignInit_ex(mdctx, type, NULL))
- state = SignError;
- }
- }
-@@ -1340,8 +1408,8 @@ public:
- else
- {
- raw_type = false;
-- EVP_MD_CTX_init(&mdctx);
-- if(!EVP_VerifyInit_ex(&mdctx, type, NULL))
-+ EVP_MD_CTX_init(mdctx);
-+ if(!EVP_VerifyInit_ex(mdctx, type, NULL))
- state = VerifyError;
- }
- }
-@@ -1353,7 +1421,7 @@ public:
- if (raw_type)
- raw += in;
- else
-- if(!EVP_SignUpdate(&mdctx, in.data(), (unsigned int)in.size()))
-+ if(!EVP_SignUpdate(mdctx, in.data(), (unsigned int)in.size()))
- state = SignError;
- }
- else if(state == VerifyActive)
-@@ -1361,7 +1429,7 @@ public:
- if (raw_type)
- raw += in;
- else
-- if(!EVP_VerifyUpdate(&mdctx, in.data(), (unsigned int)in.size()))
-+ if(!EVP_VerifyUpdate(mdctx, in.data(), (unsigned int)in.size()))
- state = VerifyError;
- }
- }
-@@ -1374,17 +1442,20 @@ public:
- unsigned int len = out.size();
- if (raw_type)
- {
-- if (pkey->type == EVP_PKEY_RSA)
-+ int type = EVP_PKEY_id(pkey);
-+
-+ if (type == EVP_PKEY_RSA)
- {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
- if(RSA_private_encrypt (raw.size(), (unsigned char *)raw.data(),
-- (unsigned char *)out.data(), pkey->pkey.rsa,
-+ (unsigned char *)out.data(), rsa,
- RSA_PKCS1_PADDING) == -1) {
-
- state = SignError;
- return SecureArray ();
- }
- }
-- else if (pkey->type == EVP_PKEY_DSA)
-+ else if (type == EVP_PKEY_DSA)
- {
- state = SignError;
- return SecureArray ();
-@@ -1396,7 +1467,7 @@ public:
- }
- }
- else {
-- if(!EVP_SignFinal(&mdctx, (unsigned char *)out.data(), &len, pkey))
-+ if(!EVP_SignFinal(mdctx, (unsigned char *)out.data(), &len, pkey))
- {
- state = SignError;
- return SecureArray();
-@@ -1419,16 +1490,19 @@ public:
- SecureArray out(EVP_PKEY_size(pkey));
- int len = 0;
-
-- if (pkey->type == EVP_PKEY_RSA) {
-+ int type = EVP_PKEY_id(pkey);
-+
-+ if (type == EVP_PKEY_RSA) {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
- if((len = RSA_public_decrypt (sig.size(), (unsigned char *)sig.data(),
-- (unsigned char *)out.data (), pkey->pkey.rsa,
-+ (unsigned char *)out.data (), rsa,
- RSA_PKCS1_PADDING)) == -1) {
-
- state = VerifyError;
- return false;
- }
- }
-- else if (pkey->type == EVP_PKEY_DSA)
-+ else if (type == EVP_PKEY_DSA)
- {
- state = VerifyError;
- return false;
-@@ -1448,7 +1522,7 @@ public:
- }
- else
- {
-- if(EVP_VerifyFinal(&mdctx, (unsigned char *)sig.data(), (unsigned int)sig.size(), pkey) != 1)
-+ if(EVP_VerifyFinal(mdctx, (unsigned char *)sig.data(), (unsigned int)sig.size(), pkey) != 1)
- {
- state = VerifyError;
- return false;
-@@ -1562,9 +1636,11 @@ static bool make_dlgroup(const QByteArray &seed, int bits, int counter, DLParams
- return false;
- if(ret_counter != counter)
- return false;
-- params->p = bn2bi(dsa->p);
-- params->q = bn2bi(dsa->q);
-- params->g = bn2bi(dsa->g);
-+ const BIGNUM *bnp, *bnq, *bng;
-+ DSA_get0_pqg(dsa, &bnp, &bnq, &bng);
-+ params->p = bn2bi(bnp);
-+ params->q = bn2bi(bnq);
-+ params->g = bn2bi(bng);
- DSA_free(dsa);
- return true;
- }
-@@ -1827,10 +1903,11 @@ public:
- return;
-
- // extract the public key into DER format
-- int len = i2d_RSAPublicKey(evp.pkey->pkey.rsa, NULL);
-+ RSA *rsa_pkey = EVP_PKEY_get0_RSA(evp.pkey);
-+ int len = i2d_RSAPublicKey(rsa_pkey, NULL);
- SecureArray result(len);
- unsigned char *p = (unsigned char *)result.data();
-- i2d_RSAPublicKey(evp.pkey->pkey.rsa, &p);
-+ i2d_RSAPublicKey(rsa_pkey, &p);
- p = (unsigned char *)result.data();
-
- // put the DER public key back into openssl
-@@ -1853,7 +1930,7 @@ public:
-
- virtual int maximumEncryptSize(EncryptionAlgorithm alg) const
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- int size = 0;
- switch(alg)
- {
-@@ -1868,7 +1945,7 @@ public:
-
- virtual SecureArray encrypt(const SecureArray &in, EncryptionAlgorithm alg)
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- SecureArray buf = in;
- int max = maximumEncryptSize(alg);
-
-@@ -1901,7 +1978,7 @@ public:
-
- virtual bool decrypt(const SecureArray &in, SecureArray *out, EncryptionAlgorithm alg)
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- SecureArray result(RSA_size(rsa));
- int pad;
-
-@@ -2022,14 +2099,10 @@ public:
- evp.reset();
-
- RSA *rsa = RSA_new();
-- rsa->n = bi2bn(n);
-- rsa->e = bi2bn(e);
-- rsa->p = bi2bn(p);
-- rsa->q = bi2bn(q);
-- rsa->d = bi2bn(d);
--
-- if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
-+ if(RSA_set0_key(rsa, bi2bn(n), bi2bn(e), bi2bn(d)) == 0
-+ || RSA_set0_factors(rsa, bi2bn(p), bi2bn(q)) == 0)
- {
-+ // Free BIGNUMS?
- RSA_free(rsa);
- return;
- }
-@@ -2037,7 +2110,7 @@ public:
- // When private key has no Public Exponent (e) or Private Exponent (d)
- // need to disable blinding. Otherwise decryption will be broken.
- // http://www.mail-archive.com/openssl-users@openssl.org/msg63530.html
-- if(BN_is_zero(rsa->e) || BN_is_zero(rsa->d))
-+ if(e == BigInteger(0) || d == BigInteger(0))
- RSA_blinding_off(rsa);
-
- evp.pkey = EVP_PKEY_new();
-@@ -2050,10 +2123,7 @@ public:
- evp.reset();
-
- RSA *rsa = RSA_new();
-- rsa->n = bi2bn(n);
-- rsa->e = bi2bn(e);
--
-- if(!rsa->n || !rsa->e)
-+ if(RSA_set0_key(rsa, bi2bn(n), bi2bn(e), NULL) == 0)
- {
- RSA_free(rsa);
- return;
-@@ -2066,27 +2136,42 @@ public:
-
- virtual BigInteger n() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->n);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnn;
-+ RSA_get0_key(rsa, &bnn, NULL, NULL);
-+ return bn2bi(bnn);
- }
-
- virtual BigInteger e() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->e);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bne;
-+ RSA_get0_key(rsa, NULL, &bne, NULL);
-+ return bn2bi(bne);
- }
-
- virtual BigInteger p() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->p);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnp;
-+ RSA_get0_factors(rsa, &bnp, NULL);
-+ return bn2bi(bnp);
- }
-
- virtual BigInteger q() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->q);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnq;
-+ RSA_get0_factors(rsa, NULL, &bnq);
-+ return bn2bi(bnq);
- }
-
- virtual BigInteger d() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->d);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnd;
-+ RSA_get0_key(rsa, NULL, NULL, &bnd);
-+ return bn2bi(bnd);
- }
-
- private slots:
-@@ -2135,10 +2220,12 @@ public:
- virtual void run()
- {
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- if(!DSA_generate_key(dsa))
-+ BIGNUM *pne = bi2bn(domain.p()),
-+ *qne = bi2bn(domain.q()),
-+ *gne = bi2bn(domain.g());
-+
-+ if(!DSA_set0_pqg(dsa, pne, qne, gne)
-+ || !DSA_generate_key(dsa))
- {
- DSA_free(dsa);
- return;
-@@ -2213,10 +2300,11 @@ public:
- return;
-
- // extract the public key into DER format
-- int len = i2d_DSAPublicKey(evp.pkey->pkey.dsa, NULL);
-+ DSA *dsa_pkey = EVP_PKEY_get0_DSA(evp.pkey);
-+ int len = i2d_DSAPublicKey(dsa_pkey, NULL);
- SecureArray result(len);
- unsigned char *p = (unsigned char *)result.data();
-- i2d_DSAPublicKey(evp.pkey->pkey.dsa, &p);
-+ i2d_DSAPublicKey(dsa_pkey, &p);
- p = (unsigned char *)result.data();
-
- // put the DER public key back into openssl
-@@ -2245,7 +2333,7 @@ public:
- else
- transformsig = false;
-
-- evp.startSign(EVP_dss1());
-+ evp.startSign(EVP_sha1());
- }
-
- virtual void startVerify(SignatureAlgorithm, SignatureFormat format)
-@@ -2256,7 +2344,7 @@ public:
- else
- transformsig = false;
-
-- evp.startVerify(EVP_dss1());
-+ evp.startVerify(EVP_sha1());
- }
-
- virtual void update(const MemoryRegion &in)
-@@ -2306,13 +2394,14 @@ public:
- evp.reset();
-
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- dsa->pub_key = bi2bn(y);
-- dsa->priv_key = bi2bn(x);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bnq = bi2bn(domain.q());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-+ BIGNUM *bnpriv_key = bi2bn(x);
-
-- if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
-+ if(!DSA_set0_pqg(dsa, bnp, bnq, bng)
-+ || !DSA_set0_key(dsa, bnpub_key, bnpriv_key))
- {
- DSA_free(dsa);
- return;
-@@ -2328,12 +2417,13 @@ public:
- evp.reset();
-
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- dsa->pub_key = bi2bn(y);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bnq = bi2bn(domain.q());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-
-- if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
-+ if(!DSA_set0_pqg(dsa, bnp, bnq, bng)
-+ || !DSA_set0_key(dsa, bnpub_key, NULL))
- {
- DSA_free(dsa);
- return;
-@@ -2346,17 +2436,26 @@ public:
-
- virtual DLGroup domain() const
- {
-- return DLGroup(bn2bi(evp.pkey->pkey.dsa->p), bn2bi(evp.pkey->pkey.dsa->q), bn2bi(evp.pkey->pkey.dsa->g));
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnp, *bnq, *bng;
-+ DSA_get0_pqg(dsa, &bnp, &bnq, &bng);
-+ return DLGroup(bn2bi(bnp), bn2bi(bnq), bn2bi(bng));
- }
-
- virtual BigInteger y() const
- {
-- return bn2bi(evp.pkey->pkey.dsa->pub_key);
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DSA_get0_key(dsa, &bnpub_key, NULL);
-+ return bn2bi(bnpub_key);
- }
-
- virtual BigInteger x() const
- {
-- return bn2bi(evp.pkey->pkey.dsa->priv_key);
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnpriv_key;
-+ DSA_get0_key(dsa, NULL, &bnpriv_key);
-+ return bn2bi(bnpriv_key);
- }
-
- private slots:
-@@ -2405,9 +2504,10 @@ public:
- virtual void run()
- {
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- if(!DH_generate_key(dh))
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ if(!DH_set0_pqg(dh, bnp, NULL, bng)
-+ || !DH_generate_key(dh))
- {
- DH_free(dh);
- return;
-@@ -2479,11 +2579,14 @@ public:
- if(!sec)
- return;
-
-- DH *orig = evp.pkey->pkey.dh;
-+ DH *orig = EVP_PKEY_get0_DH(evp.pkey);
- DH *dh = DH_new();
-- dh->p = BN_dup(orig->p);
-- dh->g = BN_dup(orig->g);
-- dh->pub_key = BN_dup(orig->pub_key);
-+ const BIGNUM *bnp, *bng, *bnpub_key;
-+ DH_get0_pqg(orig, &bnp, NULL, &bng);
-+ DH_get0_key(orig, &bnpub_key, NULL);
-+
-+ DH_set0_key(dh, BN_dup(bnpub_key), NULL);
-+ DH_set0_pqg(dh, BN_dup(bnp), NULL, BN_dup(bng));
-
- evp.reset();
-
-@@ -2499,10 +2602,13 @@ public:
-
- virtual SymmetricKey deriveKey(const PKeyBase &theirs)
- {
-- DH *dh = evp.pkey->pkey.dh;
-- DH *them = static_cast<const DHKey *>(&theirs)->evp.pkey->pkey.dh;
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ DH *them = EVP_PKEY_get0_DH(static_cast<const DHKey *>(&theirs)->evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DH_get0_key(them, &bnpub_key, NULL);
-+
- SecureArray result(DH_size(dh));
-- int ret = DH_compute_key((unsigned char *)result.data(), them->pub_key, dh);
-+ int ret = DH_compute_key((unsigned char *)result.data(), bnpub_key, dh);
- if(ret <= 0)
- return SymmetricKey();
- result.resize(ret);
-@@ -2532,12 +2638,13 @@ public:
- evp.reset();
-
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- dh->pub_key = bi2bn(y);
-- dh->priv_key = bi2bn(x);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-+ BIGNUM *bnpriv_key = bi2bn(x);
-
-- if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
-+ if(!DH_set0_key(dh, bnpub_key, bnpriv_key)
-+ || !DH_set0_pqg(dh, bnp, NULL, bng))
- {
- DH_free(dh);
- return;
-@@ -2553,11 +2660,12 @@ public:
- evp.reset();
-
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- dh->pub_key = bi2bn(y);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-
-- if(!dh->p || !dh->g || !dh->pub_key)
-+ if(!DH_set0_key(dh, bnpub_key, NULL)
-+ || !DH_set0_pqg(dh, bnp, NULL, bng))
- {
- DH_free(dh);
- return;
-@@ -2570,17 +2678,26 @@ public:
-
- virtual DLGroup domain() const
- {
-- return DLGroup(bn2bi(evp.pkey->pkey.dh->p), bn2bi(evp.pkey->pkey.dh->g));
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnp, *bng;
-+ DH_get0_pqg(dh, &bnp, NULL, &bng);
-+ return DLGroup(bn2bi(bnp), bn2bi(bng));
- }
-
- virtual BigInteger y() const
- {
-- return bn2bi(evp.pkey->pkey.dh->pub_key);
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DH_get0_key(dh, &bnpub_key, NULL);
-+ return bn2bi(bnpub_key);
- }
-
- virtual BigInteger x() const
- {
-- return bn2bi(evp.pkey->pkey.dh->priv_key);
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnpriv_key;
-+ DH_get0_key(dh, NULL, &bnpriv_key);
-+ return bn2bi(bnpriv_key);
- }
-
- private slots:
-@@ -2619,10 +2736,14 @@ public:
- {
- key = _key;
- RSA_set_method(rsa, rsa_method());
-+#ifndef OSSL_110
- rsa->flags |= RSA_FLAG_SIGN_VER;
-+#endif
- RSA_set_app_data(rsa, this);
-- rsa->n = bi2bn(_key.n());
-- rsa->e = bi2bn(_key.e());
-+ BIGNUM *bnn = bi2bn(_key.n());
-+ BIGNUM *bne = bi2bn(_key.e());
-+
-+ RSA_set0_key(rsa, bnn, bne, NULL);
- }
-
- RSA_METHOD *rsa_method()
-@@ -2631,12 +2752,16 @@ public:
-
- if(!ops)
- {
-- ops = new RSA_METHOD(*RSA_get_default_method());
-- ops->rsa_priv_enc = 0;//pkcs11_rsa_encrypt;
-- ops->rsa_priv_dec = rsa_priv_dec;
-- ops->rsa_sign = rsa_sign;
-- ops->rsa_verify = 0;//pkcs11_rsa_verify;
-- ops->finish = rsa_finish;
-+ ops = RSA_meth_dup(RSA_get_default_method());
-+ RSA_meth_set_priv_enc(ops, NULL); //pkcs11_rsa_encrypt
-+ RSA_meth_set_priv_dec(ops, rsa_priv_dec); //pkcs11_rsa_encrypt
-+#ifdef OSSL_110
-+ RSA_meth_set_sign(ops, NULL);
-+#else
-+ RSA_meth_set_sign(ops, rsa_sign);
-+#endif
-+ RSA_meth_set_verify(ops, NULL); //pkcs11_rsa_verify
-+ RSA_meth_set_finish(ops, rsa_finish);
- }
- return ops;
- }
-@@ -2676,6 +2801,7 @@ public:
- return -1;
- }
-
-+#ifndef OSSL_110
- static int rsa_sign(int type, const unsigned char *m, unsigned int m_len, unsigned char *sigret, unsigned int *siglen, const RSA *rsa)
- {
- QCA_RSA_METHOD *self = (QCA_RSA_METHOD *)RSA_get_app_data(rsa);
-@@ -2692,7 +2818,6 @@ public:
- }
- else
- {
--
- // make X509 packet
- X509_SIG sig;
- ASN1_TYPE parameter;
-@@ -2766,6 +2891,7 @@ public:
-
- return 1;
- }
-+#endif
-
- static int rsa_finish(RSA *rsa)
- {
-@@ -2867,21 +2993,22 @@ public:
- PKeyBase *pkeyToBase(EVP_PKEY *pkey, bool sec) const
- {
- PKeyBase *nk = 0;
-- if(pkey->type == EVP_PKEY_RSA)
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+ if(pkey_type == EVP_PKEY_RSA)
- {
- RSAKey *c = new RSAKey(provider());
- c->evp.pkey = pkey;
- c->sec = sec;
- nk = c;
- }
-- else if(pkey->type == EVP_PKEY_DSA)
-+ else if(pkey_type == EVP_PKEY_DSA)
- {
- DSAKey *c = new DSAKey(provider());
- c->evp.pkey = pkey;
- c->sec = sec;
- nk = c;
- }
-- else if(pkey->type == EVP_PKEY_DH)
-+ else if(pkey_type == EVP_PKEY_DH)
- {
- DHKey *c = new DHKey(provider());
- c->evp.pkey = pkey;
-@@ -2899,8 +3026,10 @@ public:
- {
- EVP_PKEY *pkey = get_pkey();
-
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QByteArray();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -2913,8 +3042,10 @@ public:
- {
- EVP_PKEY *pkey = get_pkey();
-
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QString();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -2979,9 +3110,10 @@ public:
- return SecureArray();
-
- EVP_PKEY *pkey = get_pkey();
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return SecureArray();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -3008,9 +3140,10 @@ public:
- return QString();
-
- EVP_PKEY *pkey = get_pkey();
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QString();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -3111,11 +3244,18 @@ public:
- crl = from.crl;
-
- if(cert)
-- CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(cert);
- if(req)
-+ {
-+#ifdef OSSL_110
-+ // Not exposed, so copy
-+ req = X509_REQ_dup(req);
-+#else
- CRYPTO_add(&req->references, 1, CRYPTO_LOCK_X509_REQ);
-+#endif
-+ }
- if(crl)
-- CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(crl);
- }
-
- return *this;
-@@ -3221,7 +3361,7 @@ public:
- //
- // This code is mostly taken from OpenSSL v0.9.5a
- // by Eric Young
--QDateTime ASN1_UTCTIME_QDateTime(ASN1_UTCTIME *tm, int *isGmt)
-+QDateTime ASN1_UTCTIME_QDateTime(const ASN1_UTCTIME *tm, int *isGmt)
- {
- QDateTime qdt;
- char *v;
-@@ -3319,7 +3459,7 @@ public:
-
- void fromX509(X509 *x)
- {
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- item.cert = x;
- make_props();
- }
-@@ -3350,7 +3490,7 @@ public:
- if(priv.key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(priv.key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return false;
-
-@@ -3481,7 +3621,7 @@ public:
-
- const MyCertContext *our_cc = this;
- X509 *x = our_cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
-
- const MyCertContext *other_cc = static_cast<const MyCertContext *>(other);
-@@ -3596,14 +3736,21 @@ public:
- p.policies = get_cert_policies(ex);
- }
-
-- if (x->signature)
-+#ifdef OSSL_110
-+ const
-+#endif
-+ ASN1_BIT_STRING *signature;
-+
-+ X509_get0_signature(&signature, NULL, x);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-
-- switch( OBJ_obj2nid(x->cert_info->signature->algorithm) )
-+
-+ switch( X509_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -3635,7 +3782,7 @@ public:
- p.sigalgo = QCA::EMSA3_SHA512;
- break;
- default:
-- qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->cert_info->signature->algorithm);
-+ qDebug() << "Unknown signature value: " << X509_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -3752,7 +3899,7 @@ public:
- if(privateKey -> key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(privateKey -> key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return 0;
-
-@@ -3935,7 +4082,7 @@ public:
- if(priv.key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(priv.key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return false;
-
-@@ -4096,14 +4243,17 @@ public:
-
- sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
-
-- if (x->signature)
-+ const ASN1_BIT_STRING *signature;
-+
-+ X509_REQ_get0_signature(x, &signature, NULL);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-
-- switch( OBJ_obj2nid(x->sig_alg->algorithm) )
-+ switch( X509_REQ_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -4123,7 +4273,7 @@ public:
- p.sigalgo = QCA::EMSA1_SHA1;
- break;
- default:
-- qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
-+ qDebug() << "Unknown signature value: " << X509_REQ_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -4187,7 +4337,7 @@ public:
-
- void fromX509(X509_CRL *x)
- {
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- item.crl = x;
- make_props();
- }
-@@ -4232,15 +4382,15 @@ public:
-
- issuer = get_cert_name(X509_CRL_get_issuer(x));
-
-- p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_lastUpdate(x), NULL);
-- p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_nextUpdate(x), NULL);
-+ p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get0_lastUpdate(x), NULL);
-+ p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get0_nextUpdate(x), NULL);
-
- STACK_OF(X509_REVOKED)* revokeStack = X509_CRL_get_REVOKED(x);
-
- for (int i = 0; i < sk_X509_REVOKED_num(revokeStack); ++i) {
- X509_REVOKED *rev = sk_X509_REVOKED_value(revokeStack, i);
-- BigInteger serial = bn2bi(ASN1_INTEGER_to_BN(rev->serialNumber, NULL));
-- QDateTime time = ASN1_UTCTIME_QDateTime( rev->revocationDate, NULL);
-+ BigInteger serial = bn2bi(ASN1_INTEGER_to_BN(X509_REVOKED_get0_serialNumber(rev), NULL));
-+ QDateTime time = ASN1_UTCTIME_QDateTime( X509_REVOKED_get0_revocationDate(rev), NULL);
- QCA::CRLEntry::Reason reason = QCA::CRLEntry::Unspecified;
- int pos = X509_REVOKED_get_ext_by_NID(rev, NID_crl_reason, -1);
- if (pos != -1) {
-@@ -4289,13 +4439,18 @@ public:
- p.revoked.append(thisEntry);
- }
-
-- if (x->signature)
-+ const ASN1_BIT_STRING *signature;
-+
-+ X509_CRL_get0_signature(x, &signature, NULL);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-- switch( OBJ_obj2nid(x->sig_alg->algorithm) )
-+
-+
-+ switch( X509_CRL_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -4327,7 +4482,7 @@ public:
- p.sigalgo = QCA::EMSA3_SHA512;
- break;
- default:
-- qWarning() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
-+ qWarning() << "Unknown signature value: " << X509_CRL_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -4488,21 +4643,21 @@ Validity MyCertContext::validate(const QList<CertContext*> &trusted, const QList
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(trusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(trusted_list, x);
- }
- for(n = 0; n < untrusted.count(); ++n)
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(untrusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
- }
- for(n = 0; n < crls.count(); ++n)
- {
- const MyCRLContext *cc = static_cast<const MyCRLContext *>(crls[n]);
- X509_CRL *x = cc->item.crl;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- crl_list.append(x);
- }
-
-@@ -4527,7 +4682,7 @@ Validity MyCertContext::validate(const QList<CertContext*> &trusted, const QList
- int ret = X509_verify_cert(ctx);
- int err = -1;
- if(!ret)
-- err = ctx->error;
-+ err = X509_STORE_CTX_get_error(ctx);
-
- // cleanup
- X509_STORE_CTX_free(ctx);
-@@ -4561,21 +4716,21 @@ Validity MyCertContext::validate_chain(const QList<CertContext*> &chain, const Q
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(trusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(trusted_list, x);
- }
- for(n = 1; n < chain.count(); ++n)
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(chain[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
- }
- for(n = 0; n < crls.count(); ++n)
- {
- const MyCRLContext *cc = static_cast<const MyCRLContext *>(crls[n]);
- X509_CRL *x = cc->item.crl;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- crl_list.append(x);
- }
-
-@@ -4600,7 +4755,7 @@ Validity MyCertContext::validate_chain(const QList<CertContext*> &chain, const Q
- int ret = X509_verify_cert(ctx);
- int err = -1;
- if(!ret)
-- err = ctx->error;
-+ err = X509_STORE_CTX_get_error(ctx);
-
- // grab the chain, which may not be fully populated
- STACK_OF(X509) *xchain = X509_STORE_CTX_get_chain(ctx);
-@@ -4664,7 +4819,7 @@ public:
- for(int n = 1; n < chain.count(); ++n)
- {
- X509 *x = static_cast<const MyCertContext *>(chain[n])->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(ca, x);
- }
- }
-@@ -5399,7 +5554,7 @@ public:
- OpenSSL_add_ssl_algorithms();
- SSL_CTX *ctx = 0;
- switch (version) {
--#ifndef OPENSSL_NO_SSL2
-+#if !defined(OPENSSL_NO_SSL2) && !defined(OSSL_110)
- case TLS::SSL_v2:
- ctx = SSL_CTX_new(SSLv2_client_method());
- break;
-@@ -5430,8 +5585,8 @@ public:
- STACK_OF(SSL_CIPHER) *sk = SSL_get_ciphers(ssl);
- QStringList cipherList;
- for(int i = 0; i < sk_SSL_CIPHER_num(sk); ++i) {
-- SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
-- cipherList += cipherIDtoString(version, thisCipher->id);
-+ const SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
-+ cipherList += cipherIDtoString(version, SSL_CIPHER_get_id(thisCipher));
- }
-
- SSL_free(ssl);
-@@ -5808,13 +5963,15 @@ public:
- {
- SessionInfo sessInfo;
-
-- sessInfo.isCompressed = (0 != SSL_SESSION_get_compress_id(ssl->session));
-+ SSL_SESSION *session = SSL_get0_session(ssl);
-+ sessInfo.isCompressed = (0 != SSL_SESSION_get_compress_id(session));
-+ int ssl_version = SSL_version(ssl);
-
-- if (ssl->version == TLS1_VERSION)
-+ if (ssl_version == TLS1_VERSION)
- sessInfo.version = TLS::TLS_v1;
-- else if (ssl->version == SSL3_VERSION)
-+ else if (ssl_version == SSL3_VERSION)
- sessInfo.version = TLS::SSL_v3;
-- else if (ssl->version == SSL2_VERSION)
-+ else if (ssl_version == SSL2_VERSION)
- sessInfo.version = TLS::SSL_v2;
- else {
- qDebug("unexpected version response");
-@@ -5822,7 +5979,7 @@ public:
- }
-
- sessInfo.cipherSuite = cipherIDtoString( sessInfo.version,
-- SSL_get_current_cipher(ssl)->id);
-+ SSL_CIPHER_get_id(SSL_get_current_cipher(ssl)));
-
- sessInfo.cipherMaxBits = SSL_get_cipher_bits(ssl, &(sessInfo.cipherBits));
-
-@@ -6394,7 +6551,7 @@ public:
- for(int n = 0; n < nonroots.count(); ++n)
- {
- X509 *x = static_cast<MyCertContext *>(nonroots[n].context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
- }
-
-@@ -6436,7 +6593,7 @@ public:
-
- other_certs = sk_X509_new_null();
- X509 *x = static_cast<MyCertContext *>(target.context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
-
- bi = BIO_new(BIO_s_mem());
-@@ -6499,7 +6656,7 @@ public:
- for(int n = 0; n < untrusted_list.count(); ++n)
- {
- X509 *x = static_cast<MyCertContext *>(untrusted_list[n].context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
- }
-
-@@ -6750,14 +6907,27 @@ public:
- opensslCipherContext(const EVP_CIPHER *algorithm, const int pad, Provider *p, const QString &type) : CipherContext(p, type)
- {
- m_cryptoAlgorithm = algorithm;
-- EVP_CIPHER_CTX_init(&m_context);
-+ m_context = EVP_CIPHER_CTX_new();
-+ EVP_CIPHER_CTX_init(m_context);
- m_pad = pad;
- m_type = type;
- }
-
-+ opensslCipherContext(const opensslCipherContext &other)
-+ : CipherContext(other)
-+ {
-+ m_cryptoAlgorithm = other.m_cryptoAlgorithm;
-+ m_context = EVP_CIPHER_CTX_new();
-+ EVP_CIPHER_CTX_copy(m_context, other.m_context);
-+ m_direction = other.m_direction;
-+ m_pad = other.m_pad;
-+ m_type = other.m_type;
-+ }
-+
- ~opensslCipherContext()
- {
-- EVP_CIPHER_CTX_cleanup(&m_context);
-+ EVP_CIPHER_CTX_cleanup(m_context);
-+ EVP_CIPHER_CTX_free(m_context);
- }
-
- void setup(Direction dir,
-@@ -6772,20 +6943,20 @@ public:
- m_cryptoAlgorithm = EVP_des_ede();
- }
- if (Encode == m_direction) {
-- EVP_EncryptInit_ex(&m_context, m_cryptoAlgorithm, 0, 0, 0);
-- EVP_CIPHER_CTX_set_key_length(&m_context, key.size());
-+ EVP_EncryptInit_ex(m_context, m_cryptoAlgorithm, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_key_length(m_context, key.size());
-- EVP_EncryptInit_ex(&m_context, 0, 0,
-+ EVP_EncryptInit_ex(m_context, 0, 0,
- (const unsigned char*)(key.data()),
- (const unsigned char*)(iv.data()));
- } else {
-- EVP_DecryptInit_ex(&m_context, m_cryptoAlgorithm, 0, 0, 0);
-- EVP_CIPHER_CTX_set_key_length(&m_context, key.size());
-+ EVP_DecryptInit_ex(m_context, m_cryptoAlgorithm, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_key_length(m_context, key.size());
-- EVP_DecryptInit_ex(&m_context, 0, 0,
-+ EVP_DecryptInit_ex(m_context, 0, 0,
- (const unsigned char*)(key.data()),
- (const unsigned char*)(iv.data()));
- }
-
-- EVP_CIPHER_CTX_set_padding(&m_context, m_pad);
-+ EVP_CIPHER_CTX_set_padding(m_context, m_pad);
- }
-
- Provider::Context *clone() const
-@@ -6803,7 +6974,7 @@ public:
-
- int blockSize() const
- {
-- return EVP_CIPHER_CTX_block_size(&m_context);
-+ return EVP_CIPHER_CTX_block_size(m_context);
- }
-
- bool update(const SecureArray &in, SecureArray *out)
-@@ -6821,7 +6992,7 @@ public:
- out->resize(in.size()+blockSize());
- int resultLength;
- if (Encode == m_direction) {
-- if (0 == EVP_EncryptUpdate(&m_context,
-+ if (0 == EVP_EncryptUpdate(m_context,
- (unsigned char*)out->data(),
- &resultLength,
- (unsigned char*)in.data(),
-@@ -6829,7 +7000,7 @@ public:
- return false;
- }
- } else {
-- if (0 == EVP_DecryptUpdate(&m_context,
-+ if (0 == EVP_DecryptUpdate(m_context,
- (unsigned char*)out->data(),
- &resultLength,
- (unsigned char*)in.data(),
-@@ -6846,13 +7017,13 @@ public:
- out->resize(blockSize());
- int resultLength;
- if (Encode == m_direction) {
-- if (0 == EVP_EncryptFinal_ex(&m_context,
-+ if (0 == EVP_EncryptFinal_ex(m_context,
- (unsigned char*)out->data(),
- &resultLength)) {
- return false;
- }
- } else {
-- if (0 == EVP_DecryptFinal_ex(&m_context,
-+ if (0 == EVP_DecryptFinal_ex(m_context,
- (unsigned char*)out->data(),
- &resultLength)) {
- return false;
-@@ -6899,7 +7070,7 @@ public:
-
-
- protected:
-- EVP_CIPHER_CTX m_context;
-+ EVP_CIPHER_CTX *m_context;
- const EVP_CIPHER *m_cryptoAlgorithm;
- Direction m_direction;
- int m_pad;
diff --git a/source/l/qca/qca.SlackBuild b/source/l/qca/qca.SlackBuild
index c76db2da6..550c32d05 100755
--- a/source/l/qca/qca.SlackBuild
+++ b/source/l/qca/qca.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/bash
-# Copyright 2006, 2008, 2009, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,23 +21,22 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by Robby Workman <rworkman@slackware.com> for qca-2.0.0
-# No additional license terms and no copyright claim
-
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=qca
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+SRCNAM=qca
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
-# Automatically determine architecture for build & packaging:
+# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ 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:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -47,72 +47,82 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
-cd $PKGNAM-$VERSION || exit 1
+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 {} \+
-
-# Support OpenSSL-1.1.x:
-zcat $CWD/Add_support_for_OpenSSL_1.1.0.diff.gz | patch -p1 --verbose || exit 1
-
-# This unit test patch won't apply, so whatever. Don't need it.
-#qca.tlsunittest.cpp.diff.gz | patch -p1 --verbose || exit 1
-
-mkdir build
-cd build
-
-cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DQCA_MAN_INSTALL_DIR=/usr/man \
- -DQCA_FEATURE_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX}/qt/mkspecs/features/ \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SHARED_LINKER_FLAGS="-lstdc++" \
- -DLIB_SUFFIX="${LIBDIRSUFFIX}" \
- -DQT4_BUILD:BOOL=ON \
- .. || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DQCA_MAN_INSTALL_DIR=/usr/man \
+ -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS:BOOL=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-gzip -9 $PKG/usr/man/man?/*.?
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-cd ..
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING INSTALL README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ COPYING* INSTALL* README* TODO* \
+ $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
-
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/qca/qca.tlsunittest.cpp.diff b/source/l/qca/qca.tlsunittest.cpp.diff
deleted file mode 100644
index 0b3d6090a..000000000
--- a/source/l/qca/qca.tlsunittest.cpp.diff
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/unittest/tls/tlsunittest.cpp b/unittest/tls/tlsunittest.cpp
-index 38caf2d..ba8ed94 100644
---- a/unittest/tls/tlsunittest.cpp
-+++ b/unittest/tls/tlsunittest.cpp
-@@ -60,14 +60,16 @@ void TLSUnitTest::testCipherList()
- QCA::TLS *tls = new QCA::TLS(QCA::TLS::Stream, 0, "qca-ossl");
- QStringList cipherList = tls->supportedCipherSuites(QCA::TLS::TLS_v1);
- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_256_CBC_SHA") );
- QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_RSA_WITH_3DES_EDE_CBC_SHA") );
- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_128_CBC_SHA") );
-+
-+ // openSUSE TW OpenSSL 1.1 does not have this
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_128_CBC_SHA") );
-
- // Fedora 26 openssl has no this cipher suites.
- // QVERIFY( cipherList.contains("TLS_RSA_WITH_RC4_128_SHA") );
-@@ -89,16 +91,17 @@ void TLSUnitTest::testCipherList()
- // QVERIFY( cipherList.contains("TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5") );
- // QVERIFY( cipherList.contains("TLS_RSA_EXPORT_WITH_RC4_40_MD5") );
-
-- cipherList = tls->supportedCipherSuites(QCA::TLS::SSL_v3);
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_128_CBC_SHA") );
-+ // OpenSSL 1.1 in openSUSE TW has it disabled by default
-+ // cipherList = tls->supportedCipherSuites(QCA::TLS::SSL_v3);
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_128_CBC_SHA") );
-
- // Fedora 22 has no SSL_RSA_WITH_RC4_128_MD5
- // QVERIFY( cipherList.contains("SSL_RSA_WITH_RC4_128_MD5") );
---
-cgit v0.11.2
-
diff --git a/source/l/qca-qt5/qca-qt5.url b/source/l/qca/qca.url
index 6761b96a5..6761b96a5 100644
--- a/source/l/qca-qt5/qca-qt5.url
+++ b/source/l/qca/qca.url
diff --git a/source/l/qca/slack-desc b/source/l/qca/slack-desc
index fe30b1a34..ec4e9f0d6 100644
--- a/source/l/qca/slack-desc
+++ b/source/l/qca/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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------------------------------------------------------|
qca: qca (Qt Cryptographic Architecture)
qca:
-qca: QCA aims to provide a straightforward and cross-platform crypto API,
-qca: using Qt datatypes and conventions. QCA separates the API from the
-qca: implementation, using plugins known as Providers. The advantage of
-qca: this model is to allow applications to avoid linking to or explicitly
-qca: depending on any particular cryptographic library. This allows one
-qca: to easily change or upgrade crypto implementations without needing
-qca: to recompile the application.
+qca: QCA aims to provide a straightforward and cross-platform cryptographic
+qca: API using Qt datatypes and conventions. The library and plugins
+qca: support a range of cryptographic features, including SSL/TLS, X.509
+qca: certificates, SASL, OpenPGP, smartcards, and much more.
+qca:
+qca: Homepage: https://github.com/KDE/qca
+qca:
+qca:
qca:
-qca: QCA was written by Justin Karneges.
diff --git a/source/l/qimageblitz/qimageblitz.SlackBuild b/source/l/qimageblitz/qimageblitz.SlackBuild
deleted file mode 100755
index 578a16cd4..000000000
--- a/source/l/qimageblitz/qimageblitz.SlackBuild
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2018 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.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qimageblitz
-VERSION=0.0.6
-BUILD=${BUILD:-2}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-qimageblitz
-
-# 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
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- 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 qimageblitz-$VERSION
-tar xvf $CWD/qimageblitz-$VERSION.tar.bz2 || exit 1
-cd qimageblitz-$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
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/qimageblitz-$VERSION
-cp -a AUTHORS COPYING* README* $PKG/usr/doc/qimageblitz-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/qimageblitz-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qimageblitz/qimageblitz.info b/source/l/qimageblitz/qimageblitz.info
deleted file mode 100644
index 49a399536..000000000
--- a/source/l/qimageblitz/qimageblitz.info
+++ /dev/null
@@ -1,8 +0,0 @@
-PRGNAM="qimageblitz"
-VERSION="0.0.4"
-HOMEPAGE="http://sourceforge.net/projects/qimageblitz"
-DOWNLOAD="http://downloads.sourceforge.net/qimageblitz/qimageblitz-0.0.4.tar.bz2"
-MD5SUM="cb87c7f1c0455e8984ee4830f1e749cf"
-MAINTAINER="Robby Workman"
-EMAIL="rw@rlworkman.net"
-APPROVED=
diff --git a/source/l/qimageblitz/slack-desc b/source/l/qimageblitz/slack-desc
deleted file mode 100644
index a4d3e34a7..000000000
--- a/source/l/qimageblitz/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------------------------------------------------|
-qimageblitz: qimageblitz (Graphical effect and filter library for KDE4)
-qimageblitz:
-qimageblitz: Blitz is a graphical effect and filter library for KDE4.0 that
-qimageblitz: contains many improvements over KDE 3.x's kdefx library
-qimageblitz: including bugfixes, memory and speed improvements, and MMX/SSE
-qimageblitz: support.
-qimageblitz:
-qimageblitz:
-qimageblitz:
-qimageblitz:
-qimageblitz:
diff --git a/source/l/qjson/slack-desc b/source/l/qjson/slack-desc
deleted file mode 100644
index 994c01fb6..000000000
--- a/source/l/qjson/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------------------------------------------------------|
-qjson: qjson (manage JSON objects with Qt)
-qjson:
-qjson: JSON (JavaScript Object Notation) is a lightweight data-interchange
-qjson: format. It can represents integer, real number, string, an ordered
-qjson: sequence of value, and a collection of name/value pairs.
-qjson: QJson is a qt-based library that maps JSON data to QVariant objects:
-qjson: JSON arrays will be mapped to QVariantList instances, while JSON's
-qjson: objects will be mapped to QVariantMap.
-qjson:
-qjson: http://qjson.sourceforge.net/
-qjson:
diff --git a/source/l/qrencode/qrencode.SlackBuild b/source/l/qrencode/qrencode.SlackBuild
new file mode 100755
index 000000000..476045f12
--- /dev/null
+++ b/source/l/qrencode/qrencode.SlackBuild
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Copyright 2014, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=qrencode
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --without-tests \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog COPYING* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/qrencode/qrencode.url b/source/l/qrencode/qrencode.url
new file mode 100644
index 000000000..fb85876b6
--- /dev/null
+++ b/source/l/qrencode/qrencode.url
@@ -0,0 +1 @@
+http://fukuchi.org/works/qrencode
diff --git a/source/l/qrencode/slack-desc b/source/l/qrencode/slack-desc
new file mode 100644
index 000000000..ec1095650
--- /dev/null
+++ b/source/l/qrencode/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+qrencode: qrencode (QR Code encoding library)
+qrencode:
+qrencode: Libqrencode is a library for encoding data in a QR Code symbol, a kind
+qrencode: of 2D symbology that can be scanned by handy terminals such as a
+qrencode: mobile phone camera. The capacity of QR Code is up to 7000 digits or
+qrencode: 4000 characters, and has high robustness.
+qrencode:
+qrencode: Homepage: http://fukuchi.org/works/qrencode
+qrencode:
+qrencode:
+qrencode:
diff --git a/source/l/qt-gstreamer/doinst.sh b/source/l/qt-gstreamer/doinst.sh
deleted file mode 100644
index aab1b9e3c..000000000
--- a/source/l/qt-gstreamer/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database ./usr/share/mime >/dev/null 2>&1
-fi
-
diff --git a/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff b/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff
deleted file mode 100644
index d97ace63d..000000000
--- a/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./src/QGst/caps.cpp.orig 2014-07-08 13:38:36.000000000 -0500
-+++ ./src/QGst/caps.cpp 2019-04-21 20:39:17.810000919 -0500
-@@ -54,7 +54,8 @@
-
- void Caps::append(const CapsPtr & caps2)
- {
-- gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
-+ GstCaps *caps3 = caps2;
-+ gst_caps_append(object<GstCaps>(), gst_caps_copy(caps3));
- }
-
- CapsPtr Caps::merge(CapsPtr & caps2)
diff --git a/source/l/qt-gstreamer/slack-desc b/source/l/qt-gstreamer/slack-desc
deleted file mode 100644
index 08d633d91..000000000
--- a/source/l/qt-gstreamer/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-----------------------------------------------------|
-qt-gstreamer: qt-gstreamer (C++ bindings for gstreamer)
-qt-gstreamer:
-qt-gstreamer: QtGStreamer provides C++ bindings for GStreamer with a Qt-style API,
-qt-gstreamer: plus some helper classes and elements for integrating GStreamer
-qt-gstreamer: better in Qt applications.
-qt-gstreamer: The goal of this module is to allow easy use of GStreamer for
-qt-gstreamer: applications targetting MeeGo Mobile or the KDE desktop.
-qt-gstreamer:
-qt-gstreamer: Homepage:
-qt-gstreamer: http://gstreamer.freedesktop.org/modules/qt-gstreamer.html
-qt-gstreamer:
diff --git a/source/l/qt/Qt.pc b/source/l/qt/Qt.pc
deleted file mode 100644
index 29d1131c6..000000000
--- a/source/l/qt/Qt.pc
+++ /dev/null
@@ -1,16 +0,0 @@
-prefix=/usr/lib${LIBDIRSUFFIX}/qt
-bindir=${prefix}/bin
-datadir=${prefix}
-docdir=${prefix}/doc
-headerdir=${prefix}/include
-importdir=${prefix}/imports
-libdir=${prefix}/lib
-moc=${bindir}/moc
-plugindir=${prefix}/plugins
-qmake=${bindir}/qmake
-sysconfdir=/etc
-translationdir=${prefix}/translations
-
-Name: Qt
-Description: Qt Configuration
-Version: 4.8.6
diff --git a/source/l/qt/README b/source/l/qt/README
deleted file mode 100644
index 9bbcb3467..000000000
--- a/source/l/qt/README
+++ /dev/null
@@ -1,9 +0,0 @@
-qt-<version>_<git revision> is actually KDE's version of Qt from git
-that includes important patches not yet present in mainline Qt.
-
-The recommended version of Qt for KDE may be obtained from the
-repository with this command:
-
-git clone git://gitorious.org/+kde-developers/qt/kde-qt.git
-
-(see the SlackBuild for more details)
diff --git a/source/l/qt/doinst.sh b/source/l/qt/doinst.sh
deleted file mode 100644
index b9a2c53ba..000000000
--- a/source/l/qt/doinst.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-
-if [ -x sbin/ldconfig ]; then
- chroot . /sbin/ldconfig 2> /dev/null
-fi
-
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
-fi
-
-
diff --git a/source/l/qt/patches/qt-4.8-disable-sslv3.patch b/source/l/qt/patches/qt-4.8-disable-sslv3.patch
deleted file mode 100644
index c9b1996ec..000000000
--- a/source/l/qt/patches/qt-4.8-disable-sslv3.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- ./src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2019-11-09 12:55:26.646752874 -0600
-+++ ./src/network/ssl/qsslsocket_openssl_symbols.cpp 2019-11-09 12:58:22.032754751 -0600
-@@ -253,7 +253,9 @@
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
-@@ -263,7 +265,9 @@
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
-@@ -272,7 +276,9 @@
- DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
- DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-@@ -756,7 +762,9 @@
- RESOLVEFUNC(SSL_shutdown, 173, libs.first )
- RESOLVEFUNC(SSL_write, 188, libs.first )
- RESOLVEFUNC(SSLv2_client_method, 192, libs.first )
-+#ifndef OPENSSL_NO_SSL3
- RESOLVEFUNC(SSLv3_client_method, 195, libs.first )
-+#endif
- RESOLVEFUNC(SSLv23_client_method, 189, libs.first )
- RESOLVEFUNC(TLSv1_client_method, 198, libs.first )
- RESOLVEFUNC(SSLv2_server_method, 194, libs.first )
---- ./src/network/ssl/qsslsocket_openssl.cpp.orig 2019-11-09 12:55:01.605752606 -0600
-+++ ./src/network/ssl/qsslsocket_openssl.cpp 2019-11-09 12:55:26.632752874 -0600
-@@ -273,7 +273,11 @@
- #endif
- break;
- case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3
- ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
-+#endif
- break;
- case QSsl::SecureProtocols: // SslV2 will be disabled below
- case QSsl::TlsV1SslV3: // SslV2 will be disabled below
diff --git a/source/l/qt/patches/qt-4.8-poll.patch b/source/l/qt/patches/qt-4.8-poll.patch
deleted file mode 100644
index aed363c66..000000000
--- a/source/l/qt/patches/qt-4.8-poll.patch
+++ /dev/null
@@ -1,812 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp 2014-03-31 18:04:05.958260978 -0500
-@@ -158,13 +158,6 @@ static void qt_sa_sigchld_sigaction(int
- }
- }
-
--static inline void add_fd(int &nfds, int fd, fd_set *fdset)
--{
-- FD_SET(fd, fdset);
-- if ((fd) > nfds)
-- nfds = fd;
--}
--
- struct QProcessInfo {
- QProcess *process;
- int deathPipe;
-@@ -256,9 +249,9 @@ QProcessManager::~QProcessManager()
- void QProcessManager::run()
- {
- forever {
-- fd_set readset;
-- FD_ZERO(&readset);
-- FD_SET(qt_qprocess_deadChild_pipe[0], &readset);
-+ pollfd fd;
-+ fd.fd = qt_qprocess_deadChild_pipe[0];
-+ fd.events = POLLIN;
-
- #if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::run() waiting for children to die";
-@@ -267,8 +260,8 @@ void QProcessManager::run()
- // block forever, or until activity is detected on the dead child
- // pipe. the only other peers are the SIGCHLD signal handler, and the
- // QProcessManager destructor.
-- int nselect = select(qt_qprocess_deadChild_pipe[0] + 1, &readset, 0, 0, 0);
-- if (nselect < 0) {
-+ int ret = qt_safe_poll(&fd, 1, -1, /* retry_eintr */ false);
-+ if (ret < 0) {
- if (errno == EINTR)
- continue;
- break;
-@@ -1027,17 +1020,6 @@ void QProcessPrivate::killProcess()
- ::kill(pid_t(pid), SIGKILL);
- }
-
--static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout)
--{
-- if (timeout < 0)
-- return qt_safe_select(nfds, fdread, fdwrite, 0, 0);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
-- return qt_safe_select(nfds, fdread, fdwrite, 0, &tv);
--}
--
- /*
- Returns the difference between msecs and elapsed. If msecs is -1,
- however, -1 is returned.
-@@ -1060,10 +1042,10 @@ bool QProcessPrivate::waitForStarted(int
- childStartedPipe[0]);
- #endif
-
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(childStartedPipe[0], &fds);
-- if (select_msecs(childStartedPipe[0] + 1, &fds, 0, msecs) == 0) {
-+ pollfd fd;
-+ fd.fd = childStartedPipe[0];
-+ fd.events = POLLIN;
-+ if (qt_safe_poll(&fd, 1, msecs) == 0) {
- processError = QProcess::Timedout;
- q->setErrorString(QProcess::tr("Process operation timed out"));
- #if defined (QPROCESS_DEBUG)
-@@ -1079,6 +1061,47 @@ bool QProcessPrivate::waitForStarted(int
- return startedEmitted;
- }
-
-+class QProcessFDSet {
-+ pollfd fds[5];
-+
-+ static size_t size()
-+ {
-+ return sizeof(fds)/sizeof(fds[0]);
-+ }
-+
-+public:
-+ QProcessFDSet(QProcessPrivate &proc)
-+ {
-+ for (size_t i = 0; i < size(); ++i) {
-+ fds[i].fd = -1;
-+ fds[i].events = POLLIN;
-+ }
-+ death().fd = proc.deathPipe[0];
-+
-+ if (proc.processState == QProcess::Starting)
-+ started().fd = proc.childStartedPipe[0];
-+
-+ stdout().fd = proc.stdoutChannel.pipe[0];
-+ stderr().fd = proc.stderrChannel.pipe[0];
-+
-+ if (!proc.writeBuffer.isEmpty()) {
-+ stdin().fd = proc.stdinChannel.pipe[1];
-+ stdin().events = POLLOUT;
-+ }
-+ }
-+
-+ int poll(int timeout)
-+ {
-+ return qt_safe_poll(fds, size(), timeout);
-+ }
-+
-+ pollfd &death() { return fds[0]; }
-+ pollfd &started() { return fds[1]; }
-+ pollfd &stdout() { return fds[2]; }
-+ pollfd &stderr() { return fds[3]; }
-+ pollfd &stdin() { return fds[4]; }
-+};
-+
- bool QProcessPrivate::waitForReadyRead(int msecs)
- {
- Q_Q(QProcess);
-@@ -1090,28 +1113,9 @@ bool QProcessPrivate::waitForReadyRead(i
- stopWatch.start();
-
- forever {
-- fd_set fdread;
-- fd_set fdwrite;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- int nfds = deathPipe[0];
-- FD_SET(deathPipe[0], &fdread);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1121,18 +1125,18 @@ bool QProcessPrivate::waitForReadyRead(i
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-
- bool readyReadEmitted = false;
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) {
-+ if (qt_readable(fdset.stdout())) {
- bool canRead = _q_canReadStandardOutput();
- if (processChannel == QProcess::StandardOutput && canRead)
- readyReadEmitted = true;
- }
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) {
-+ if (qt_readable(fdset.stderr())) {
- bool canRead = _q_canReadStandardError();
- if (processChannel == QProcess::StandardError && canRead)
- readyReadEmitted = true;
-@@ -1140,13 +1144,13 @@ bool QProcessPrivate::waitForReadyRead(i
- if (readyReadEmitted)
- return true;
-
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- _q_canWrite();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-+ if (qt_readable(fdset.death())) {
- if (_q_processDied())
- return false;
-- }
-+ }
- }
- return false;
- }
-@@ -1162,29 +1166,9 @@ bool QProcessPrivate::waitForBytesWritte
- stopWatch.start();
-
- while (!writeBuffer.isEmpty()) {
-- fd_set fdread;
-- fd_set fdwrite;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- int nfds = deathPipe[0];
-- FD_SET(deathPipe[0], &fdread);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1195,24 +1179,24 @@ bool QProcessPrivate::waitForBytesWritte
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- return _q_canWrite();
-
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stdout()))
- _q_canReadStandardOutput();
-
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stderr()))
- _q_canReadStandardError();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-- if (_q_processDied())
-- return false;
-- }
-+ if (qt_readable(fdset.death())) {
-+ if (_q_processDied())
-+ return false;
-+ }
- }
-
- return false;
-@@ -1229,29 +1213,9 @@ bool QProcessPrivate::waitForFinished(in
- stopWatch.start();
-
- forever {
-- fd_set fdread;
-- fd_set fdwrite;
-- int nfds = -1;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
-- if (processState == QProcess::Running)
-- add_fd(nfds, deathPipe[0], &fdread);
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1261,20 +1225,20 @@ bool QProcessPrivate::waitForFinished(in
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- _q_canWrite();
-
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stdout()))
- _q_canReadStandardOutput();
-
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stderr()))
- _q_canReadStandardError();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-+ if (qt_readable(fdset.death())) {
- if (_q_processDied())
- return true;
- }
-@@ -1284,10 +1248,10 @@ bool QProcessPrivate::waitForFinished(in
-
- bool QProcessPrivate::waitForWrite(int msecs)
- {
-- fd_set fdwrite;
-- FD_ZERO(&fdwrite);
-- FD_SET(stdinChannel.pipe[1], &fdwrite);
-- return select_msecs(stdinChannel.pipe[1] + 1, 0, &fdwrite, msecs < 0 ? 0 : msecs) == 1;
-+ pollfd fd;
-+ fd.fd = stdinChannel.pipe[1];
-+ fd.events = POLLIN;
-+ return qt_safe_poll(&fd, 1, msecs);
- }
-
- void QProcessPrivate::findExitCode()
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp 2014-03-31 18:01:59.369715403 -0500
-@@ -99,4 +99,165 @@ int qt_safe_select(int nfds, fd_set *fdr
- }
- }
-
-+#ifndef Q_OS_VXWORKS
-+
-+int qt_safe_poll(struct pollfd *fds, int nfds, int timeout_ms, bool retry_eintr)
-+{
-+ if (nfds == 0)
-+ return 0;
-+ if (nfds < 0) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ // Retry on ret == 0 if the deadline has not yet passed because
-+ // Linux can return early from the syscall, without setting EINTR.
-+ if (timeout_ms < 0) {
-+ forever {
-+ int ret = ::poll(fds, nfds, -1);
-+ if (ret > 0)
-+ return ret;
-+ if (retry_eintr) {
-+ if (ret == 0 || ret == -1 && errno == EINTR) {
-+ continue;
-+ } else {
-+ return -1;
-+ }
-+ }
-+ if (ret == 0) {
-+ errno = EINTR;
-+ return -1;
-+ }
-+ return ret;
-+ }
-+ }
-+
-+ timeval previous = qt_gettime();
-+ timeval deadline = previous;
-+ deadline.tv_sec += timeout_ms / 1000;
-+ deadline.tv_usec += (timeout_ms % 1000) * 1000;
-+ if (deadline.tv_usec >= 1000000) {
-+ ++deadline.tv_sec;
-+ deadline.tv_usec -= 1000000;
-+ }
-+ int remaining = timeout_ms;
-+
-+ forever {
-+ int ret = ::poll(fds, nfds, remaining);
-+ if (ret > 0)
-+ return ret;
-+ timeval now = qt_gettime();
-+ if ((now.tv_sec > deadline.tv_sec // past deadline
-+ || (now.tv_sec == deadline.tv_sec
-+ && now.tv_usec >= deadline.tv_usec))
-+ || (now.tv_sec < previous.tv_sec // time warp
-+ || (now.tv_sec == previous.tv_sec
-+ && now.tv_usec < previous.tv_usec))
-+ || (ret < 0 && (errno != EINTR || !retry_eintr))) // other error
-+ return ret;
-+ if (ret == 0 && !retry_eintr) {
-+ errno = EINTR;
-+ return -1;
-+ }
-+ remaining = (deadline.tv_sec - now.tv_sec) * 1000
-+ + (deadline.tv_usec - now.tv_usec) / 1000;
-+ previous = now;
-+ }
-+}
-+
-+#else
-+
-+// Poll emulation for VxWorks.
-+
-+static int mark_bad_descriptors(pollfd *fds, int nfds)
-+{
-+ fd_set r;
-+ FD_ZERO(&r);
-+ struct timeval tv;
-+ tv.tv_sec = 0;
-+ tv.tv_usec = 0;
-+ int ret = 0;
-+
-+ // Check each descriptor invidually for badness.
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ if (fd.fd >= 0) {
-+ FD_SET(fd.fd, &r);
-+ int ret = qt_safe_select(fd.fd + 1, &r, NULL, NULL, &tv);
-+ FD_CLR(fd.fd, &r);
-+ if (ret < 0 && errno == EBADF) {
-+ fd.revents = POLLNVAL;
-+ ++ret;
-+ }
-+ }
-+ }
-+ Q_ASSERT(ret > 0);
-+ return ret;
-+}
-+
-+int qt_safe_poll(pollfd *fds, int nfds, int timeout, bool retry_eintr)
-+{
-+ fd_set r, w;
-+ FD_ZERO(&r);
-+ FD_ZERO(&w);
-+ int maxfd = -1;
-+
-+ // Extract the watched descriptors.
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
-+ if (fd.events & POLLIN) {
-+ FD_SET(fd.fd, &r);
-+ if (fd.fd > maxfd)
-+ maxfd = fd.fd;
-+ }
-+ if (fd.events & POLLOUT) {
-+ FD_SET(fd.fd, &w);
-+ if (fd.fd > maxfd)
-+ maxfd = fd.fd;
-+ }
-+ }
-+ }
-+
-+ // If timeout is negative, wait indefinitely for activity.
-+ timeval tv;
-+ timeval *ptv;
-+ if (timeout >= 0) {
-+ tv.tv_sec = timeout / 1000;
-+ tv.tv_usec = (timeout % 1000) * 1000;
-+ ptv = &tv;
-+ } else
-+ ptv = NULL;
-+
-+ int ret;
-+ if (retry_eintr)
-+ ret = qt_safe_select(maxfd + 1, &r, &w, NULL, ptv);
-+ else
-+ ret = ::select(maxfd + 1, &r, &w, NULL, ptv);
-+ if (ret < 0 && errno == EBADF) {
-+ return mark_bad_descriptors(fds, nfds);
-+ }
-+ if (ret <= 0)
-+ return ret;
-+
-+ // Set the revents flags.
-+ ret = 0;
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ fd.revents = 0;
-+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
-+ if ((fd.events & POLLIN) && FD_ISSET(fd.fd, &r))
-+ fd.revents |= POLLIN;
-+ if ((fd.events & POLLOUT) && FD_ISSET(fd.fd, &w))
-+ fd.revents |= POLLOUT;
-+ if (fd.revents)
-+ ++ret;
-+ }
-+ }
-+ Q_ASSERT(ret > 0);
-+ return ret;
-+}
-+
-+#endif
-+
- QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h
---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h 2014-03-31 18:01:59.370715392 -0500
-@@ -345,9 +345,42 @@ static inline pid_t qt_safe_waitpid(pid_
-
- timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp
-
-+// Deprecated due to FD_SETSIZE limitation, use qt_safe_poll instead.
- Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
- const struct timeval *tv);
-
-+#ifndef Q_OS_VXWORKS
-+#include <poll.h>
-+#else
-+
-+// Poll emulation for VxWorks.
-+
-+struct pollfd {
-+ int fd;
-+ short events;
-+ short revents;
-+};
-+
-+#define POLLIN 1
-+#define POLLOUT 2
-+#define POLLERR 4
-+#define POLLHUP 8
-+#define POLLNVAL 16
-+#endif
-+
-+inline bool qt_readable(const pollfd &fd)
-+{
-+ return fd.fd >= 0 && (fd.revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL)) != 0;
-+}
-+
-+inline bool qt_writable(const pollfd &fd)
-+{
-+ return fd.fd >= 0 && (fd.revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL)) != 0;
-+}
-+
-+Q_CORE_EXPORT int qt_safe_poll(pollfd *fds, int nfds, int timeout,
-+ bool retry_eintr = true);
-+
- // according to X/OPEN we have to define semun ourselves
- // we use prefix as on some systems sem.h will have it
- struct semid_ds;
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp 2014-03-31 18:01:59.370715392 -0500
-@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnec
-
- void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
- {
-- fd_set readfds;
-- FD_ZERO(&readfds);
-- FD_SET(listenSocket, &readfds);
-+ struct pollfd fd;
-+ fd.fd = listenSocket;
-+ fd.events = POLLIN;
-
-- timeval timeout;
-- timeout.tv_sec = msec / 1000;
-- timeout.tv_usec = (msec % 1000) * 1000;
--
-- int result = -1;
-- result = qt_safe_select(listenSocket + 1, &readfds, 0, 0, (msec == -1) ? 0 : &timeout);
-+ int result = qt_safe_poll(&fd, 1, msec);
- if (-1 == result) {
- setError(QLatin1String("QLocalServer::waitForNewConnection"));
- closeServer();
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp 2014-03-31 18:01:59.370715392 -0500
-@@ -56,10 +56,6 @@
- #include <qdebug.h>
- #include <qelapsedtimer.h>
-
--#ifdef Q_OS_VXWORKS
--# include <selectLib.h>
--#endif
--
- #define QT_CONNECT_TIMEOUT 30000
-
- QT_BEGIN_NAMESPACE
-@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int
- if (state() != ConnectingState)
- return (state() == ConnectedState);
-
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(d->connectingSocket, &fds);
--
-- timeval timeout;
-- timeout.tv_sec = msec / 1000;
-- timeout.tv_usec = (msec % 1000) * 1000;
--
-- // timeout can not be 0 or else select will return an error.
-- if (0 == msec)
-- timeout.tv_usec = 1000;
-+ pollfd fd;
-+ fd.fd = d->connectingSocket;
-+ fd.events = POLLIN | POLLOUT;
-
- int result = -1;
- // on Linux timeout will be updated by select, but _not_ on other systems.
- QElapsedTimer timer;
-+ int remaining = msec;
- timer.start();
-- while (state() == ConnectingState
-- && (-1 == msec || timer.elapsed() < msec)) {
--#ifdef Q_OS_SYMBIAN
-- // On Symbian, ready-to-write is signaled when non-blocking socket
-- // connect is finised. Is ready-to-read really used on other
-- // UNIX paltforms when using non-blocking AF_UNIX socket?
-- result = ::select(d->connectingSocket + 1, 0, &fds, 0, &timeout);
--#else
-- result = ::select(d->connectingSocket + 1, &fds, 0, 0, &timeout);
--#endif
-+ while (state() == ConnectingState) {
-+ result = qt_safe_poll(&fd, 1, remaining, /* retry_eintr */ false);
- if (-1 == result && errno != EINTR) {
- d->errorOccurred( QLocalSocket::UnknownSocketError,
- QLatin1String("QLocalSocket::waitForConnected"));
-@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int
- }
- if (result > 0)
- d->_q_connectToSocket();
-+ if (msec >= 0) {
-+ remaining = timer.elapsed() - msec;
-+ if (remaining < 0)
-+ break;
-+ }
- }
-
- return (state() == ConnectedState);
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp 2014-03-31 18:01:59.371715381 -0500
-@@ -1068,48 +1068,40 @@ qint64 QNativeSocketEnginePrivate::nativ
-
- int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const
- {
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(socketDescriptor, &fds);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
--
-- int retval;
-- if (selectForRead)
-- retval = qt_safe_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
-- else
-- retval = qt_safe_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
--
-- return retval;
-+ struct pollfd fd;
-+ fd.fd = socketDescriptor;
-+ if (selectForRead) {
-+ fd.events = POLLIN;
-+ } else {
-+ fd.events = POLLOUT;
-+ }
-+ return qt_safe_poll(&fd, 1, timeout);
- }
-
- int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool checkWrite,
- bool *selectForRead, bool *selectForWrite) const
- {
-- fd_set fdread;
-- FD_ZERO(&fdread);
-+ struct pollfd fd;
-+ fd.fd = socketDescriptor;
- if (checkRead)
-- FD_SET(socketDescriptor, &fdread);
--
-- fd_set fdwrite;
-- FD_ZERO(&fdwrite);
-+ fd.events = POLLIN;
-+ else
-+ fd.events = 0;
- if (checkWrite)
-- FD_SET(socketDescriptor, &fdwrite);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
--
-- int ret;
-- ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
--
-+ fd.events |= POLLOUT;
-+ int ret = qt_safe_poll(&fd, 1, timeout);
- if (ret <= 0)
-- return ret;
-- *selectForRead = FD_ISSET(socketDescriptor, &fdread);
-- *selectForWrite = FD_ISSET(socketDescriptor, &fdwrite);
--
-+ return ret;
-+ bool r = (fd.revents & (POLLIN | POLLHUP | POLLERR)) != 0;
-+ bool w = (fd.revents & (POLLOUT | POLLHUP | POLLERR)) != 0;
-+ // Emulate the return value from select(2).
-+ ret = 0;
-+ if (r)
-+ ++ret;
-+ if (w)
-+ ++ret;
-+ *selectForRead = r;
-+ *selectForWrite = w;
- return ret;
- }
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp 2014-03-31 18:01:59.371715381 -0500
-@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int d
- #endif
-
- #include "q3socketdevice.h"
-+#include "private/qcore_unix_p.h"
-
- #ifndef QT_NO_NETWORK
-
-@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int
- {
- if ( !isValid() )
- return -1;
-- if ( fd >= FD_SETSIZE )
-- return -1;
--
-- fd_set fds;
-- struct timeval tv;
--
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
--
-- tv.tv_sec = msecs / 1000;
-- tv.tv_usec = (msecs % 1000) * 1000;
-
-- int rv = select( fd+1, &fds, 0, 0, msecs < 0 ? 0 : &tv );
-+ pollfd pfd;
-+ pfd.fd = fd;
-+ int rv = qt_safe_poll(&pfd, 1, msecs, /* retry_eintr */ false);
-
- if ( rv < 0 )
- return -1;
-diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp 2014-03-31 18:01:59.372715370 -0500
-@@ -981,13 +981,10 @@ bool Q3Process::isRunning() const
- // On heavy processing, the socket notifier for the sigchild might not
- // have found time to fire yet.
- if ( d->procManager && d->procManager->sigchldFd[1] < FD_SETSIZE ) {
-- fd_set fds;
-- struct timeval tv;
-- FD_ZERO( &fds );
-- FD_SET( d->procManager->sigchldFd[1], &fds );
-- tv.tv_sec = 0;
-- tv.tv_usec = 0;
-- if ( ::select( d->procManager->sigchldFd[1]+1, &fds, 0, 0, &tv ) > 0 )
-+ pollfd fd;
-+ fd.fd = d->procManager->sigchldFd[1];
-+ fd.events = POLLIN;
-+ if ( qt_safe_poll(&fd, 1, 0, /* retry_eintr */ false) > 0 )
- d->procManager->sigchldHnd( d->procManager->sigchldFd[1] );
- }
-
-@@ -1124,29 +1121,21 @@ void Q3Process::socketRead( int fd )
- }
- }
-
-- if ( fd < FD_SETSIZE ) {
-- fd_set fds;
-- struct timeval tv;
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
-- tv.tv_sec = 0;
-- tv.tv_usec = 0;
-- while ( ::select( fd+1, &fds, 0, 0, &tv ) > 0 ) {
-- // prepare for the next round
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
-- // read data
-- ba = new QByteArray( basize );
-- n = ::read( fd, ba->data(), basize );
-- if ( n > 0 ) {
-- ba->resize( n );
-- buffer->append( ba );
-- ba = 0;
-- } else {
-- delete ba;
-- ba = 0;
-- break;
-- }
-+ pollfd pfd;
-+ pfd.fd = fd;
-+ pfd.events = POLLIN;
-+ while (qt_safe_poll(&pfd, 1, 0)) {
-+ // read data
-+ ba = new QByteArray( basize );
-+ n = ::read( fd, ba->data(), basize );
-+ if ( n > 0 ) {
-+ ba->resize( n );
-+ buffer->append( ba );
-+ ba = 0;
-+ } else {
-+ delete ba;
-+ ba = 0;
-+ break;
- }
- }
-
diff --git a/source/l/qt/patches/qt-aarch64.patch b/source/l/qt/patches/qt-aarch64.patch
deleted file mode 100644
index cbe815dea..000000000
--- a/source/l/qt/patches/qt-aarch64.patch
+++ /dev/null
@@ -1,514 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri
---- qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 2015-05-08 21:48:32.714057739 -0500
-+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri 2015-05-08 21:53:21.088761971 -0500
-@@ -1,3 +1,3 @@
--SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore
-+SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_aarch64.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore
- SYNCQT.HEADER_CLASSES = ../../include/QtCore/QAbstractEventDispatcher ../../include/QtCore/QModelIndex ../../include/QtCore/QPersistentModelIndex ../../include/QtCore/QModelIndexList ../../include/QtCore/QAbstractItemModel ../../include/QtCore/QAbstractTableModel ../../include/QtCore/QAbstractListModel ../../include/QtCore/QBasicTimer ../../include/QtCore/QCoreApplication ../../include/QtCore/QtCleanUpFunction ../../include/QtCore/QEvent ../../include/QtCore/QTimerEvent ../../include/QtCore/QChildEvent ../../include/QtCore/QCustomEvent ../../include/QtCore/QDynamicPropertyChangeEvent ../../include/QtCore/QEventLoop ../../include/QtCore/QMetaMethod ../../include/QtCore/QMetaEnum ../../include/QtCore/QMetaProperty ../../include/QtCore/QMetaClassInfo ../../include/QtCore/QMetaType ../../include/QtCore/QMetaTypeId ../../include/QtCore/QMetaTypeId2 ../../include/QtCore/QMimeData ../../include/QtCore/QObjectList ../../include/QtCore/QObjectData ../../include/QtCore/QObject ../../include/QtCore/QObjectUserData ../../include/QtCore/QObjectCleanupHandler ../../include/QtCore/QGenericArgument ../../include/QtCore/QGenericReturnArgument ../../include/QtCore/QArgument ../../include/QtCore/QReturnArgument ../../include/QtCore/QMetaObject ../../include/QtCore/QMetaObjectAccessor ../../include/QtCore/QMetaObjectExtraData ../../include/QtCore/QPointer ../../include/QtCore/QSharedMemory ../../include/QtCore/QSignalMapper ../../include/QtCore/QSocketNotifier ../../include/QtCore/QSystemSemaphore ../../include/QtCore/QTimer ../../include/QtCore/QTranslator ../../include/QtCore/QVariant ../../include/QtCore/QVariantList ../../include/QtCore/QVariantMap ../../include/QtCore/QVariantHash ../../include/QtCore/QVariantComparisonHelper ../../include/QtCore/QAbstractAnimation ../../include/QtCore/QAnimationDriver ../../include/QtCore/QAnimationGroup ../../include/QtCore/QParallelAnimationGroup ../../include/QtCore/QPauseAnimation ../../include/QtCore/QPropertyAnimation ../../include/QtCore/QSequentialAnimationGroup ../../include/QtCore/QVariantAnimation ../../include/QtCore/QtAlgorithms ../../include/QtCore/QBitArray ../../include/QtCore/QBitRef ../../include/QtCore/QByteArray ../../include/QtCore/QByteRef ../../include/QtCore/QByteArrayMatcher ../../include/QtCore/QCache ../../include/QtCore/QLatin1Char ../../include/QtCore/QChar ../../include/QtCore/QtContainerFwd ../../include/QtCore/QContiguousCacheData ../../include/QtCore/QContiguousCacheTypedData ../../include/QtCore/QContiguousCache ../../include/QtCore/QCryptographicHash ../../include/QtCore/QDate ../../include/QtCore/QTime ../../include/QtCore/QDateTime ../../include/QtCore/QEasingCurve ../../include/QtCore/QElapsedTimer ../../include/QtCore/QHashData ../../include/QtCore/QHashDummyValue ../../include/QtCore/QHashDummyNode ../../include/QtCore/QHashNode ../../include/QtCore/QHash ../../include/QtCore/QMultiHash ../../include/QtCore/QHashIterator ../../include/QtCore/QMutableHashIterator ../../include/QtCore/QLine ../../include/QtCore/QLineF ../../include/QtCore/QLinkedListData ../../include/QtCore/QLinkedListNode ../../include/QtCore/QLinkedList ../../include/QtCore/QLinkedListIterator ../../include/QtCore/QMutableLinkedListIterator ../../include/QtCore/QListData ../../include/QtCore/QList ../../include/QtCore/QListIterator ../../include/QtCore/QMutableListIterator ../../include/QtCore/QSystemLocale ../../include/QtCore/QLocale ../../include/QtCore/QBBSystemLocaleData ../../include/QtCore/QMapData ../../include/QtCore/QMapNode ../../include/QtCore/QMapPayloadNode ../../include/QtCore/QMap ../../include/QtCore/QMultiMap ../../include/QtCore/QMapIterator ../../include/QtCore/QMutableMapIterator ../../include/QtCore/QMargins ../../include/QtCore/QPair ../../include/QtCore/QPoint ../../include/QtCore/QPointF ../../include/QtCore/QQueue ../../include/QtCore/QRect ../../include/QtCore/QRectF ../../include/QtCore/QRegExp ../../include/QtCore/QScopedPointerDeleter ../../include/QtCore/QScopedPointerArrayDeleter ../../include/QtCore/QScopedPointerPodDeleter ../../include/QtCore/QScopedPointer ../../include/QtCore/QScopedArrayPointer ../../include/QtCore/QScopedValueRollback ../../include/QtCore/QSet ../../include/QtCore/QSetIterator ../../include/QtCore/QMutableSetIterator ../../include/QtCore/QSharedData ../../include/QtCore/QSharedDataPointer ../../include/QtCore/QExplicitlySharedDataPointer ../../include/QtCore/QSharedPointer ../../include/QtCore/QWeakPointer ../../include/QtCore/QSize ../../include/QtCore/QSizeF ../../include/QtCore/QStack ../../include/QtCore/QStdWString ../../include/QtCore/QString ../../include/QtCore/QLatin1String ../../include/QtCore/QCharRef ../../include/QtCore/QConstString ../../include/QtCore/QStringRef ../../include/QtCore/QLatin1Literal ../../include/QtCore/QAbstractConcatenable ../../include/QtCore/QConcatenable ../../include/QtCore/QStringBuilder ../../include/QtCore/QStringListIterator ../../include/QtCore/QMutableStringListIterator ../../include/QtCore/QStringList ../../include/QtCore/QStringMatcher ../../include/QtCore/QTextBoundaryFinder ../../include/QtCore/QTimeLine ../../include/QtCore/QVarLengthArray ../../include/QtCore/QVectorData ../../include/QtCore/QVectorTypedData ../../include/QtCore/QVector ../../include/QtCore/QVectorIterator ../../include/QtCore/QMutableVectorIterator ../../include/QtCore/QFactoryInterface ../../include/QtCore/QLibrary ../../include/QtCore/QtPlugin ../../include/QtCore/QtPluginInstanceFunction ../../include/QtCore/QPluginLoader ../../include/QtCore/QUuid ../../include/QtCore/QXmlStreamStringRef ../../include/QtCore/QXmlStreamAttribute ../../include/QtCore/QXmlStreamAttributes ../../include/QtCore/QXmlStreamNamespaceDeclaration ../../include/QtCore/QXmlStreamNamespaceDeclarations ../../include/QtCore/QXmlStreamNotationDeclaration ../../include/QtCore/QXmlStreamNotationDeclarations ../../include/QtCore/QXmlStreamEntityDeclaration ../../include/QtCore/QXmlStreamEntityDeclarations ../../include/QtCore/QXmlStreamEntityResolver ../../include/QtCore/QXmlStreamReader ../../include/QtCore/QXmlStreamWriter ../../include/QtCore/QAtomicInt ../../include/QtCore/QAtomicPointer ../../include/QtCore/QBasicAtomicInt ../../include/QtCore/QBasicAtomicPointer ../../include/QtCore/QMutex ../../include/QtCore/QMutexLocker ../../include/QtCore/QMutexData ../../include/QtCore/QReadWriteLock ../../include/QtCore/QReadLocker ../../include/QtCore/QWriteLocker ../../include/QtCore/QSemaphore ../../include/QtCore/QThread ../../include/QtCore/QThreadStorageData ../../include/QtCore/QThreadStorage ../../include/QtCore/QWaitCondition ../../include/QtCore/QAbstractState ../../include/QtCore/QAbstractTransition ../../include/QtCore/QEventTransition ../../include/QtCore/QFinalState ../../include/QtCore/QHistoryState ../../include/QtCore/QSignalTransition ../../include/QtCore/QState ../../include/QtCore/QStateMachine ../../include/QtCore/QFuture ../../include/QtCore/QFutureIterator ../../include/QtCore/QMutableFutureIterator ../../include/QtCore/QFutureInterfaceBase ../../include/QtCore/QFutureInterface ../../include/QtCore/QFutureSynchronizer ../../include/QtCore/QFutureWatcherBase ../../include/QtCore/QFutureWatcher ../../include/QtCore/QRunnable ../../include/QtCore/QtConcurrentFilter ../../include/QtCore/QtConcurrentMap ../../include/QtCore/QtConcurrentRun ../../include/QtCore/QThreadPool ../../include/QtCore/QAbstractFileEngine ../../include/QtCore/QAbstractFileEngineHandler ../../include/QtCore/QAbstractFileEngineIterator ../../include/QtCore/QBuffer ../../include/QtCore/QDataStream ../../include/QtCore/QtDebug ../../include/QtCore/QDebug ../../include/QtCore/QNoDebug ../../include/QtCore/QDir ../../include/QtCore/QDirIterator ../../include/QtCore/QFile ../../include/QtCore/QFileInfo ../../include/QtCore/QFileInfoList ../../include/QtCore/QFileInfoListIterator ../../include/QtCore/QFileSystemWatcher ../../include/QtCore/QFSFileEngine ../../include/QtCore/QIODevice ../../include/QtCore/Q_PID ../../include/QtCore/QProcessEnvironment ../../include/QtCore/QProcess ../../include/QtCore/QResource ../../include/QtCore/QSettings ../../include/QtCore/QTemporaryFile ../../include/QtCore/QTextStream ../../include/QtCore/QTextStreamFunction ../../include/QtCore/QTextStreamManipulator ../../include/QtCore/QTS ../../include/QtCore/QTextIStream ../../include/QtCore/QTextOStream ../../include/QtCore/QUrl ../../include/QtCore/QtEndian ../../include/QtCore/QtGlobal ../../include/QtCore/QIntegerForSize ../../include/QtCore/QNoImplicitBoolCast ../../include/QtCore/Q_INT8 ../../include/QtCore/Q_UINT8 ../../include/QtCore/Q_INT16 ../../include/QtCore/Q_UINT16 ../../include/QtCore/Q_INT32 ../../include/QtCore/Q_UINT32 ../../include/QtCore/Q_INT64 ../../include/QtCore/Q_UINT64 ../../include/QtCore/Q_LLONG ../../include/QtCore/Q_ULLONG ../../include/QtCore/Q_LONG ../../include/QtCore/Q_ULONG ../../include/QtCore/QSysInfo ../../include/QtCore/QtMsgHandler ../../include/QtCore/QGlobalStatic ../../include/QtCore/QGlobalStaticDeleter ../../include/QtCore/QBool ../../include/QtCore/QTypeInfo ../../include/QtCore/QFlag ../../include/QtCore/QIncompatibleFlag ../../include/QtCore/QFlags ../../include/QtCore/QForeachContainer ../../include/QtCore/QForeachContainerBase ../../include/QtCore/QLibraryInfo ../../include/QtCore/Qt ../../include/QtCore/QInternal ../../include/QtCore/QCOORD ../../include/QtCore/QtConfig ../../include/QtCore/QTextCodec ../../include/QtCore/QTextEncoder ../../include/QtCore/QTextDecoder ../../include/QtCore/QTextCodecFactoryInterface ../../include/QtCore/QTextCodecPlugin
- SYNCQT.PRIVATE_HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher_p.h ../corelib/kernel/qabstractitemmodel_p.h ../corelib/kernel/qcore_mac_p.h ../corelib/kernel/qcore_symbian_p.h ../corelib/kernel/qcore_unix_p.h ../corelib/kernel/qcoreapplication_p.h ../corelib/kernel/qcorecmdlineargs_p.h ../corelib/kernel/qcoreglobaldata_p.h ../corelib/kernel/qcrashhandler_p.h ../corelib/kernel/qeventdispatcher_blackberry_p.h ../corelib/kernel/qeventdispatcher_glib_p.h ../corelib/kernel/qeventdispatcher_symbian_p.h ../corelib/kernel/qeventdispatcher_unix_p.h ../corelib/kernel/qeventdispatcher_win_p.h ../corelib/kernel/qfunctions_p.h ../corelib/kernel/qmetaobject_p.h ../corelib/kernel/qobject_p.h ../corelib/kernel/qsharedmemory_p.h ../corelib/kernel/qsystemerror_p.h ../corelib/kernel/qsystemsemaphore_p.h ../corelib/kernel/qtranslator_p.h ../corelib/kernel/qvariant_p.h ../corelib/kernel/qwineventnotifier_p.h ../corelib/animation/qabstractanimation_p.h ../corelib/animation/qanimationgroup_p.h ../corelib/animation/qparallelanimationgroup_p.h ../corelib/animation/qpropertyanimation_p.h ../corelib/animation/qsequentialanimationgroup_p.h ../corelib/animation/qvariantanimation_p.h ../corelib/tools/qbytedata_p.h ../corelib/tools/qdatetime_p.h ../corelib/tools/qharfbuzz_p.h ../corelib/tools/qlocale_data_p.h ../corelib/tools/qlocale_p.h ../corelib/tools/qlocale_tools_p.h ../corelib/tools/qpodlist_p.h ../corelib/tools/qringbuffer_p.h ../corelib/tools/qscopedpointer_p.h ../corelib/tools/qsimd_p.h ../corelib/tools/qtools_p.h ../corelib/tools/qunicodetables_p.h ../corelib/plugin/qelfparser_p.h ../corelib/plugin/qfactoryloader_p.h ../corelib/plugin/qlibrary_p.h ../corelib/plugin/qsystemlibrary_p.h ../corelib/xml/qxmlstream_p.h ../corelib/xml/qxmlutils_p.h ../corelib/thread/qmutex_p.h ../corelib/thread/qmutexpool_p.h ../corelib/thread/qorderedmutexlocker_p.h ../corelib/thread/qreadwritelock_p.h ../corelib/thread/qthread_p.h ../corelib/statemachine/qabstractstate_p.h ../corelib/statemachine/qabstracttransition_p.h ../corelib/statemachine/qeventtransition_p.h ../corelib/statemachine/qhistorystate_p.h ../corelib/statemachine/qsignaleventgenerator_p.h ../corelib/statemachine/qsignaltransition_p.h ../corelib/statemachine/qstate_p.h ../corelib/statemachine/qstatemachine_p.h ../corelib/concurrent/qfutureinterface_p.h ../corelib/concurrent/qfuturewatcher_p.h ../corelib/concurrent/qthreadpool_p.h ../corelib/io/qabstractfileengine_p.h ../corelib/io/qdatastream_p.h ../corelib/io/qdataurl_p.h ../corelib/io/qdir_p.h ../corelib/io/qfile_p.h ../corelib/io/qfileinfo_p.h ../corelib/io/qfilesystemengine_p.h ../corelib/io/qfilesystementry_p.h ../corelib/io/qfilesystemiterator_p.h ../corelib/io/qfilesystemmetadata_p.h ../corelib/io/qfilesystemwatcher_dnotify_p.h ../corelib/io/qfilesystemwatcher_fsevents_p.h ../corelib/io/qfilesystemwatcher_inotify_p.h ../corelib/io/qfilesystemwatcher_kqueue_p.h ../corelib/io/qfilesystemwatcher_p.h ../corelib/io/qfilesystemwatcher_symbian_p.h ../corelib/io/qfilesystemwatcher_win_p.h ../corelib/io/qfsfileengine_iterator_p.h ../corelib/io/qfsfileengine_p.h ../corelib/io/qiodevice_p.h ../corelib/io/qnoncontiguousbytedevice_p.h ../corelib/io/qprocess_p.h ../corelib/io/qresource_iterator_p.h ../corelib/io/qresource_p.h ../corelib/io/qsettings_p.h ../corelib/io/qtldurl_p.h ../corelib/io/qurltlds_p.h ../corelib/io/qwindowspipewriter_p.h ../corelib/global/qnumeric_p.h ../corelib/global/qt_pch.h ../corelib/codecs/qfontlaocodec_p.h ../corelib/codecs/qiconvcodec_p.h ../corelib/codecs/qisciicodec_p.h ../corelib/codecs/qlatincodec_p.h ../corelib/codecs/qsimplecodec_p.h ../corelib/codecs/qtextcodec_p.h ../corelib/codecs/qtsciicodec_p.h ../corelib/codecs/qutfcodec_p.h
-diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h
---- qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 2015-05-08 21:48:32.715057744 -0500
-+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h 2015-05-08 21:48:32.715057744 -0500
-@@ -0,0 +1 @@
-+#include "../../src/corelib/arch/qatomic_aarch64.h"
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:47.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500
-@@ -66,6 +66,12 @@ contains(JAVASCRIPTCORE_JIT,no) {
- }
- }
-
-+# Hack around AARCH64 fail wrt JSValue.h
-+equals(QT_ARCH, aarch64) {
-+ message("JavaScriptCore aarch64 hack: -fpermissive")
-+ QMAKE_CXXFLAGS += -fpermissive
-+}
-+
- wince* {
- INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
- SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500
-@@ -63,6 +63,12 @@ contains (CONFIG, text_breaking_with_icu
- DEFINES += WTF_USE_QT_ICU_TEXT_BREAKING=1
- }
-
-+# Hack around AARCH64 fail wrt JSValue.h
-+equals(QT_ARCH, aarch64) {
-+ message("JavaScriptCore aarch64 hack: -fpermissive")
-+ QMAKE_CXXFLAGS += -fpermissive
-+}
-+
- wince* {
- INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
- INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 2015-05-07 09:14:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-05-08 21:48:33.269061019 -0500
-@@ -369,7 +369,16 @@
-
- #endif /* ARM */
-
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
-+/* CPU(AARCH64) - AArch64 */
-+#if defined(__aarch64__)
-+#define WTF_CPU_AARCH64 1
-+#if defined(__AARCH64EB__)
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+#endif
-+
-+/* Not sure about this one, qt5-qtwebkit doesn't include it -- rex */
-+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(AARCH64)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
-@@ -1003,7 +1012,7 @@
- || CPU(SPARC64) \
- || CPU(S390X) \
- || CPU(PPC64) \
-- || CPU(MIPS64)
-+ || CPU(MIPS64) || CPU(AARCH64)
- #define WTF_USE_JSVALUE64 1
- #else
- #define WTF_USE_JSVALUE32_64 1
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 2015-05-08 21:48:33.269061019 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp 2015-05-08 21:48:33.269061019 -0500
-@@ -0,0 +1,70 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtCore/qglobal.h>
-+
-+#include <unistd.h>
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+# include <sched.h>
-+#endif
-+#include <time.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QT_USE_NAMESPACE
-+
-+Q_CORE_EXPORT void qt_atomic_yield(int *count)
-+{
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+ if((*count)++ < 50) {
-+ sched_yield();
-+ } else
-+#endif
-+ {
-+ struct timespec tm;
-+ tm.tv_sec = 0;
-+ tm.tv_nsec = 2000001;
-+ nanosleep(&tm, NULL);
-+ *count = 0;
-+ }
-+}
-+
-+QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri 2015-05-08 21:48:33.270061025 -0500
-@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integr
- arch/qatomic_s390.h \
- arch/qatomic_x86_64.h \
- arch/qatomic_sh.h \
-- arch/qatomic_sh4a.h
-+ arch/qatomic_sh4a.h \
-+ arch/qatomic_aarch64.h \
-+
-
- QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH
- DEPENDPATH += $$QT_ARCH_CPP
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 2015-05-08 21:48:33.270061025 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h 2015-05-08 21:48:33.270061025 -0500
-@@ -0,0 +1,335 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QATOMIC_AARCH64_H
-+#define QATOMIC_AARCH64_H
-+
-+QT_BEGIN_HEADER
-+
-+QT_BEGIN_NAMESPACE
-+
-+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isReferenceCountingNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isTestAndSetNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndStoreNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndAddNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#ifndef Q_DATA_MEMORY_BARRIER
-+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory")
-+#endif
-+#ifndef Q_COMPILER_MEMORY_BARRIER
-+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory")
-+#endif
-+
-+inline bool QBasicAtomicInt::ref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::deref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
-+{
-+ bool val;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
-+{
-+ bool val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
-+{
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
-+{
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetAcquire(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
-+{
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
-+{
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+#undef Q_DATA_MEMORY_BARRIER
-+#undef Q_COMPILER_MEMORY_BARRIER
-+
-+QT_END_NAMESPACE
-+
-+QT_END_HEADER
-+
-+#endif // QATOMIC_AARCH64_H
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h 2015-05-08 21:48:33.271061031 -0500
-@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
- # include "QtCore/qatomic_sh4a.h"
- #elif defined(QT_ARCH_NACL)
- # include "QtCore/qatomic_generic.h"
-+#elif defined(QT_ARCH_AARCH64)
-+# include "QtCore/qatomic_aarch64.h"
- #else
- # error "Qt has not been ported to this architecture"
- #endif
diff --git a/source/l/qt/patches/qt-cupsEnumDests.patch b/source/l/qt/patches/qt-cupsEnumDests.patch
deleted file mode 100644
index 7d59f22e8..000000000
--- a/source/l/qt/patches/qt-cupsEnumDests.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100
-@@ -50,9 +50,19 @@
-
- QT_BEGIN_NAMESPACE
-
-+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel,
-+ cups_ptype_t type, cups_ptype_t mask,
-+ cups_dest_cb_t cb, void *user_data);
-+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags,
-+ int msec, int *cancel,
-+ char *resource, size_t resourcesize,
-+ cups_dest_cb_t cb, void *user_data);
-+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests,
-+ cups_dest_t **dests);
- typedef int (*CupsGetDests)(cups_dest_t **dests);
- typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests);
- typedef const char* (*CupsGetPPD)(const char *printer);
-+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer);
- typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options);
- typedef ppd_file_t* (*PPDOpenFile)(const char *filename);
- typedef void (*PPDMarkDefaults)(ppd_file_t *ppd);
-@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)(
- typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options);
- typedef int (*CupsTempFd)(char *name, int len);
- typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options);
-+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options);
-+
-+typedef struct
-+{
-+ cups_dest_t *printers;
-+ int num_printers;
-+} EnumDestsContext;
-
- static bool cupsLoaded = false;
- static int qt_cups_num_printers = 0;
-+static cups_dest_t *qt_cups_printers = 0;
-+static CupsEnumDests _cupsEnumDests = 0;
-+static CupsConnectDest _cupsConnectDest = 0;
-+static CupsCopyDest _cupsCopyDest = 0;
- static CupsGetDests _cupsGetDests = 0;
- static CupsFreeDests _cupsFreeDests = 0;
- static CupsGetPPD _cupsGetPPD = 0;
-+static CupsGetPPD2 _cupsGetPPD2 = 0;
- static PPDOpenFile _ppdOpenFile = 0;
- static PPDMarkDefaults _ppdMarkDefaults = 0;
- static PPDClose _ppdClose = 0;
-@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin
- static CupsAddOption _cupsAddOption = 0;
- static CupsTempFd _cupsTempFd = 0;
- static CupsPrintFile _cupsPrintFile = 0;
-+static CupsPrintFile2 _cupsPrintFile2 = 0;
-+
-+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest)
-+{
-+ EnumDestsContext *context = (EnumDestsContext *) user_data;
-+
-+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED |
-+ CUPS_DEST_FLAGS_REMOVED |
-+ CUPS_DEST_FLAGS_ERROR |
-+ CUPS_DEST_FLAGS_RESOLVING |
-+ CUPS_DEST_FLAGS_CONNECTING |
-+ CUPS_DEST_FLAGS_CANCELED)) == 0)
-+ context->num_printers = _cupsCopyDest (dest, context->num_printers,
-+ &context->printers);
-+
-+ return 1;
-+}
-
- static void resolveCups()
- {
- QLibrary cupsLib(QLatin1String("cups"), 2);
- if(cupsLib.load()) {
-+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests");
-+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest");
-+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest");
- _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
- _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
- _cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD");
-+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2");
- _cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet");
- _cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding");
- _ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile");
-@@ -104,14 +147,27 @@ static void resolveCups()
- _cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption");
- _cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd");
- _cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile");
-+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2");
-
-- if (_cupsGetDests && _cupsFreeDests) {
-- cups_dest_t *printers;
-+ if (_cupsEnumDests && _cupsCopyDest &&
-+ _cupsConnectDest && _cupsGetPPD2 &&
-+ _cupsPrintFile2) {
-+ EnumDestsContext context;
-+ context.printers = 0;
-+ context.num_printers = 0;
-+ _cupsEnumDests(0, -1, 0, 0, 0,
-+ enum_dest_cb, &context);
-+
-+ qt_cups_printers = context.printers;
-+ qt_cups_num_printers = context.num_printers;
-+ } else if (_cupsGetDests && _cupsFreeDests) {
-+ cups_dest_t *printers;
- int num_printers = _cupsGetDests(&printers);
-- if (num_printers)
-- _cupsFreeDests(num_printers, printers);
-- qt_cups_num_printers = num_printers;
-- }
-+
-+ if (num_printers)
-+ _cupsFreeDests(num_printers, printers);
-+ qt_cups_num_printers = num_printers;
-+ }
- }
- cupsLoaded = true;
- }
-@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport()
- return;
-
- // Update the available printer count
-- qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
-+ if (qt_cups_printers && _cupsCopyDest) {
-+ int i;
-+ for (i = 0; i < qt_cups_num_printers; ++i) {
-+ prnCount = _cupsCopyDest (&qt_cups_printers[i],
-+ prnCount,
-+ &printers);
-+ }
-+ } else
-+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
-
- for (int i = 0; i < prnCount; ++i) {
- if (printers[i].is_default) {
-@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre
- currPPD = 0;
- page_sizes = 0;
-
-- const char *ppdFile = _cupsGetPPD(printers[index].name);
-+ const char *ppdFile = 0;
-+ if (_cupsConnectDest && _cupsGetPPD2) {
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ ppdFile = _cupsGetPPD2 (http, ++name);
-+ }
-+ } else
-+ ppdFile = _cupsGetPPD(printers[index].name);
-
- if (!ppdFile)
- return 0;
-@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c
- {
- if (!isAvailable())
- return false;
-- const char *ppdFile = _cupsGetPPD(printerName);
-+
-+ const char *ppdFile = 0;
-+ if (_cupsConnectDest && _cupsGetPPD2) {
-+ int i;
-+ for (i = 0; i < prnCount; ++i)
-+ if (!strcmp (printers[i].name, printerName))
-+ break;
-+
-+ if (i == prnCount)
-+ return false;
-+
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ ppdFile = _cupsGetPPD2 (http, ++name);
-+ }
-+ } else
-+ ppdFile = _cupsGetPPD(printerName);
-+
- if (ppdFile)
- unlink(ppdFile);
- return (ppdFile != 0);
-@@ -394,6 +492,26 @@ QPair<int, QString> QCUPSSupport::tempFd
- int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title,
- int num_options, cups_option_t * options)
- {
-+ if (_cupsConnectDest && _cupsPrintFile2) {
-+ int i;
-+ for (i = 0; i < prnCount; ++i)
-+ if (!strcmp (printers[i].name, printerName))
-+ break;
-+
-+ if (i != prnCount) {
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ return _cupsPrintFile2 (http, ++name, filename, title,
-+ num_options, options);
-+ }
-+ }
-+ }
-+
- return _cupsPrintFile(printerName, filename, title, num_options, options);
- }
-
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100
-@@ -92,7 +92,7 @@ public:
-
- QStringList options() const;
-
-- static bool printerHasPPD(const char *printerName);
-+ bool printerHasPPD(const char *printerName);
-
- QString unicodeString(const char *s);
-
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100
-@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr
- if(d->use_default_engine
- && d->outputFormat == QPrinter::NativeFormat) {
- if (QCUPSSupport::cupsVersion() >= 10200
-- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData()))
-+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData()))
- setOutputFormat(QPrinter::PdfFormat);
- else
- setOutputFormat(QPrinter::PostScriptFormat);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch
deleted file mode 100644
index e0305e11b..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
---- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
-+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
-@@ -569,6 +569,32 @@
- void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
- {
- options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
-+
-+ if (cups) {
-+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
-+ if (duplex) {
-+ // copy default ppd duplex to qt dialog
-+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
-+ options.duplexShort->setChecked(true);
-+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
-+ options.duplexLong->setChecked(true);
-+ else
-+ options.noDuplex->setChecked(true);
-+ }
-+
-+ if (cups->currentPPD()) {
-+ // set default color
-+ if (cups->currentPPD()->color_device)
-+ options.color->setChecked(true);
-+ else
-+ options.grayscale->setChecked(true);
-+ }
-+
-+ // set collation
-+ const ppd_option_t *collate = cups->ppdOption("Collate");
-+ if (collate)
-+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
-+ }
- }
- #endif
-
-diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
---- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
-+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
-@@ -627,6 +627,44 @@
- && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
- setOutputFormat(QPrinter::PdfFormat);
- }
-+
-+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
-+ // fill in defaults from ppd file
-+ QCUPSSupport cups;
-+
-+ int printernum = -1;
-+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
-+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
-+ printernum = i;
-+ }
-+ if (printernum >= 0) {
-+ cups.setCurrentPrinter(printernum);
-+
-+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
-+ if (duplex) {
-+ // copy default ppd duplex to qt dialog
-+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
-+ setDuplex(DuplexShortSide);
-+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
-+ setDuplex(DuplexLongSide);
-+ else
-+ setDuplex(DuplexNone);
-+ }
-+
-+ if (cups.currentPPD()) {
-+ // set default color
-+ if (cups.currentPPD()->color_device)
-+ setColorMode(Color);
-+ else
-+ setColorMode(GrayScale);
-+ }
-+
-+ // set collation
-+ const ppd_option_t *collate = cups.ppdOption("Collate");
-+ if (collate)
-+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
-+ }
-+#endif
- }
-
- /*!
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
deleted file mode 100644
index d4e5924df..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp
---- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200
-+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100
-@@ -76,7 +76,7 @@
- GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
- return (XEventsQueued(X11->display, QueuedAfterFlush)
- || (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()));
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
- }
-
- static gboolean x11EventSourceCheck(GSource *s)
-@@ -84,7 +84,7 @@
- GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
- return (XEventsQueued(X11->display, QueuedAfterFlush)
- || (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()));
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
- }
-
- static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data)
-@@ -95,7 +95,7 @@
- do {
- XEvent event;
- if (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()) {
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) {
- // process a pending user input event
- event = source->d->queuedUserInputEvents.takeFirst();
- } else if (XEventsQueued(X11->display, QueuedAlready)) {
-@@ -112,7 +112,8 @@
- case XKeyRelease:
- case EnterNotify:
- case LeaveNotify:
-- source->d->queuedUserInputEvents.append(event);
-+ if (source->d)
-+ source->d->queuedUserInputEvents.append(event);
- continue;
-
- case ClientMessage:
-@@ -127,7 +128,8 @@
- break;
- }
- }
-- source->d->queuedUserInputEvents.append(event);
-+ if (source->d)
-+ source->d->queuedUserInputEvents.append(event);
- continue;
-
- default:
-@@ -140,7 +142,7 @@
- }
-
- // send through event filter
-- if (source->q->filterEvent(&event))
-+ if (source->q && source->q->filterEvent(&event))
- continue;
-
- if (qApp->x11ProcessEvent(&event) == 1)
-@@ -152,7 +154,8 @@
-
- out:
-
-- source->d->runTimersOnceWithNormalPriority();
-+ if (source->d)
-+ source->d->runTimersOnceWithNormalPriority();
-
- if (callback)
- callback(user_data);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
deleted file mode 100644
index 4279ce2e7..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h
---- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
-@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
- template <typename T>
- Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
- {
-- int index = indexOf(_t);
-- if (index == -1)
-- return 0;
--
-+ detachShared();
- const T t = _t;
-- detach();
--
-- Node *i = reinterpret_cast<Node *>(p.at(index));
-- Node *e = reinterpret_cast<Node *>(p.end());
-- Node *n = i;
-- node_destruct(i);
-- while (++i != e) {
-- if (i->t() == t)
-- node_destruct(i);
-- else
-- *n++ = *i;
-- }
--
-- int removedCount = e - n;
-- d->end -= removedCount;
-+ int removedCount=0, i=0;
-+ Node *n;
-+ while (i < p.size())
-+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {
-+ node_destruct(n);
-+ p.remove(i);
-+ ++removedCount;
-+ } else {
-+ ++i;
-+ }
- return removedCount;
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
deleted file mode 100644
index 6fedcc810..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h
---- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100
-@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer
-
-
- template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
-+{
-+#ifndef __s390x__
-+ return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
-+#else
-+ return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
-+#endif
-+}
-+
-+template <typename T>
- Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
- {
- return fetchAndAddOrdered(valueToAdd);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch
deleted file mode 100644
index 5c8b5a1dd..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200
-@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
- QMAKE_CFLAGS = -m32
- QMAKE_LFLAGS = -m32
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200
-@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
- QMAKE_CFLAGS = -m64
- QMAKE_LFLAGS = -m64
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200
-@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment
- QT += core gui
- QMAKE_INCREMENTAL_STYLE = sublib
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
deleted file mode 100644
index 947f7582d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp
---- qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp 2011-05-25 13:24:33.137315194 +0200
-@@ -3215,7 +3215,7 @@ int QTreeViewPrivate::itemHeight(int ite
- return defaultItemHeight;
- if (viewItems.isEmpty())
- return 0;
-- const QModelIndex &index = viewItems.at(item).index;
-+ QModelIndex index = viewItems.at(item).index;
- if (!index.isValid())
- return 0;
- int height = viewItems.at(item).height;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
deleted file mode 100644
index e84446ce8..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp 2012-05-29 12:17:03.416561535 +0200
-@@ -314,9 +314,9 @@ int main(int argc, char **argv)
- parseHandler.verbose = evalHandler.verbose = cd.isVerbose();
- ProFileOption option;
- #ifdef QT_BOOTSTRAPPED
-- option.initProperties(binDir + QLatin1String("/qmake"));
-+ option.initProperties(binDir + QLatin1String("/qmake-qt4"));
- #else
-- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
-+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
- #endif
- ProFileParser parser(0, &parseHandler);
- ProFileEvaluator visitor(&option, &parser, &evalHandler);
-diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp 2012-05-29 11:46:48.811134546 +0200
-@@ -765,7 +765,7 @@ int main(int argc, char **argv)
-
- parseHandler.verbose = evalHandler.verbose = !!(options & Verbose);
- ProFileOption option;
-- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
-+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
- option.setCommandLineArguments(QStringList() << QLatin1String("CONFIG+=lupdate_run"));
- ProFileParser parser(0, &parseHandler);
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch
deleted file mode 100644
index 745831467..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro
---- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500
-@@ -34,6 +34,3 @@ MOCDIR = .moc
-
- *-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
-
--CONFIG -= separate_debug_info
--CONFIG += no_debug_info
--
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
deleted file mode 100644
index f0a41a42e..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me 2012-06-19 12:52:22.740180410 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-19 12:52:51.953194103 +0200
-@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
- if (helpEngine.usesAppFont())
- font = helpEngine.appFont();
-
-- const QWidgetList &widgets = qApp->allWidgets();
-- foreach (QWidget* widget, widgets)
-+ foreach (QWidget* widget, QApplication::allWidgets())
- widget->setFont(font);
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
deleted file mode 100644
index 9c53f3c26..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
---- qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug 2012-09-06 02:33:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp 2012-09-11 09:04:21.542379795 -0500
-@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeStr
- QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
- lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
- if (!lib.load()) {
-+#ifndef QT_NO_DEBUG
- qWarning() << "Unable to load library icui18n" << lib.errorString();
-+#endif
- status = ErrorLoading;
- return false;
- }
-@@ -114,7 +116,9 @@ bool qt_initIcu(const QString &localeStr
- QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
- ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
- if (!ucLib.load()) {
-+#ifndef QT_NO_DEBUG
- qWarning() << "Unable to load library icuuc" << ucLib.errorString();
-+#endif
- status = ErrorLoading;
- return false;
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch
deleted file mode 100644
index 86dcc288d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri
---- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500
-@@ -102,7 +102,7 @@ CONFIG -= warn_on
-
- # Treat warnings as errors on x86/Linux/GCC
- linux-g++* {
-- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-
- greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
- if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch
deleted file mode 100644
index dd3a5a022..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp
---- qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch 2012-09-06 02:33:44.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp 2012-09-11 08:55:29.854026815 -0500
-@@ -1109,8 +1109,10 @@ public:
- // make sure this connection is running on the main thread
- QCoreApplication *instance = QCoreApplication::instance();
- if (!instance) {
-+#ifndef QT_NO_DEBUG
- qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.",
- type == SessionBus ? "session" : type == SystemBus ? "system" : "generic");
-+#endif
- } else if (QDBusConnectionPrivate::d(*this)) {
- QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread());
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
deleted file mode 100644
index 0494c81f0..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp
---- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600
-+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600
-@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile()
- t << "Requires: " << requires << endl;
- }
-
-+ // requires.private
-+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" ");
-+ if (!requires_private.isEmpty()) {
-+ t << "Requires.private: " << requires_private << endl;
-+ }
-+
- t << endl;
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
deleted file mode 100644
index 81d74ff4d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf
---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500
-@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) {
- }
- isEmpty(LINKAGE) {
- if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
-- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
-+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX}
- mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
- }
- isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
-diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf
---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500
-@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){
-
- qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain): {
-- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
-+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX}
- else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
- } else {
- QMAKE_LIBS += $${entryLib}
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
deleted file mode 100644
index 018872f6d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp
---- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500
-@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window’s position on the root may have changed, even
-+ // though the event reports that the window’s position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
deleted file mode 100644
index 5ca91145e..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp
---- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100
-@@ -428,7 +428,7 @@
- // for the DTD currently being parsed.
- static const int dtdRecursionLimit = 2;
- // The maximum amount of characters an entity value may contain, after expansion.
-- static const int entityCharacterLimit = 1024;
-+ static const int entityCharacterLimit = 4096;
-
- const QString &string();
- void stringClear();
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
deleted file mode 100644
index ee1d19136..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp
---- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500
-@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath()
- {
- QString home = QFile::decodeName(qgetenv("HOME"));
- if (home.isEmpty())
-+ {
-+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
-+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
-+ if (size_max == -1)
-+ size_max = 1024;
-+ QVarLengthArray<char, 1024> buf(size_max);
-+#endif
-+ struct passwd *pw = 0;
-+ uid_t user_id = getuid();
-+ pw = getpwuid(user_id);
-+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
-+ struct passwd entry;
-+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw);
-+#else
-+ pw = getpwuid(user_id);
-+#endif
-+ home = QFile::decodeName(QByteArray(pw->pw_dir));
-+ }
-+ if (home.isEmpty())
- home = rootPath();
- return QDir::cleanPath(home);
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch
deleted file mode 100644
index fc0ee7670..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure
---- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600
-@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
- [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
- if [ -x "$CFG_MYSQL_CONFIG" ]; then
- QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
-+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \
-+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null`
-+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
-+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
-+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
-+ else
- QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
- QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
-+ fi
- QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
- QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
- fi
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch
deleted file mode 100644
index 9a9f77353..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp
---- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500
-@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets()
- return;
- }
-
-- static QString themeName;
-- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) {
-- themeName = getThemeName();
--
-- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
-- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
-- // we cannot support the GTK_Qt Gtk engine
-- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
-- return;
-- }
-- }
--
- if (QGtkStylePrivate::gtk_init) {
- // Gtk will set the Qt error handler so we have to reset it afterwards
- x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
deleted file mode 100644
index 6a87783e3..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp
---- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500
-@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat
- if (!app_libpaths->contains(installPathPlugins))
- app_libpaths->append(installPathPlugins);
- }
-+
-+ // hack in support for kde4 plugin paths -- Rex
-+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins");
-+ if (QFile::exists(kde4PathPlugins)) {
-+ // Make sure we convert from backslashes to slashes.
-+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath();
-+ if (!app_libpaths->contains(kde4PathPlugins))
-+ app_libpaths->append(kde4PathPlugins);
-+ }
- #endif
-
- // If QCoreApplication is not yet instantiated,
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch
deleted file mode 100644
index 2deeb51bb..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri
---- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500
-@@ -1,6 +1,8 @@
- HEADERS += $$PWD/qsql_tds.h
- SOURCES += $$PWD/qsql_tds.cpp
-
-+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
-+
- unix|win32-g++*: {
- LIBS += $$QT_LFLAGS_TDS
- !contains(LIBS, .*sybdb.*):LIBS += -lsybdb
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
deleted file mode 100644
index d04d1be5a..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp
---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500
-@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec
- for ( it = images.begin(); it != images.end(); ++it )
- out << "** " << *it << "\n";
- out << "**\n";
-- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
-- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
-+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
- out << "**\n";
- out << "** WARNING! All changes made in this file will be lost!\n";
- out << "****************************************************************************/\n";
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp
---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500
-@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui
- out << "/********************************************************************************\n";
- out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
- out << "**\n";
-- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
-- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
-+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
- out << "**\n";
- out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
- out << "********************************************************************************/\n\n";
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
deleted file mode 100644
index 1ea8af2b0..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri
---- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500
-@@ -5,6 +5,12 @@ include(features.pri)
-
- # Uncomment this to enable Texture Mapper.
- # CONFIG += texmap
-+#
-+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) {
-+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
-+ QMAKE_CXXFLAGS_RELEASE -= -g
-+ QMAKE_CXXFLAGS_RELEASE += -g1
-+}
-
- QT *= network
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
deleted file mode 100644
index b6f5525dc..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
---- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600
-@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv)
- pp.macros["Q_MOC_RUN"];
- pp.macros["__cplusplus"];
-
-- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
-+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
- pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
-+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
-+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
-+ pp.macros["BOOST_TYPE_TRAITS_HPP"];
-+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
-
- QByteArray filename;
- QByteArray output;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
deleted file mode 100644
index 6d3bf2f2c..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
-+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
-@@ -255,22 +255,30 @@ struct GPostEventSource
- GSource source;
- QAtomicInt serialNumber;
- int lastSerialNumber;
-+ QEventLoop::ProcessEventsFlags processEventsFlags;
- QEventDispatcherGlibPrivate *d;
- };
-
- static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
- {
-+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- QThreadData *data = QThreadData::current();
- if (!data)
- return false;
-
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
-+ return false;
-+
- gint dummy;
- if (!timeout)
- timeout = &dummy;
- const bool canWait = data->canWaitLocked();
- *timeout = canWait ? -1 : 0;
-
-- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- return (!canWait
- || (source->serialNumber != source->lastSerialNumber));
- }
-@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
- {
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- source->lastSerialNumber = source->serialNumber;
-- QCoreApplication::sendPostedEvents();
-- source->d->runTimersOnceWithNormalPriority();
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
-+ QCoreApplication::sendPostedEvents();
-+ source->d->runTimersOnceWithNormalPriority();
-+ }
- return true; // i dunno, george...
- }
-
-@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
- postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
- sizeof(GPostEventSource)));
- postEventSource->serialNumber = 1;
-+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
- postEventSource->d = this;
- g_source_set_can_recurse(&postEventSource->source, true);
- g_source_attach(&postEventSource->source, mainContext);
-@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
-
- // tell postEventSourcePrepare() and timerSource about any new flags
- QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
-+ d->postEventSource->processEventsFlags = flags;
- d->timerSource->processEventsFlags = flags;
- d->socketNotifierSource->processEventsFlags = flags;
-
-@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
- while (!result && canWait)
- result = g_main_context_iteration(d->mainContext, canWait);
-
-+ d->postEventSource->processEventsFlags = savedFlags;
- d->timerSource->processEventsFlags = savedFlags;
- d->socketNotifierSource->processEventsFlags = savedFlags;
-
---- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
-+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
-@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
-
- // we are awake, broadcast it
- emit awake();
-- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-+
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((flags & excludeAllFlags) == excludeAllFlags)
-+ return false;
-+ if(( flags & excludeAllFlags ) != excludeAllFlags )
-+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-
- int nevents = 0;
- const bool canWait = (d->threadData->canWaitLocked()
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
deleted file mode 100644
index 6949bbfef..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Author: Jan-Marek Glogowski <glogow@fbihome.de>
-Date: Thu Mar 06 18:44:43 2014 +0100
-
- Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
-
- Implements QEventLoop::ExcludeSocketNotifiers in the same way
- QEventLoop::X11ExcludeTimers is already implemented for the glib
- event loop.
-
---- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
-+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
-@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
- struct GSocketNotifierSource
- {
- GSource source;
-+ QEventLoop::ProcessEventsFlags processEventsFlags;
- QList<GPollFDWithQSocketNotifier *> pollfds;
- };
-
-@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
- GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
-
- bool pending = false;
-+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
-+ return pending;
-+
- for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
- GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
-
-@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
- QEvent event(QEvent::SockAct);
-
- GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
-+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
-+ return true;
-+
- for (int i = 0; i < src->pollfds.count(); ++i) {
- GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
-
-@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
- reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
- sizeof(GSocketNotifierSource)));
- (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
-+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
- g_source_set_can_recurse(&socketNotifierSource->source, true);
- g_source_attach(&socketNotifierSource->source, mainContext);
-
-@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
- // tell postEventSourcePrepare() and timerSource about any new flags
- QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
- d->timerSource->processEventsFlags = flags;
-+ d->socketNotifierSource->processEventsFlags = flags;
-
- if (!(flags & QEventLoop::EventLoopExec)) {
- // force timers to be sent at normal priority
-@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
- result = g_main_context_iteration(d->mainContext, canWait);
-
- d->timerSource->processEventsFlags = savedFlags;
-+ d->socketNotifierSource->processEventsFlags = savedFlags;
-
- if (canWait)
- emit awake();
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
deleted file mode 100644
index 22643e8d5..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
-+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
-@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
- return false;
-
- XSync(X11->display, false);
-- usleep(50000);
-+ if (!XPending(X11->display))
-+ usleep(5000);
-
- now.start();
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch
deleted file mode 100644
index 5098c0822..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
---- qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-03-31 17:59:16.846465899 -0500
-@@ -189,6 +189,18 @@
- #define WTF_CPU_SPARC 1
- #endif
-
-+/* CPU(S390X) - S390 64-bit */
-+#if defined(__s390x__)
-+#define WTF_CPU_S390X 1
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+
-+/* CPU(S390) - S390 32-bit */
-+#if defined(__s390__)
-+#define WTF_CPU_S390 1
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+
- /* CPU(X86) - i386 / x86 32-bit */
- #if defined(__i386__) \
- || defined(i386) \
-@@ -903,7 +915,7 @@
- #endif
-
- #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
--#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
-+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(S390X)
- #define WTF_USE_JSVALUE64 1
- #elif CPU(ARM) || CPU(PPC64)
- #define WTF_USE_JSVALUE32 1
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch
deleted file mode 100644
index 63a746290..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch
+++ /dev/null
@@ -1,351 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100
-@@ -1,125 +1,7 @@
--DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING
--win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT
--
--CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene
--
--INCLUDEPATH += . .. \
-- $$CLUCENEDIR \
-- $$CLUCENEDIR/../ \
-- $$CLUCENEDIR/analysis \
-- $$CLUCENEDIR/analysis/standard \
-- $$CLUCENEDIR/config \
-- $$CLUCENEDIR/debug \
-- $$CLUCENEDIR/document \
-- $$CLUCENEDIR/index \
-- $$CLUCENEDIR/queryParser \
-- $$CLUCENEDIR/search \
-- $$CLUCENEDIR/store \
-- $$CLUCENEDIR/util
--
--
--SOURCES += $$CLUCENEDIR/StdHeader.cpp \
-- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \
-- $$CLUCENEDIR/analysis/Analyzers.cpp \
-- $$CLUCENEDIR/config/gunichartables.cpp \
-- $$CLUCENEDIR/config/repl_lltot.cpp \
-- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \
-- $$CLUCENEDIR/config/repl_tcslwr.cpp \
-- $$CLUCENEDIR/config/repl_tcstod.cpp \
-- $$CLUCENEDIR/config/repl_tcstoll.cpp \
-- $$CLUCENEDIR/config/repl_tprintf.cpp \
-- $$CLUCENEDIR/config/threads.cpp \
-- $$CLUCENEDIR/config/utf8.cpp \
-- $$CLUCENEDIR/debug/condition.cpp \
-- $$CLUCENEDIR/debug/error.cpp \
-- $$CLUCENEDIR/debug/memtracking.cpp \
-- $$CLUCENEDIR/document/DateField.cpp \
-- $$CLUCENEDIR/document/Document.cpp \
-- $$CLUCENEDIR/document/Field.cpp \
-- $$CLUCENEDIR/index/CompoundFile.cpp \
-- $$CLUCENEDIR/index/DocumentWriter.cpp \
-- $$CLUCENEDIR/index/FieldInfos.cpp \
-- $$CLUCENEDIR/index/FieldsReader.cpp \
-- $$CLUCENEDIR/index/FieldsWriter.cpp \
-- $$CLUCENEDIR/index/IndexModifier.cpp \
-- $$CLUCENEDIR/index/IndexReader.cpp \
-- $$CLUCENEDIR/index/IndexWriter.cpp \
-- $$CLUCENEDIR/index/MultiReader.cpp \
-- $$CLUCENEDIR/index/SegmentInfos.cpp \
-- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \
-- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \
-- $$CLUCENEDIR/index/SegmentMerger.cpp \
-- $$CLUCENEDIR/index/SegmentReader.cpp \
-- $$CLUCENEDIR/index/SegmentTermDocs.cpp \
-- $$CLUCENEDIR/index/SegmentTermEnum.cpp \
-- $$CLUCENEDIR/index/SegmentTermPositions.cpp \
-- $$CLUCENEDIR/index/SegmentTermVector.cpp \
-- $$CLUCENEDIR/index/Term.cpp \
-- $$CLUCENEDIR/index/TermInfo.cpp \
-- $$CLUCENEDIR/index/TermInfosReader.cpp \
-- $$CLUCENEDIR/index/TermInfosWriter.cpp \
-- $$CLUCENEDIR/index/TermVectorReader.cpp \
-- $$CLUCENEDIR/index/TermVectorWriter.cpp \
-- $$CLUCENEDIR/queryParser/Lexer.cpp \
-- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \
-- $$CLUCENEDIR/queryParser/QueryParser.cpp \
-- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \
-- $$CLUCENEDIR/queryParser/QueryToken.cpp \
-- $$CLUCENEDIR/queryParser/TokenList.cpp \
-- $$CLUCENEDIR/search/BooleanQuery.cpp \
-- $$CLUCENEDIR/search/BooleanScorer.cpp \
-- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \
-- $$CLUCENEDIR/search/ChainedFilter.cpp \
-- $$CLUCENEDIR/search/ConjunctionScorer.cpp \
-- $$CLUCENEDIR/search/DateFilter.cpp \
-- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \
-- $$CLUCENEDIR/search/Explanation.cpp \
-- $$CLUCENEDIR/search/FieldCache.cpp \
-- $$CLUCENEDIR/search/FieldCacheImpl.cpp \
-- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \
-- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \
-- $$CLUCENEDIR/search/FilteredTermEnum.cpp \
-- $$CLUCENEDIR/search/FuzzyQuery.cpp \
-- $$CLUCENEDIR/search/HitQueue.cpp \
-- $$CLUCENEDIR/search/Hits.cpp \
-- $$CLUCENEDIR/search/IndexSearcher.cpp \
-- $$CLUCENEDIR/search/MultiSearcher.cpp \
-- $$CLUCENEDIR/search/MultiTermQuery.cpp \
-- $$CLUCENEDIR/search/PhrasePositions.cpp \
-- $$CLUCENEDIR/search/PhraseQuery.cpp \
-- $$CLUCENEDIR/search/PhraseScorer.cpp \
-- $$CLUCENEDIR/search/PrefixQuery.cpp \
-- $$CLUCENEDIR/search/QueryFilter.cpp \
-- $$CLUCENEDIR/search/RangeFilter.cpp \
-- $$CLUCENEDIR/search/RangeQuery.cpp \
-- $$CLUCENEDIR/search/SearchHeader.cpp \
-- $$CLUCENEDIR/search/Similarity.cpp \
-- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \
-- $$CLUCENEDIR/search/Sort.cpp \
-- $$CLUCENEDIR/search/TermQuery.cpp \
-- $$CLUCENEDIR/search/TermScorer.cpp \
-- $$CLUCENEDIR/search/WildcardQuery.cpp \
-- $$CLUCENEDIR/search/WildcardTermEnum.cpp \
-- $$CLUCENEDIR/store/FSDirectory.cpp \
-- $$CLUCENEDIR/store/IndexInput.cpp \
-- $$CLUCENEDIR/store/IndexOutput.cpp \
-- $$CLUCENEDIR/store/Lock.cpp \
-- $$CLUCENEDIR/store/MMapInput.cpp \
-- $$CLUCENEDIR/store/RAMDirectory.cpp \
-- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \
-- $$CLUCENEDIR/util/BitSet.cpp \
-- $$CLUCENEDIR/util/Equators.cpp \
-- $$CLUCENEDIR/util/FastCharStream.cpp \
-- $$CLUCENEDIR/util/fileinputstream.cpp \
-- $$CLUCENEDIR/util/Misc.cpp \
-- $$CLUCENEDIR/util/Reader.cpp \
-- $$CLUCENEDIR/util/StringBuffer.cpp \
-- $$CLUCENEDIR/util/StringIntern.cpp \
-- $$CLUCENEDIR/util/ThreadLocal.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp
-
-+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
-+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene
-+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!)
-
- #Header files
- HEADERS += qclucene_global_p.h \
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100
-@@ -15,6 +15,8 @@
- **
- ****************************************************************************/
-
-+#error This header must not be included when building against system CLucene.
-+
- #ifndef QCLUCENE_CONFIG_P_H
- #define QCLUCENE_CONFIG_P_H
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100
-@@ -29,20 +29,10 @@
- // We mean it.
- //
-
--#if !defined(_MSC_VER)
--# include "qclucene-config_p.h"
--#endif
--
- #include <QtCore/QChar>
- #include <QtCore/QString>
-
--#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T)
--# if !defined(TCHAR)
--# define TCHAR wchar_t
--# endif
--#else
--# include <windows.h>
--#endif
-+#include <CLucene/StdHeader.h>
-
- QT_BEGIN_HEADER
-
-@@ -56,52 +46,6 @@
- # define QHELP_EXPORT Q_DECL_IMPORT
- #endif
-
--//
--// W A R N I N G
--// -------------
--//
--// adjustments here, need to be done in
--// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well
--//
--#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS)
--
--#elif !defined(DISABLE_NAMESPACE)
--# ifdef QT_NAMESPACE
--# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{
--# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 {
--
--# define CL_NS_END }}}
--# define CL_NS_END2 }}}}
--
--# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub;
--# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2;
--
--# define CL_NS(sub) QT_NAMESPACE::lucene::sub
--# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2
--# else
--# define CL_NS_DEF(sub) namespace lucene{ namespace sub{
--# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 {
--
--# define CL_NS_END }}
--# define CL_NS_END2 }}}
--
--# define CL_NS_USE(sub) using namespace lucene::sub;
--# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2;
--
--# define CL_NS(sub) lucene::sub
--# define CL_NS2(sub,sub2) lucene::sub::sub2
--# endif
--#else
--# define CL_NS_DEF(sub)
--# define CL_NS_DEF2(sub, sub2)
--# define CL_NS_END
--# define CL_NS_END2
--# define CL_NS_USE(sub)
--# define CL_NS_USE2(sub,sub2)
--# define CL_NS(sub)
--# define CL_NS2(sub,sub2)
--#endif
--
- namespace {
- TCHAR* QStringToTChar(const QString &str)
- {
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100
-@@ -18,6 +18,8 @@
- #include "qindexreader_p.h"
- #include "qclucene_global_p.h"
-
-+#include <QtCore/QDir>
-+
- #include <CLucene.h>
- #include <CLucene/index/IndexReader.h>
-
-@@ -59,13 +61,13 @@
- {
- using namespace lucene::index;
-
-- return IndexReader::isLuceneFile(filename);
-+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData());
- }
-
- bool QCLuceneIndexReader::indexExists(const QString &directory)
- {
- using namespace lucene::index;
-- return IndexReader::indexExists(directory);
-+ return IndexReader::indexExists(directory.toLocal8Bit().constData());
- }
-
- QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path)
-@@ -73,7 +75,7 @@
- using namespace lucene::index;
-
- QCLuceneIndexReader indexReader;
-- indexReader.d->reader = IndexReader::open(path);
-+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData());
-
- return indexReader;
- }
-@@ -81,25 +83,29 @@
- void QCLuceneIndexReader::unlock(const QString &path)
- {
- using namespace lucene::index;
-- IndexReader::unlock(path);
-+ IndexReader::unlock(path.toLocal8Bit().constData());
- }
-
- bool QCLuceneIndexReader::isLocked(const QString &directory)
- {
-+ // The system CLucene fails here if the directory does not exist yet, unlike
-+ // the bundled one. Work around that.
-+ QDir::current().mkpath(directory);
-+
- using namespace lucene::index;
-- return IndexReader::isLocked(directory);
-+ return IndexReader::isLocked(directory.toLocal8Bit().constData());
- }
-
- quint64 QCLuceneIndexReader::lastModified(const QString &directory)
- {
- using namespace lucene::index;
-- return quint64(IndexReader::lastModified(directory));
-+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData()));
- }
-
- qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory)
- {
- using namespace lucene::index;
-- return qint64(IndexReader::getCurrentVersion(directory));
-+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData()));
- }
-
- void QCLuceneIndexReader::close()
-@@ -155,7 +161,7 @@
- void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value)
- {
- TCHAR *fieldName = QStringToTChar(field);
-- d->reader->setNorm(int32_t(doc), fieldName, qreal(value));
-+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value);
- delete [] fieldName;
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100
-@@ -18,6 +18,8 @@
- #include "qindexwriter_p.h"
- #include "qindexreader_p.h"
-
-+#include <QtCore/QDir>
-+
- #include <CLucene.h>
- #include <CLucene/index/IndexWriter.h>
-
-@@ -50,7 +52,12 @@
- : d(new QCLuceneIndexWriterPrivate())
- , analyzer(analyzer)
- {
-- d->writer = new lucene::index::IndexWriter(path,
-+ // The system CLucene cannot create directories recursively, so do it here.
-+ // Ignore failure: If it failed, we will get an error from CLucene anyway.
-+ if (create)
-+ QDir::current().mkpath(path);
-+
-+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(),
- analyzer.d->analyzer, create, closeDir);
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100
-@@ -95,7 +95,7 @@
- : QCLuceneSearcher()
- {
- lucene::search::IndexSearcher *searcher =
-- new lucene::search::IndexSearcher(path);
-+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData());
-
- reader.d->reader = searcher->getReader();
- reader.d->deleteCLuceneIndexReader = false;
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100
-@@ -43,6 +43,7 @@
- qhelp_global.cpp
-
- # access to clucene
-+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
- SOURCES += qhelpsearchindexwriter_clucene.cpp \
- qhelpsearchindexreader_clucene.cpp
- HEADERS += qhelpenginecore.h \
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
deleted file mode 100644
index 60749d382..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
+++ /dev/null
@@ -1,1456 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp
---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon 2014-03-30 15:36:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp 2014-03-31 18:16:39.707974934 -0500
-@@ -158,15 +158,23 @@ void Window::createIconGroupBox()
- iconComboBox->addItem(QIcon(":/images/bad.svg"), tr("Bad"));
- iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart"));
- iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash"));
-+ iconComboBox->addItem(QIcon::fromTheme("system-file-manager"), tr("File Manager"));
-
- showIconCheckBox = new QCheckBox(tr("Show icon"));
- showIconCheckBox->setChecked(true);
-
-+#if defined(Q_WS_X11)
-+ jitToolTipCheckBox = new QCheckBox(tr("Just In Time Tooltip"));
-+#endif
-+
- QHBoxLayout *iconLayout = new QHBoxLayout;
- iconLayout->addWidget(iconLabel);
- iconLayout->addWidget(iconComboBox);
- iconLayout->addStretch();
- iconLayout->addWidget(showIconCheckBox);
-+#if defined(Q_WS_X11)
-+ iconLayout->addWidget(jitToolTipCheckBox);
-+#endif
- iconGroupBox->setLayout(iconLayout);
- }
-
-@@ -254,5 +262,37 @@ void Window::createTrayIcon()
- trayIconMenu->addAction(quitAction);
-
- trayIcon = new QSystemTrayIcon(this);
-+ QByteArray category = qgetenv("SNI_CATEGORY");
-+ if (!category.isEmpty()) {
-+ trayIcon->setProperty("_qt_sni_category", QString::fromLocal8Bit(category));
-+ }
- trayIcon->setContextMenu(trayIconMenu);
-+
-+#if defined(Q_WS_X11)
-+ trayIcon->installEventFilter(this);
-+#endif
-+}
-+
-+#if defined(Q_WS_X11)
-+bool Window::eventFilter(QObject *, QEvent *event)
-+{
-+ switch(event->type()) {
-+ case QEvent::ToolTip:
-+ if (jitToolTipCheckBox->isChecked()) {
-+ QString timeString = QTime::currentTime().toString();
-+ trayIcon->setToolTip(tr("Current Time: %1").arg(timeString));
-+ }
-+ break;
-+ case QEvent::Wheel: {
-+ QWheelEvent *wheelEvent = static_cast<QWheelEvent*>(event);
-+ int delta = wheelEvent->delta() > 0 ? 1 : -1;
-+ int index = (iconComboBox->currentIndex() + delta) % iconComboBox->count();
-+ iconComboBox->setCurrentIndex(index);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ return false;
- }
-+#endif
-diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h
---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon 2014-03-30 15:36:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h 2014-03-31 18:16:39.707974934 -0500
-@@ -69,6 +69,9 @@ public:
-
- protected:
- void closeEvent(QCloseEvent *event);
-+#if defined(Q_WS_X11)
-+ bool eventFilter(QObject *object, QEvent *event);
-+#endif
-
- private slots:
- void setIcon(int index);
-@@ -86,6 +89,9 @@ private:
- QLabel *iconLabel;
- QComboBox *iconComboBox;
- QCheckBox *showIconCheckBox;
-+#if defined(Q_WS_X11)
-+ QCheckBox *jitToolTipCheckBox;
-+#endif
-
- QGroupBox *messageGroupBox;
- QLabel *typeLabel;
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon 2014-03-31 18:16:39.707974934 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp 2014-03-31 18:16:39.707974934 -0500
-@@ -0,0 +1,65 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "qabstractsystemtrayiconsys_p.h"
-+
-+
-+QSystemTrayIconSysFactoryInterface::QSystemTrayIconSysFactoryInterface()
-+{
-+}
-+
-+/////////////////////////////////////////////////
-+QAbstractSystemTrayIconSys::QAbstractSystemTrayIconSys(QSystemTrayIcon *icon)
-+: trayIcon(icon)
-+{
-+}
-+
-+QAbstractSystemTrayIconSys::~QAbstractSystemTrayIconSys()
-+{
-+}
-+
-+void QAbstractSystemTrayIconSys::sendActivated(QSystemTrayIcon::ActivationReason reason)
-+{
-+ qtsystray_sendActivated(trayIcon, reason);
-+}
-+
-+#endif
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon 2014-03-31 18:16:39.708974924 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h 2014-03-31 18:16:39.708974924 -0500
-@@ -0,0 +1,106 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QABSTRACTSYSTEMTRAYICONSYS_P_H
-+#define QABSTRACTSYSTEMTRAYICONSYS_P_H
-+
-+//
-+// W A R N I N G
-+// -------------
-+//
-+// This file is not part of the Qt API. It exists for the convenience
-+// of a number of Qt sources files. This header file may change from
-+// version to version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include <qfactoryinterface.h>
-+#include <qsystemtrayicon.h>
-+
-+class QAbstractSystemTrayIconSys;
-+
-+class Q_GUI_EXPORT QSystemTrayIconSysFactoryInterface : public QObject, public QFactoryInterface
-+{
-+ Q_OBJECT
-+public:
-+ QSystemTrayIconSysFactoryInterface();
-+ virtual QAbstractSystemTrayIconSys * create(QSystemTrayIcon *) = 0;
-+ virtual bool isAvailable() const = 0;
-+
-+ // \reimp
-+ virtual QStringList keys() const { return QStringList() << QLatin1String("default"); }
-+
-+Q_SIGNALS:
-+ void availableChanged(bool);
-+};
-+
-+#define QSystemTrayIconSysFactoryInterface_iid "com.nokia.qt.QSystemTrayIconSysFactoryInterface"
-+Q_DECLARE_INTERFACE(QSystemTrayIconSysFactoryInterface, QSystemTrayIconSysFactoryInterface_iid)
-+
-+class QRect;
-+
-+class Q_GUI_EXPORT QAbstractSystemTrayIconSys
-+{
-+public:
-+ QAbstractSystemTrayIconSys(QSystemTrayIcon *icon);
-+ virtual ~QAbstractSystemTrayIconSys();
-+
-+ virtual QRect geometry() const = 0;
-+ virtual void updateVisibility() = 0;
-+ virtual void updateIcon() = 0;
-+ virtual void updateToolTip() = 0;
-+ virtual void updateMenu() = 0;
-+ virtual void showMessage(const QString &title, const QString &message,
-+ QSystemTrayIcon::MessageIcon icon, int msecs) = 0;
-+
-+ void sendActivated(QSystemTrayIcon::ActivationReason);
-+
-+protected:
-+ QSystemTrayIcon *trayIcon;
-+};
-+
-+#endif // QT_NO_SYSTEMTRAYICON
-+
-+#endif // QABSTRACTSYSTEMTRAYICONSYS_P_H
-+
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp 2014-03-31 18:16:39.708974924 -0500
-@@ -287,12 +287,6 @@ bool QSystemTrayIcon::isVisible() const
- */
- bool QSystemTrayIcon::event(QEvent *e)
- {
--#if defined(Q_WS_X11)
-- if (e->type() == QEvent::ToolTip) {
-- Q_D(QSystemTrayIcon);
-- return d->sys->deliverToolTipEvent(e);
-- }
--#endif
- return QObject::event(e);
- }
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h 2014-03-31 18:16:39.708974924 -0500
-@@ -62,10 +62,17 @@
- #include "QtGui/qpixmap.h"
- #include "QtCore/qstring.h"
- #include "QtCore/qpointer.h"
-+#if defined(Q_WS_X11)
-+#include "QtCore/qset.h"
-+#endif
-
- QT_BEGIN_NAMESPACE
-
-+#if defined(Q_WS_X11)
-+class QAbstractSystemTrayIconSys;
-+#else
- class QSystemTrayIconSys;
-+#endif
- class QToolButton;
- class QLabel;
-
-@@ -75,6 +82,9 @@ class QSystemTrayIconPrivate : public QO
-
- public:
- QSystemTrayIconPrivate() : sys(0), visible(false) { }
-+ #if defined(Q_WS_X11)
-+ ~QSystemTrayIconPrivate();
-+ #endif
-
- void install_sys();
- void remove_sys();
-@@ -90,7 +100,11 @@ public:
- QPointer<QMenu> menu;
- QIcon icon;
- QString toolTip;
-+ #if defined(Q_WS_X11)
-+ QAbstractSystemTrayIconSys *sys;
-+ #else
- QSystemTrayIconSys *sys;
-+ #endif
- bool visible;
- };
-
-@@ -123,60 +137,37 @@ private:
- };
-
- #if defined(Q_WS_X11)
--QT_BEGIN_INCLUDE_NAMESPACE
--#include <QtCore/qcoreapplication.h>
--#include <X11/Xlib.h>
--#include <X11/Xatom.h>
--#include <X11/Xutil.h>
--QT_END_INCLUDE_NAMESPACE
-+class QSystemTrayIconSysFactoryInterface;
-
--class QSystemTrayIconSys : public QWidget
-+/**
-+ * This class acts as a composite QSystemTrayIconSysFactory: It can create
-+ * instances of QAbstractSystemTrayIconSys* using either a plugin or the
-+ * builtin factory and will cause QSystemTrayIconPrivate to recreate their
-+ * 'sys' instances if the plugin availability changes.
-+ */
-+class QSystemTrayIconSysFactory : public QObject
- {
-- friend class QSystemTrayIconPrivate;
--
-+ Q_OBJECT
- public:
-- QSystemTrayIconSys(QSystemTrayIcon *q);
-- ~QSystemTrayIconSys();
-- enum {
-- SYSTEM_TRAY_REQUEST_DOCK = 0,
-- SYSTEM_TRAY_BEGIN_MESSAGE = 1,
-- SYSTEM_TRAY_CANCEL_MESSAGE =2
-- };
--
-- void addToTray();
-- void updateIcon();
-- XVisualInfo* getSysTrayVisualInfo();
--
-- // QObject::event is public but QWidget's ::event() re-implementation
-- // is protected ;(
-- inline bool deliverToolTipEvent(QEvent *e)
-- { return QWidget::event(e); }
--
-- static Window sysTrayWindow;
-- static QList<QSystemTrayIconSys *> trayIcons;
-- static QCoreApplication::EventFilter oldEventFilter;
-- static bool sysTrayTracker(void *message, long *result);
-- static Window locateSystemTray();
-- static Atom sysTraySelection;
-- static XVisualInfo sysTrayVisual;
-+ QSystemTrayIconSysFactory();
-+ void registerSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
-+ void unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
-
--protected:
-- void paintEvent(QPaintEvent *pe);
-- void resizeEvent(QResizeEvent *re);
-- bool x11Event(XEvent *event);
-- void mousePressEvent(QMouseEvent *event);
-- void mouseDoubleClickEvent(QMouseEvent *event);
--#ifndef QT_NO_WHEELEVENT
-- void wheelEvent(QWheelEvent *event);
--#endif
-- bool event(QEvent *e);
-+ QAbstractSystemTrayIconSys *create(QSystemTrayIcon *) const;
-+
-+ bool isAvailable() const;
-+
-+private Q_SLOTS:
-+ void refreshTrayIconPrivates();
-
- private:
-- QPixmap background;
-- QSystemTrayIcon *q;
-- Colormap colormap;
-+ QSystemTrayIconSysFactoryInterface *factory() const;
-+ void loadPluginFactory();
-+
-+ QSystemTrayIconSysFactoryInterface *pluginFactory;
-+ QSet<QSystemTrayIconPrivate *> trayIconPrivates;
- };
--#endif // Q_WS_X11
-+#endif
-
- QT_END_NAMESPACE
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500
-@@ -38,311 +38,122 @@
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include <private/qfactoryloader_p.h>
-
--#include "private/qt_x11_p.h"
--#include "qlabel.h"
--#include "qx11info_x11.h"
--#include "qpainter.h"
--#include "qpixmap.h"
--#include "qbitmap.h"
--#include "qevent.h"
--#include "qapplication.h"
--#include "qlist.h"
--#include "qmenu.h"
--#include "qtimer.h"
- #include "qsystemtrayicon_p.h"
--#include "qpaintengine.h"
-+#include "qabstractsystemtrayiconsys_p.h"
-+#include "qcoreapplication.h"
-+#include "qxembedsystemtrayicon_x11_p.h"
-
--#ifndef QT_NO_SYSTEMTRAYICON
- QT_BEGIN_NAMESPACE
-
--Window QSystemTrayIconSys::sysTrayWindow = XNone;
--QList<QSystemTrayIconSys *> QSystemTrayIconSys::trayIcons;
--QCoreApplication::EventFilter QSystemTrayIconSys::oldEventFilter = 0;
--Atom QSystemTrayIconSys::sysTraySelection = XNone;
--XVisualInfo QSystemTrayIconSys::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
--
--// Locate the system tray
--Window QSystemTrayIconSys::locateSystemTray()
--{
-- Display *display = QX11Info::display();
-- if (sysTraySelection == XNone) {
-- int screen = QX11Info::appScreen();
-- QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
-- sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
-- }
--
-- return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
--}
-+Q_GLOBAL_STATIC(QSystemTrayIconSysFactory, qt_guiSystemTrayIconSysFactory)
-
--XVisualInfo* QSystemTrayIconSys::getSysTrayVisualInfo()
-+QSystemTrayIconSysFactory::QSystemTrayIconSysFactory()
-+: pluginFactory(0)
- {
-- Display *display = QX11Info::display();
--
-- if (!sysTrayVisual.visual) {
-- Window win = locateSystemTray();
-- if (win != XNone) {
-- Atom actual_type;
-- int actual_format;
-- ulong nitems, bytes_remaining;
-- uchar *data = 0;
-- int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
-- False, XA_VISUALID, &actual_type,
-- &actual_format, &nitems, &bytes_remaining, &data);
-- VisualID vid = 0;
-- if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
-- nitems == 1 && bytes_remaining == 0)
-- vid = *(VisualID*)data;
-- if (data)
-- XFree(data);
-- if (vid == 0)
-- return 0;
--
-- uint mask = VisualIDMask;
-- XVisualInfo *vi, rvi;
-- int count;
-- rvi.visualid = vid;
-- vi = XGetVisualInfo(display, mask, &rvi, &count);
-- if (vi) {
-- sysTrayVisual = vi[0];
-- XFree((char*)vi);
-- }
-- if (sysTrayVisual.depth != 32)
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- }
-- }
--
-- return sysTrayVisual.visual ? &sysTrayVisual : 0;
- }
-
--bool QSystemTrayIconSys::sysTrayTracker(void *message, long *result)
-+void QSystemTrayIconSysFactory::loadPluginFactory()
- {
-- bool retval = false;
-- if (QSystemTrayIconSys::oldEventFilter)
-- retval = QSystemTrayIconSys::oldEventFilter(message, result);
--
-- if (trayIcons.isEmpty())
-- return retval;
--
-- Display *display = QX11Info::display();
-- XEvent *ev = (XEvent *)message;
-- if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
-- sysTrayWindow = locateSystemTray();
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- for (int i = 0; i < trayIcons.count(); i++) {
-- if (sysTrayWindow == XNone) {
-- QBalloonTip::hideBalloon();
-- trayIcons[i]->hide(); // still no luck
-- trayIcons[i]->destroy();
-- trayIcons[i]->create();
-- } else
-- trayIcons[i]->addToTray(); // add it to the new tray
-- }
-- retval = true;
-- } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
-- static Atom manager_atom = XInternAtom(display, "MANAGER", False);
-- XClientMessageEvent *cm = (XClientMessageEvent *)message;
-- if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
-- sysTrayWindow = cm->data.l[2];
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- XSelectInput(display, sysTrayWindow, StructureNotifyMask);
-- for (int i = 0; i < trayIcons.count(); i++) {
-- trayIcons[i]->addToTray();
-- }
-- retval = true;
-- }
-- } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
-- ev->xproperty.window == sysTrayWindow) {
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- for (int i = 0; i < trayIcons.count(); i++) {
-- trayIcons[i]->addToTray();
-- }
-- }
--
-- return retval;
--}
--
--QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *q)
-- : QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint),
-- q(q), colormap(0)
--{
-- setAttribute(Qt::WA_AlwaysShowToolTips);
-- setAttribute(Qt::WA_QuitOnClose, false);
-- setAttribute(Qt::WA_NoSystemBackground, true);
-- setAttribute(Qt::WA_PaintOnScreen);
--
-- static bool eventFilterAdded = false;
-- Display *display = QX11Info::display();
-- if (!eventFilterAdded) {
-- oldEventFilter = qApp->setEventFilter(sysTrayTracker);
-- eventFilterAdded = true;
-- Window root = QX11Info::appRootWindow();
-- XWindowAttributes attr;
-- XGetWindowAttributes(display, root, &attr);
-- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
-- (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
-- XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
-- }
-+ if (pluginFactory) {
-+ return;
- }
-- if (trayIcons.isEmpty()) {
-- sysTrayWindow = locateSystemTray();
-- if (sysTrayWindow != XNone)
-- XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
-+#ifndef QT_NO_LIBRARY
-+ QFactoryLoader loader(QSystemTrayIconSysFactoryInterface_iid, QLatin1String("/systemtrayicon"));
-+ pluginFactory = qobject_cast<QSystemTrayIconSysFactoryInterface *>(loader.instance(QLatin1String("default")));
-+ if (pluginFactory) {
-+ // Set parent to ensure factory destructor is called when application
-+ // is closed
-+ pluginFactory->setParent(QCoreApplication::instance());
-+ connect(pluginFactory, SIGNAL(availableChanged(bool)), SLOT(refreshTrayIconPrivates()));
- }
-- trayIcons.append(this);
-- setMouseTracking(true);
--#ifndef QT_NO_TOOLTIP
-- setToolTip(q->toolTip());
--#endif
-- if (sysTrayWindow != XNone)
-- addToTray();
-+#endif // QT_NO_LIBRARY
- }
-
--QSystemTrayIconSys::~QSystemTrayIconSys()
-+QSystemTrayIconSysFactoryInterface *QSystemTrayIconSysFactory::factory() const
- {
-- trayIcons.removeAt(trayIcons.indexOf(this));
-- Display *display = QX11Info::display();
-- if (trayIcons.isEmpty()) {
-- if (sysTrayWindow == XNone)
-- return;
-- if (display)
-- XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
-- sysTrayWindow = XNone;
-+ if (!pluginFactory) {
-+ const_cast<QSystemTrayIconSysFactory*>(this)->loadPluginFactory();
- }
-- if (colormap)
-- XFreeColormap(display, colormap);
-+ if (pluginFactory && pluginFactory->isAvailable()) {
-+ return pluginFactory;
-+ }
-+ static QXEmbedSystemTrayIconSysFactory def;
-+ return def.isAvailable() ? &def : 0;
- }
-
--void QSystemTrayIconSys::addToTray()
-+void QSystemTrayIconSysFactory::refreshTrayIconPrivates()
- {
-- Q_ASSERT(sysTrayWindow != XNone);
-- Display *display = QX11Info::display();
--
-- XVisualInfo *vi = getSysTrayVisualInfo();
-- if (vi && vi->visual) {
-- Window root = RootWindow(display, vi->screen);
-- Window p = root;
-- if (QWidget *pw = parentWidget())
-- p = pw->effectiveWinId();
-- colormap = XCreateColormap(display, root, vi->visual, AllocNone);
-- XSetWindowAttributes wsa;
-- wsa.background_pixmap = 0;
-- wsa.colormap = colormap;
-- wsa.background_pixel = 0;
-- wsa.border_pixel = 0;
-- Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
-- 0, vi->depth, InputOutput, vi->visual,
-- CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
-- create(wid);
-- } else {
-- XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
-- }
--
-- // GNOME, NET WM Specification
-- static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
-- long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
-- XEvent ev;
-- memset(&ev, 0, sizeof(ev));
-- ev.xclient.type = ClientMessage;
-- ev.xclient.window = sysTrayWindow;
-- ev.xclient.message_type = netwm_tray_atom;
-- ev.xclient.format = 32;
-- memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
-- XSendEvent(display, sysTrayWindow, False, 0, &ev);
-- setMinimumSize(22, 22); // required at least on GNOME
--}
--
--void QSystemTrayIconSys::updateIcon()
--{
-- update();
--}
--
--void QSystemTrayIconSys::resizeEvent(QResizeEvent *re)
--{
-- QWidget::resizeEvent(re);
-- updateIcon();
--}
--
--void QSystemTrayIconSys::paintEvent(QPaintEvent*)
--{
-- QPainter p(this);
-- if (!getSysTrayVisualInfo()) {
-- const QRegion oldSystemClip = p.paintEngine()->systemClip();
-- const QRect clearedRect = oldSystemClip.boundingRect();
-- XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
-- clearedRect.width(), clearedRect.height(), False);
-- QPaintEngine *pe = p.paintEngine();
-- pe->setSystemClip(clearedRect);
-- q->icon().paint(&p, rect());
-- pe->setSystemClip(oldSystemClip);
-- } else {
-- p.setCompositionMode(QPainter::CompositionMode_Source);
-- p.fillRect(rect(), Qt::transparent);
-- p.setCompositionMode(QPainter::CompositionMode_SourceOver);
-- q->icon().paint(&p, rect());
-+ Q_FOREACH(QSystemTrayIconPrivate *trayIconPrivate, trayIconPrivates) {
-+ if (trayIconPrivate->sys) {
-+ delete trayIconPrivate->sys;
-+ trayIconPrivate->sys = 0;
-+ }
-+ // When visible is true, sys is usually not 0 but it can be 0 if the
-+ // call to install_sys() failed.
-+ if (trayIconPrivate->visible) {
-+ trayIconPrivate->install_sys();
-+ }
- }
- }
-
--void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev)
-+void QSystemTrayIconSysFactory::registerSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
- {
-- QPoint globalPos = ev->globalPos();
-- if (ev->button() == Qt::RightButton && q->contextMenu())
-- q->contextMenu()->popup(globalPos);
--
-- if (QBalloonTip::isBalloonVisible()) {
-- emit q->messageClicked();
-- QBalloonTip::hideBalloon();
-- }
--
-- if (ev->button() == Qt::LeftButton)
-- emit q->activated(QSystemTrayIcon::Trigger);
-- else if (ev->button() == Qt::RightButton)
-- emit q->activated(QSystemTrayIcon::Context);
-- else if (ev->button() == Qt::MidButton)
-- emit q->activated(QSystemTrayIcon::MiddleClick);
-+ trayIconPrivates.insert(trayIconPrivate);
- }
-
--void QSystemTrayIconSys::mouseDoubleClickEvent(QMouseEvent *ev)
-+void QSystemTrayIconSysFactory::unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
- {
-- if (ev->button() == Qt::LeftButton)
-- emit q->activated(QSystemTrayIcon::DoubleClick);
-+ trayIconPrivates.remove(trayIconPrivate);
- }
-
--#ifndef QT_NO_WHEELEVENT
--void QSystemTrayIconSys::wheelEvent(QWheelEvent *e)
-+QAbstractSystemTrayIconSys *QSystemTrayIconSysFactory::create(QSystemTrayIcon *trayIcon) const
- {
-- QApplication::sendEvent(q, e);
-+ QSystemTrayIconSysFactoryInterface *f = factory();
-+ if (!f) {
-+ qWarning("No systemtrayicon available");
-+ return 0;
-+ }
-+ return f->create(trayIcon);
- }
--#endif
-
--bool QSystemTrayIconSys::event(QEvent *e)
-+bool QSystemTrayIconSysFactory::isAvailable() const
- {
-- if (e->type() == QEvent::ToolTip) {
-- return QApplication::sendEvent(q, e);
-- }
-- return QWidget::event(e);
-+ return factory();
- }
-
--bool QSystemTrayIconSys::x11Event(XEvent *event)
-+////////////////////////////////////////////////
-+QSystemTrayIconPrivate::~QSystemTrayIconPrivate()
- {
-- if (event->type == ReparentNotify)
-- show();
-- return QWidget::x11Event(event);
-+ qt_guiSystemTrayIconSysFactory()->unregisterSystemTrayIconPrivate(this);
-+ delete sys;
- }
-
--////////////////////////////////////////////////////////////////////////////
- void QSystemTrayIconPrivate::install_sys()
- {
- Q_Q(QSystemTrayIcon);
-- if (!sys)
-- sys = new QSystemTrayIconSys(q);
-+ if (!sys) {
-+ // Register ourself even if create() fails: our "sys" will get created
-+ // later by refreshTrayIconPrivates() if a systemtray becomes
-+ // available. This situation can happen for applications which are
-+ // started at login time, while the desktop itself is starting up.
-+ qt_guiSystemTrayIconSysFactory()->registerSystemTrayIconPrivate(this);
-+ sys = qt_guiSystemTrayIconSysFactory()->create(q);
-+ if (!sys) {
-+ return;
-+ }
-+ }
-+ sys->updateVisibility();
- }
-
- QRect QSystemTrayIconPrivate::geometry_sys() const
- {
-- if (!sys)
-- return QRect();
-- return QRect(sys->mapToGlobal(QPoint(0, 0)), sys->size());
-+ if (!sys || !visible)
-+ return QRect();
-+ return sys->geometry();
- }
-
- void QSystemTrayIconPrivate::remove_sys()
-@@ -350,35 +161,35 @@ void QSystemTrayIconPrivate::remove_sys(
- if (!sys)
- return;
- QBalloonTip::hideBalloon();
-- sys->hide(); // this should do the trick, but...
-- delete sys; // wm may resize system tray only for DestroyEvents
-- sys = 0;
-+ sys->updateVisibility();
- }
-
- void QSystemTrayIconPrivate::updateIcon_sys()
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
- sys->updateIcon();
- }
-
- void QSystemTrayIconPrivate::updateMenu_sys()
- {
--
-+ if (!sys || !visible)
-+ return;
-+ sys->updateMenu();
- }
-
- void QSystemTrayIconPrivate::updateToolTip_sys()
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
- #ifndef QT_NO_TOOLTIP
-- sys->setToolTip(toolTip);
-+ sys->updateToolTip();
- #endif
- }
-
- bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
- {
-- return QSystemTrayIconSys::locateSystemTray() != XNone;
-+ return qt_guiSystemTrayIconSysFactory()->isAvailable();
- }
-
- bool QSystemTrayIconPrivate::supportsMessages_sys()
-@@ -389,12 +200,9 @@ bool QSystemTrayIconPrivate::supportsMes
- void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title,
- QSystemTrayIcon::MessageIcon icon, int msecs)
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
-- QPoint g = sys->mapToGlobal(QPoint(0, 0));
-- QBalloonTip::showBalloon(icon, message, title, sys->q,
-- QPoint(g.x() + sys->width()/2, g.y() + sys->height()/2),
-- msecs);
-+ sys->showMessage(message, title, icon, msecs);
- }
-
- QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon 2014-03-31 18:16:39.709974914 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500
-@@ -0,0 +1,469 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#include "qxembedsystemtrayicon_x11_p.h"
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "private/qt_x11_p.h"
-+#include "qapplication.h"
-+#include "qevent.h"
-+#include "qlist.h"
-+#include "qmenu.h"
-+#include "qpainter.h"
-+#include "qpaintengine.h"
-+#include "qsystemtrayicon_p.h"
-+#include "qx11info_x11.h"
-+
-+QT_BEGIN_INCLUDE_NAMESPACE
-+#include <QtCore/qcoreapplication.h>
-+#include <X11/Xlib.h>
-+#include <X11/Xatom.h>
-+#include <X11/Xutil.h>
-+QT_END_INCLUDE_NAMESPACE
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QSystemTrayIconWidget : public QWidget
-+{
-+public:
-+ QSystemTrayIconWidget(QSystemTrayIcon *q, QXEmbedSystemTrayIconSys *s);
-+ ~QSystemTrayIconWidget();
-+
-+ static Window locateSystemTray();
-+
-+protected:
-+ void paintEvent(QPaintEvent *pe);
-+ void resizeEvent(QResizeEvent *re);
-+ bool x11Event(XEvent *event);
-+ void mousePressEvent(QMouseEvent *event);
-+ void mouseDoubleClickEvent(QMouseEvent *event);
-+#ifndef QT_NO_WHEELEVENT
-+ void wheelEvent(QWheelEvent *event);
-+#endif
-+ bool event(QEvent *e);
-+
-+private:
-+ enum {
-+ SYSTEM_TRAY_REQUEST_DOCK = 0,
-+ SYSTEM_TRAY_BEGIN_MESSAGE = 1,
-+ SYSTEM_TRAY_CANCEL_MESSAGE =2
-+ };
-+
-+ void addToTray();
-+ static XVisualInfo* getSysTrayVisualInfo();
-+
-+ static Window sysTrayWindow;
-+ static QList<QSystemTrayIconWidget *> trayIcons;
-+ static QCoreApplication::EventFilter oldEventFilter;
-+ static bool sysTrayTracker(void *message, long *result);
-+ static Atom sysTraySelection;
-+ static XVisualInfo sysTrayVisual;
-+
-+ QSystemTrayIcon *q;
-+ QXEmbedSystemTrayIconSys *sys;
-+ Colormap colormap;
-+};
-+
-+Window QSystemTrayIconWidget::sysTrayWindow = XNone;
-+QList<QSystemTrayIconWidget *> QSystemTrayIconWidget::trayIcons;
-+QCoreApplication::EventFilter QSystemTrayIconWidget::oldEventFilter = 0;
-+Atom QSystemTrayIconWidget::sysTraySelection = XNone;
-+XVisualInfo QSystemTrayIconWidget::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-+
-+QSystemTrayIconWidget::QSystemTrayIconWidget(QSystemTrayIcon* q, QXEmbedSystemTrayIconSys* sys)
-+: QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint)
-+, q(q)
-+, sys(sys)
-+, colormap(0)
-+{
-+ setAttribute(Qt::WA_AlwaysShowToolTips);
-+ setAttribute(Qt::WA_QuitOnClose, false);
-+ setAttribute(Qt::WA_NoSystemBackground, true);
-+ setAttribute(Qt::WA_PaintOnScreen);
-+ setMouseTracking(true);
-+#ifndef QT_NO_TOOLTIP
-+ setToolTip(q->toolTip());
-+#endif
-+
-+ static bool eventFilterAdded = false;
-+ Display *display = QX11Info::display();
-+ if (!eventFilterAdded) {
-+ oldEventFilter = qApp->setEventFilter(sysTrayTracker);
-+ eventFilterAdded = true;
-+ Window root = QX11Info::appRootWindow();
-+ XWindowAttributes attr;
-+ XGetWindowAttributes(display, root, &attr);
-+ if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
-+ (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
-+ XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
-+ }
-+ }
-+ if (trayIcons.isEmpty()) {
-+ sysTrayWindow = locateSystemTray();
-+ if (sysTrayWindow != XNone)
-+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
-+ }
-+ trayIcons.append(this);
-+ if (sysTrayWindow != XNone)
-+ addToTray();
-+}
-+
-+QSystemTrayIconWidget::~QSystemTrayIconWidget()
-+{
-+ trayIcons.removeAt(trayIcons.indexOf(this));
-+ Display *display = QX11Info::display();
-+ if (trayIcons.isEmpty()) {
-+ if (sysTrayWindow == XNone)
-+ return;
-+ if (display)
-+ XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
-+ sysTrayWindow = XNone;
-+ }
-+ if (colormap)
-+ XFreeColormap(display, colormap);
-+}
-+
-+void QSystemTrayIconWidget::resizeEvent(QResizeEvent *re)
-+{
-+ QWidget::resizeEvent(re);
-+ update();
-+}
-+
-+void QSystemTrayIconWidget::paintEvent(QPaintEvent*)
-+{
-+ QPainter p(this);
-+ if (!getSysTrayVisualInfo()) {
-+ const QRegion oldSystemClip = p.paintEngine()->systemClip();
-+ const QRect clearedRect = oldSystemClip.boundingRect();
-+ XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
-+ clearedRect.width(), clearedRect.height(), False);
-+ QPaintEngine *pe = p.paintEngine();
-+ pe->setSystemClip(clearedRect);
-+ q->icon().paint(&p, rect());
-+ pe->setSystemClip(oldSystemClip);
-+ } else {
-+ p.setCompositionMode(QPainter::CompositionMode_Source);
-+ p.fillRect(rect(), Qt::transparent);
-+ p.setCompositionMode(QPainter::CompositionMode_SourceOver);
-+ q->icon().paint(&p, rect());
-+ }
-+}
-+
-+void QSystemTrayIconWidget::mousePressEvent(QMouseEvent *ev)
-+{
-+ QPoint globalPos = ev->globalPos();
-+ if (ev->button() == Qt::RightButton && q->contextMenu())
-+ q->contextMenu()->popup(globalPos);
-+
-+ if (QBalloonTip::isBalloonVisible()) {
-+ QMetaObject::invokeMethod(q, "messageClicked");
-+ QBalloonTip::hideBalloon();
-+ }
-+
-+ if (ev->button() == Qt::LeftButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::Trigger);
-+ else if (ev->button() == Qt::RightButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::Context);
-+ else if (ev->button() == Qt::MidButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::MiddleClick);
-+}
-+
-+void QSystemTrayIconWidget::mouseDoubleClickEvent(QMouseEvent *ev)
-+{
-+ if (ev->button() == Qt::LeftButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::DoubleClick);
-+}
-+
-+#ifndef QT_NO_WHEELEVENT
-+void QSystemTrayIconWidget::wheelEvent(QWheelEvent *e)
-+{
-+ sys->sendWheelEventToTrayIcon(e->delta(), e->orientation());
-+}
-+#endif
-+
-+bool QSystemTrayIconWidget::event(QEvent *e)
-+{
-+ if (e->type() == QEvent::ToolTip) {
-+ sys->sendToolTipEventToTrayIcon();
-+ }
-+ return QWidget::event(e);
-+}
-+
-+bool QSystemTrayIconWidget::x11Event(XEvent *event)
-+{
-+ if (event->type == ReparentNotify)
-+ show();
-+ return QWidget::x11Event(event);
-+}
-+
-+// Locate the system tray
-+Window QSystemTrayIconWidget::locateSystemTray()
-+{
-+ Display *display = QX11Info::display();
-+ if (sysTraySelection == XNone) {
-+ int screen = QX11Info::appScreen();
-+ QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
-+ sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
-+ }
-+
-+ return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
-+}
-+
-+XVisualInfo* QSystemTrayIconWidget::getSysTrayVisualInfo()
-+{
-+ Display *display = QX11Info::display();
-+
-+ if (!sysTrayVisual.visual) {
-+ Window win = locateSystemTray();
-+ if (win != XNone) {
-+ Atom actual_type;
-+ int actual_format;
-+ ulong nitems, bytes_remaining;
-+ uchar *data = 0;
-+ int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
-+ False, XA_VISUALID, &actual_type,
-+ &actual_format, &nitems, &bytes_remaining, &data);
-+ VisualID vid = 0;
-+ if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
-+ nitems == 1 && bytes_remaining == 0)
-+ vid = *(VisualID*)data;
-+ if (data)
-+ XFree(data);
-+ if (vid == 0)
-+ return 0;
-+
-+ uint mask = VisualIDMask;
-+ XVisualInfo *vi, rvi;
-+ int count;
-+ rvi.visualid = vid;
-+ vi = XGetVisualInfo(display, mask, &rvi, &count);
-+ if (vi) {
-+ sysTrayVisual = vi[0];
-+ XFree((char*)vi);
-+ }
-+ if (sysTrayVisual.depth != 32)
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ }
-+ }
-+
-+ return sysTrayVisual.visual ? &sysTrayVisual : 0;
-+}
-+
-+bool QSystemTrayIconWidget::sysTrayTracker(void *message, long *result)
-+{
-+ bool retval = false;
-+ if (QSystemTrayIconWidget::oldEventFilter)
-+ retval = QSystemTrayIconWidget::oldEventFilter(message, result);
-+
-+ if (trayIcons.isEmpty())
-+ return retval;
-+
-+ Display *display = QX11Info::display();
-+ XEvent *ev = (XEvent *)message;
-+ if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
-+ sysTrayWindow = locateSystemTray();
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ if (sysTrayWindow == XNone) {
-+ QBalloonTip::hideBalloon();
-+ trayIcons[i]->hide(); // still no luck
-+ trayIcons[i]->destroy();
-+ trayIcons[i]->create();
-+ } else
-+ trayIcons[i]->addToTray(); // add it to the new tray
-+ }
-+ retval = true;
-+ } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
-+ static Atom manager_atom = XInternAtom(display, "MANAGER", False);
-+ XClientMessageEvent *cm = (XClientMessageEvent *)message;
-+ if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
-+ sysTrayWindow = cm->data.l[2];
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ XSelectInput(display, sysTrayWindow, StructureNotifyMask);
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ trayIcons[i]->addToTray();
-+ }
-+ retval = true;
-+ }
-+ } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
-+ ev->xproperty.window == sysTrayWindow) {
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ trayIcons[i]->addToTray();
-+ }
-+ }
-+
-+ return retval;
-+}
-+
-+void QSystemTrayIconWidget::addToTray()
-+{
-+ Q_ASSERT(sysTrayWindow != XNone);
-+ Display *display = QX11Info::display();
-+
-+ XVisualInfo *vi = getSysTrayVisualInfo();
-+ if (vi && vi->visual) {
-+ Window root = RootWindow(display, vi->screen);
-+ Window p = root;
-+ if (QWidget *pw = parentWidget())
-+ p = pw->effectiveWinId();
-+ colormap = XCreateColormap(display, root, vi->visual, AllocNone);
-+ XSetWindowAttributes wsa;
-+ wsa.background_pixmap = 0;
-+ wsa.colormap = colormap;
-+ wsa.background_pixel = 0;
-+ wsa.border_pixel = 0;
-+ Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
-+ 0, vi->depth, InputOutput, vi->visual,
-+ CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
-+ create(wid);
-+ } else {
-+ XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
-+ }
-+
-+ // GNOME, NET WM Specification
-+ static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
-+ long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
-+ XEvent ev;
-+ memset(&ev, 0, sizeof(ev));
-+ ev.xclient.type = ClientMessage;
-+ ev.xclient.window = sysTrayWindow;
-+ ev.xclient.message_type = netwm_tray_atom;
-+ ev.xclient.format = 32;
-+ memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
-+ XSendEvent(display, sysTrayWindow, False, 0, &ev);
-+ setMinimumSize(22, 22); // required at least on GNOME
-+}
-+
-+////////////////////////////////////////////////////////////////////////////
-+QXEmbedSystemTrayIconSys::QXEmbedSystemTrayIconSys(QSystemTrayIcon *q)
-+: QAbstractSystemTrayIconSys(q)
-+, widget(0)
-+{
-+}
-+
-+QXEmbedSystemTrayIconSys::~QXEmbedSystemTrayIconSys()
-+{
-+ delete widget;
-+}
-+
-+QRect QXEmbedSystemTrayIconSys::geometry() const
-+{
-+ if (!widget)
-+ return QRect();
-+ return QRect(widget->mapToGlobal(QPoint(0, 0)), widget->size());
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateIcon()
-+{
-+ if (!widget)
-+ return;
-+ widget->update();
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateToolTip()
-+{
-+ if (!widget)
-+ return;
-+ widget->setToolTip(trayIcon->toolTip());
-+}
-+
-+void QXEmbedSystemTrayIconSys::showMessage(const QString &message, const QString &title,
-+ QSystemTrayIcon::MessageIcon icon, int msecs)
-+{
-+ if (!widget)
-+ return;
-+ QPoint point = geometry().center();
-+ QBalloonTip::showBalloon(icon, message, title, trayIcon, point, msecs);
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateVisibility()
-+{
-+ bool visible = trayIcon->isVisible();
-+ if (visible && !widget)
-+ widget = new QSystemTrayIconWidget(trayIcon, this);
-+ else if (!visible && widget) {
-+ delete widget;
-+ widget = 0;
-+ }
-+}
-+
-+void QXEmbedSystemTrayIconSys::sendToolTipEventToTrayIcon()
-+{
-+#ifndef QT_NO_TOOLTIP
-+ // Pass the event through QSystemTrayIcon so that it gets a chance to
-+ // update the tooltip, then asks widget to show the tooltip
-+ Q_ASSERT(widget);
-+ QPoint globalPos = QCursor::pos();
-+ QPoint pos = widget->mapFromGlobal(globalPos);
-+ QHelpEvent event(QEvent::ToolTip, pos, globalPos);
-+ QApplication::sendEvent(trayIcon, &event);
-+#endif
-+}
-+
-+void QXEmbedSystemTrayIconSys::sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation)
-+{
-+#ifndef QT_NO_WHEELEVENT
-+ Q_ASSERT(widget);
-+ QPoint globalPos = QCursor::pos();
-+ QPoint pos = widget->mapFromGlobal(globalPos);
-+ QWheelEvent event(pos, globalPos, delta, Qt::NoButton, Qt::NoModifier, orientation);
-+ QApplication::sendEvent(trayIcon, &event);
-+#endif
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateMenu()
-+{
-+}
-+
-+/////////////////////////////////////////////////////////////
-+QAbstractSystemTrayIconSys * QXEmbedSystemTrayIconSysFactory::create(QSystemTrayIcon *icon)
-+{
-+ return new QXEmbedSystemTrayIconSys(icon);
-+}
-+
-+bool QXEmbedSystemTrayIconSysFactory::isAvailable() const
-+{
-+ return QSystemTrayIconWidget::locateSystemTray() != XNone;
-+}
-+
-+QT_END_NAMESPACE
-+#endif //QT_NO_SYSTEMTRAYICON
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon 2014-03-31 18:16:39.709974914 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h 2014-03-31 18:16:39.709974914 -0500
-@@ -0,0 +1,104 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXEMBEDSYSTEMTRAYICON_X11_P_H
-+#define QXEMBEDSYSTEMTRAYICON_X11_P_H
-+
-+//
-+// W A R N I N G
-+// -------------
-+//
-+// This file is not part of the Qt API. It exists for the convenience
-+// of a number of Qt sources files. This header file may change from
-+// version to version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "qabstractsystemtrayiconsys_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QSystemTrayIconWidget;
-+
-+class QXEmbedSystemTrayIconSys : public QAbstractSystemTrayIconSys
-+{
-+public:
-+ QXEmbedSystemTrayIconSys(QSystemTrayIcon *);
-+ ~QXEmbedSystemTrayIconSys();
-+
-+ QRect geometry() const;
-+
-+ void updateVisibility();
-+
-+ void updateIcon();
-+
-+ void updateToolTip();
-+
-+ void updateMenu();
-+
-+ void showMessage(const QString &message, const QString &title,
-+ QSystemTrayIcon::MessageIcon icon, int msecs);
-+
-+private:
-+ friend class QSystemTrayIconWidget;
-+ QSystemTrayIconWidget *widget;
-+
-+ void sendToolTipEventToTrayIcon();
-+
-+ void sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation);
-+};
-+
-+struct QXEmbedSystemTrayIconSysFactory : public QSystemTrayIconSysFactoryInterface
-+{
-+ QAbstractSystemTrayIconSys * create(QSystemTrayIcon *trayIcon);
-+ bool isAvailable() const;
-+};
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif // QT_NO_SYSTEMTRAYICON
-+
-+#endif // QXEMBEDSYSTEMTRAYICON_X11_P_H
-+
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri 2014-03-31 18:16:39.710974903 -0500
-@@ -29,8 +29,13 @@ wince* {
- }
-
- unix:x11 {
-+ HEADERS += \
-+ util/qabstractsystemtrayiconsys_p.h \
-+ util/qxembedsystemtrayicon_x11_p.h
- SOURCES += \
-- util/qsystemtrayicon_x11.cpp
-+ util/qabstractsystemtrayiconsys.cpp \
-+ util/qsystemtrayicon_x11.cpp \
-+ util/qxembedsystemtrayicon_x11.cpp
- }
-
- embedded|qpa {
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
deleted file mode 100644
index 9bce98ff8..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600
-@@ -52,7 +52,7 @@
- /*
- can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
- */
--#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
-+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch))
-
- #define QT_PACKAGEDATE_STR "2015-05-07"
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
deleted file mode 100644
index 572a955dc..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than 2016-02-10 16:31:02.450152334 +0100
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp 2016-02-10 16:31:51.495307579 +0100
-@@ -40,7 +40,7 @@
- ****************************************************************************/
-
- #include <alsa/asoundlib.h>
--#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/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-index 973cbab..0b27e9d 100644
---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-@@ -63,7 +63,7 @@ QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode
- device = QLatin1String(dev);
- this->mode = mode;
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- checkSurround();
- #endif
- }
-@@ -159,13 +159,13 @@ bool QAudioDeviceInfoInternal::open()
- QList<QByteArray> devices = availableDevices(mode);
-
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first().constData());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = device;
- #else
- int idx = 0;
-@@ -212,13 +212,13 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
-
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first().constData());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = device;
- #else
- int idx = 0;
-@@ -396,7 +396,7 @@ void QAudioDeviceInfoInternal::updateLists()
- }
- channelz.append(1);
- channelz.append(2);
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- if (surround40) channelz.append(4);
- if (surround51) channelz.append(6);
- if (surround71) channelz.append(8);
-@@ -419,7 +419,7 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
- QList<QByteArray> devices;
- QByteArray filter;
-
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- // Create a list of all current audio devices that support mode
- void **hints, **n;
- char *name, *descr, *io;
-@@ -498,7 +498,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
- return devices.first();
- }
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- void QAudioDeviceInfoInternal::checkSurround()
- {
- QList<QByteArray> devices;
-diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-index 96febf4..714bf60 100644
---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-@@ -98,7 +98,7 @@ private:
- bool open();
- void close();
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- void checkSurround();
- bool surround40;
- bool surround51;
-diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
-index 339fd9f..abfa4a1 100644
---- a/src/multimedia/audio/qaudioinput_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
-@@ -284,13 +284,13 @@ bool QAudioInputPrivate::open()
- QString dev = QString(QLatin1String(m_device.constData()));
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioInput);
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(m_device);
- #else
- int idx = 0;
-diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-index bf85de5..c29a89f 100644
---- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-@@ -299,13 +299,13 @@ bool QAudioOutputPrivate::open()
- QString dev = QString(QLatin1String(m_device.constData()));
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(m_device);
- #else
- int idx = 0;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch
deleted file mode 100644
index eeed1b97c..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp
---- qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me 2019-03-22 10:22:16.213800109 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp 2019-03-22 10:22:40.721890281 +0100
-@@ -108,7 +108,7 @@ static bool read_pbm_header(QIODevice *d
- else
- mcc = read_pbm_int(device); // get max color component
-
-- if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0)
-+ if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 || mcc > 0xffff)
- return false; // weird P.M image
-
- return true;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch
deleted file mode 100644
index 456abceb3..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600
-@@ -39,7 +39,7 @@
- **
- ****************************************************************************/
-
--#include <ibase.h>
-+#include <firebird/ibase.h>
-
- int main(int, char **)
- {
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600
-@@ -1,4 +1,4 @@
- SOURCES = ibase.cpp
- CONFIG -= qt dylib
- mac:CONFIG -= app_bundle
--LIBS += -lgds
-+LIBS += -lfbclient
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600
-@@ -45,7 +45,7 @@
- #include <QtSql/qsqlresult.h>
- #include <QtSql/qsqldriver.h>
- #include <QtSql/private/qsqlcachedresult_p.h>
--#include <ibase.h>
-+#include <firebird/ibase.h>
-
- QT_BEGIN_HEADER
-
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600
-@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase.h
- SOURCES += $$PWD/qsql_ibase.cpp
-
- unix {
-- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
-+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient
- } else {
- !contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
- win32-borland:LIBS += gds32.lib
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch
deleted file mode 100644
index 421292939..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
---- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
-+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
-@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
- *-g++*)
- # Check gcc's version
- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
-- 5*|4*|3.4*)
-+ 9*|8*|7*|6*|5*|4*|3.4*)
- ;;
- 3.3*)
- canBuildWebKit="no"
-@@ -8060,7 +8060,7 @@ g++*)
- 3.*)
- COMPILER_VERSION="3.*"
- ;;
-- 5*|4.*)
-+ 9*|8*|7*|6*|5*|4.*)
- COMPILER_VERSION="4"
- ;;
- *)
-diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
---- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
-@@ -70,8 +70,8 @@ namespace QPatternist
- ForegroundShift = 10,
- BackgroundShift = 20,
- SpecialShift = 20,
-- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
-- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
-+ ForegroundMask = 0x1f << ForegroundShift,
-+ BackgroundMask = 0x7 << BackgroundShift
- };
-
- public:
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
deleted file mode 100644
index 7e79d2174..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 qt-everywhere-opensource-src-4.8.7/src/script/script.pro
---- qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 2015-05-07 09:14:43.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/script/script.pro 2018-05-19 16:01:24.699926959 -0500
-@@ -91,6 +91,9 @@ symbian {
- TARGET.UID3=0x2001B2E1
- }
-
-+# hack around gcc8 optimization bug with -O2
-+QMAKE_CXXFLAGS_RELEASE += -O1
-+
- symbian {
- symbian-abld|symbian-sbsv2 {
- MMP_RULES += ALWAYS_BUILD_AS_ARM
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch
deleted file mode 100644
index 3edcdef02..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Subject: Fix build with ICU >= 59
-
-ICU >= 59 requires C++11 for its header files.
-Qt can't be compiled with -std=c++11 as a whole, so only enable
-it for qlocale_icu.cpp.
-
-Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
-===================================================================
---- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
-@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/
- else:include($$PWD/../../3rdparty/zlib_dependency.pri)
-
- contains(QT_CONFIG,icu) {
-- SOURCES += tools/qlocale_icu.cpp
-+ cpp11.name = cpp11
-+ cpp11.input = SOURCES_CPP11
-+ cpp11.dependency_type = TYPE_C
-+ cpp11.variable_out = OBJECTS
-+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
-+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
-+ QMAKE_EXTRA_COMPILERS += cpp11
-+
-+ SOURCES_CPP11 += tools/qlocale_icu.cpp
- DEFINES += QT_USE_ICU
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch
deleted file mode 100644
index 7e480138b..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500
-@@ -1105,11 +1105,16 @@ static void qLibraryInit()
- }
- # endif // MYSQL_VERSION_ID
- #endif // Q_NO_MYSQL_EMBEDDED
-+
-+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
-+ qAddPostRoutine(mysql_server_end);
-+#endif
- }
-
- static void qLibraryEnd()
- {
- #ifndef Q_NO_MYSQL_EMBEDDED
-+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
- # if MYSQL_VERSION_ID > 40000
- # if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
- mysql_library_end();
-@@ -1118,6 +1123,7 @@ static void qLibraryEnd()
- # endif
- # endif
- #endif
-+#endif
- }
-
- QMYSQLDriver::QMYSQLDriver(QObject * parent)
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch
deleted file mode 100644
index 6456f2c61..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urp qt-everywhere-opensource-src-4.8.7/configure q/configure
---- qt-everywhere-opensource-src-4.8.7/configure 2016-04-03 16:49:50.218644449 +0200
-+++ q/configure 2016-04-03 17:22:35.376405024 +0200
-@@ -3331,6 +3331,9 @@ arm*)
- CFG_ARCH=arm
- COMPAT_ARCH=armv6
- ;;
-+mips*)
-+ CFG_ARCH=mips
-+ ;;
- esac
-
- if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
deleted file mode 100644
index 6a9946030..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
+++ /dev/null
@@ -1,694 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp 2018-01-05 17:44:16.997588265 +0100
-@@ -259,10 +259,10 @@
- QByteArray QSslCertificate::version() const
- {
- QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-- if (d->versionString.isEmpty() && d->x509)
-+ if (d->versionString.isEmpty() && d->x509) {
- d->versionString =
-- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
--
-+ QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
-+ }
- return d->versionString;
- }
-
-@@ -276,7 +276,7 @@
- {
- QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
- if (d->serialNumberString.isEmpty() && d->x509) {
-- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
- // if we cannot convert to a long, just output the hexadecimal number
- if (serialNumber->length > 4) {
- QByteArray hexString;
-@@ -489,24 +489,33 @@
- QSslKey key;
-
- key.d->type = QSsl::PublicKey;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- X509_PUBKEY *xkey = d->x509->cert_info->key;
-+#else
-+ X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
-+#endif
- EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
- Q_ASSERT(pkey);
-
-- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+ int key_id;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ key_id = q_EVP_PKEY_type(pkey->type);
-+#else
-+ key_id = q_EVP_PKEY_base_id(pkey);
-+#endif
-+ if (key_id == EVP_PKEY_RSA) {
- key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
- key.d->algorithm = QSsl::Rsa;
- key.d->isNull = false;
-- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+ } else if (key_id == EVP_PKEY_DSA) {
- key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
- key.d->algorithm = QSsl::Dsa;
- key.d->isNull = false;
-- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+ } else if (key_id == EVP_PKEY_DH) {
- // DH unsupported
- } else {
- // error?
- }
--
- q_EVP_PKEY_free(pkey);
- return key;
- }
-@@ -687,7 +696,11 @@
- unsigned char *data = 0;
- int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
- info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_free(data);
-+#else
-+ q_CRYPTO_free(data, __FILE__, __LINE__);
-+#endif
- }
- return info;
- }
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp 2018-01-05 18:00:27.453937599 +0100
-@@ -321,8 +321,19 @@
- {
- if (d->isNull)
- return -1;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- return (d->algorithm == QSsl::Rsa)
- ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
-+#else
-+ if (d->algorithm == QSsl::Rsa) {
-+ return q_RSA_bits(d->rsa);
-+ } else {
-+ const BIGNUM *p = (const BIGNUM *) NULL;
-+ q_DSA_get0_pqg(d->dsa, &p, (const BIGNUM **) NULL, (const BIGNUM **) NULL);
-+ return q_BN_num_bits(p);
-+ }
-+#endif
-+
- }
-
- /*!
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp 2018-01-05 12:06:06.336990956 +0100
-@@ -93,6 +93,7 @@
- bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
- bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- /* \internal
-
- From OpenSSL's thread(3) manual page:
-@@ -174,6 +175,8 @@
- }
- } // extern "C"
-
-+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
-+
- QSslSocketBackendPrivate::QSslSocketBackendPrivate()
- : ssl(0),
- ctx(0),
-@@ -222,9 +225,12 @@
- ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
- ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ciph.d->bits = cipher->strength_bits;
- ciph.d->supportedBits = cipher->alg_bits;
--
-+#else
-+ ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
-+#endif
- }
- return ciph;
- }
-@@ -363,7 +369,7 @@
- //
- // See also: QSslContext::fromConfiguration()
- if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
-- q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
-+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
- }
- }
-
-@@ -500,8 +506,10 @@
- */
- void QSslSocketPrivate::deinitialize()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_set_id_callback(0);
- q_CRYPTO_set_locking_callback(0);
-+#endif
- }
-
- /*!
-@@ -522,13 +530,17 @@
- return false;
-
- // Check if the library itself needs to be initialized.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- QMutexLocker locker(openssl_locks()->initLock());
-+#endif
- if (!s_libraryLoaded) {
- s_libraryLoaded = true;
-
- // Initialize OpenSSL.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_set_id_callback(id_function);
- q_CRYPTO_set_locking_callback(locking_function);
-+#endif
- if (q_SSL_library_init() != 1)
- return false;
- q_SSL_load_error_strings();
-@@ -567,7 +579,9 @@
-
- void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
- {
-- QMutexLocker locker(openssl_locks()->initLock());
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ QMutexLocker locker(openssl_locks()->initLock());
-+#endif
- if (s_loadedCiphersAndCerts)
- return;
- s_loadedCiphersAndCerts = true;
-@@ -659,13 +673,18 @@
- STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
- for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
- if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
-- if (cipher->valid) {
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ if (cipher->valid) {
-+#endif
- QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
- if (!ciph.isNull()) {
- if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
- ciphers << ciph;
- }
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- }
-+#endif
- }
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h 2018-01-05 12:06:06.337990940 +0100
-@@ -84,6 +84,10 @@
- #include <openssl/tls1.h>
- #endif
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#define OPENSSL_NO_SSL2
-+#endif
-+
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
- typedef _STACK STACK;
- #endif
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-01-05 17:59:10.636973932 +0100
-@@ -111,16 +111,30 @@
- DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+#else
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
-+#endif
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
- DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
-+#endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+#else
-+DEFINEFUNC3(void, CRYPTO_free, void *a, a, const char *b, b, int c, c, return, DUMMYARG)
-+#endif
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- #if OPENSSL_VERSION_NUMBER < 0x00908000L
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
-@@ -157,6 +171,7 @@
- DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
- DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
- DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-@@ -166,6 +181,12 @@
- DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
- DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
- #endif
-+#else
-+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return)
-+#endif
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
- DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-@@ -213,8 +234,12 @@
- #else
- DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
- DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
-+#else
-+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
-+#endif
- DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
-@@ -229,13 +254,21 @@
- DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
- DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
- DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
- DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-@@ -274,7 +307,11 @@
- DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
-+#else
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
-+#endif
- DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
- #ifdef SSLEAY_MACROS
- DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
-@@ -282,10 +319,34 @@
- DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
- DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
-+#else
-+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
-+#endif
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(unsigned long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
-+
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
-+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
-+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
-+DEFINEFUNC(int, RSA_bits, const RSA *rsa, rsa, return 0, return)
-+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *x, x, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *x, x, return 0, return)
-+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
-+#endif
-
- #ifdef Q_OS_SYMBIAN
- #define RESOLVEFUNC(func, ordinal, lib) \
-@@ -580,7 +641,11 @@
- static volatile bool symbolsResolved = false;
- static volatile bool triedToResolveSymbols = false;
- #ifndef QT_NO_THREAD
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
-+#else
-+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
-+#endif
- #endif
- if (symbolsResolved)
- return true;
-@@ -614,9 +679,11 @@
- RESOLVEFUNC(BIO_write, 269, libs.second )
- RESOLVEFUNC(BN_num_bits, 387, libs.second )
- RESOLVEFUNC(CRYPTO_free, 469, libs.second )
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second )
- RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second )
- RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second )
-+#endif
- RESOLVEFUNC(DSA_free, 594, libs.second )
- RESOLVEFUNC(ERR_error_string, 744, libs.second )
- RESOLVEFUNC(ERR_get_error, 749, libs.second )
-@@ -674,8 +741,10 @@
- RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first )
- RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first )
- RESOLVEFUNC(SSL_get_verify_result, 132, libs.first )
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSL_library_init, 137, libs.first )
- RESOLVEFUNC(SSL_load_error_strings, 139, libs.first )
-+#endif
- RESOLVEFUNC(SSL_new, 140, libs.first )
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- RESOLVEFUNC(SSL_ctrl, 95, libs.first )
-@@ -747,9 +816,11 @@
- RESOLVEFUNC(BIO_write)
- RESOLVEFUNC(BN_num_bits)
- RESOLVEFUNC(CRYPTO_free)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(CRYPTO_num_locks)
- RESOLVEFUNC(CRYPTO_set_id_callback)
- RESOLVEFUNC(CRYPTO_set_locking_callback)
-+#endif
- RESOLVEFUNC(DSA_free)
- RESOLVEFUNC(ERR_error_string)
- RESOLVEFUNC(ERR_get_error)
-@@ -779,10 +850,17 @@
- RESOLVEFUNC(RAND_seed)
- RESOLVEFUNC(RAND_status)
- RESOLVEFUNC(RSA_free)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(sk_free)
- RESOLVEFUNC(sk_num)
- RESOLVEFUNC(sk_pop_free)
- RESOLVEFUNC(sk_value)
-+#else
-+ RESOLVEFUNC(OPENSSL_sk_free)
-+ RESOLVEFUNC(OPENSSL_sk_num)
-+ RESOLVEFUNC(OPENSSL_sk_pop_free)
-+ RESOLVEFUNC(OPENSSL_sk_value)
-+#endif
- RESOLVEFUNC(SSL_CIPHER_description)
- RESOLVEFUNC(SSL_CTX_check_private_key)
- RESOLVEFUNC(SSL_CTX_ctrl)
-@@ -797,6 +875,7 @@
- RESOLVEFUNC(SSL_CTX_use_PrivateKey)
- RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
- RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
-+ RESOLVEFUNC(SSL_CTX_get_cert_store)
- RESOLVEFUNC(SSL_accept)
- RESOLVEFUNC(SSL_clear)
- RESOLVEFUNC(SSL_connect)
-@@ -807,8 +886,12 @@
- RESOLVEFUNC(SSL_get_peer_cert_chain)
- RESOLVEFUNC(SSL_get_peer_certificate)
- RESOLVEFUNC(SSL_get_verify_result)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSL_library_init)
- RESOLVEFUNC(SSL_load_error_strings)
-+#else
-+ RESOLVEFUNC(OPENSSL_init_ssl)
-+#endif
- RESOLVEFUNC(SSL_new)
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- RESOLVEFUNC(SSL_ctrl)
-@@ -819,17 +902,47 @@
- RESOLVEFUNC(SSL_set_connect_state)
- RESOLVEFUNC(SSL_shutdown)
- RESOLVEFUNC(SSL_write)
-+
-+ RESOLVEFUNC(X509_get_serialNumber)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ RESOLVEFUNC(SSL_CTX_ctrl)
-+ RESOLVEFUNC(EVP_PKEY_id)
-+ RESOLVEFUNC(EVP_PKEY_base_id)
-+ RESOLVEFUNC(SSL_CIPHER_get_bits)
-+ RESOLVEFUNC(SSL_CTX_set_options)
-+ RESOLVEFUNC(X509_get_version)
-+ RESOLVEFUNC(X509_get_X509_PUBKEY)
-+ RESOLVEFUNC(RSA_bits)
-+ RESOLVEFUNC(DSA_security_bits)
-+ RESOLVEFUNC(DSA_get0_pqg)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ RESOLVEFUNC(X509_get_notAfter)
-+ RESOLVEFUNC(X509_get_notBefore)
-+#else
-+ RESOLVEFUNC(X509_getm_notAfter)
-+ RESOLVEFUNC(X509_getm_notBefore)
-+#endif
-+#endif
-+
- #ifndef OPENSSL_NO_SSL2
- RESOLVEFUNC(SSLv2_client_method)
- #endif
- RESOLVEFUNC(SSLv3_client_method)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLv23_client_method)
-+#else
-+ RESOLVEFUNC(TLS_client_method)
-+#endif
- RESOLVEFUNC(TLSv1_client_method)
- #ifndef OPENSSL_NO_SSL2
- RESOLVEFUNC(SSLv2_server_method)
- #endif
- RESOLVEFUNC(SSLv3_server_method)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLv23_server_method)
-+#else
-+ RESOLVEFUNC(TLS_server_method)
-+#endif
- RESOLVEFUNC(TLSv1_server_method)
- RESOLVEFUNC(X509_NAME_entry_count)
- RESOLVEFUNC(X509_NAME_get_entry)
-@@ -846,7 +959,11 @@
- RESOLVEFUNC(X509_STORE_CTX_get_error)
- RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
- RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(X509_STORE_CTX_get_chain)
-+#else
-+ RESOLVEFUNC(X509_STORE_CTX_get0_chain)
-+#endif
- RESOLVEFUNC(X509_cmp)
- #ifndef SSLEAY_MACROS
- RESOLVEFUNC(X509_dup)
-@@ -867,10 +984,18 @@
- RESOLVEFUNC(d2i_DSAPrivateKey)
- RESOLVEFUNC(d2i_RSAPrivateKey)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
- RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-+#else
-+ RESOLVEFUNC(OPENSSL_init_crypto)
-+#endif
- RESOLVEFUNC(SSL_CTX_load_verify_locations)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLeay)
-+#else
-+ RESOLVEFUNC(OpenSSL_version_num)
-+#endif
- #endif // Q_OS_SYMBIAN
- symbolsResolved = true;
- delete libs.first;
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-01-05 17:59:42.041550255 +0100
-@@ -207,16 +207,31 @@
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- int q_BIO_free(BIO *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- BIO *q_BIO_new(BIO_METHOD *a);
-+#else
-+BIO *q_BIO_new(const BIO_METHOD *a);
-+#endif
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- BIO_METHOD *q_BIO_s_mem();
-+#else
-+const BIO_METHOD *q_BIO_s_mem();
-+#endif
- int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_CRYPTO_num_locks();
- void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
- void q_CRYPTO_set_id_callback(unsigned long (*a)());
- void q_CRYPTO_free(void *a);
-+#else
-+#define q_CRYPTO_num_locks() 1
-+#define q_CRYPTO_set_locking_callback(a)
-+#define q_CRYPTO_set_id_callback(a)
-+void q_CRYPTO_free(void *a, const char *b, int c);
-+#endif
- void q_DSA_free(DSA *a);
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- // 0.9.8 broke SC and BC by changing this function's signature.
-@@ -258,6 +273,7 @@
- void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- void q_RSA_free(RSA *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_sk_num(STACK *a);
- void q_sk_pop_free(STACK *a, void (*b)(void *));
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-@@ -267,6 +283,16 @@
- void q_sk_free(STACK *a);
- char * q_sk_value(STACK *a, int b);
- #endif
-+#else
-+int q_OPENSSL_sk_num(STACK *a);
-+void q_OPENSSL_sk_pop_free(STACK *a, void (*b)(void *));
-+void q_OPENSSL_sk_free(_STACK *a);
-+void * q_OPENSSL_sk_value(STACK *a, int b);
-+#define q_sk_num q_OPENSSL_sk_num
-+#define q_sk_pop_free q_OPENSSL_sk_pop_free
-+#define q_sk_free q_OPENSSL_sk_free
-+#define q_sk_value q_OPENSSL_sk_value
-+#endif
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
- char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
-@@ -314,8 +340,14 @@
- #else
- long q_SSL_get_verify_result(SSL *a);
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_SSL_library_init();
- void q_SSL_load_error_strings();
-+#else
-+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+#define q_SSL_library_init() q_OPENSSL_init_ssl(0, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#endif
- SSL *q_SSL_new(SSL_CTX *a);
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
-@@ -328,11 +360,21 @@
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
- const SSL_METHOD *q_SSLv2_client_method();
- const SSL_METHOD *q_SSLv3_client_method();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- const SSL_METHOD *q_SSLv23_client_method();
-+#else
-+const SSL_METHOD *q_TLS_client_method();
-+#define q_SSLv23_client_method q_TLS_client_method
-+#endif
- const SSL_METHOD *q_TLSv1_client_method();
- const SSL_METHOD *q_SSLv2_server_method();
- const SSL_METHOD *q_SSLv3_server_method();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- const SSL_METHOD *q_SSLv23_server_method();
-+#else
-+const SSL_METHOD *q_TLS_server_method();
-+#define q_SSLv23_server_method q_TLS_server_method
-+#endif
- const SSL_METHOD *q_TLSv1_server_method();
- #else
- SSL_METHOD *q_SSLv2_client_method();
-@@ -377,7 +419,12 @@
- int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
- int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
- X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
-+#else
-+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
-+#define q_X509_STORE_CTX_get_chain q_X509_STORE_CTX_get0_chain
-+#endif
-
- #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
- #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
-@@ -399,7 +446,25 @@
- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
- bp,(char *)x,enc,kstr,klen,cb,u)
- #endif
-+
-+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
-+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
-+#define q_X509_get_version(x) X509_get_version(x)
-+#else
-+int q_EVP_PKEY_id(const EVP_PKEY *pkey);
-+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
-+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
-+long q_X509_get_version(X509 *x);
-+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
-+int q_RSA_bits(const RSA *rsa);
-+int q_DSA_security_bits(const DSA *dsa);
-+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
-+#endif
-+
- #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
- #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
-@@ -410,8 +475,17 @@
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
- q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_X509_get_notAfter(x) X509_get_notAfter(x)
- #define q_X509_get_notBefore(x) X509_get_notBefore(x)
-+#else
-+ASN1_TIME *q_X509_getm_notAfter(X509 *x);
-+ASN1_TIME *q_X509_getm_notBefore(X509 *x);
-+#define q_X509_get_notAfter(x) q_X509_getm_notAfter(x)
-+#define q_X509_get_notBefore(x) q_X509_getm_notBefore(x)
-+#endif
-+
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
- (char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
-@@ -421,10 +495,21 @@
- #else
- #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_noconf()
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- void q_OPENSSL_add_all_algorithms_noconf();
- void q_OPENSSL_add_all_algorithms_conf();
-+#else
-+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, (const OPENSSL_INIT_SETTINGS *) NULL)
-+# define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#endif
- int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- long q_SSLeay();
-+#else
-+unsigned long q_OpenSSL_version_num();
-+#define q_SSLeay q_OpenSSL_version_num
-+#endif
-
- // Helper function
- class QDateTime;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch
deleted file mode 100644
index 836dc13a4..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/corelib/global/qglobal.h
-+++ b/src/corelib/global/qglobal.h
-@@ -2482,22 +2482,32 @@ typedef uint Flags;
-
- #endif /* Q_NO_TYPESAFE_FLAGS */
-
--#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT)
-+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT))
- /* make use of typeof-extension */
- template <typename T>
- class QForeachContainer {
- public:
-- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { }
-+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { }
- const T c;
- int brk;
- typename T::const_iterator i, e;
-+ int control;
- };
-
-+// Explanation of the control word:
-+// - it's initialized to 1
-+// - that means both the inner and outer loops start
-+// - if there were no breaks, at the end of the inner loop, it's set to 0, which
-+// causes it to exit (the inner loop is run exactly once)
-+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing
-+// the outer loop to continue executing
-+// - if there was a break inside the inner loop, it will exit with control still
-+// set to 1; in that case, the outer loop will invert it to 0 and will exit too
- #define Q_FOREACH(variable, container) \
- for (QForeachContainer<__typeof__(container)> _container_(container); \
-- !_container_.brk && _container_.i != _container_.e; \
-- __extension__ ({ ++_container_.brk; ++_container_.i; })) \
-- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
-+ _container_.control && _container_.i != _container_.e; \
-+ ++_container_.i, _container_.control ^= 1) \
-+ for (variable = *_container_.i; _container_.control; _container_.control = 0)
-
- #else
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
deleted file mode 100644
index f1a5a12e1..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix
---- qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix 2018-02-15 08:25:13.168838577 -0600
-@@ -3,7 +3,7 @@ BUILD_PATH = @BUILD_PATH@
- QTOBJS = @QMAKE_QTOBJS@
- QTSRCS = @QMAKE_QTSRCS@
- QMAKESPEC = @QMAKESPEC@
--LFLAGS = @QMAKE_LFLAGS@
-+LFLAGS = @QMAKE_LFLAGS@ $(QMAKE_LFLAGS_RELEASE)
-
- #qmake code
- OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
diff --git a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch b/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch
deleted file mode 100644
index 71e30c4f9..000000000
--- a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/gui/kernel/qguiplatformplugin.cpp.adwaita 2015-02-12 14:32:45.217935391 +0100
-+++ src/gui/kernel/qguiplatformplugin.cpp 2015-02-12 14:46:11.471866038 +0100
-@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName()
- case DE_GNOME: {
- QStringList availableStyles = QStyleFactory::keys();
- // Set QGtkStyle for GNOME if available
-+ QString adwaitaStyleKey = QString::fromLatin1("adwaita");
- QString gtkStyleKey = QString::fromLatin1("GTK+");
-- if (availableStyles.contains(gtkStyleKey)) {
-+ if (availableStyles.contains(adwaitaStyleKey)) {
-+ stylename = adwaitaStyleKey;
-+ break;
-+ }
-+ else if (availableStyles.contains(gtkStyleKey)) {
- stylename = gtkStyleKey;
- break;
- }
diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
deleted file mode 100644
index e5ab4bad9..000000000
--- a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h
---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h 2009-02-25 22:09:21.000000000 +0100
-+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h 2009-04-01 17:54:21.000000000 +0200
-@@ -115,8 +115,8 @@
- asm volatile("lock\n"
- "incl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-@@ -127,8 +127,8 @@
- asm volatile("lock\n"
- "decl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h
---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h 2009-02-25 22:09:21.000000000 +0100
-+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h 2009-04-01 17:54:32.000000000 +0200
-@@ -116,8 +116,8 @@
- asm volatile("lock\n"
- "incl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-@@ -128,8 +128,8 @@
- asm volatile("lock\n"
- "decl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
deleted file mode 100644
index 4ab3ea4b1..000000000
--- a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp
---- qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter 2009-04-21 18:57:41.000000000 -0500
-+++ qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp 2009-04-24 11:17:49.562695405 -0500
-@@ -72,7 +72,7 @@
- #include FT_CONFIG_OPTIONS_H
- #endif
-
--#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING)
-+#if defined(FT_LCD_FILTER_H)
- #define QT_USE_FREETYPE_LCDFILTER
- #endif
-
diff --git a/source/l/qt/profile.d/qt4.csh b/source/l/qt/profile.d/qt4.csh
deleted file mode 100644
index 6e2c726cb..000000000
--- a/source/l/qt/profile.d/qt4.csh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/csh
-# Environment path variables for the Qt package:
-if ( ! $?QT4DIR ) then
- # It's best to use the generic directory to avoid
- # compiling in a version-containing path:
- if ( -d /usr/lib/qt ) then
- setenv QT4DIR /usr/lib/qt
- else
- # Find the newest Qt directory and set $QT4DIR to that:
- foreach qtd ( /usr/lib/qt-* )
- if ( -d $qtd ) then
- setenv QT4DIR $qtd
- endif
- end
- endif
-endif
-set path = ( $path $QT4DIR/bin )
-if ( $?CPLUS_INCLUDE_PATH ) then
- setenv CPLUS_INCLUDE_PATH $QT4DIR/include:$CPLUS_INCLUDE_PATH
-else
- setenv CPLUS_INCLUDE_PATH $QT4DIR/include
-endif
diff --git a/source/l/qt/profile.d/qt4.sh b/source/l/qt/profile.d/qt4.sh
deleted file mode 100644
index 5b4b830aa..000000000
--- a/source/l/qt/profile.d/qt4.sh
+++ /dev/null
@@ -1,23 +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/qt ]; then
- QT4DIR=/usr/lib/qt
-else
- # Find the newest Qt directory and set $QT4DIR to that:
- for qtd in /usr/lib/qt-* ; do
- if [ -d $qtd ]; then
- QT4DIR=$qtd
- fi
- done
-fi
-if [ ! "$CPLUS_INCLUDE_PATH" = "" ]; then
- CPLUS_INCLUDE_PATH=$QT4DIR/include:$CPLUS_INCLUDE_PATH
-else
- CPLUS_INCLUDE_PATH=$QT4DIR/include
-fi
-PATH="$PATH:$QT4DIR/bin"
-export QT4DIR
-export CPLUS_INCLUDE_PATH
diff --git a/source/l/qt/qt-nowebkit.SlackBuild b/source/l/qt/qt-nowebkit.SlackBuild
deleted file mode 100755
index f9e08a396..000000000
--- a/source/l/qt/qt-nowebkit.SlackBuild
+++ /dev/null
@@ -1,362 +0,0 @@
-#!/bin/bash
-
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Merged some ideas from Alex Sarmardzic's script for qt4 at SlackBuilds.org
-# ^^ Modified by Robby Workman <rworkman@slackware.com> for QT4 & KDE4
-
-# 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 Eric Hameleers, Eindhoven, NL
-# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4, 4.8.5, 4.8.6 are built from original nokia sources.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qt
-VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-17}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$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" = "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"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf qt-everywhere-opensource-src-$VERSION
-tar xvf $CWD/qt-everywhere-opensource-src-$VERSION.tar.xz # For qt releases
-cd qt-everywhere-opensource-src-$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 {} \+
-
-if [ $ARCH = "i486" -o $ARCH = "i586" ]; then
- sed -i -e "s/QMAKE_CFLAGS_RELEASE += -O2/QMAKE_CFLAGS_RELEASE += $SLKCFLAGS/" mkspecs/common/gcc-base.conf || exit 1
-fi
-
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-cupsEnumDests.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-prefer_adwaita_on_gnome.patch.gz | patch -p0 --verbose || exit 1
-#zcat $CWD/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.6.2-cups.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-s390.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-4.8-poll.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch.gz | patch -p0 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch.gz | patch -p0 --verbose || exit 1
-#zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-aarch64.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch.gz | patch -p1 --verbose || exit 1
-#zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-4.8-disable-sslv3.patch.gz | patch -p1 --verbose || exit 1
-
-# All other distros I checked build with -no-webkit. But this has the downside of
-# breaking the build when QtWebKit is present on the build system and some things
-# (assistant for one) are built without support for QtWebKit. So let's go with
-# -webkit and remove the built files later from the package. -HW
-
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
-export OPENSOURCE_CXXFLAGS="$SLKCFLAGS -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
-./configure \
- -confirm-license \
- -opensource \
- -prefix /usr/lib${LIBDIRSUFFIX}/qt \
- -fast \
- -release \
- -system-libpng \
- -system-libjpeg \
- -system-zlib \
- -system-sqlite \
- -plugin-sql-sqlite \
- -dbus \
- -webkit \
- -no-phonon \
- -nomake examples \
- -nomake demos \
- -nomake docs \
- -no-separate-debug-info \
- -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
-
-# dropping the just built WebKit since we replace it with an external one
-rm -f $PKG/usr/lib$LIBDIRSUFFIX/qt/lib/libQtWebKit*
-rm -f $PKG/usr/lib$LIBDIRSUFFIX/qt/lib/pkgconfig/QtWebKit.pc
-rm -rf $PKG/usr/lib$LIBDIRSUFFIX/qt/imports/QtWebKit
-rm -rf $PKG/usr/lib$LIBDIRSUFFIX/qt/include/QtWebKit
-
-# The infamous qt -> qt-${VERSION} link that keeps the full path out of .la files:
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf qt qt-${VERSION} )
-
-# Add a missing Qt.pc which is needed by KDE applications:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
-cat <<EOF > $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/Qt.pc
-prefix=/usr/lib${LIBDIRSUFFIX}/qt
-bindir=\${prefix}/bin
-datadir=\${prefix}
-docdir=\${prefix}/doc
-headerdir=\${prefix}/include
-importdir=\${prefix}/imports
-libdir=\${prefix}/lib
-moc=\${bindir}/moc
-plugindir=\${prefix}/plugins
-qmake=\${bindir}/qmake
-sysconfdir=\${prefix}/etc/settings
-translationdir=\${prefix}/translations
-
-Name: Qt
-Description: Qt Configuration
-Version: $VERSION
-EOF
-
-# libjscore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-
-# Make sure that .la, .pc, and .prl files use the correct $LIBDIRSUFFIX:
-sed -i "s,-L/usr/X11R6/lib ,-L/usr/X11R6/lib${LIBDIRSUFFIX} ,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.prl
-
-# Link the shared libraries into /usr/lib:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in qt/lib/*.so* ; do
- ln -sf $file .
- done
-)
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Add profile scripts
-mkdir -p $PKG/etc/profile.d
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.sh \
- > $PKG/etc/profile.d/qt4.sh
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.csh \
- > $PKG/etc/profile.d/qt4.csh
-chmod 0755 $PKG/etc/profile.d/*
-
-# Put a ton of links to more "normal" places. I'd just use a prefix of /usr, but it
-# creates a ton of new (and ambiguously named) /usr directories...
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin
- for file in * ; do
- ( cd $PKG/usr/bin ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/bin/$file . )
- done
-)
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
- for file in *.pc ; do
- ( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
- done
-)
-
-# Install Qt's private headers - at least Gentoo and Fedora are adding these
-# and some software has (inevitably) started depending on them:
-# We're using `rsync -R` as easy way to preserve relative path names:
-rsync -aR \
- include/Qt{Core,Declarative,Gui,Script}/private \
- src/{corelib,declarative,gui,script}/*/*_p.h \
- ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
-
-# Add menu entries for all those hidden but great Qt applications:
-# Assistant icons
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant.png $PKG/usr/share/icons/hicolor/32x32/apps/assistant.png
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant-128.png $PKG/usr/share/icons/hicolor/128x128/apps/assistant.png
-# Designer icon
-install -p -m644 -D tools/designer/src/designer/images/designer.png $PKG/usr/share/icons/hicolor/128x128/apps/designer.png
-# Linguist icons
-for icon in tools/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/linguist.png
-done
-# Qt logo:
-convert doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
-
-# And the .desktop files
-mkdir -p $PKG/usr/share/applications
-cat <<EOF > $PKG/usr/share/applications/designer.desktop
-[Desktop Entry]
-Name=Qt4 Designer
-GenericName=Interface Designer
-Comment=Design GUIs for Qt4 applications
-Exec=designer
-Icon=designer
-MimeType=application/x-designer;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
-EOF
-cat <<EOF > $PKG/usr/share/applications/assistant.desktop
-[Desktop Entry]
-Name=Qt4 Assistant
-Comment=Shows Qt4 documentation and examples
-Exec=assistant
-Icon=assistant
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Documentation;
-EOF
-cat <<EOF > $PKG/usr/share/applications/linguist.desktop
-[Desktop Entry]
-Name=Qt4 Linguist
-Comment=Add translations to Qt4 applications
-Exec=linguist
-Icon=linguist
-MimeType=text/vnd.trolltech.linguist;application/x-linguist;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
-EOF
-cat <<EOF > $PKG/usr/share/applications/qtconfig.desktop
-[Desktop Entry]
-Name=Qt4 Config
-Comment=Configure Qt4 behavior, styles, fonts
-Exec=qtconfig
-Icon=qt-logo
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Settings;
-EOF
-
-# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
- ( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
- )
-fi
-
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-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/source/l/qt/qt.SlackBuild b/source/l/qt/qt.SlackBuild
deleted file mode 100755
index 01ddf720e..000000000
--- a/source/l/qt/qt.SlackBuild
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-
-# Copyright 2015 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.
-
-# This script builds Qt, packages it without WebKit, upgrades the machine to
-# a WebKit-less Qt, builds a WebKit package, merges the two packages, and
-# finally upgrades the machine to a combined package.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qt
-QTVERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-# Adjust the combined package $BUILD in qt-nowebkit.SlackBuild:
-QTBUILD=$(grep BUILD= qt-nowebkit.SlackBuild | cut -f 2 -d - | cut -f 1 -d \})
-WEBKITVERSION=$(ls qtwebkit/qtwebkit-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-# This $BUILD doesn't really need to change as long as these are combined:
-WEBKITBUILD=$(grep BUILD= qtwebkit/qtwebkit.SlackBuild | cut -f 2 -d - | cut -f 1 -d \})
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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-${QTVERSION}-${ARCH}-${QTBUILD}.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "x86_64" ]; then
- LIBDIRSUFFIX="64"
-else
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-
-# Build Qt and package it without WebKit:
-rm -f $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-./qt-nowebkit.SlackBuild
-if [ ! -r $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz ]; then
- echo "FATAL: Failed to build Qt package without WebKit."
- exit 1
-fi
-
-# Upgrade system to Qt (without WebKit):
-/sbin/upgradepkg --reinstall --install-new $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-
-# Build standalone WebKit package (qtwebkit):
-rm -f $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
-( cd qtwebkit
- ./qtwebkit.SlackBuild )
-if [ ! -r $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz ]; then
- echo "FATAL: Failed to build QtWebKit standalone package."
- rm -f $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
- exit 1
-fi
-
-# Combine the packages:
-rm -rf $TMP/package-qt
-mkdir -p $TMP/package-qt
-( cd $TMP/package-qt
- /sbin/explodepkg $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
- /sbin/explodepkg $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
- cat $TMP/package-qtwebkit/install/doinst.sh | grep '^(' >> install/doinst.sh
- mv usr/doc/qtwebkit-* usr/doc/qt-*
- # 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 usr/lib${LIBDIRSUFFIX}/*.la
- rm -f usr/lib${LIBDIRSUFFIX}/qt/lib/*.la
- /sbin/makepkg -l y -c n ../qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-)
-
-# Remove intermediate qtwebkit package:
-rm -f $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
-
-# Upgrade system to the combined Qt/WebKit package:
-/sbin/upgradepkg --reinstall --install-new $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-
-# Done.
-
diff --git a/source/l/qt/qtwebkit/doinst.sh b/source/l/qt/qtwebkit/doinst.sh
deleted file mode 100644
index 6f7c5df07..000000000
--- a/source/l/qt/qtwebkit/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x sbin/ldconfig ]; then
- chroot . /sbin/ldconfig 2> /dev/null
-fi
-
diff --git a/source/l/qt/qtwebkit/qtwebkit.SlackBuild b/source/l/qt/qtwebkit/qtwebkit.SlackBuild
deleted file mode 100755
index e14e37656..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.SlackBuild
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/sh
-
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2015 Heinz Wiesinger, Amsterdam, The Netherlands
-# 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.
-#
-# Derived from the main qt SlackBuild
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qtwebkit
-VERSION=$(ls qtwebkit-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-1}
-
-NUMJOBS=${NUMJOBS:--j7}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX="64"
- WEBKITFLAGS=""
-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 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-else
- SLKCFLAGS="-O2 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf qtwebkit-$VERSION
-tar xvf $CWD/qtwebkit-$VERSION.tar.xz
-cd qtwebkit-$VERSION || exit 1
-
-# Patch to fix compiling with gcc5:
-zcat $CWD/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff.gz | patch -p1 --verbose || 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 {} \+
-
-QTDIR="/usr/lib$LIBDIRSUFFIX/qt" \
-Tools/Scripts/build-webkit \
- --qt \
- --prefix=/usr/lib${LIBDIRSUFFIX}/qt \
- --release \
- --no-webkit2 \
- --makeargs="$NUMJOBS" \
- --qmakearg="CONFIG+=production_build QMAKE_CFLAGS=\"$SLKCFLAGS\" QMAKE_CXXFLAGS=\"$SLKCFLAGS\"" \
- $WEBKITFLAGS || exit 1
-
-# To add support for WebP images add this to --qmakearg
-# DEFINES+=HAVE_LIBWEBP=1
-
-make INSTALL_ROOT=$PKG -C WebKitBuild/Release install || exit 1
-
-# libjscore is used internally. Prevent a false dependency on this in the .pc files:
-sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-
-# libwebcore is used internally. Prevent a false dependency on this in the .pc files:
-sed -i \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WebKit/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WebCore/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/ThirdParty/ANGLE/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/JavaScriptCore/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WTF/release##g" \
- -e "s# -lwebcore##g" \
- $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
-
-# Link the shared libraries into /usr/lib:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in qt/lib/*.so* ; do
- ln -sf $file .
- done
-)
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
- for file in *.pc ; do
- ( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
- done
-)
-
-# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-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/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff b/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff
deleted file mode 100644
index 94696b769..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./Source/JavaScriptCore/runtime/JSObject.cpp.orig 2014-09-24 06:42:05.000000000 -0500
-+++ ./Source/JavaScriptCore/runtime/JSObject.cpp 2015-11-18 22:41:05.673463626 -0600
-@@ -1922,6 +1922,10 @@
- }
- }
-
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
-+
- void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
- {
- JSGlobalData& globalData = exec->globalData();
diff --git a/source/l/qt/qtwebkit/qtwebkit.url b/source/l/qt/qtwebkit/qtwebkit.url
deleted file mode 100644
index 4e832e125..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.url
+++ /dev/null
@@ -1 +0,0 @@
-http://download.kde.org/stable/qtwebkit-2.3/2.3.4/src/qtwebkit-2.3.4.tar.gz
diff --git a/source/l/qt/qtwebkit/slack-desc b/source/l/qt/qtwebkit/slack-desc
deleted file mode 100644
index 2971354cf..000000000
--- a/source/l/qt/qtwebkit/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------------------------------------------------------|
-qtwebkit: QtWebKit (Qt bindings for the WebKit browser engine)
-qtwebkit:
-qtwebkit: WebKit is an open source web browser engine. WebKit's HTML and
-qtwebkit: JavaScript code began as a branch of the KHTML and KJS libraries from
-qtwebkit: KDE. As part of KDE framework KHTML was based on Qt but during their
-qtwebkit: porting efforts Apple's engineers made WebKit toolkit independent.
-qtwebkit: QtWebKit is a project aiming at porting this fabulous engine back
-qtwebkit: to Qt.
-qtwebkit:
-qtwebkit: Homepage: http://www.qt.io/
-qtwebkit:
diff --git a/source/l/qt/slack-desc b/source/l/qt/slack-desc
deleted file mode 100644
index f8051460f..000000000
--- a/source/l/qt/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------------------------------------------------------|
-qt: qt (a C++ graphical user interface toolkit)
-qt:
-qt: Qt is a complete and well-developed object-oriented framework for
-qt: developing graphical user interface (GUI) applications using C++.
-qt:
-qt: Homepage: http://www.qt.io/
-qt:
-qt:
-qt:
-qt:
-qt:
diff --git a/source/l/qt5/qt5.SlackBuild b/source/l/qt5/qt5.SlackBuild
index 66e072aa8..2f5382426 100755
--- a/source/l/qt5/qt5.SlackBuild
+++ b/source/l/qt5/qt5.SlackBuild
@@ -31,7 +31,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=qt5
VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
PKGSRC=$(echo $VERSION | cut -d - -f 1)
PKGVER=$(echo $VERSION | tr - _)
@@ -93,6 +93,7 @@ case "$ARCH" in
esac
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+export NINJAJOBS="$NUMJOBS"
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
diff --git a/source/l/qtkeychain/qtkeychain.SlackBuild b/source/l/qtkeychain/qtkeychain.SlackBuild
new file mode 100755
index 000000000..19df06f56
--- /dev/null
+++ b/source/l/qtkeychain/qtkeychain.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+# Copyright 2020 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=qtkeychain
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* ChangeLog* ReadMe* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/qtkeychain/qtkeychain.url b/source/l/qtkeychain/qtkeychain.url
new file mode 100644
index 000000000..7fcebc24d
--- /dev/null
+++ b/source/l/qtkeychain/qtkeychain.url
@@ -0,0 +1 @@
+https://github.com/frankosterfeld/qtkeychain
diff --git a/source/l/qtkeychain/slack-desc b/source/l/qtkeychain/slack-desc
new file mode 100644
index 000000000..8bc91eca1
--- /dev/null
+++ b/source/l/qtkeychain/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+qtkeychain: qtkeychain (Qt password storage API)
+qtkeychain:
+qtkeychain: QtKeychain is a Qt API to store passwords and other secret data
+qtkeychain: securely. If running, GNOME Keyring is used, otherwise qtkeychain
+qtkeychain: tries to use KWallet (via D-Bus), if available.
+qtkeychain:
+qtkeychain: Homepage: https://github.com/frankosterfeld/qtkeychain
+qtkeychain:
+qtkeychain:
+qtkeychain:
+qtkeychain:
diff --git a/source/l/qtscriptgenerator/include-everything.patch b/source/l/qtscriptgenerator/include-everything.patch
deleted file mode 100644
index cef0e1fa1..000000000
--- a/source/l/qtscriptgenerator/include-everything.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- b/generator/qtscript_masterinclude.h 2009-03-21 20:37:30.719523909 -0400
-+++ a/generator/qtscript_masterinclude.h 2009-03-21 21:00:25.108149339 -0400
-@@ -31,17 +31,41 @@
-
- #include <QtUiTools/QtUiTools>
-
--#ifndef QT_NO_XMLPATTERNS
--# include <QtXmlPatterns/QtXmlPatterns>
--#endif
--
--#ifndef QT_NO_WEBKIT
--# include <QtWebKit/QtWebKit>
--#endif
--
--#ifndef QT_NO_PHONON
--# include <phonon/phonon>
--#endif
-+#include <QtXmlPatterns/QtXmlPatterns>
-+
-+#include <QtWebKit/QtWebKit>
-+
-+#include "phonon/abstractaudiooutput.h"
-+#include "phonon/abstractmediastream.h"
-+#include "phonon/abstractvideooutput.h"
-+#include "phonon/addoninterface.h"
-+#include "phonon/audiooutput.h"
-+#include "phonon/audiooutputinterface.h"
-+#include "phonon/backendcapabilities.h"
-+#include "phonon/backendinterface.h"
-+#include "phonon/effect.h"
-+#include "phonon/effectinterface.h"
-+#include "phonon/effectparameter.h"
-+#include "phonon/effectwidget.h"
-+#include "phonon/mediacontroller.h"
-+#include "phonon/medianode.h"
-+#include "phonon/mediaobject.h"
-+#include "phonon/mediaobjectinterface.h"
-+#include "phonon/mediasource.h"
-+#include "phonon/objectdescription.h"
-+#include "phonon/objectdescriptionmodel.h"
-+#include "phonon/path.h"
-+#include "phonon/phonondefs.h"
-+#include "phonon/phononnamespace.h"
-+#include "phonon/platformplugin.h"
-+#include "phonon/seekslider.h"
-+#include "phonon/streaminterface.h"
-+#include "phonon/videoplayer.h"
-+#include "phonon/videowidget.h"
-+#include "phonon/videowidgetinterface.h"
-+#include "phonon/volumefadereffect.h"
-+#include "phonon/volumefaderinterface.h"
-+#include "phonon/volumeslider.h"
-
- #include "../qtbindings/qtscript_core/qtscriptconcurrent.h"
-
diff --git a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
deleted file mode 100755
index 713356ebf..000000000
--- a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for qtscriptgenerator
-
-# Copyright 2009 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2009, 2012, 2013, 2018 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.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qtscriptgenerator
-VERSION=${VERSION:-0.2.0}
-BUILD=${BUILD:-3}
-
-# 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 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -fpermissive"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "arm" ]; then
- SLKCFLAGS="-O2 -march=armv4 -mtune=xscale -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "armel" ]; then
- SLKCFLAGS="-O2 -march=armv4t -fpermissive"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2 -fpermissive"
- LIBDIRSUFFIX=""
-fi
-
-# Avoid a version number in .la files:
-if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-src-$VERSION
-tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-src-$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 {} \+
-
-zcat $CWD/include-everything.patch.gz | patch -p1 --verbose || exit 1
-
-cd generator
- echo "Building generator..."
- qmake || exit 1
- make $NUMJOBS || exit 1
- ./generator --include-paths=/usr/lib${LIBDIRSUFFIX}/qt/include:/usr/include || exit 1
-cd -
-
-# Leaving off the || exit 1 in two make statements below, or we get nowhere :/
-cd qtbindings
- echo "Building qtbindings..."
- sed -i "s|CONFIG += debug_and_release|CONFIG += release|" \
- qtbindingsbase.pri
- qmake || exit 1
- make $NUMJOBS qmake_all
- sed -i "s|-I/usr/lib${LIBDIRSUFFIX}/qt/include/phonon|-I/usr/include/phonon|" \
- qtscript_phonon/Makefile
- make $NUMJOBS all
-cd -
-
-cd tools/qsexec/src
- echo "Building tools/qsexec/src..."
- qmake || exit 1
- make $NUMJOBS || exit 1
-cd -
-
-cd qtbindings/qtscript_uitools
- echo "Building qtbindings/qtscript_uitools..."
- qmake || exit 1
- make $NUMJOBS all || exit 1
-cd -
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/{bin,plugins/script}
-
-install -m 755 tools/qsexec/qsexec $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin/qsexec || exit 1
-install -m 755 generator/generator $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin/generator || exit 1
-cp -a plugins/script/libqtscript* $PKG/usr/lib${LIBDIRSUFFIX}/qt/plugins/script/
-
-find $PKG | xargs 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 tools/qsexec/README.TXT README.qsexec
-cp -a \
- LICENSE.GPL 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/source/l/qtscriptgenerator/qtscriptgenerator.info b/source/l/qtscriptgenerator/qtscriptgenerator.info
deleted file mode 100644
index 684f5c6b5..000000000
--- a/source/l/qtscriptgenerator/qtscriptgenerator.info
+++ /dev/null
@@ -1,8 +0,0 @@
-PRGNAM="qtscriptgenerator"
-VERSION="0.1.0"
-HOMEPAGE="http://code.google.com/p/qtscriptgenerator/"
-DOWNLOAD="http://qtscriptgenerator.googlecode.com/files/qtscriptgenerator-src-0.1.0.tar.gz"
-MD5SUM="ca4046ad4bda36cd4e21649d4b98886d"
-MAINTAINER="ppr:kut"
-EMAIL="pprkut@liwjatan.at"
-APPROVED=""
diff --git a/source/l/qtscriptgenerator/slack-desc b/source/l/qtscriptgenerator/slack-desc
deleted file mode 100644
index c4f2e096a..000000000
--- a/source/l/qtscriptgenerator/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------------------------------------------------------|
-qtscriptgenerator: qtscriptgenerator (Qt API Bindings for QtScript)
-qtscriptgenerator:
-qtscriptgenerator: Qt Script Generator is a tool that generates Qt bindings for Qt
-qtscriptgenerator: Script. With the generated bindings you get access to substantial
-qtscriptgenerator: portions of the Qt API from within QtScript.
-qtscriptgenerator:
-qtscriptgenerator: Homepage: http://code.google.com/p/qtscriptgenerator/
-qtscriptgenerator:
-qtscriptgenerator:
-qtscriptgenerator:
-qtscriptgenerator:
diff --git a/source/l/libbluedevil/libbluedevil.SlackBuild b/source/l/quazip/quazip.SlackBuild
index 863d58708..02d21a0f5 100755
--- a/source/l/libbluedevil/libbluedevil.SlackBuild
+++ b/source/l/quazip/quazip.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2011, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=libbluedevil
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=quazip
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,9 +46,14 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -59,7 +61,7 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -67,51 +69,54 @@ else
fi
TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
-cd ${PKGNAM}-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
-# Make sure ownerships and permissions are sane:
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 {} \+
-
-# Build and install:
-mkdir build
-cd build
+ \( -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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DBUILD_tests:BOOL=OFF \
- ..
- make $NUMJOBS VERBOSE=1 || make || exit 1
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
+cd ..
+
+# Don't ship static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
# Strip binaries:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- AUTHORS COPYING* HACKING README* $PKG/usr/doc/$PKGNAM-$VERSION || true
+ CONTRIBUTING* COPYING* 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/source/l/quazip/quazip.url b/source/l/quazip/quazip.url
new file mode 100644
index 000000000..11f0b1e63
--- /dev/null
+++ b/source/l/quazip/quazip.url
@@ -0,0 +1 @@
+https://github.com/stachenov/quazip
diff --git a/source/l/quazip/slack-desc b/source/l/quazip/slack-desc
new file mode 100644
index 000000000..cc51199fa
--- /dev/null
+++ b/source/l/quazip/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+quazip: quazip (C++ wrapper for Minizip)
+quazip:
+quazip: Minizip is a simple C library for creating, appending and reading
+quazip: ZIP archives. One thing Qt can't do out-of-the-box is write and read
+quazip: ZIP archives.
+quazip: QuaZIP is a simple C++ wrapper around Minizip. With QuaZIP, both
+quazip: ZIP files and files inside ZIP archives can be accessed with
+quazip: QIODevice API.
+quazip:
+quazip: See also: https://stachenov.github.io/quazip/
+quazip:
diff --git a/source/l/raptor2/slack-desc b/source/l/raptor2/slack-desc
deleted file mode 100644
index 8842687d0..000000000
--- a/source/l/raptor2/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------------------------------------------------------|
-raptor2: raptor2 (RDF Parser & Serializer)
-raptor2:
-raptor2: Raptor is a free software/Open Source C library that provides a set of
-raptor2: parsers and serializers that generate Resource Description Framework
-raptor2: (RDF) triples by parsing syntaxes or serialize the triples into a
-raptor2: syntax. The supported parsing syntaxes are RDF/XML, N-Triples, TRiG,
-raptor2: Turtle, RSS tag soup including all versions of RSS, Atom 1.0 and 0.3,
-raptor2: GRDDL and microformats for HTML, XHTML and XML.
-raptor2:
-raptor2: Homepage: http://librdf.org/
-raptor2:
diff --git a/source/l/rasqal/rasqal.SlackBuild b/source/l/rasqal/rasqal.SlackBuild
deleted file mode 100755
index 846a37c9e..000000000
--- a/source/l/rasqal/rasqal.SlackBuild
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 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.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms or copyright claims
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=rasqal
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-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" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || 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 \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-static \
- --build=$TARGET || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* INSTALL INSTALL.html LICENSE* NEWS* NOTICE README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-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/source/l/rasqal/slack-desc b/source/l/rasqal/slack-desc
deleted file mode 100644
index e65a98f7d..000000000
--- a/source/l/rasqal/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------------------------------------------------------|
-rasqal: rasqal (RDF parsing library)
-rasqal:
-rasqal: Rasqal is a library providing full support for querying Resource
-rasqal: Description Framework (RDF) including parsing query syntaxes,
-rasqal: constructing the queries, executing them and returning result formats.
-rasqal: It currently handles the RDF Data Query Language (RDQL) and SPARQL
-rasqal: Query language.
-rasqal:
-rasqal: Homepage: http://librdf.org/
-rasqal:
-rasqal:
diff --git a/source/l/readline/readline-8.0-patches/readline80-001 b/source/l/readline/readline-8.0-patches/readline80-001
deleted file mode 100644
index aa72a9dfa..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-001
+++ /dev/null
@@ -1,38 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-001
-
-Bug-Reported-by: chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- histfile.c 2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
- {
- free (input);
-+ close (file);
- return 0; /* don't waste time if we don't have to */
- }
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 0
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 1
diff --git a/source/l/readline/readline-8.0-patches/readline80-002 b/source/l/readline/readline-8.0-patches/readline80-002
deleted file mode 100644
index 7923d9d16..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-002
+++ /dev/null
@@ -1,60 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-002
-
-Bug-Reported-by: lessbug@qq.com
-Bug-Reference-ID: <tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/misc.c 2017-07-07 17:30:12.000000000 -0400
---- misc.c 2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
- {
- HIST_ENTRY *old_temp, *temp;
-+ int had_saved_line;
-
- if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-
- /* If we don't have a line saved, then save this one. */
-+ had_saved_line = _rl_saved_line_for_history != 0;
- rl_maybe_save_line ();
-
-***************
-*** 612,616 ****
- if (temp == 0)
- {
-! rl_maybe_unsave_line ();
- rl_ding ();
- }
---- 627,632 ----
- if (temp == 0)
- {
-! if (had_saved_line == 0)
-! _rl_free_saved_history_line ();
- rl_ding ();
- }
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 1
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 2
diff --git a/source/l/readline/readline-8.0-patches/readline80-003 b/source/l/readline/readline-8.0-patches/readline80-003
deleted file mode 100644
index b37145817..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-003
+++ /dev/null
@@ -1,69 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-003
-
-Bug-Reported-by: HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID: <CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- histfile.c 2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-
- has_timestamps = HIST_TIMESTAMP_START (buffer);
-! history_multiline_entries += has_timestamps && history_write_timestamps;
-
- /* Skip lines until we are at FROM. */
- for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
- if (*line_end == '\n')
---- 370,378 ----
-
- has_timestamps = HIST_TIMESTAMP_START (buffer);
-! history_multiline_entries += has_timestamps && history_write_timestamps;
-
- /* Skip lines until we are at FROM. */
-+ if (has_timestamps)
-+ last_ts = buffer;
- for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
- if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
- if (HIST_TIMESTAMP_START(p) == 0)
- current_line++;
-+ else
-+ last_ts = p;
- line_start = p;
-+ /* If we are at the last line (current_line == from) but we have
-+ timestamps (has_timestamps), then line_start points to the
-+ text of the last command, and we need to skip to its end. */
-+ if (current_line >= from && has_timestamps)
-+ {
-+ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ ;
-+ line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ }
- }
-
-
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 2
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 3
diff --git a/source/l/readline/readline-8.0-patches/readline80-004 b/source/l/readline/readline-8.0-patches/readline80-004
deleted file mode 100644
index 8a40ebe9a..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-004
+++ /dev/null
@@ -1,47 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-004
-
-Bug-Reported-by: auroralanes@protonmail.ch
-Bug-Reference-ID: <WikEDKluAyoha9IDLp83rbN7_Uinr2rrpvSV_z4wmt9qur9piN-FNOn17P0cAizEVah1Fvc9d641vIIWX_7SC6EUTz0CatnOH-C-UK3rPYc=@protonmail.ch>
-Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2020-01/msg00008.html
-
-Bug-Description:
-
-If writing the history file fails, and renaming the backup history file fails,
-it's possible for readline's history code to return the wrong error to its
-caller.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20200124/lib/readline/histfile.c 2019-11-19 10:31:58.000000000 -0500
---- histfile.c 2020-02-01 16:28:29.000000000 -0500
-***************
-*** 621,624 ****
---- 621,625 ----
- if (rv != 0)
- {
-+ rv = errno;
- if (tempname)
- unlink (tempname);
-***************
-*** 768,771 ****
---- 769,773 ----
- if (rv != 0)
- {
-+ rv = errno;
- if (tempname)
- unlink (tempname);
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 3
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 4
diff --git a/source/l/redland/redland.SlackBuild b/source/l/redland/redland.SlackBuild
deleted file mode 100755
index 1be554313..000000000
--- a/source/l/redland/redland.SlackBuild
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms and no copyright claims
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=redland
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-6}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-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" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || 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 \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-static \
- --with-included-ltdl=no \
- --with-bdb-lib=/usr/lib${LIBDIRSUFFIX} \
- --with-bdb-dbname=db-4.8 \
- --with-threads \
- --build=$TARGET
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* INSTALL INSTALL.html LICENSE* NEWS* NOTICE \
- README* RELEASE.html TODO* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-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/source/l/redland/slack-desc b/source/l/redland/slack-desc
deleted file mode 100644
index eff13c477..000000000
--- a/source/l/redland/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----------------------------------------------------|
-redland: redland (RDF high-level interface library)
-redland:
-redland: Redland is a library that provides a high-level interface for the
-redland: Resource Description Framework (RDF) allowing the RDF graph to be
-redland: parsed from XML, stored, queried and manipulated. Redland
-redland: implements each of the RDF concepts in its own class via an object
-redland: based API, reflected into the language APIs, currently C#, Java,
-redland: Perl, PHP, Python, Ruby and Tcl.
-redland:
-redland: Homepage: http://librdf.org/
-redland:
diff --git a/source/l/rttr/rttr.SlackBuild b/source/l/rttr/rttr.SlackBuild
new file mode 100755
index 000000000..d5b8531e8
--- /dev/null
+++ b/source/l/rttr/rttr.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=rttr
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -f 2 -d -)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION-src.tar.?z || 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 {} \+
+
+# Fix incorrect file permissions after install,
+# see https://github.com/rttrorg/rttr/pull/228:
+sed -e 's/PERMISSIONS OWNER_READ//' \
+ -i CMake/*.cmake doc/CMakeLists.txt
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_UNIT_TESTS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ *.md *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
+
+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/source/l/rttr/rttr.url b/source/l/rttr/rttr.url
new file mode 100644
index 000000000..7d4f58631
--- /dev/null
+++ b/source/l/rttr/rttr.url
@@ -0,0 +1 @@
+https://www.rttr.org/download
diff --git a/source/l/rttr/slack-desc b/source/l/rttr/slack-desc
new file mode 100644
index 000000000..36154eb8e
--- /dev/null
+++ b/source/l/rttr/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+rttr: rttr (C++ Reflection library)
+rttr:
+rttr: RTTR stands for Run Time Type Reflection. It describes the ability of
+rttr: a computer program to introspect and modify an object at runtime. The
+rttr: goal of this project is to provide an easy and intuitive way to use
+rttr: reflection in C++.
+rttr:
+rttr: Homepage: http://www.rttr.org/
+rttr:
+rttr:
+rttr:
diff --git a/source/l/soprano/slack-desc b/source/l/soprano/slack-desc
deleted file mode 100644
index 1b3dca07e..000000000
--- a/source/l/soprano/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-----------------------------------------------------|
-soprano: soprano (C++/Qt4 framework for RDF data)
-soprano:
-soprano: Soprano (formally known as QRDF) is a library which provides
-soprano: a nice Qt interface to RDF storage solutions. It has a modular
-soprano: structure which allows to replace the actual RDF storage
-soprano: implementation used.
-soprano:
-soprano: Homepage: http://soprano.sourceforge.net/
-soprano:
-soprano:
-soprano:
diff --git a/source/l/soprano/soprano.SlackBuild b/source/l/soprano/soprano.SlackBuild
deleted file mode 100755
index c3d1f0c45..000000000
--- a/source/l/soprano/soprano.SlackBuild
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 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.
-
-# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=soprano
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-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" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-soprano
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf soprano-$VERSION
-tar xvf $CWD/soprano-$VERSION.tar.bz2 || exit 1
-cd soprano-${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
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd ..
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/soprano-$VERSION
-cp -a \
- AUTHORS COPYING* ChangeLog INSTALL README TODO \
- $PKG/usr/doc/soprano-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/soprano-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/speech-dispatcher/slack-desc b/source/l/speech-dispatcher/slack-desc
new file mode 100644
index 000000000..2e837b065
--- /dev/null
+++ b/source/l/speech-dispatcher/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+speech-dispatcher: speech-dispatcher (device independent speech synthesizer)
+speech-dispatcher:
+speech-dispatcher: Speech Dispatcher project provides a high-level device independent
+speech-dispatcher: layer for access to speech synthesis through a simple, stable and well
+speech-dispatcher: documented interface.
+speech-dispatcher:
+speech-dispatcher: Homepage: http://devel.freebsoft.org/speechd/
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
diff --git a/source/l/raptor2/raptor2.SlackBuild b/source/l/speech-dispatcher/speech-dispatcher.SlackBuild
index 1153263c3..57d1ce118 100755
--- a/source/l/raptor2/raptor2.SlackBuild
+++ b/source/l/speech-dispatcher/speech-dispatcher.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/bin/sh
-# Copyright 2007, 2012, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019, 2020 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,41 +21,36 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms or copyright claims
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=raptor2
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-10}
+PKGNAM=speech-dispatcher
+SRCNAM=speech-dispatcher
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ 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:
- *) export ARCH=$MARCH ;;
+ *) 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-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -63,33 +58,39 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
+# 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.xz || exit 1
-cd $PKGNAM-$VERSION || exit 1
+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 {} \+
+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 {} \+
+
+# Disabled due to bug: https://bugs.archlinux.org/task/35700
+sed -i "s/cicero //g" configure.ac
+sed -i "s/sd_cicero//g" src/modules/Makefile.am
+
+autoreconf -vif || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -97,10 +98,9 @@ CXXFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
- --localstatedir=/var \
--mandir=/usr/man \
+ --infodir=/usr/info \
--disable-static \
- --with-icu-config=/usr/bin/icu-config \
--build=$TARGET || exit 1
make $NUMJOBS || make || exit 1
@@ -109,34 +109,57 @@ make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
+# Add documentation:
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS COPYING* INSTALL* LICENSE* NEWS* \
- NOTICE README* RELEASE.html UPGRADING* \
+ ANNOUNCE AUTHORS BUGS COPYING* README* TODO \
$PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
+
+# Compress info pages and remove the package's dir file:
+if [ -d $PKG/usr/info ]; then
+ rm -f $PKG/usr/info/dir
+ gzip -9f $PKG/usr/info/*.info*
fi
+# Add this to the doinst.sh:
+mkdir -p $PKG/install
+cat <<EOT >> $PKG/install/doinst.sh
+# Install info files:
+for INFOFILE in usr/info/*.info.gz ; do
+ chroot . install-info /${INFOFILE} /usr/info/dir 2> /dev/null
+done
+EOT
+
+# 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
+
+# Ensure that custom .conf files are not overwritten:
+mkdir -p $PKG/install
+cat << "EOT" > $PKG/install/doinst.sh
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+EOT
+
+cd $PKG
+ for CONFF in $(find etc/speech-dispatcher -type f) ; do
+ mv ${CONFF} ${CONFF}.new
+ echo "config ${CONFF}.new" >> $PKG/install/doinst.sh
+ done
+cd -
+
+# 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/source/l/speech-dispatcher/speech-dispatcher.url b/source/l/speech-dispatcher/speech-dispatcher.url
new file mode 100644
index 000000000..a3587a3c9
--- /dev/null
+++ b/source/l/speech-dispatcher/speech-dispatcher.url
@@ -0,0 +1 @@
+https://github.com/brailcom/speechd
diff --git a/source/l/strigi/README b/source/l/strigi/README
deleted file mode 100644
index 218e8ce2f..000000000
--- a/source/l/strigi/README
+++ /dev/null
@@ -1,17 +0,0 @@
-trueg's blog,
-http://trueg.wordpress.com/2011/09/22/about-strigi-soprano-virtuoso-clucene-and-libstreamanalyzer/
-
-recommends using a newer libstreamanalyzer (and friends) than what is currently formally released.
-
-I ran the script
-https://projects.kde.org/projects/kdesupport/strigi/strigi/repository/revisions/master/changes/createtararchive.sh
-to generate a tarball, and am hosting it at:
-
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2.md5sum
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2.sha1sum
-
-for others' convenience.
-
--- rex
-
diff --git a/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch b/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
deleted file mode 100644
index 45201c8a7..000000000
--- a/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b6dc8d4c14135c2fddb1143106d90cbb3acf94b7 Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Thu, 7 Feb 2013 06:11:22 +0100
-Subject: [PATCH 1/5] Fix for non valid values in Exif field ISOSpeedRatings
- reported in bug https://bugs.kde.org/show_bug.cgi?id=304439
-
-BUG: 304439
----
- plugins/endplugins/jpegendanalyzer.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/plugins/endplugins/jpegendanalyzer.cpp b/plugins/endplugins/jpegendanalyzer.cpp
-index 78ed36a..02b095b 100644
---- a/plugins/endplugins/jpegendanalyzer.cpp
-+++ b/plugins/endplugins/jpegendanalyzer.cpp
-@@ -322,6 +322,11 @@ JpegEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- ar.addValue(factory->exifFields.find("Exif.Image.DateTime")->second, uint32_t(mktime(&date)));
- }
- }
-+ else if (i->key() == "Exif.Photo.ISOSpeedRatings") {
-+ stringstream st;
-+ st << i->toLong();
-+ ar.addValue(factory->exifFields.find("Exif.Photo.ISOSpeedRatings")->second, st.str());
-+ }
- else if (i->key() != "Exif.Photo.PixelXDimension" && i->key() != "Exif.Photo.PixelYDimension") {
- map<string,const RegisteredField*>::const_iterator f
- = factory->exifFields.find(i->key());
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch b/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
deleted file mode 100644
index c940f6cf3..000000000
--- a/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 22d1b9923a61e0f890a39c80f661aeffaaeb2cb5 Mon Sep 17 00:00:00 2001
-From: Aaron Seigo <aseigo@kde.org>
-Date: Wed, 13 Feb 2013 17:29:52 +0100
-Subject: [PATCH 2/5] order matters for systems that have things already
- installed
-
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7819ddf..6dee36b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -119,13 +119,13 @@ configure_file(${libstreamanalyzer_SOURCE_DIR}/strigi_thread.h.cmake
- ${libstreamanalyzer_BINARY_DIR}/include/strigi/strigi_thread.h)
-
- # every directory needs the headers that will be installed
--include_directories(${LIBSTREAMS_INCLUDE_DIRS}
-- ${libstreamanalyzer_SOURCE_DIR}/include
-+include_directories(${libstreamanalyzer_SOURCE_DIR}/include
- ${libstreamanalyzer_SOURCE_DIR}/include/strigi
- ${libstreamanalyzer_BINARY_DIR}/include
- ${libstreamanalyzer_BINARY_DIR}/include/strigi
- ${libstreamanalyzer_SOURCE_DIR}/lib
- ${libstreamanalyzer_BINARY_DIR}/lib
-+ ${LIBSTREAMS_INCLUDE_DIRS}
- ${ICONV_INCLUDE_DIR}
- ${LIBSTREAMS_LIBRARY_DIRS}
- ${EXIV2_INCLUDEDIR}
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch b/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
deleted file mode 100644
index fab488321..000000000
--- a/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
+++ /dev/null
@@ -1,1266 +0,0 @@
-From 8af24118fec3a0effee3a01ad37f4c4daddfe700 Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Fri, 12 Jul 2013 15:15:18 +0200
-Subject: [PATCH 3/5] Fix Krazy issues.
-
----
- .krazy | 2 +
- cmake/FindCLucene.cmake | 18 ++++++++
- cmake/FindCLucene1.cmake | 18 ++++++++
- cmake/FindExiv2.cmake | 2 +-
- cmake/FindFFmpeg.cmake | 2 +-
- cmake/FindIconv.cmake | 19 ++++++++
- cmake/FindXAttr.cmake | 19 ++++++++
- include/strigi/classproperties.h | 4 +-
- include/strigi/fieldproperties.h | 4 +-
- include/strigi/fieldtypes.h | 4 +-
- include/strigi/filelister.h | 4 +-
- include/strigi/streamanalyzer.h | 2 +-
- include/strigi/variant.h | 14 +++---
- lib/endanalyzers/arendanalyzer.h | 2 +-
- lib/endanalyzers/bmpendanalyzer.h | 2 +-
- lib/endanalyzers/bz2endanalyzer.h | 2 +-
- lib/endanalyzers/flacendanalyzer.h | 2 +-
- lib/endanalyzers/gzipendanalyzer.h | 2 +-
- lib/endanalyzers/id3endanalyzer.cpp | 6 +--
- lib/endanalyzers/id3endanalyzer.h | 2 +-
- lib/endanalyzers/lzmaendanalyzer.h | 2 +-
- lib/endanalyzers/mailendanalyzer.h | 2 +-
- lib/endanalyzers/mpegendanalyzer.h | 2 +-
- lib/endanalyzers/odfendanalyzer.h | 2 +-
- lib/endanalyzers/oleendanalyzer.h | 2 +-
- lib/endanalyzers/pdfendanalyzer.h | 2 +-
- lib/endanalyzers/pngendanalyzer.h | 2 +-
- lib/endanalyzers/rpmendanalyzer.h | 2 +-
- lib/endanalyzers/sdfendanalyzer.h | 2 +-
- lib/endanalyzers/tarendanalyzer.h | 2 +-
- lib/endanalyzers/zipendanalyzer.h | 2 +-
- lib/eventanalyzers/mimeeventanalyzer.h | 2 +-
- lib/eventthroughanalyzer.h | 2 +-
- lib/fieldpropertiesdb.cpp | 20 ++++----
- lib/helperanalyzers/odfcontenthelperanalyzer.cpp | 1 -
- lib/helperanalyzers/odfmetahelperanalyzer.cpp | 1 -
- lib/libstreamanalyzer.pc.cmake | 19 ++++++++
- lib/lineanalyzers/m3ustreamanalyzer.h | 2 +-
- lib/lineanalyzers/odfmimetypelineanalyzer.h | 2 +-
- lib/lineeventanalyzer.h | 2 +-
- lib/logging.h | 2 +-
- lib/rdfnamespaces.h | 4 +-
- lib/saxeventanalyzer.h | 2 +-
- lib/throughanalyzers/oggthroughanalyzer.h | 2 +-
- lib/xmlparser/xmlstream.h | 4 +-
- plugins/endplugins/ffmpegendanalyzer.cpp | 6 +--
- plugins/eventplugins/SHA1.h | 6 +--
- .../indexers/cluceneindexer/cluceneindexreader.cpp | 4 +-
- .../indexers/cluceneindexer/cluceneindexwriter.cpp | 54 +---------------------
- .../cluceneindexer/jsgzipcompressstream.cpp | 2 +-
- .../indexers/cluceneindexer/tests/CLuceneTest.cpp | 19 ++++++++
- plugins/indexers/cluceneindexer/timeofday.h | 39 ++++++++--------
- .../clucenengindexer/cluceneindexreader.cpp | 8 ++--
- .../clucenengindexer/cluceneindexwriter.cpp | 4 +-
- .../clucenengindexer/indexdump/indexdump.cpp | 5 +-
- .../clucenengindexer/tests/CLuceneTest.cpp | 19 ++++++++
- plugins/indexers/clucenengindexer/timeofday.h | 39 ++++++++--------
- plugins/lineplugins/deblineanalyzer.h | 2 +-
- plugins/throughplugins/authroughanalyzer.h | 2 +-
- plugins/throughplugins/dummy.cpp | 19 ++++++++
- plugins/throughplugins/pcxthroughanalyzer.h | 2 +-
- 61 files changed, 271 insertions(+), 176 deletions(-)
- create mode 100644 .krazy
-
-diff --git a/.krazy b/.krazy
-new file mode 100644
-index 0000000..b0e1177
---- /dev/null
-+++ b/.krazy
-@@ -0,0 +1,2 @@
-+# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
-+EXCLUDE syscalls,typedefs
-diff --git a/cmake/FindCLucene.cmake b/cmake/FindCLucene.cmake
-index 906afcc..31d1557 100644
---- a/cmake/FindCLucene.cmake
-+++ b/cmake/FindCLucene.cmake
-@@ -1,3 +1,21 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
- #
- # This module looks for clucene (http://clucene.sf.net) support
- # It will define the following values
-diff --git a/cmake/FindCLucene1.cmake b/cmake/FindCLucene1.cmake
-index ae431c8..d8ce7dd 100644
---- a/cmake/FindCLucene1.cmake
-+++ b/cmake/FindCLucene1.cmake
-@@ -1,3 +1,21 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
- #
- # This module looks for clucene (http://clucene.sf.net) support
- # It will define the pkgconfig values with a CLUCENE1_ prefix...
-diff --git a/cmake/FindExiv2.cmake b/cmake/FindExiv2.cmake
-index 5997c98..7ddb6ac 100644
---- a/cmake/FindExiv2.cmake
-+++ b/cmake/FindExiv2.cmake
-@@ -13,7 +13,7 @@
- # The minimum required version of Exiv2 can be specified using the
- # standard syntax, e.g. find_package(Exiv2 0.17)
- #
--# For compatiblity, also the variable EXIV2_MIN_VERSION can be set to the minimum version
-+# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the minimum version
- # you need before doing FIND_PACKAGE(Exiv2). The default is 0.12.
-
- # Copyright (c) 2010, Alexander Neundorf, <neundorf@kde.org>
-diff --git a/cmake/FindFFmpeg.cmake b/cmake/FindFFmpeg.cmake
-index 526be5f..4e1d50e 100644
---- a/cmake/FindFFmpeg.cmake
-+++ b/cmake/FindFFmpeg.cmake
-@@ -7,7 +7,7 @@
- # FFMPEG_LIBRARIES - Link these to use the required ffmpeg components.
- # FFMPEG_DEFINITIONS - Compiler switches required for using the required ffmpeg components.
- #
--# For each of the components it will additionaly set.
-+# For each of the components it will additionally set.
- # - AVCODEC
- # - AVDEVICE
- # - AVFORMAT
-diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
-index ce40ab2..fd5a3af 100644
---- a/cmake/FindIconv.cmake
-+++ b/cmake/FindIconv.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find Iconv
- # Once done this will define
- #
-diff --git a/cmake/FindXAttr.cmake b/cmake/FindXAttr.cmake
-index c285a46..c66884e 100644
---- a/cmake/FindXAttr.cmake
-+++ b/cmake/FindXAttr.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find the xattr header
- # Once done this will define
- #
-diff --git a/include/strigi/classproperties.h b/include/strigi/classproperties.h
-index 0a8d5d5..688bc6a 100644
---- a/include/strigi/classproperties.h
-+++ b/include/strigi/classproperties.h
-@@ -39,8 +39,8 @@ public:
- };
- ClassProperties();
- ClassProperties(const ClassProperties&);
-- ClassProperties(const Private&);
-- ClassProperties(const std::string& key);
-+ explicit ClassProperties(const Private&);
-+ explicit ClassProperties(const std::string& key);
- ~ClassProperties();
- const ClassProperties& operator=(const ClassProperties&);
- bool valid() const;
-diff --git a/include/strigi/fieldproperties.h b/include/strigi/fieldproperties.h
-index dc53703..f1a9f77 100644
---- a/include/strigi/fieldproperties.h
-+++ b/include/strigi/fieldproperties.h
-@@ -39,8 +39,8 @@ public:
- };
- FieldProperties();
- FieldProperties(const FieldProperties&);
-- FieldProperties(const Private&);
-- FieldProperties(const std::string& key);
-+ explicit FieldProperties(const Private&);
-+ explicit FieldProperties(const std::string& key);
- ~FieldProperties();
- const FieldProperties& operator=(const FieldProperties&);
- /**
-diff --git a/include/strigi/fieldtypes.h b/include/strigi/fieldtypes.h
-index e369ad4..8bc9669 100644
---- a/include/strigi/fieldtypes.h
-+++ b/include/strigi/fieldtypes.h
-@@ -69,7 +69,7 @@ private:
- * @param fieldname a (unique) name for what this field represents
- * the same name should be used in .fieldproperties files in [] brackets
- */
-- RegisteredField(const std::string& key);
-+ explicit RegisteredField(const std::string& key);
- public:
- /**
- * @brief Get the key for this field.
-@@ -101,7 +101,7 @@ public:
- * primitive type, an array or an object of some
- * description.
- *
-- * It is up the the caller to keep track of the type of
-+ * It is up the caller to keep track of the type of
- * the data that is pointed to. The RegisteredField does
- * not take ownership of the data, and it the caller's
- * responsibility to ensure that any data allocated with
-diff --git a/include/strigi/filelister.h b/include/strigi/filelister.h
-index 5fe7f3e..ab1b6ef 100644
---- a/include/strigi/filelister.h
-+++ b/include/strigi/filelister.h
-@@ -50,7 +50,7 @@ private:
- class Private;
- Private* p;
- public:
-- FileLister(const Strigi::AnalyzerConfiguration* ic=0);
-+ explicit FileLister(const Strigi::AnalyzerConfiguration* ic=0);
- ~FileLister();
-
- void startListing(const std::string& dir);
-@@ -76,7 +76,7 @@ private:
- class Private;
- Private* p;
- public:
-- DirLister(const Strigi::AnalyzerConfiguration* ic=0);
-+ explicit DirLister(const Strigi::AnalyzerConfiguration* ic=0);
- ~DirLister();
-
- void startListing(const std::string& dir);
-diff --git a/include/strigi/streamanalyzer.h b/include/strigi/streamanalyzer.h
-index 4074463..5a5ed0e 100644
---- a/include/strigi/streamanalyzer.h
-+++ b/include/strigi/streamanalyzer.h
-@@ -50,7 +50,7 @@ private:
- StreamAnalyzerPrivate* const p;
-
- public:
-- StreamAnalyzer(AnalyzerConfiguration& c);
-+ explicit StreamAnalyzer(AnalyzerConfiguration& c);
- ~StreamAnalyzer();
- void setIndexWriter(IndexWriter& writer);
- signed char indexFile(const char *filepath);
-diff --git a/include/strigi/variant.h b/include/strigi/variant.h
-index f81b604..bb2ccab 100644
---- a/include/strigi/variant.h
-+++ b/include/strigi/variant.h
-@@ -40,13 +40,13 @@ private:
- VariantPrivate* const p;
- public:
- Variant();
-- Variant(bool v);
-- Variant(int32_t v);
-- Variant(uint32_t v);
-- Variant(const char* v);
-- Variant(const std::string& v);
-- Variant(const std::vector<std::string>& v);
-- Variant(const std::vector<std::vector<std::string> >& v);
-+ explicit Variant(bool v);
-+ explicit Variant(int32_t v);
-+ explicit Variant(uint32_t v);
-+ explicit Variant(const char* v);
-+ explicit Variant(const std::string& v);
-+ explicit Variant(const std::vector<std::string>& v);
-+ explicit Variant(const std::vector<std::vector<std::string> >& v);
- Variant(const Variant& v);
- ~Variant();
- Type type() const;
-diff --git a/lib/endanalyzers/arendanalyzer.h b/lib/endanalyzers/arendanalyzer.h
-index 801964d..0a12f84 100644
---- a/lib/endanalyzers/arendanalyzer.h
-+++ b/lib/endanalyzers/arendanalyzer.h
-@@ -28,7 +28,7 @@ class ArEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const ArEndAnalyzerFactory* factory;
- public:
-- ArEndAnalyzer(const ArEndAnalyzerFactory* f)
-+ explicit ArEndAnalyzer(const ArEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/bmpendanalyzer.h b/lib/endanalyzers/bmpendanalyzer.h
-index c829a5c..38e1109 100644
---- a/lib/endanalyzers/bmpendanalyzer.h
-+++ b/lib/endanalyzers/bmpendanalyzer.h
-@@ -28,7 +28,7 @@ class BmpEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const BmpEndAnalyzerFactory* factory;
- public:
-- BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
-+ explicit BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "BmpEndAnalyzer"; }
-diff --git a/lib/endanalyzers/bz2endanalyzer.h b/lib/endanalyzers/bz2endanalyzer.h
-index e88c158..e7266b2 100644
---- a/lib/endanalyzers/bz2endanalyzer.h
-+++ b/lib/endanalyzers/bz2endanalyzer.h
-@@ -28,7 +28,7 @@ class Bz2EndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const Bz2EndAnalyzerFactory* factory;
- public:
-- Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
-+ explicit Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/flacendanalyzer.h b/lib/endanalyzers/flacendanalyzer.h
-index 535940e..f1bcf1f 100644
---- a/lib/endanalyzers/flacendanalyzer.h
-+++ b/lib/endanalyzers/flacendanalyzer.h
-@@ -33,7 +33,7 @@ class FlacEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const FlacEndAnalyzerFactory* factory;
- public:
-- FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
-+ explicit FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "FlacEndAnalyzer"; }
-diff --git a/lib/endanalyzers/gzipendanalyzer.h b/lib/endanalyzers/gzipendanalyzer.h
-index 51b9008..2793721 100644
---- a/lib/endanalyzers/gzipendanalyzer.h
-+++ b/lib/endanalyzers/gzipendanalyzer.h
-@@ -28,7 +28,7 @@ class GZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const GZipEndAnalyzerFactory* factory;
- public:
-- GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
-+ explicit GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/id3endanalyzer.cpp b/lib/endanalyzers/id3endanalyzer.cpp
-index a453a39..c500715 100644
---- a/lib/endanalyzers/id3endanalyzer.cpp
-+++ b/lib/endanalyzers/id3endanalyzer.cpp
-@@ -342,7 +342,7 @@ ID3EndAnalyzer::checkHeader(const char* header, int32_t headersize) const {
- const unsigned char* usbuf = (const unsigned char*)header;
- int32_t i;
-
-- for(i=0; (header[i] == '\0') && (i<headersize); i++);
-+ for(i=0; (header[i] == '\0') && (i<headersize); ++i);
- return (headersize>=6+i)
- && (
- (strncmp("ID3", header+i, 3) == 0 // check that it's ID3
-@@ -411,7 +411,7 @@ class genre_number_parser {
- parse_string(genre);
- }
- /**
-- * wether or not parsing was successful
-+ * whether or not parsing was successful
- */
- operator bool() {
- return success;
-@@ -480,7 +480,7 @@ ID3EndAnalyzer::analyze(Strigi::AnalysisResult& indexable, Strigi::InputStream*
- string deunsyncbuf;
- if (unsync) {
- deunsyncbuf.reserve(size-1);
-- for(int32_t i = 0; i<size-1; i++)
-+ for(int32_t i = 0; i<size-1; ++i)
- if ( (i==0) || (p[11+i]!=0) || (p[10+i]!=0xff) )
- deunsyncbuf.push_back(p[11+i]);
- decoded_value = deunsyncbuf.c_str();
-diff --git a/lib/endanalyzers/id3endanalyzer.h b/lib/endanalyzers/id3endanalyzer.h
-index 293c993..337dcfd 100644
---- a/lib/endanalyzers/id3endanalyzer.h
-+++ b/lib/endanalyzers/id3endanalyzer.h
-@@ -30,7 +30,7 @@ class ID3EndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const ID3EndAnalyzerFactory* factory;
- public:
-- ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
-+ explicit ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "ID3EndAnalyzer"; }
-diff --git a/lib/endanalyzers/lzmaendanalyzer.h b/lib/endanalyzers/lzmaendanalyzer.h
-index cad65aa..7fb118a 100644
---- a/lib/endanalyzers/lzmaendanalyzer.h
-+++ b/lib/endanalyzers/lzmaendanalyzer.h
-@@ -28,7 +28,7 @@ class LzmaEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const LzmaEndAnalyzerFactory* factory;
- public:
-- LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
-+ explicit LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/mailendanalyzer.h b/lib/endanalyzers/mailendanalyzer.h
-index 4c7d391..8d77420 100644
---- a/lib/endanalyzers/mailendanalyzer.h
-+++ b/lib/endanalyzers/mailendanalyzer.h
-@@ -28,7 +28,7 @@ class MailEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const MailEndAnalyzerFactory* factory;
- public:
-- MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
-+ explicit MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "MailEndAnalyzer"; }
-diff --git a/lib/endanalyzers/mpegendanalyzer.h b/lib/endanalyzers/mpegendanalyzer.h
-index 42b65e9..1d0a2f2 100644
---- a/lib/endanalyzers/mpegendanalyzer.h
-+++ b/lib/endanalyzers/mpegendanalyzer.h
-@@ -58,7 +58,7 @@ private:
-
-
- public:
-- MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
-+ explicit MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
- {
- this->frame_rate_table[0] = 0.0; /* Pad */
- //Official frame rates
-diff --git a/lib/endanalyzers/odfendanalyzer.h b/lib/endanalyzers/odfendanalyzer.h
-index f426c25..8da3137 100644
---- a/lib/endanalyzers/odfendanalyzer.h
-+++ b/lib/endanalyzers/odfendanalyzer.h
-@@ -36,7 +36,7 @@ public:
- Strigi::OdfMetaHelperAnalyzer metaHelper;
- Strigi::OdfContentHelperAnalyzer contentHelper;
-
-- OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
-+ explicit OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "OdfEndAnalyzer"; }
-diff --git a/lib/endanalyzers/oleendanalyzer.h b/lib/endanalyzers/oleendanalyzer.h
-index df89ce4..b94bc40 100644
---- a/lib/endanalyzers/oleendanalyzer.h
-+++ b/lib/endanalyzers/oleendanalyzer.h
-@@ -64,7 +64,7 @@ private:
- std::string getStreamString(Strigi::InputStream*) const;
- bool tryFIB(Strigi::AnalysisResult& ar, Strigi::InputStream* in);
- public:
-- OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
-+ explicit OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- bool tryPropertyStream(Strigi::AnalysisResult& idx, Strigi::InputStream* s);
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
-diff --git a/lib/endanalyzers/pdfendanalyzer.h b/lib/endanalyzers/pdfendanalyzer.h
-index b157bdb..c72fc71 100644
---- a/lib/endanalyzers/pdfendanalyzer.h
-+++ b/lib/endanalyzers/pdfendanalyzer.h
-@@ -40,7 +40,7 @@ private:
- Strigi::StreamStatus handle(Strigi::InputStream* s);
- Strigi::StreamStatus handle(const std::string& s);
- public:
-- PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
-+ explicit PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
- };
-
- class PdfEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
-diff --git a/lib/endanalyzers/pngendanalyzer.h b/lib/endanalyzers/pngendanalyzer.h
-index 9144758..066aaac 100644
---- a/lib/endanalyzers/pngendanalyzer.h
-+++ b/lib/endanalyzers/pngendanalyzer.h
-@@ -42,7 +42,7 @@ private:
- signed char addMetaData(const std::string& key, Strigi::AnalysisResult& as,
- Strigi::InputStream* in);
- public:
-- PngEndAnalyzer(const PngEndAnalyzerFactory* f);
-+ explicit PngEndAnalyzer(const PngEndAnalyzerFactory* f);
- };
-
- class PngEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
-diff --git a/lib/endanalyzers/rpmendanalyzer.h b/lib/endanalyzers/rpmendanalyzer.h
-index fdaf0f4..b5ccbd6 100644
---- a/lib/endanalyzers/rpmendanalyzer.h
-+++ b/lib/endanalyzers/rpmendanalyzer.h
-@@ -28,7 +28,7 @@ class RpmEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const RpmEndAnalyzerFactory* factory;
- public:
-- RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
-+ explicit RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/sdfendanalyzer.h b/lib/endanalyzers/sdfendanalyzer.h
-index f6ab67f..56b1d77 100644
---- a/lib/endanalyzers/sdfendanalyzer.h
-+++ b/lib/endanalyzers/sdfendanalyzer.h
-@@ -29,7 +29,7 @@ class SdfEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const SdfEndAnalyzerFactory* factory;
- public:
-- SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
-+ explicit SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "SdfEndAnalyzer"; }
-diff --git a/lib/endanalyzers/tarendanalyzer.h b/lib/endanalyzers/tarendanalyzer.h
-index 875d560..28bedf0 100644
---- a/lib/endanalyzers/tarendanalyzer.h
-+++ b/lib/endanalyzers/tarendanalyzer.h
-@@ -28,7 +28,7 @@ class TarEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const TarEndAnalyzerFactory* factory;
- public:
-- TarEndAnalyzer(const TarEndAnalyzerFactory* f)
-+ explicit TarEndAnalyzer(const TarEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/zipendanalyzer.h b/lib/endanalyzers/zipendanalyzer.h
-index 3d87217..653645d 100644
---- a/lib/endanalyzers/zipendanalyzer.h
-+++ b/lib/endanalyzers/zipendanalyzer.h
-@@ -28,7 +28,7 @@ class ZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
- public:
- const ZipEndAnalyzerFactory* const factory;
-
-- ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
-+ explicit ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "ZipEndAnalyzer"; }
-diff --git a/lib/eventanalyzers/mimeeventanalyzer.h b/lib/eventanalyzers/mimeeventanalyzer.h
-index d0d2506..fd28b7b 100644
---- a/lib/eventanalyzers/mimeeventanalyzer.h
-+++ b/lib/eventanalyzers/mimeeventanalyzer.h
-@@ -39,7 +39,7 @@ private:
- void handleData(const char* data, uint32_t length);
- bool isReadyWithStream();
- public:
-- MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
-+ explicit MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
- ~MimeEventAnalyzer();
- };
-
-diff --git a/lib/eventthroughanalyzer.h b/lib/eventthroughanalyzer.h
-index 1b45312..b866402 100644
---- a/lib/eventthroughanalyzer.h
-+++ b/lib/eventthroughanalyzer.h
-@@ -50,7 +50,7 @@ private:
- void handleEnd();
- const char* name() const { return "EventThroughAnalyzer"; }
- public:
-- EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
-+ explicit EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
- : event(e), datastream(0), result(0), ready(true){}
- ~EventThroughAnalyzer();
- };
-diff --git a/lib/fieldpropertiesdb.cpp b/lib/fieldpropertiesdb.cpp
-index 79264ce..07d5204 100644
---- a/lib/fieldpropertiesdb.cpp
-+++ b/lib/fieldpropertiesdb.cpp
-@@ -291,30 +291,30 @@ FieldPropertiesDb::Private::addEssentialProperties() {
-
- props.typeuri = FieldRegister::datetimeType;
- props.uri = FieldRegister::mtimeFieldName;
-- properties[FieldRegister::mtimeFieldName] = props;
-+ properties[FieldRegister::mtimeFieldName] = FieldProperties(props);
-
- props.typeuri = FieldRegister::integerType;
- props.uri = FieldRegister::sizeFieldName;
-- properties[FieldRegister::sizeFieldName] = props;
-+ properties[FieldRegister::sizeFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::embeddepthFieldName;
-- properties[FieldRegister::embeddepthFieldName] = props;
-+ properties[FieldRegister::embeddepthFieldName] = FieldProperties(props);
-
- props.typeuri = FieldRegister::stringType;
- props.uri = FieldRegister::pathFieldName;
- props.tokenized = false; // should not be tokenized: needed for retrieval
-- properties[FieldRegister::pathFieldName] = props;
-+ properties[FieldRegister::pathFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::filenameFieldName;
- props.tokenized = true;
-- properties[FieldRegister::filenameFieldName] = props;
-+ properties[FieldRegister::filenameFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::mimetypeFieldName;
-- properties[FieldRegister::mimetypeFieldName] = props;
-+ properties[FieldRegister::mimetypeFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::parentLocationFieldName;
- props.tokenized = false; // should not be tokenized: needed for retrieval
-- properties[FieldRegister::parentLocationFieldName] = props;
-+ properties[FieldRegister::parentLocationFieldName] = FieldProperties(props);
- }
- void
- FieldPropertiesDb::Private::loadProperties(const string& dir) {
-@@ -751,7 +751,7 @@ FieldPropertiesDb::Private::endElementNsSAX2Func(void *ctx,
- void
- FieldPropertiesDb::Private::storeProperties(FieldProperties::Private& p) {
- if (p.uri.size()) {
-- properties[p.uri] = p;
-+ properties[p.uri] = FieldProperties(p);
- }
- p.clear();
- }
-@@ -773,14 +773,14 @@ FieldPropertiesDb::addField(const std::string& key, const std::string& type,
- if (parent.size()) {
- props.parentUris.push_back(parent);
- }
-- p->properties[key] = props;
-+ p->properties[key] = FieldProperties(props);
- }
- void
- FieldPropertiesDb::addField(const std::string& key) {
- FieldProperties::Private props;
- props.uri = key;
- props.typeuri = FieldRegister::stringType;
-- p->properties[key] = props;
-+ p->properties[key] = FieldProperties(props);
- }
- void
- FieldProperties::Private::clear() {
-diff --git a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-index d2a0a72..df3352a 100644
---- a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-+++ b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-@@ -25,7 +25,6 @@
- #include <cstring>
- #include <string>
-
--#include <strigi/analysisresult.h>
- #include <strigi/fieldtypes.h>
- #include "../rdfnamespaces.h"
-
-diff --git a/lib/helperanalyzers/odfmetahelperanalyzer.cpp b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-index 3409707..6b53be0 100644
---- a/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-+++ b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-@@ -27,7 +27,6 @@
- #include <string>
- #include <iostream>
-
--#include <strigi/analysisresult.h>
- #include <strigi/fieldtypes.h>
- #include "../rdfnamespaces.h"
-
-diff --git a/lib/libstreamanalyzer.pc.cmake b/lib/libstreamanalyzer.pc.cmake
-index bd13339..38c0ccb 100644
---- a/lib/libstreamanalyzer.pc.cmake
-+++ b/lib/libstreamanalyzer.pc.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- prefix=${CMAKE_INSTALL_PREFIX}
- exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
- libdir=${LIB_DESTINATION}
-diff --git a/lib/lineanalyzers/m3ustreamanalyzer.h b/lib/lineanalyzers/m3ustreamanalyzer.h
-index 9033f14..d3fe71d 100644
---- a/lib/lineanalyzers/m3ustreamanalyzer.h
-+++ b/lib/lineanalyzers/m3ustreamanalyzer.h
-@@ -42,7 +42,7 @@ private:
- std::string constructAbsolutePath(const std::string& relative) const;
-
- public:
-- M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
-+ explicit M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
- ~M3uLineAnalyzer() {}
-
- const char* name() const {
-diff --git a/lib/lineanalyzers/odfmimetypelineanalyzer.h b/lib/lineanalyzers/odfmimetypelineanalyzer.h
-index c53aa19..0bb81aa 100644
---- a/lib/lineanalyzers/odfmimetypelineanalyzer.h
-+++ b/lib/lineanalyzers/odfmimetypelineanalyzer.h
-@@ -40,7 +40,7 @@ public:
-
- class OdfMimeTypeLineAnalyzer : public Strigi::StreamLineAnalyzer {
- public:
-- OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
-+ explicit OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
-
- const char* name() const {
- return "OdfMimeTypeLineAnalyzer";
-diff --git a/lib/lineeventanalyzer.h b/lib/lineeventanalyzer.h
-index 5c67eac..ccd9043 100644
---- a/lib/lineeventanalyzer.h
-+++ b/lib/lineeventanalyzer.h
-@@ -57,7 +57,7 @@ private:
- void emitData(const char* data, uint32_t length);
- void initEncoding(std::string encoding);
- public:
-- LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
-+ explicit LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
- ~LineEventAnalyzer();
- };
-
-diff --git a/lib/logging.h b/lib/logging.h
-index 8a42795..c9e34c6 100644
---- a/lib/logging.h
-+++ b/lib/logging.h
-@@ -44,4 +44,4 @@
- #define slog(x) (void)
- #endif
-
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/lib/rdfnamespaces.h b/lib/rdfnamespaces.h
-index 9aad41d..aa35714 100644
---- a/lib/rdfnamespaces.h
-+++ b/lib/rdfnamespaces.h
-@@ -18,8 +18,8 @@
- * Boston, MA 02110-1301, USA.
- */
-
--#ifndef RDFNAMESAPCES
--#define RDFNAMESPACES
-+#ifndef RDFNAMESPACES_H
-+#define RDFNAMESPACES_H
-
- // This is a list of the most often encountered rdf namespaces used by analyzers
- // For internal use ONLY and should not be installed
-diff --git a/lib/saxeventanalyzer.h b/lib/saxeventanalyzer.h
-index 3bb9101..b5eec45 100644
---- a/lib/saxeventanalyzer.h
-+++ b/lib/saxeventanalyzer.h
-@@ -40,7 +40,7 @@ private:
- void handleData(const char* data, uint32_t length);
- bool isReadyWithStream();
- public:
-- SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
-+ explicit SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
- ~SaxEventAnalyzer();
- };
-
-diff --git a/lib/throughanalyzers/oggthroughanalyzer.h b/lib/throughanalyzers/oggthroughanalyzer.h
-index c28853a..c3530a1 100644
---- a/lib/throughanalyzers/oggthroughanalyzer.h
-+++ b/lib/throughanalyzers/oggthroughanalyzer.h
-@@ -35,7 +35,7 @@ private:
- Strigi::AnalysisResult* indexable;
- const OggThroughAnalyzerFactory* factory;
- public:
-- OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
- ~OggThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult*);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
-diff --git a/lib/xmlparser/xmlstream.h b/lib/xmlparser/xmlstream.h
-index 083e55e..6b48eb5 100644
---- a/lib/xmlparser/xmlstream.h
-+++ b/lib/xmlparser/xmlstream.h
-@@ -35,7 +35,7 @@ private:
- class Private;
- Private* p;
- public:
-- XMLStream(const std::string& xml);
-+ explicit XMLStream(const std::string& xml);
- ~XMLStream();
- void setFromAttribute(bool&, const char*);
- void setFromAttribute(int&, const char*);
-@@ -82,7 +82,7 @@ public:
- std::list<SimpleNode> nodes;
- std::string text;
-
-- SimpleNode(const std::string& xml);
-+ explicit SimpleNode(const std::string& xml);
- };
-
-
-diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
-index 25e2a9a..f219912 100644
---- a/plugins/endplugins/ffmpegendanalyzer.cpp
-+++ b/plugins/endplugins/ffmpegendanalyzer.cpp
-@@ -377,7 +377,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- ar.addValue(factory->typeProperty, NFO "Video");
- }
-
-- for(uint32_t i=0; i<fc->nb_streams; i++) {
-+ for(uint32_t i=0; i<fc->nb_streams; ++i) {
- const AVStream &stream = *fc->streams[i];
- const AVCodecContext &codec = *stream.codec;
-
-@@ -394,9 +394,9 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- }
-
- #if (LIBAVUTIL_VERSION_MAJOR < 51)
-- //FIXME we must stop using the deprecated fuction av_metadata_get and use
-+ //FIXME we must stop using the deprecated function av_metadata_get and use
- // av_dict_get once we are able to detect the version of FFMpeg being used
-- // using version macros. same goes for all occurences of this function.
-+ // using version macros. same goes for all occurrences of this function.
- AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0);
- #else
- AVDictionaryEntry *entry = av_dict_get(stream.metadata, "language", NULL, 0);
-diff --git a/plugins/eventplugins/SHA1.h b/plugins/eventplugins/SHA1.h
-index 47c2558..d78bbfc 100644
---- a/plugins/eventplugins/SHA1.h
-+++ b/plugins/eventplugins/SHA1.h
-@@ -115,10 +115,7 @@
- #define SHA1_WIPE_VARIABLES
- #endif
-
--#if defined(SHA1_HAS_TCHAR)
--#include <tchar.h>
--#else
--#ifdef _MSC_VER
-+#if defined(SHA1_HAS_TCHAR) || defined(_MSC_VER)
- #include <tchar.h>
- #else
- #ifndef TCHAR
-@@ -136,7 +133,6 @@
- #define _sntprintf snprintf
- #endif
- #endif
--#endif
-
- // Fallback, if no 64-bit support
- #ifndef _fseeki64
-diff --git a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-index 6e0ea36..17738b2 100644
---- a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-+++ b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-@@ -310,11 +310,11 @@ CLuceneIndexReader::Private::createSingleFieldQuery(const string& field,
- q = _CLNEW TermQuery(t);
- break;
- case Strigi::Query::Contains:
-- t = createWildCardTerm(fieldname.c_str(), "*" + val + "*");
-+ t = createWildCardTerm(fieldname.c_str(), '*' + val + '*');
- q = _CLNEW WildcardQuery(t);
- break;
- case Strigi::Query::StartsWith:
-- t = createWildCardTerm(fieldname.c_str(), val + "*");
-+ t = createWildCardTerm(fieldname.c_str(), val + '*');
- q = _CLNEW WildcardQuery(t);
- break;
- case Strigi::Query::Equals:
-diff --git a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-index 8658180..b340db3 100644
---- a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-+++ b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-@@ -270,7 +270,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry,
- }
- {
- // delete all deeper nested files
-- wstring v = utf8toucs2(entry+"/");
-+ wstring v = utf8toucs2(entry + '/');
- Term* t = _CLNEW Term(parentlocation(), v.c_str());
- PrefixFilter* filter = _CLNEW PrefixFilter(t);
- BitSet* b = filter->bits(reader);
-@@ -372,58 +372,6 @@ CLuceneIndexWriter::cleanUp() {
- if (!locked) {
- return;
- }
-- /*
-- //this is a hack and will not work with new versions of the index..
-- //furthermore, segmentinfos is a private class.
-- lucene::index::SegmentInfos infos;
-- try {
-- //Have SegmentInfos read the segments file in directory
-- infos.read(directory);
-- } catch(...) {
-- lock->release();
-- return; //todo: this may suggest an error...
-- }
-- lock->release();
--
-- int i;
-- set<string> segments;
-- for (i = 0; i < infos.size(); i++) {
-- lucene::index::SegmentInfo* info = infos.info(i);
-- segments.insert(info->name);
-- }
--
-- char** files = directory->list();
-- char tmp[CL_MAX_PATH];
-- for (i = 0; files[i] != NULL; ++i) {
-- char* file = files[i];
--
-- int fileLength = strlen(file);
-- if ( fileLength < 6 ) {
-- continue;
-- }
--
-- if (strncmp(file,"segments", 8) == 0
-- || strncmp(file, "deletable", 9) == 0) {
-- continue;
-- }
-- if (!isLuceneFile(file)) {
-- continue;
-- }
--
-- strcpy(tmp, file);
-- tmp[fileLength-4] = '\0';
--
-- if (segments.find(tmp) != segments.end()) {
-- continue;
-- }
--
-- directory->deleteFile(file, false);
-- }
-- for (i = 0; files[i] != NULL; i++) {
-- _CLDELETE_CaARRAY(files[i]);
-- }
-- _CLDELETE_ARRAY(files);
-- */
- }
-
- void
-diff --git a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-index 2e428a2..d39505f 100644
---- a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-+++ b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-@@ -17,8 +17,8 @@
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
--#include <CLucene/StdHeader.h>
- #include "jsgzipcompressstream.h"
-+#include <CLucene/StdHeader.h>
- #include <CLucene/util/jstreamsconfig.h>
- #include <zlib.h>
-
-diff --git a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-index 9b1ff75..836c653 100644
---- a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-+++ b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/strigiconfig.h>
- #include "compat.h"
- #include "indexpluginloader.h"
-diff --git a/plugins/indexers/cluceneindexer/timeofday.h b/plugins/indexers/cluceneindexer/timeofday.h
-index 7c8bb7e..97a8c41 100644
---- a/plugins/indexers/cluceneindexer/timeofday.h
-+++ b/plugins/indexers/cluceneindexer/timeofday.h
-@@ -1,22 +1,23 @@
--/*
--* Defines gettimeofday
--*
--* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
--*
--* This library is free software; you can redistribute it and/or
--* modify it under the terms of the GNU Lesser General Public
--* License as published by the Free Software Foundation; either
--* version 2.1 of the License, or (at your option) any later version.
--*
--* This library is distributed in the hope that it will be useful,
--* but WITHOUT ANY WARRANTY; without even the implied warranty of
--* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--* Lesser General Public License for more details.
--*
--* You should have received a copy of the GNU Lesser General Public
--* License along with this library; if not, write to the Free Software
--* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--*/
-+/**
-+ * Defines gettimeofday
-+ *
-+ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; see the file COPYING. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
-
- #include "config.h"
- #include <errno.h>
-diff --git a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-index 0274329..8e20847 100644
---- a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-+++ b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-@@ -476,8 +476,8 @@ CLuceneIndexReader::getDocuments(const std::vector<std::string>& fullFields,
- doc.resize(fullFields.size());
-
- const Document::FieldsType& fields = *d.getFields();
-- for ( Document::FieldsType::const_iterator itr = fields.begin();
-- itr != fields.end(); itr++ ) {
-+ for (Document::FieldsType::const_iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- Field* field = *itr;
- string name(wchartoutf8(field->name()));
- for (uint j = 0; j < fullFields.size(); ++j) {
-@@ -546,8 +546,8 @@ CLuceneIndexReader::getHits(const Strigi::Query& q,
- doc.resize(fields.size());
-
- const Document::FieldsType fields = *d->getFields();
-- for ( Document::FieldsType::const_iterator itr = fields.begin();
-- itr != fields.end(); itr++ ) {
-+ for (Document::FieldsType::const_iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- Field* field = *itr;
-
- string name(wchartoutf8(field->name()));
-diff --git a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-index 3ba6eeb..b0a9ff7 100644
---- a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-+++ b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-@@ -229,7 +229,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry, lucene::index::IndexWriter*
- }
- {
- // delete all deeper nested files
-- wstring v = utf8toucs2(entry+"/");
-+ wstring v = utf8toucs2(entry + '/');
- Term* t(_CLNEW Term(parentlocation(), v.c_str()));
- PrefixFilter* filter = _CLNEW PrefixFilter(t);
- BitSet* b = filter->bits(reader);
-@@ -248,7 +248,7 @@ void
- CLuceneIndexWriter::deleteAllEntries() {
- lucene::index::IndexReader* reader = manager->checkReader();
- if ( reader != NULL ){
-- for ( int32_t i=0;i<reader->maxDoc();i++ ){
-+ for ( int32_t i=0;i<reader->maxDoc(); ++i) {
- reader->deleteDocument(i);
- }
- reader->flush();
-diff --git a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-index e2b4e1c..5937d3c 100644
---- a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-+++ b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-@@ -48,9 +48,8 @@ t2a(const TCHAR* t) {
- void
- docdump(Document* doc) {
- Document::FieldsType fields = doc->getFields();
-- for ( Document::FieldsType::iterator itr = fields.begin();
-- itr != fields.end();
-- itr++ ){
-+ for (Document::FieldsType::iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- TCHAR* s = (*itr)->toString();
- printf("%s\n", t2a(s).c_str());
- _CLDELETE_CARRAY(s);
-diff --git a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-index f5e1b7f..19d69b7 100644
---- a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-+++ b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/strigiconfig.h>
- #include "indexpluginloader.h"
- #include "indexmanager.h"
-diff --git a/plugins/indexers/clucenengindexer/timeofday.h b/plugins/indexers/clucenengindexer/timeofday.h
-index 7c8bb7e..97a8c41 100644
---- a/plugins/indexers/clucenengindexer/timeofday.h
-+++ b/plugins/indexers/clucenengindexer/timeofday.h
-@@ -1,22 +1,23 @@
--/*
--* Defines gettimeofday
--*
--* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
--*
--* This library is free software; you can redistribute it and/or
--* modify it under the terms of the GNU Lesser General Public
--* License as published by the Free Software Foundation; either
--* version 2.1 of the License, or (at your option) any later version.
--*
--* This library is distributed in the hope that it will be useful,
--* but WITHOUT ANY WARRANTY; without even the implied warranty of
--* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--* Lesser General Public License for more details.
--*
--* You should have received a copy of the GNU Lesser General Public
--* License along with this library; if not, write to the Free Software
--* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--*/
-+/**
-+ * Defines gettimeofday
-+ *
-+ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; see the file COPYING. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
-
- #include "config.h"
- #include <errno.h>
-diff --git a/plugins/lineplugins/deblineanalyzer.h b/plugins/lineplugins/deblineanalyzer.h
-index 25b40b0..e2b3cd9 100644
---- a/plugins/lineplugins/deblineanalyzer.h
-+++ b/plugins/lineplugins/deblineanalyzer.h
-@@ -36,7 +36,7 @@ private:
- unsigned int finished;
- Strigi::AnalysisResult* result;
- public:
-- DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
-+ explicit DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
- };
-
- class DebLineAnalyzerFactory : public Strigi::StreamLineAnalyzerFactory {
-diff --git a/plugins/throughplugins/authroughanalyzer.h b/plugins/throughplugins/authroughanalyzer.h
-index 18ae6d6..75335d1 100644
---- a/plugins/throughplugins/authroughanalyzer.h
-+++ b/plugins/throughplugins/authroughanalyzer.h
-@@ -36,7 +36,7 @@ private:
- Strigi::AnalysisResult* analysisResult;
- const AuThroughAnalyzerFactory* factory;
- public:
-- AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
- ~AuThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult* i);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
-diff --git a/plugins/throughplugins/dummy.cpp b/plugins/throughplugins/dummy.cpp
-index 2bfadc3..73d9ffb 100644
---- a/plugins/throughplugins/dummy.cpp
-+++ b/plugins/throughplugins/dummy.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2008 Sebastian Trueg<sebastian@trueg.de>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/streamthroughanalyzer.h>
- #include <strigi/analyzerplugin.h>
-
-diff --git a/plugins/throughplugins/pcxthroughanalyzer.h b/plugins/throughplugins/pcxthroughanalyzer.h
-index a16fb5e..cde824a 100644
---- a/plugins/throughplugins/pcxthroughanalyzer.h
-+++ b/plugins/throughplugins/pcxthroughanalyzer.h
-@@ -30,7 +30,7 @@ private:
- Strigi::AnalysisResult* indexable;
- const PcxThroughAnalyzerFactory* factory;
- public:
-- PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
- ~PcxThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult*);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch b/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
deleted file mode 100644
index a114d029c..000000000
--- a/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From ae11c0b24fd3be995185ebdc5a5bbbb92ff30843 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Tue, 10 Sep 2013 17:50:56 +0300
-Subject: [PATCH 4/5] ffmpeg: Rename `mutex' to `g_mutex'.
-
-std::mutex is an actual type in C++11 and is implemented by libc++. The
-build was failing because references to `mutex' in lockmgr were ambiguous,
-as both the mutex variable defined above and std::mutex (because of the
-`using namespace std' statement) were found.
----
- plugins/endplugins/ffmpegendanalyzer.cpp | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
-index f219912..eaed07f 100644
---- a/plugins/endplugins/ffmpegendanalyzer.cpp
-+++ b/plugins/endplugins/ffmpegendanalyzer.cpp
-@@ -56,22 +56,22 @@ public:
- signed char analyze(AnalysisResult& idx, ::InputStream* in);
- };
-
--STRIGI_MUTEX_DEFINE(mutex);
-+STRIGI_MUTEX_DEFINE(g_mutex);
-
- static int
- lockmgr(void **mtx, enum AVLockOp op) {
- // pre-allocating a single mutex is the only way to get it to work without changing strigi_thread.h
-- assert( (*mtx == &mutex) || (op == AV_LOCK_CREATE) );
-+ assert( (*mtx == &g_mutex) || (op == AV_LOCK_CREATE) );
- switch(op) {
- case AV_LOCK_CREATE:
-- *mtx = &mutex;
-- return !!STRIGI_MUTEX_INIT(&mutex);
-+ *mtx = &g_mutex;
-+ return !!STRIGI_MUTEX_INIT(&g_mutex);
- case AV_LOCK_OBTAIN:
-- return !!STRIGI_MUTEX_LOCK(&mutex);
-+ return !!STRIGI_MUTEX_LOCK(&g_mutex);
- case AV_LOCK_RELEASE:
-- return !!STRIGI_MUTEX_UNLOCK(&mutex);
-+ return !!STRIGI_MUTEX_UNLOCK(&g_mutex);
- case AV_LOCK_DESTROY:
-- STRIGI_MUTEX_DESTROY(&mutex);
-+ STRIGI_MUTEX_DESTROY(&g_mutex);
- return 0;
- }
- return 1;
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
deleted file mode 100644
index bcbf50bb3..000000000
--- a/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 82c277bc0264798b291417e675611d7e3bead176 Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Wed, 1 Jan 2014 09:55:46 -0600
-Subject: [PATCH 5/5] use rpath only when needed
-
-cmake code borrowed from soprano
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6dee36b..d5cd1eb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -57,8 +57,13 @@ set(DATA_DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
- # These two options below make it set the RPATH of the installed targets to all
- # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
- # install directory. Alex
-+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
-+list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
-+list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION} )
-+endif()
-
- if(NOT WIN32 AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
- add_definitions(-fPIC)
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch b/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
deleted file mode 100644
index 895c9f7e8..000000000
--- a/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From b82f954e71be45aef152bbf8925a3070b7e4c69a Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Fri, 5 Apr 2013 02:13:31 +0300
-Subject: [PATCH 1/5] Generate config.h after looking for dependencies.
-
-At least lib/config.h.cmake's ICONV_SECOND_ARGUMENT_IS_CONST depends
-on FindIconv.cmake having been called before, otherwise it is always
-undefined.
-
-This fixes a regression introduced in 61a7ffe.
-
-CCMAIL: cgiboudeaux@gmx.com
----
- CMakeLists.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cd95c92..b2d959c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -46,9 +46,6 @@ endif()
- # check for visibility support
- macro_check_gcc_visibility(__STRIGI_HAVE_GCC_VISIBILITY)
-
--# Generate include/strigi/strigiconfig.h and lib/config.h
--include(ConfigureChecks.cmake)
--
- # check for required packages
- find_package(ZLIB)
- set_package_properties(ZLIB PROPERTIES
-@@ -77,6 +74,9 @@ set_package_properties(Threads PROPERTIES
-
- feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
-
-+# Generate include/strigi/strigiconfig.h and lib/config.h
-+include(ConfigureChecks.cmake)
-+
- ##### building and testing #####
- # every directory needs the headers that will be installed
- include_directories(${libstreams_SOURCE_DIR}/include
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch b/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
deleted file mode 100644
index 7179526ff..000000000
--- a/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 314f9d8f4fc50323e9f670ef54f0263cec08abc3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= <omerusta@gmail.com>
-Date: Tue, 9 Apr 2013 04:01:23 +0300
-Subject: [PATCH 2/5] Reduce noise in analysis tools complain about resource
- leak
-
-Cppcheck gives false alerts. This will stop it complaining about
-resource leakage.
-Thanks to mpyne for review of patch
-
-REVIEW: 109920
----
- lib/fileinputstream.cpp | 4 ++--
- lib/skippingfileinputstream.cpp | 4 ++--
- lib/skippingfileinputstream2.cpp | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/lib/fileinputstream.cpp b/lib/fileinputstream.cpp
-index 2801d1b..820b831 100644
---- a/lib/fileinputstream.cpp
-+++ b/lib/fileinputstream.cpp
-@@ -39,8 +39,8 @@ FileInputStream::FileInputStream(const char* filepath, int32_t buffersize) {
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath, buffersize);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath, buffersize);
- }
- FileInputStream::FileInputStream(FILE* file, const char* filepath,
- int32_t buffersize) {
-diff --git a/lib/skippingfileinputstream.cpp b/lib/skippingfileinputstream.cpp
-index dcb4d32..9759c54 100644
---- a/lib/skippingfileinputstream.cpp
-+++ b/lib/skippingfileinputstream.cpp
-@@ -38,8 +38,8 @@ SkippingFileInputStream::SkippingFileInputStream(const char* filepath) {
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath);
- }
- void
- SkippingFileInputStream::open(FILE* f, const char* path) {
-diff --git a/lib/skippingfileinputstream2.cpp b/lib/skippingfileinputstream2.cpp
-index dc618f4..dcfcef2 100644
---- a/lib/skippingfileinputstream2.cpp
-+++ b/lib/skippingfileinputstream2.cpp
-@@ -36,8 +36,8 @@ SkippingFileInputStream2::SkippingFileInputStream2(const char* filepath, int32_t
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath, buffersize);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath, buffersize);
- }
- SkippingFileInputStream2::SkippingFileInputStream2(FILE* file, const char* filepath,
- int32_t buffersize) {
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch b/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
deleted file mode 100644
index 203286381..000000000
--- a/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6fedeb66cc3c59bce24146f079295a1d404c749c Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Sat, 1 Jun 2013 17:59:36 +0200
-Subject: [PATCH 3/5] Build fix for gcc 4.8.
-
----
- include/strigi/bufferedstream.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/strigi/bufferedstream.h b/include/strigi/bufferedstream.h
-index 563da8a..05f5500 100644
---- a/include/strigi/bufferedstream.h
-+++ b/include/strigi/bufferedstream.h
-@@ -34,7 +34,7 @@ namespace Strigi {
- * BufferedStream will do the rest.
- */
- template <class T>
--class BufferedStream : public StreamBase<T> {
-+class STREAMS_EXPORT BufferedStream : public StreamBase<T> {
- private:
- StreamBuffer<T> buffer;
- bool finishedWritingToBuffer;
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch b/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
deleted file mode 100644
index 57036e627..000000000
--- a/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
+++ /dev/null
@@ -1,276 +0,0 @@
-From 8aa2b21fe596ddfe9de250190ede78ee34f19d2d Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Fri, 12 Jul 2013 13:04:44 +0200
-Subject: [PATCH 4/5] Fix Krazy issues.
-
----
- .krazy | 3 +++
- cmake/FindIconv.cmake | 19 +++++++++++++++++++
- include/strigi/archivereader.h | 6 +++---
- include/strigi/bz2inputstream.h | 2 +-
- include/strigi/dataeventinputstream.h | 2 +-
- include/strigi/kmpsearcher.h | 2 +-
- include/strigi/lzmainputstream.h | 2 +-
- include/strigi/stringterminatedsubstream.h | 2 +-
- include/strigi/substreamprovider.h | 2 +-
- lib/libstreams.pc.cmake | 19 +++++++++++++++++++
- lib/signatureinputstream.h | 2 +-
- lib/strigiconfig.cpp | 2 +-
- lib/stringreader.h | 2 --
- tests/api/ArchiveReaderTest.cpp | 4 ++--
- tests/sharedtestcode/unknownsizestream.h | 4 ++--
- 15 files changed, 56 insertions(+), 17 deletions(-)
- create mode 100644 .krazy
-
-diff --git a/.krazy b/.krazy
-new file mode 100644
-index 0000000..4822bdd
---- /dev/null
-+++ b/.krazy
-@@ -0,0 +1,3 @@
-+# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
-+EXCLUDE syscalls,typedefs
-+IGNORESUBS tests/data
-diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
-index ce40ab2..fd5a3af 100644
---- a/cmake/FindIconv.cmake
-+++ b/cmake/FindIconv.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find Iconv
- # Once done this will define
- #
-diff --git a/include/strigi/archivereader.h b/include/strigi/archivereader.h
-index 823a432..ffe3f22 100644
---- a/include/strigi/archivereader.h
-+++ b/include/strigi/archivereader.h
-@@ -38,7 +38,7 @@ public:
- * @brief Opens a stream for the given url.
- *
- * What is meant by @p url will depend on context. In the context of an
-- * archive with a file system-like directory stucture, it will be the path
-+ * archive with a file system-like directory structure, it will be the path
- * to the file relative the root of the archive (eg: /foo/bar).
- *
- * @param url unique name of or path to an item
-@@ -49,7 +49,7 @@ public:
- * @brief Gets information about a given url
- *
- * What is meant by @p url will depend on context. In the context of an
-- * archive with a file system-like directory stucture, it will be the path
-+ * archive with a file system-like directory structure, it will be the path
- * to the file relative the root of the archive (eg: /foo/bar).
- *
- * @param url unique name of or path to an item
-@@ -89,7 +89,7 @@ public:
- * @param e a vector containing information about each
- * item in the directory
- */
-- DirLister(Private* p);
-+ explicit DirLister(Private* p);
- /**
- * @brief Copy constructor
- */
-diff --git a/include/strigi/bz2inputstream.h b/include/strigi/bz2inputstream.h
-index aa40e88..09e566a 100644
---- a/include/strigi/bz2inputstream.h
-+++ b/include/strigi/bz2inputstream.h
-@@ -30,7 +30,7 @@ private:
- Private* const p;
- int32_t fillBuffer(char* start, int32_t space);
- public:
-- BZ2InputStream(InputStream* input);
-+ explicit BZ2InputStream(InputStream* input);
- ~BZ2InputStream();
- static bool checkHeader(const char* data, int32_t datasize);
- };
-diff --git a/include/strigi/dataeventinputstream.h b/include/strigi/dataeventinputstream.h
-index 05368e2..c8205c4 100644
---- a/include/strigi/dataeventinputstream.h
-+++ b/include/strigi/dataeventinputstream.h
-@@ -48,7 +48,7 @@ public:
- * When handleEnd is called, it is guaranteed that each
- * element in the input stream has been passed in exactly
- * one call to this function, and that the calls happened
-- * in the same order as the the data occurred in the
-+ * in the same order as the data occurred in the
- * InputStream.
- *
- * You should not call this function yourself. It forms
-diff --git a/include/strigi/kmpsearcher.h b/include/strigi/kmpsearcher.h
-index e3ec19d..28d049b 100644
---- a/include/strigi/kmpsearcher.h
-+++ b/include/strigi/kmpsearcher.h
-@@ -39,7 +39,7 @@ private:
- int32_t maxlen;
- public:
- KmpSearcher() :table(0) { }
-- KmpSearcher(const std::string& query);
-+ explicit KmpSearcher(const std::string& query);
- ~KmpSearcher() {
- if (table) {
- free(table);
-diff --git a/include/strigi/lzmainputstream.h b/include/strigi/lzmainputstream.h
-index fa7cf87..530edc3 100644
---- a/include/strigi/lzmainputstream.h
-+++ b/include/strigi/lzmainputstream.h
-@@ -30,7 +30,7 @@ private:
- Private* const p;
- int32_t fillBuffer(char* start, int32_t space);
- public:
-- LZMAInputStream(InputStream* input);
-+ explicit LZMAInputStream(InputStream* input);
- ~LZMAInputStream();
- static bool checkHeader(const char* data, int32_t datasize);
- };
-diff --git a/include/strigi/stringterminatedsubstream.h b/include/strigi/stringterminatedsubstream.h
-index 9f96bcc..fabb40d 100644
---- a/include/strigi/stringterminatedsubstream.h
-+++ b/include/strigi/stringterminatedsubstream.h
-@@ -30,7 +30,7 @@ namespace Strigi {
- *
- * This class stops reading data when either the end of the
- * underlying stream is reacher, or a given terminator is encountered
-- * in the the stream.
-+ * in the stream.
- */
- class STREAMS_EXPORT StringTerminatedSubStream : public InputStream {
- private:
-diff --git a/include/strigi/substreamprovider.h b/include/strigi/substreamprovider.h
-index 21ce324..3036d32 100644
---- a/include/strigi/substreamprovider.h
-+++ b/include/strigi/substreamprovider.h
-@@ -88,7 +88,7 @@ public:
- *
- * @param input the inputstream that will be split into substreams
- */
-- SubStreamProvider(InputStream *input)
-+ explicit SubStreamProvider(InputStream *input)
- : m_status(Ok)
- , m_input(input)
- , m_entrystream(0)
-diff --git a/lib/libstreams.pc.cmake b/lib/libstreams.pc.cmake
-index 8259b46..ce1205d 100644
---- a/lib/libstreams.pc.cmake
-+++ b/lib/libstreams.pc.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- prefix=${CMAKE_INSTALL_PREFIX}
- exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
- libdir=${LIB_DESTINATION}
-diff --git a/lib/signatureinputstream.h b/lib/signatureinputstream.h
-index 7302c75..63a2f0d 100644
---- a/lib/signatureinputstream.h
-+++ b/lib/signatureinputstream.h
-@@ -30,7 +30,7 @@ namespace Strigi {
- *
- * This class stops reading data when either the end of the
- * underlying stream is reacher, or a given terminator is encountered
-- * in the the stream.
-+ * in the stream.
- */
- class SignatureInputStream : public InputStream {
- private:
-diff --git a/lib/strigiconfig.cpp b/lib/strigiconfig.cpp
-index 6607ebd..9d9d8f9 100644
---- a/lib/strigiconfig.cpp
-+++ b/lib/strigiconfig.cpp
-@@ -32,4 +32,4 @@ namespace Strigi {
- const char* versionString() {
- return STRIGI_VERSION_STRING;
- }
--}
-\ No newline at end of file
-+}
-diff --git a/lib/stringreader.h b/lib/stringreader.h
-index 4d60b67..1a57c5c 100644
---- a/lib/stringreader.h
-+++ b/lib/stringreader.h
-@@ -20,11 +20,9 @@
- #ifndef STRINGREADER_H
- #define STRINGREADER_H
-
--#ifdef __GNUC__
- #error stringreader.h is deprecated. Include stringstream.h instead.
- #error StringReader has been renamed to StringStream
- #error Use StringInputStream for StringStream<char>
- #error Use StringReader for StringStream<wchar_t>
--#endif
-
- #endif
-diff --git a/tests/api/ArchiveReaderTest.cpp b/tests/api/ArchiveReaderTest.cpp
-index ffb7cd7..6d38050 100644
---- a/tests/api/ArchiveReaderTest.cpp
-+++ b/tests/api/ArchiveReaderTest.cpp
-@@ -50,7 +50,7 @@ test2(const char* path) {
- EntryInfo e;
- while (dl.nextEntry(e)) {
- string filepath(path);
-- filepath += "/";
-+ filepath += '/';
- filepath += e.filename;
- if (e.type == EntryInfo::File) {
- test1(filepath.c_str());
-@@ -83,7 +83,7 @@ walkdirectories(const char* path, void (*callback)(const char*)) {
- if (S_ISREG(dirstat.st_mode)) {
- callback(filepath.c_str());
- } else if (S_ISDIR(dirstat.st_mode)) {
-- filepath += "/";
-+ filepath += '/';
- walkdirectories(filepath.c_str(), callback);
- }
- }
-diff --git a/tests/sharedtestcode/unknownsizestream.h b/tests/sharedtestcode/unknownsizestream.h
-index bde063e..73d3d49 100644
---- a/tests/sharedtestcode/unknownsizestream.h
-+++ b/tests/sharedtestcode/unknownsizestream.h
-@@ -17,8 +17,8 @@
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
--#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM
--#define STRIGI_UNKNOWNSIZEINPUTSTREAM
-+#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM_H
-+#define STRIGI_UNKNOWNSIZEINPUTSTREAM_H
-
- #include <strigi/strigiconfig.h>
- #include <strigi/streambase.h>
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
deleted file mode 100644
index 9a79c13bb..000000000
--- a/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f552becab291908030f8cc27de83155eb182c7ba Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Wed, 1 Jan 2014 09:53:44 -0600
-Subject: [PATCH 5/5] use rpath only when needed
-
-cmake code borrowed from soprano
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b2d959c..a3948c2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -34,8 +34,13 @@ set(INCLUDE_DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
- # These two options below make it set the RPATH of the installed targets to all
- # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
- # install directory. Alex
-+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
-+list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
-+list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION})
-+endif()
-
- if(NOT MSVC AND NOT MINGW AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
- add_definitions(-fPIC)
---
-1.8.4.2
-
diff --git a/source/l/strigi/slack-desc b/source/l/strigi/slack-desc
deleted file mode 100644
index adc25f5ff..000000000
--- a/source/l/strigi/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-----------------------------------------------------|
-strigi: strigi (fast and light desktop search engine)
-strigi:
-strigi: Strigi is a fast and light desktop search engine. It can handle a
-strigi: large range of file formats such as emails, office documents, media
-strigi: files, and file archives. It can index files that are embedded in
-strigi: other files. This means email attachments and files in zip files
-strigi: are searchable as if they were normal files on your harddisk.
-strigi:
-strigi: Homepage: http://strigi.sourceforge.net/
-strigi:
-strigi:
diff --git a/source/l/strigi/strigi.SlackBuild b/source/l/strigi/strigi.SlackBuild
deleted file mode 100755
index 55c44421a..000000000
--- a/source/l/strigi/strigi.SlackBuild
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2018 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.
-
-# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=strigi
-VERSION=${VERSION:-0.7.8}
-BUILD=${BUILD:-4}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- 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
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=gnu++98"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -std=gnu++98"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -std=gnu++98"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -std=gnu++98"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2 -std=gnu++98"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-( cd libstreamanalyzer
-zcat $CWD/libstreamanalyzer*.patch.gz | patch -p1 --verbose || exit 1
-)
-( cd libstreams
-zcat $CWD/libstreams*.patch.gz | patch -p1 --verbose || exit 1
-)
-echo "target_link_libraries(index2dump streamanalyzer clucene-shared)" >> libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/CMakeLists.txt
-
-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
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DENABLE_INOTIFY:BOOL=ON \
- -DENABLE_DBUS:BOOL=ON \
- -DENABLE_EXPAT:BOOL=ON \
- -DENABLE_FFMPEG:BOOL=OFF \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING NEWS README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-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/source/l/strigi/strigi.info b/source/l/strigi/strigi.info
deleted file mode 100644
index 2301f49b5..000000000
--- a/source/l/strigi/strigi.info
+++ /dev/null
@@ -1,4 +0,0 @@
-PRGNAM="strigi"
-VERSION="0.5.9"
-HOMEPAGE="http://strigi.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/strigi/strigi-0.5.9.tar.bz2"
diff --git a/source/l/vid.stab/fetch-vid.stab.sh b/source/l/vid.stab/fetch-vid.stab.sh
new file mode 100755
index 000000000..04becb61f
--- /dev/null
+++ b/source/l/vid.stab/fetch-vid.stab.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 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.
+
+
+PKGNAM=vid.stab
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/georgmartius/vid.stab.git
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/l/vid.stab/slack-desc b/source/l/vid.stab/slack-desc
new file mode 100644
index 000000000..54a2d04d9
--- /dev/null
+++ b/source/l/vid.stab/slack-desc
@@ -0,0 +1,19 @@
+# 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------------------------------------------------------|
+vid.stab: vid.stab (video stabilization library)
+vid.stab:
+vid.stab: Vidstab is a video stabilization library. A video acquired using a
+vid.stab: hand-held camera or a camera mounted on a vehicle typically suffers
+vid.stab: from undesirable shakes and jitters. Activities such as surfing,
+vid.stab: skiing, riding, and walking while shooting videos are especially prone
+vid.stab: to erratic camera shakes. Vidstab targets these video contents to help
+vid.stab: create smoother and more stable videos.
+vid.stab:
+vid.stab: Homepage: http://public.hronopik.de/vid.stab/
+vid.stab:
diff --git a/source/l/vid.stab/vid.stab.SlackBuild b/source/l/vid.stab/vid.stab.SlackBuild
new file mode 100755
index 000000000..12092282b
--- /dev/null
+++ b/source/l/vid.stab/vid.stab.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 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=vid.stab
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# 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-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DUSE_OMP=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ Changelog Install LICENSE* README* Todo* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/source/l/vid.stab/vid.stab.url b/source/l/vid.stab/vid.stab.url
new file mode 100644
index 000000000..b98ec60e9
--- /dev/null
+++ b/source/l/vid.stab/vid.stab.url
@@ -0,0 +1 @@
+https://github.com/georgmartius/vid.stab.git
diff --git a/source/l/xapian-core/xapian-core.SlackBuild b/source/l/xapian-core/xapian-core.SlackBuild
index c3bc72fea..9867e7c3f 100755
--- a/source/l/xapian-core/xapian-core.SlackBuild
+++ b/source/l/xapian-core/xapian-core.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xapian-core
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}