diff options
Diffstat (limited to 'source/l')
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 1c5c07a2..00000000 --- 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 a1937569..00000000 --- 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 6b51ea7d..00000000 --- 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 80123424..00000000 --- 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 feda6509..00000000 --- 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 ec2cd41b..708c02a9 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 00000000..3e4cd343 --- /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 00000000..8927fd5b --- /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 00000000..5fb28930 --- /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 00000000..d802d7ad --- /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 e8cf45ac..95f8483f 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 984c5880..a07d3596 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 00000000..0c2c02b3 --- /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 00000000..73889e63 --- /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 00000000..e11fb6e8 --- /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 99b096fb..00000000 --- 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 aab1b9e3..00000000 --- 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 24bf6ea0..00000000 --- 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 36615ca5..00000000 --- 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 b9a96f33..00000000 --- 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 892792ff..00000000 --- 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 00000000..655418fa --- /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 00000000..e56983a5 --- /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 00000000..35f96972 --- /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 00000000..11f021f0 --- /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 00000000..e1bf0c48 --- /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 921b5d42..8dd66bdb 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 167ef1d5..4ce5a969 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 00000000..1bc3357d --- /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 00000000..11da183c --- /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 89cd535d..d99226dd 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 00000000..17e18ef7 --- /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 00000000..b79dc103 --- /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 00000000..0f6bed43 --- /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 00000000..d25691c8 --- /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 00000000..d08d8782 --- /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 00000000..01b9f550 --- /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 f4c92601..30ce4628 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 253eba8f..8c4398f8 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 da12a463..2f9b516f 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 00000000..df2f24ca --- /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 00000000..d7fe4b3c --- /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 af781224..1da9cf98 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 00000000..e78ca6f5 --- /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 8acc268c..13666026 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 a14932a2..22de1419 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 b9efbf6f..00000000 --- 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, -+ >k_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, - >k_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, -+ >k_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, -+ >k_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 4e44e2ca..377b619a 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 f0f423b6..7cd92804 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 caf678b3..c6df5a08 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 00000000..dc0f8926 --- /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 00000000..f272d0a9 --- /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 3270912d..4342c7ce 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 00000000..913b9f39 --- /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 e046a887..e39b450f 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 00000000..39c46969 --- /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 00000000..895eb5f4 --- /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 012f3d9e..00000000 --- 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 00000000..52a80555 --- /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 00000000..02c4e769 --- /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 00000000..6c68d4a5 --- /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 2a77669b..2b986317 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 00000000..57ed56db --- /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 42029d65..508d674c 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 00000000..0d93309c --- /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 00000000..a5787781 --- /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 00000000..9bc6ed9f --- /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 00000000..f1ce5507 --- /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 00000000..b2baaf77 --- /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 00000000..3846d4de --- /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 00000000..fae77e3a --- /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 00000000..3e904a3e --- /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 00000000..e28015fa --- /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 8bdd1517..00000000 --- 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 00000000..82062ea8 --- /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 00000000..718016a1 --- /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 00000000..b01a3e8f --- /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 00000000..59182265 --- /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 00000000..9c0527b3 --- /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 00000000..e2907785 --- /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 00000000..debc9002 --- /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 00000000..fb2ccd05 --- /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 00000000..db4af844 --- /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 00000000..c979cdda --- /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 fba0b319..f1e2be9a 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 00000000..6d6621d7 --- /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 00000000..bb76521f --- /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 6d2f5027..00000000 --- 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 924967e0..00000000 --- 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 a85c2668..3c97b93b 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 00000000..bc90dbd9 --- /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 00000000..f0620e58 --- /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 97f667a4..253c95ad 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 c13a36e3..50765972 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 00000000..d3210a72 --- /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 00000000..c9f6477e --- /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 00000000..180d5602 --- /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 7c5ee922..5d5a8c37 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 00000000..5f88bb43 --- /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 42d64877..00000000 --- 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 92ecd543..f1fdd088 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 00000000..4c40bd9b --- /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 3182b995..0c12c80a 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 7d8852be..00000000 --- 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 01d8bab5..00000000 --- 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 c76db2da..550c32d0 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 0b3d6090..00000000 --- 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 6761b96a..6761b96a 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 fe30b1a3..ec4e9f0d 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 578a16cd..00000000 --- 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 49a39953..00000000 --- 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 a4d3e34a..00000000 --- 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 994c01fb..00000000 --- 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 00000000..476045f1 --- /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 00000000..fb85876b --- /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 00000000..ec109565 --- /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 aab1b9e3..00000000 --- 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 d97ace63..00000000 --- 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 08d633d9..00000000 --- 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 29d1131c..00000000 --- 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 9bbcb346..00000000 --- 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 b9a2c53b..00000000 --- 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 c9b1996e..00000000 --- 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 aed363c6..00000000 --- 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 cbe815de..00000000 --- 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 7d59f22e..00000000 --- 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 e0305e11..00000000 --- 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 d4e5924d..00000000 --- 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 4279ce2e..00000000 --- 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 6fedcc81..00000000 --- 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 5c8b5a1d..00000000 --- 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 947f7582..00000000 --- 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 e84446ce..00000000 --- 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 74583146..00000000 --- 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 f0a41a42..00000000 --- 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 9c53f3c2..00000000 --- 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 86dcc288..00000000 --- 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 dd3a5a02..00000000 --- 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 0494c81f..00000000 --- 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 81d74ff4..00000000 --- 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 018872f6..00000000 --- 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 5ca91145..00000000 --- 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 ee1d1913..00000000 --- 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 fc0ee767..00000000 --- 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 9a9f7735..00000000 --- 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 6a87783e..00000000 --- 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 2deeb51b..00000000 --- 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 d04d1be5..00000000 --- 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 1ea8af2b..00000000 --- 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 b6f5525d..00000000 --- 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 6d3bf2f2..00000000 --- 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 6949bbfe..00000000 --- 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 22643e8d..00000000 --- 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 5098c082..00000000 --- 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 63a74629..00000000 --- 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 60749d38..00000000 --- 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 9bce98ff..00000000 --- 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 572a955d..00000000 --- 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 eeed1b97..00000000 --- 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 456abceb..00000000 --- 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 42129293..00000000 --- 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 7e79d217..00000000 --- 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 3edcdef0..00000000 --- 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 7e480138..00000000 --- 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 6456f2c6..00000000 --- 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 6a994603..00000000 --- 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 836dc13a..00000000 --- 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 f1a5a12e..00000000 --- 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 71e30c4f..00000000 --- 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 e5ab4bad..00000000 --- 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 4ab3ea4b..00000000 --- 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 6e2c726c..00000000 --- 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 5b4b830a..00000000 --- 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 f9e08a39..00000000 --- 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 01ddf720..00000000 --- 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 6f7c5df0..00000000 --- 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 e14e3765..00000000 --- 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 94696b76..00000000 --- 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 4e832e12..00000000 --- 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 2971354c..00000000 --- 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 f8051460..00000000 --- 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 66e072aa..2f538242 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 00000000..19df06f5 --- /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 00000000..7fcebc24 --- /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 00000000..8bc91eca --- /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 cef0e1fa..00000000 --- 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 713356eb..00000000 --- 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 684f5c6b..00000000 --- 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 c4f2e096..00000000 --- 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 863d5870..02d21a0f 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 00000000..11f0b1e6 --- /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 00000000..cc51199f --- /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 8842687d..00000000 --- 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 846a37c9..00000000 --- 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 e65a98f7..00000000 --- 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 aa72a9df..00000000 --- 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 7923d9d1..00000000 --- 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 b3714581..00000000 --- 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 8a40ebe9..00000000 --- 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 1be55431..00000000 --- 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 eff13c47..00000000 --- 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 00000000..d5b8531e --- /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 00000000..7d4f5863 --- /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 00000000..36154eb8 --- /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 1b3dca07..00000000 --- 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 c3d1f0c4..00000000 --- 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 00000000..2e837b06 --- /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 1153263c..57d1ce11 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 00000000..a3587a3c --- /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 218e8ce2..00000000 --- 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 45201c8a..00000000 --- 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 c940f6cf..00000000 --- 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 fab48832..00000000 --- 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 a114d029..00000000 --- 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 bcbf50bb..00000000 --- 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 895c9f7e..00000000 --- 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 7179526f..00000000 --- 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 20328638..00000000 --- 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 57036e62..00000000 --- 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 9a79c13b..00000000 --- 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 adc25f5f..00000000 --- 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 55c44421..00000000 --- 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 2301f49b..00000000 --- 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 00000000..04becb61 --- /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 00000000..54a2d04d --- /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 00000000..12092282 --- /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 00000000..b98ec60e --- /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 c3bc72fe..9867e7c3 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) "} |