summaryrefslogtreecommitdiffstats
path: root/source/l
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2020-12-07 21:49:58 +0000
committer Eric Hameleers <alien@slackware.com>2020-12-08 08:59:51 +0100
commit5584dad3850d8f1aa3459ed8b85b3f8b571df3d4 (patch)
tree42cbbe668c936cf1bc0d35e57cf68afec5657776 /source/l
parent9dce810dc522c70eeca9a928b95df923a70e4f2c (diff)
downloadcurrent-5584dad3850d8f1aa3459ed8b85b3f8b571df3d4.tar.gz
current-5584dad3850d8f1aa3459ed8b85b3f8b571df3d4.tar.xz
Mon Dec 7 21:49:58 UTC 202020201207214958
Goodbye vtown... we hardly knew you. It is indeed the day of the Big Merge(tm) leaving nothing left in /testing (but I'll try to work on that soon). In addition to merging packages from /testing, Qt4 and related packages have gone away, along with some other libraries that were only used by KDE4. Perhaps someone will want to take up maintenance of Qt4 (but I'm also pretty sure that SBo wouldn't touch that build script with a ten foot pole). ConsoleKit2 is gone, replaced by elogind (which also takes over for cgmanager and pm-utils). Huge thanks to Eric Hameleers, Heinz Wiesinger, and Robby Workman for all the help making this possible. There's still more cleanup to do here, but that'll be easier with everything in the main tree instead of maintaining side installs running the /testing packages. I'll look into what can be done about extra/pure-alsa-system/ soon. Enjoy! :-) a/aaa_elflibs-15.0-x86_64-28.txz: Rebuilt. Upgraded: libcap.so.2.45, libelf-0.182.so, libglib-2.0.so.0.6600.3, libgmodule-2.0.so.0.6600.3, libgmp.so.10.4.1, libgmpxx.so.4.6.1, libgobject-2.0.so.0.6600.3, libgthread-2.0.so.0.6600.3, libhistory.so.8.1, libisl.so.23.0.0, liblber-2.4.so.2.11.4, libldap-2.4.so.2.11.4, libpcre2-8.so.0.10.1, libreadline.so.8.1. Removed: libHalf.so.12.0.0, libIex-2_2.so.12.0.0, libIexMath-2_2.so.12.0.0, libIlmImf-2_2.so.22.0.0, libIlmImfUtil-2_2.so.22.0.0, libIlmThread-2_2.so.12.0.0, libImath-2_2.so.12.0.0, libexiv2.so.26.0.0, libpoppler-qt4.so.4.11.0, libpoppler.so.79.0.0, libraw.so.16.0.0, libraw_r.so.16.0.0. a/bash-5.1.000-x86_64-1.txz: Upgraded. a/dbus-1.12.20-x86_64-2.txz: Rebuilt. a/elogind-243.7-x86_64-1.txz: Added. a/eudev-3.2.9-x86_64-2.txz: Rebuilt. Applied Pavilion 13 x360 keys patch from upstream git. Thanks to Robby Workman. a/procps-ng-3.3.16-x86_64-3.txz: Rebuilt. Recompiled using --with-elogind. ap/cgmanager-0.42-x86_64-1.txz: Removed. ap/pm-utils-1.4.1-x86_64-6.txz: Removed. ap/vim-8.2.2105-x86_64-1.txz: Upgraded. d/python-setuptools-51.0.0-x86_64-1.txz: Upgraded. kde/akonadi-20.08.3-x86_64-1.txz: Upgraded. kde/akonadi-calendar-20.08.3-x86_64-1.txz: Added. kde/akonadi-calendar-tools-20.08.3-x86_64-1.txz: Added. kde/akonadi-contacts-20.08.3-x86_64-1.txz: Added. kde/akonadi-import-wizard-20.08.3-x86_64-1.txz: Added. kde/akonadi-mime-20.08.3-x86_64-1.txz: Added. kde/akonadi-notes-20.08.3-x86_64-1.txz: Added. kde/akonadi-search-20.08.3-x86_64-1.txz: Added. kde/akonadiconsole-20.08.3-x86_64-1.txz: Added. kde/akregator-20.08.3-x86_64-1.txz: Added. kde/alkimia-8.0.4-x86_64-1.txz: Added. kde/amarok-2.9.0-x86_64-3.txz: Removed. kde/amor-4.14.3-x86_64-3.txz: Removed. kde/analitza-20.08.3-x86_64-1.txz: Upgraded. kde/ark-20.08.3-x86_64-1.txz: Upgraded. kde/artikulate-20.08.3-x86_64-1.txz: Upgraded. kde/attica-5.76.0-x86_64-1.txz: Upgraded. kde/audiocd-kio-20.08.3-x86_64-1.txz: Upgraded. kde/baloo-5.76.0-x86_64-1.txz: Upgraded. kde/baloo-widgets-20.08.3-x86_64-1.txz: Upgraded. kde/blinken-20.08.3-x86_64-1.txz: Upgraded. kde/bluedevil-5.20.4-x86_64-1.txz: Upgraded. kde/bluez-qt-5.76.0-x86_64-1.txz: Added. kde/bomber-20.08.3-x86_64-1.txz: Upgraded. kde/bovo-20.08.3-x86_64-1.txz: Upgraded. kde/breeze-5.20.4-x86_64-1.txz: Added. kde/breeze-grub-5.20.4-x86_64-1.txz: Added. kde/breeze-gtk-5.20.4-x86_64-1.txz: Added. kde/breeze-icons-5.76.0-noarch-1.txz: Added. kde/calendarsupport-20.08.3-x86_64-1.txz: Added. kde/calligra-3.2.1-x86_64-1.txz: Upgraded. kde/calligraplan-3.2.2-x86_64-1.txz: Added. kde/cantor-20.08.3-x86_64-1.txz: Upgraded. kde/cervisia-20.08.3-x86_64-1.txz: Upgraded. kde/digikam-7.1.0-x86_64-1.txz: Added. kde/dolphin-20.08.3-x86_64-1.txz: Added. kde/dolphin-plugins-20.08.3-x86_64-1.txz: Upgraded. kde/dragon-20.08.3-x86_64-1.txz: Upgraded. kde/drkonqi-5.20.4-x86_64-1.txz: Added. kde/elisa-20.08.3-x86_64-1.txz: Added. kde/eventviews-20.08.3-x86_64-1.txz: Added. kde/extra-cmake-modules-5.76.0-x86_64-1.txz: Added. kde/falkon-3.1.0-x86_64-1.txz: Added. kde/ffmpegthumbs-20.08.3-x86_64-1.txz: Added. kde/filelight-20.08.3-x86_64-1.txz: Upgraded. kde/frameworkintegration-5.76.0-x86_64-1.txz: Added. kde/granatier-20.08.3-x86_64-1.txz: Upgraded. kde/grantlee-editor-20.08.3-x86_64-1.txz: Added. kde/grantleetheme-20.08.3-x86_64-1.txz: Added. kde/gwenview-20.08.3-x86_64-1.txz: Upgraded. kde/incidenceeditor-20.08.3-x86_64-1.txz: Added. kde/juk-20.08.3-x86_64-1.txz: Upgraded. kde/k3b-20.08.3-x86_64-1.txz: Upgraded. kde/kaccessible-4.14.3-x86_64-3.txz: Removed. kde/kactivities-5.76.0-x86_64-1.txz: Upgraded. kde/kactivities-stats-5.76.0-x86_64-1.txz: Added. kde/kactivitymanagerd-5.20.4-x86_64-1.txz: Added. kde/kaddressbook-20.08.3-x86_64-1.txz: Added. kde/kajongg-4.14.3-x86_64-3.txz: Removed. kde/kalarm-20.08.3-x86_64-1.txz: Added. kde/kalarmcal-20.08.3-x86_64-1.txz: Added. kde/kalgebra-20.08.3-x86_64-1.txz: Upgraded. kde/kalzium-20.08.3-x86_64-1.txz: Upgraded. kde/kamera-20.08.3-x86_64-1.txz: Upgraded. kde/kamoso-20.08.3-x86_64-1.txz: Added. kde/kanagram-20.08.3-x86_64-1.txz: Upgraded. kde/kapidox-5.76.0-x86_64-1.txz: Added. kde/kapman-20.08.3-x86_64-1.txz: Upgraded. kde/kapptemplate-20.08.3-x86_64-1.txz: Upgraded. kde/karchive-5.76.0-x86_64-1.txz: Added. kde/kate-20.08.3-x86_64-1.txz: Upgraded. kde/katomic-20.08.3-x86_64-1.txz: Upgraded. kde/kaudiocreator-1.3-x86_64-3.txz: Removed. kde/kauth-5.76.0-x86_64-1.txz: Added. kde/kbackup-20.08.3-x86_64-1.txz: Added. kde/kblackbox-20.08.3-x86_64-1.txz: Upgraded. kde/kblocks-20.08.3-x86_64-1.txz: Upgraded. kde/kbookmarks-5.76.0-x86_64-1.txz: Added. kde/kbounce-20.08.3-x86_64-1.txz: Upgraded. kde/kbreakout-20.08.3-x86_64-1.txz: Upgraded. kde/kbruch-20.08.3-x86_64-1.txz: Upgraded. kde/kcachegrind-20.08.3-x86_64-1.txz: Upgraded. kde/kcalc-20.08.3-x86_64-1.txz: Upgraded. kde/kcalendarcore-5.76.0-x86_64-1.txz: Added. kde/kcalutils-20.08.3-x86_64-1.txz: Added. kde/kcharselect-20.08.3-x86_64-1.txz: Upgraded. kde/kcm-fcitx-0.5.6-x86_64-1.txz: Added. kde/kcmutils-5.76.0-x86_64-1.txz: Added. kde/kcodecs-5.76.0-x86_64-1.txz: Added. kde/kcolorchooser-20.08.3-x86_64-1.txz: Upgraded. kde/kcompletion-5.76.0-x86_64-1.txz: Added. kde/kconfig-5.76.0-x86_64-1.txz: Added. kde/kconfigwidgets-5.76.0-x86_64-1.txz: Added. kde/kcontacts-5.76.0-x86_64-1.txz: Added. kde/kcoreaddons-5.76.0-x86_64-1.txz: Added. kde/kcrash-5.76.0-x86_64-1.txz: Added. kde/kcron-20.08.3-x86_64-1.txz: Upgraded. kde/kdav-5.76.0-x86_64-1.txz: Added. kde/kdbusaddons-5.76.0-x86_64-1.txz: Added. kde/kde-base-artwork-4.14.3-x86_64-3.txz: Removed. kde/kde-baseapps-4.14.3-x86_64-3.txz: Removed. kde/kde-cli-tools-5.20.4-x86_64-1.txz: Added. kde/kde-dev-scripts-20.08.3-x86_64-1.txz: Upgraded. kde/kde-dev-utils-20.08.3-x86_64-1.txz: Upgraded. kde/kde-gtk-config-5.20.4-x86_64-1.txz: Added. kde/kde-runtime-4.14.3-x86_64-8.txz: Removed. kde/kde-wallpapers-4.14.3-noarch-2.txz: Removed. kde/kde-workspace-4.11.22-x86_64-9.txz: Removed. kde/kdeartwork-4.14.3-x86_64-3.txz: Removed. kde/kdebugsettings-20.08.3-x86_64-1.txz: Added. kde/kdeclarative-5.76.0-x86_64-1.txz: Added. kde/kdeconnect-kde-20.08.3-x86_64-1.txz: Upgraded. kde/kdecoration-5.20.4-x86_64-1.txz: Added. kde/kded-5.76.0-x86_64-1.txz: Added. kde/kdeedu-data-20.08.3-x86_64-1.txz: Added. kde/kdegraphics-mobipocket-20.08.3-x86_64-1.txz: Upgraded. kde/kdegraphics-strigi-analyzer-4.14.3-x86_64-3.txz: Removed. kde/kdegraphics-thumbnailers-20.08.3-x86_64-1.txz: Upgraded. kde/kdelibs-4.14.38-x86_64-8.txz: Removed. kde/kdelibs4support-5.76.0-x86_64-1.txz: Added. kde/kdenetwork-filesharing-20.08.3-x86_64-1.txz: Upgraded. kde/kdenetwork-strigi-analyzers-4.14.3-x86_64-3.txz: Removed. kde/kdenlive-20.08.3-x86_64-1.txz: Added. kde/kdepim-4.14.10-x86_64-5.txz: Removed. kde/kdepim-addons-20.08.3-x86_64-1.txz: Added. kde/kdepim-apps-libs-20.08.3-x86_64-1.txz: Added. kde/kdepim-runtime-20.08.3-x86_64-1.txz: Upgraded. kde/kdepimlibs-4.14.10-x86_64-9.txz: Removed. kde/kdeplasma-addons-5.20.4-x86_64-1.txz: Upgraded. kde/kdesdk-kioslaves-20.08.3-x86_64-1.txz: Upgraded. kde/kdesdk-strigi-analyzers-4.14.3-x86_64-3.txz: Removed. kde/kdesdk-thumbnailers-20.08.3-x86_64-1.txz: Upgraded. kde/kdesignerplugin-5.76.0-x86_64-1.txz: Added. kde/kdesu-5.76.0-x86_64-1.txz: Added. kde/kdev-php-5.6.0-x86_64-1.txz: Added. kde/kdev-python-5.6.0-x86_64-1.txz: Upgraded. kde/kdevelop-5.6.0-x86_64-1.txz: Upgraded. kde/kdevelop-pg-qt-2.2.1-x86_64-1.txz: Upgraded. kde/kdevelop-php-1.7.4-x86_64-2.txz: Removed. kde/kdevelop-php-docs-1.7.4-x86_64-2.txz: Removed. kde/kdevplatform-1.7.4-x86_64-2.txz: Removed. kde/kdewebdev-4.14.3-x86_64-3.txz: Removed. kde/kdewebkit-5.76.0-x86_64-1.txz: Added. kde/kdf-20.08.3-x86_64-1.txz: Upgraded. kde/kdiagram-2.7.0-x86_64-1.txz: Added. kde/kdialog-20.08.3-x86_64-1.txz: Added. kde/kdiamond-20.08.3-x86_64-1.txz: Upgraded. kde/kdnssd-5.76.0-x86_64-1.txz: Added. kde/kdoctools-5.76.0-x86_64-1.txz: Added. kde/keditbookmarks-20.08.3-x86_64-1.txz: Added. kde/kemoticons-5.76.0-x86_64-1.txz: Added. kde/kfilemetadata-5.76.0-x86_64-1.txz: Upgraded. kde/kfind-20.08.3-x86_64-1.txz: Added. kde/kfloppy-20.08.3-x86_64-1.txz: Upgraded. kde/kfourinline-20.08.3-x86_64-1.txz: Upgraded. kde/kgamma-4.14.3-x86_64-3.txz: Removed. kde/kgamma5-5.20.4-x86_64-1.txz: Added. kde/kgeography-20.08.3-x86_64-1.txz: Upgraded. kde/kget-20.08.3-x86_64-1.txz: Upgraded. kde/kglobalaccel-5.76.0-x86_64-1.txz: Added. kde/kgoldrunner-20.08.3-x86_64-1.txz: Upgraded. kde/kgpg-20.08.3-x86_64-1.txz: Upgraded. kde/kguiaddons-5.76.0-x86_64-1.txz: Added. kde/khangman-20.08.3-x86_64-1.txz: Upgraded. kde/khelpcenter-20.08.3-x86_64-1.txz: Added. kde/kholidays-5.76.0-x86_64-1.txz: Added. kde/khotkeys-5.20.4-x86_64-1.txz: Added. kde/khtml-5.76.0-x86_64-1.txz: Added. kde/ki18n-5.76.0-x86_64-1.txz: Added. kde/kiconthemes-5.76.0-x86_64-1.txz: Added. kde/kid3-3.8.4-x86_64-1.txz: Added. kde/kidentitymanagement-20.08.3-x86_64-1.txz: Added. kde/kidletime-5.76.0-x86_64-1.txz: Added. kde/kig-20.08.3-x86_64-1.txz: Upgraded. kde/kigo-20.08.3-x86_64-1.txz: Upgraded. kde/kile-2.9.93-x86_64-1.txz: Added. kde/killbots-20.08.3-x86_64-1.txz: Upgraded. kde/kimageformats-5.76.0-x86_64-1.txz: Added. kde/kimagemapeditor-20.08.3-x86_64-1.txz: Added. kde/kimap-20.08.3-x86_64-1.txz: Added. kde/kinfocenter-5.20.4-x86_64-1.txz: Added. kde/kinit-5.76.0-x86_64-1.txz: Added. kde/kio-5.76.0-x86_64-1.txz: Added. kde/kio-extras-20.08.3-x86_64-1.txz: Added. kde/kio-gdrive-20.08.3-x86_64-1.txz: Added. kde/kio-mtp-2063e75_20131020git-x86_64-4.txz: Removed. kde/kipi-plugins-20.08.3-x86_64-1.txz: Added. kde/kirigami-gallery-20.08.3-x86_64-1.txz: Added. kde/kirigami2-5.76.0-x86_64-1.txz: Added. kde/kiriki-20.08.3-x86_64-1.txz: Upgraded. kde/kitemmodels-5.76.0-x86_64-1.txz: Added. kde/kitemviews-5.76.0-x86_64-1.txz: Added. kde/kiten-20.08.3-x86_64-1.txz: Upgraded. kde/kitinerary-20.08.3-x86_64-1.txz: Added. kde/kjobwidgets-5.76.0-x86_64-1.txz: Added. kde/kjots-20200924_355b642-x86_64-1.txz: Added. kde/kjs-5.76.0-x86_64-1.txz: Added. kde/kjsembed-5.76.0-x86_64-1.txz: Added. kde/kjumpingcube-20.08.3-x86_64-1.txz: Upgraded. kde/kldap-20.08.3-x86_64-1.txz: Added. kde/kleopatra-20.08.3-x86_64-1.txz: Added. kde/klettres-4.14.3-x86_64-3.txz: Removed. kde/klickety-20.08.3-x86_64-1.txz: Upgraded. kde/klines-20.08.3-x86_64-1.txz: Upgraded. kde/kmag-20.08.3-x86_64-1.txz: Upgraded. kde/kmahjongg-20.08.3-x86_64-1.txz: Upgraded. kde/kmail-20.08.3-x86_64-1.txz: Added. kde/kmail-account-wizard-20.08.3-x86_64-1.txz: Added. kde/kmailtransport-20.08.3-x86_64-1.txz: Added. kde/kmbox-20.08.3-x86_64-1.txz: Added. kde/kmediaplayer-5.76.0-x86_64-1.txz: Added. kde/kmenuedit-5.20.4-x86_64-1.txz: Added. kde/kmime-20.08.3-x86_64-1.txz: Added. kde/kmines-20.08.3-x86_64-1.txz: Upgraded. kde/kmix-20.08.3-x86_64-1.txz: Upgraded. kde/kmousetool-20.08.3-x86_64-1.txz: Upgraded. kde/kmouth-20.08.3-x86_64-1.txz: Upgraded. kde/kmplot-20.08.3-x86_64-1.txz: Upgraded. kde/kmymoney-5.1.0-x86_64-1.txz: Added. kde/knavalbattle-20.08.3-x86_64-1.txz: Upgraded. kde/knetwalk-20.08.3-x86_64-1.txz: Upgraded. kde/knewstuff-5.76.0-x86_64-1.txz: Added. kde/knights-20.08.3-x86_64-1.txz: Added. kde/knotes-20.08.3-x86_64-1.txz: Added. kde/knotifications-5.76.0-x86_64-1.txz: Added. kde/knotifyconfig-5.76.0-x86_64-1.txz: Added. kde/kolf-20.08.3-x86_64-1.txz: Upgraded. kde/kollision-20.08.3-x86_64-1.txz: Upgraded. kde/kolourpaint-20.08.3-x86_64-1.txz: Upgraded. kde/kompare-20.08.3-x86_64-1.txz: Upgraded. kde/konqueror-20.08.3-x86_64-1.txz: Added. kde/konquest-20.08.3-x86_64-1.txz: Upgraded. kde/konsole-20.08.3-x86_64-1.txz: Upgraded. kde/kontact-20.08.3-x86_64-1.txz: Added. kde/kontactinterface-20.08.3-x86_64-1.txz: Added. kde/kopete-20.08.3-x86_64-1.txz: Upgraded. kde/korganizer-20.08.3-x86_64-1.txz: Added. kde/korundum-4.14.3-x86_64-8.txz: Removed. kde/kpackage-5.76.0-x86_64-1.txz: Added. kde/kparts-5.76.0-x86_64-1.txz: Added. kde/kpat-20.08.3-x86_64-1.txz: Upgraded. kde/kpeople-5.76.0-x86_64-1.txz: Added. kde/kpeoplevcard-0.1-x86_64-1.txz: Added. kde/kpimtextedit-20.08.3-x86_64-1.txz: Added. kde/kpkpass-20.08.3-x86_64-1.txz: Added. kde/kplayer-0.7.2-x86_64-3.txz: Removed. kde/kplotting-5.76.0-x86_64-1.txz: Added. kde/kpmcore-4.2.0-x86_64-1.txz: Added. kde/kppp-4.14.3-x86_64-3.txz: Removed. kde/kpty-5.76.0-x86_64-1.txz: Added. kde/kqtquickcharts-20.08.3-x86_64-1.txz: Upgraded. kde/kquickcharts-5.76.0-x86_64-1.txz: Added. kde/krdc-20.08.3-x86_64-1.txz: Upgraded. kde/kremotecontrol-4.14.3-x86_64-3.txz: Removed. kde/krename-5.0.1-x86_64-1.txz: Added. kde/kreversi-20.08.3-x86_64-1.txz: Upgraded. kde/krfb-20.08.3-x86_64-1.txz: Upgraded. kde/krita-4.4.1-x86_64-1.txz: Added. kde/kross-5.76.0-x86_64-1.txz: Added. kde/kross-interpreters-20.08.3-x86_64-1.txz: Upgraded. kde/kruler-20.08.3-x86_64-1.txz: Upgraded. kde/krunner-5.76.0-x86_64-1.txz: Added. kde/krusader-2.7.2-x86_64-1.txz: Added. kde/ksaneplugin-4.14.3-x86_64-3.txz: Removed. kde/kscreen-5.20.4-x86_64-1.txz: Upgraded. kde/kscreenlocker-5.20.4-x86_64-1.txz: Added. kde/kservice-5.76.0-x86_64-1.txz: Added. kde/kshisen-20.08.3-x86_64-1.txz: Upgraded. kde/ksirk-20.08.3-x86_64-1.txz: Upgraded. kde/ksmtp-20.08.3-x86_64-1.txz: Added. kde/ksnakeduel-20.08.3-x86_64-1.txz: Upgraded. kde/ksnapshot-4.14.3-x86_64-3.txz: Removed. kde/kspaceduel-20.08.3-x86_64-1.txz: Upgraded. kde/ksquares-20.08.3-x86_64-1.txz: Upgraded. kde/ksshaskpass-5.20.4-x86_64-1.txz: Added. kde/kstars-3.5.0-x86_64-1.txz: Upgraded. kde/ksudoku-20.08.3-x86_64-1.txz: Upgraded. kde/ksysguard-5.20.4-x86_64-1.txz: Added. kde/ksystemlog-20.08.3-x86_64-1.txz: Upgraded. kde/kteatime-20.08.3-x86_64-1.txz: Upgraded. kde/ktexteditor-5.76.0-x86_64-1.txz: Added. kde/ktextwidgets-5.76.0-x86_64-1.txz: Added. kde/ktimer-20.08.3-x86_64-1.txz: Upgraded. kde/ktimetracker-5.0.1-x86_64-1.txz: Added. kde/ktnef-20.08.3-x86_64-1.txz: Added. kde/ktorrent-5.2.0-x86_64-1.txz: Upgraded. kde/ktouch-20.08.3-x86_64-1.txz: Upgraded. kde/ktuberling-4.14.3-x86_64-3.txz: Removed. kde/kturtle-20.08.3-x86_64-1.txz: Upgraded. kde/ktux-4.14.3-x86_64-3.txz: Removed. kde/kubrick-20.08.3-x86_64-1.txz: Upgraded. kde/kunitconversion-5.76.0-x86_64-1.txz: Added. kde/kuser-4.14.3-x86_64-3.txz: Removed. kde/kwallet-5.76.0-x86_64-1.txz: Added. kde/kwallet-pam-5.20.4-x86_64-1.txz: Added. kde/kwalletmanager-20.08.3-x86_64-1.txz: Upgraded. kde/kwave-20.08.3-x86_64-1.txz: Added. kde/kwayland-5.76.0-x86_64-1.txz: Added. kde/kwayland-integration-5.20.4-x86_64-1.txz: Added. kde/kwayland-server-5.20.4-x86_64-1.txz: Added. kde/kwebkitpart-1.3.4-x86_64-3.txz: Removed. kde/kwidgetsaddons-5.76.0-x86_64-1.txz: Added. kde/kwin-5.20.4-x86_64-1.txz: Added. kde/kwindowsystem-5.76.0-x86_64-1.txz: Added. kde/kwordquiz-20.08.3-x86_64-1.txz: Upgraded. kde/kwrited-5.20.4-x86_64-1.txz: Added. kde/kxmlgui-5.76.0-x86_64-1.txz: Added. kde/kxmlrpcclient-5.76.0-x86_64-1.txz: Added. kde/latte-dock-0.9.11-x86_64-1.txz: Added. kde/libgravatar-20.08.3-x86_64-1.txz: Added. kde/libkcddb-20.08.3-x86_64-1.txz: Upgraded. kde/libkcompactdisc-20.08.3-x86_64-1.txz: Upgraded. kde/libkdcraw-20.08.3-x86_64-1.txz: Upgraded. kde/libkdeedu-4.14.3-x86_64-3.txz: Removed. kde/libkdegames-20.08.3-x86_64-1.txz: Upgraded. kde/libkdepim-20.08.3-x86_64-1.txz: Added. kde/libkeduvocdocument-20.08.3-x86_64-1.txz: Added. kde/libkexiv2-20.08.3-x86_64-1.txz: Upgraded. kde/libkgapi-20.08.3-x86_64-1.txz: Added. kde/libkgeomap-20.08.3-x86_64-1.txz: Added. kde/libkipi-20.08.3-x86_64-1.txz: Upgraded. kde/libkleo-20.08.3-x86_64-1.txz: Added. kde/libkmahjongg-20.08.3-x86_64-1.txz: Upgraded. kde/libkomparediff2-20.08.3-x86_64-1.txz: Upgraded. kde/libksane-20.08.3-x86_64-1.txz: Upgraded. kde/libkscreen-5.20.4-x86_64-1.txz: Upgraded. kde/libksieve-20.08.3-x86_64-1.txz: Added. kde/libksysguard-5.20.4-x86_64-1.txz: Added. kde/libktorrent-2.2.0-x86_64-1.txz: Upgraded. kde/libmm-qt-1.0.1-x86_64-3.txz: Removed. kde/libnm-qt-0.9.8.4-x86_64-1.txz: Removed. kde/lokalize-20.08.3-x86_64-1.txz: Upgraded. kde/lskat-20.08.3-x86_64-1.txz: Upgraded. kde/mailcommon-20.08.3-x86_64-1.txz: Added. kde/mailimporter-20.08.3-x86_64-1.txz: Added. kde/marble-20.08.3-x86_64-1.txz: Upgraded. kde/mbox-importer-20.08.3-x86_64-1.txz: Added. kde/messagelib-20.08.3-x86_64-1.txz: Added. kde/milou-5.20.4-x86_64-1.txz: Added. kde/minuet-20.08.3-x86_64-1.txz: Added. kde/modemmanager-qt-5.76.0-x86_64-1.txz: Added. kde/mplayerthumbs-4.14.3-x86_64-3.txz: Removed. kde/nepomuk-core-4.14.3-x86_64-5.txz: Removed. kde/nepomuk-widgets-4.14.3-x86_64-3.txz: Removed. kde/networkmanager-qt-5.76.0-x86_64-1.txz: Added. kde/okteta-0.26.4-x86_64-1.txz: Upgraded. kde/okular-20.08.3-x86_64-1.txz: Upgraded. kde/oxygen-5.20.4-x86_64-1.txz: Added. kde/oxygen-fonts-5.4.3-noarch-1.txz: Added. kde/oxygen-gtk2-1.4.6-x86_64-1.txz: Upgraded. kde/oxygen-icons-4.14.3-x86_64-3.txz: Removed. kde/oxygen-icons5-5.76.0-noarch-1.txz: Added. kde/pairs-4.14.3-x86_64-3.txz: Removed. kde/palapeli-20.08.3-x86_64-1.txz: Upgraded. kde/parley-20.08.3-x86_64-1.txz: Upgraded. kde/partitionmanager-4.2.0-x86_64-1.txz: Upgraded. kde/perlkde-4.14.3-x86_64-10.txz: Removed. kde/perlqt-4.14.3-x86_64-11.txz: Removed. kde/picmi-20.08.3-x86_64-1.txz: Upgraded. kde/pim-data-exporter-20.08.3-x86_64-1.txz: Added. kde/pim-sieve-editor-20.08.3-x86_64-1.txz: Added. kde/pimcommon-20.08.3-x86_64-1.txz: Added. kde/plasma-browser-integration-5.20.4-x86_64-1.txz: Added. kde/plasma-desktop-5.20.4-x86_64-1.txz: Added. kde/plasma-disks-5.20.4-x86_64-1.txz: Added. kde/plasma-framework-5.76.0-x86_64-1.txz: Added. kde/plasma-integration-5.20.4-x86_64-1.txz: Added. kde/plasma-nm-5.20.4-x86_64-1.txz: Upgraded. kde/plasma-pa-5.20.4-x86_64-1.txz: Added. kde/plasma-sdk-5.20.4-x86_64-1.txz: Added. kde/plasma-vault-5.20.4-x86_64-1.txz: Added. kde/plasma-wayland-protocols-1.1.1-x86_64-1.txz: Added. kde/plasma-workspace-5.20.4-x86_64-1.txz: Added. kde/plasma-workspace-wallpapers-5.20.4-x86_64-1.txz: Added. kde/polkit-kde-agent-1-5.20.4-x86_64-1.txz: Upgraded. kde/polkit-kde-kcmodules-1-001bdf7_20120111git-x86_64-3.txz: Removed. kde/powerdevil-5.20.4-x86_64-1.txz: Added. kde/poxml-20.08.3-x86_64-1.txz: Upgraded. kde/print-manager-20.08.3-x86_64-1.txz: Upgraded. kde/prison-5.76.0-x86_64-1.txz: Added. kde/pulseaudio-qt-1.2-x86_64-1.txz: Added. kde/purpose-5.76.0-x86_64-1.txz: Added. kde/pykde4-4.14.3-x86_64-11.txz: Removed. kde/qqc2-desktop-style-5.76.0-x86_64-1.txz: Added. kde/qtruby-4.14.3-x86_64-11.txz: Removed. kde/rocs-20.08.3-x86_64-1.txz: Upgraded. kde/sddm-0.19.0-x86_64-1.txz: Added. kde/sddm-kcm-5.20.4-x86_64-1.txz: Added. kde/skanlite-2.2.0-x86_64-1.txz: Upgraded. kde/smokegen-4.14.3-x86_64-3.txz: Removed. kde/smokekde-4.14.3-x86_64-3.txz: Removed. kde/smokeqt-4.14.3-x86_64-6.txz: Removed. kde/solid-5.76.0-x86_64-1.txz: Added. kde/sonnet-5.76.0-x86_64-1.txz: Added. kde/spectacle-20.08.3-x86_64-1.txz: Added. kde/step-20.08.3-x86_64-1.txz: Upgraded. kde/superkaramba-4.14.3-x86_64-4.txz: Removed. kde/svgpart-20.08.3-x86_64-1.txz: Upgraded. kde/sweeper-20.08.3-x86_64-1.txz: Upgraded. kde/syndication-5.76.0-x86_64-1.txz: Added. kde/syntax-highlighting-5.76.0-x86_64-1.txz: Added. kde/systemsettings-5.20.4-x86_64-1.txz: Added. kde/threadweaver-5.76.0-x86_64-1.txz: Added. kde/umbrello-20.08.3-x86_64-1.txz: Upgraded. kde/wacomtablet-20201030_417d9d9-x86_64-1.txz: Added. kde/wicd-kde-0.3.0_bcf27d8-x86_64-3.txz: Removed. kde/xdg-desktop-portal-kde-5.20.4-x86_64-1.txz: Added. kde/yakuake-20.08.3-x86_64-1.txz: Added. kde/zeroconf-ioslave-20.08.3-x86_64-1.txz: Upgraded. kdei/calligra-l10n-bs-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-ca-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-ca@valencia-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-cs-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-da-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-de-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-el-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-en_GB-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-es-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-et-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-fi-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-fr-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-gl-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-hu-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-it-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-ja-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-kk-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-nb-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-nl-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-pl-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-pt-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-pt_BR-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-ru-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-sk-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-sv-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-tr-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-uk-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-zh_CN-2.9.11-noarch-1.txz: Removed. kdei/calligra-l10n-zh_TW-2.9.11-noarch-1.txz: Removed. kdei/kde-l10n-ar-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-bg-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-bs-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ca-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ca@valencia-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-cs-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-da-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-de-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-el-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-en_GB-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-es-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-et-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-eu-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-fa-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-fi-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-fr-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ga-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-gl-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-he-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-hi-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-hr-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-hu-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ia-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-id-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-is-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-it-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ja-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-kk-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-km-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ko-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-lt-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-lv-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-mr-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-nb-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-nds-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-nl-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-nn-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-pa-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-pl-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-pt-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-pt_BR-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ro-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ru-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-sk-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-sl-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-sr-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-sv-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-tr-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-ug-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-uk-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-wa-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-zh_CN-4.14.3-noarch-1.txz: Removed. kdei/kde-l10n-zh_TW-4.14.3-noarch-1.txz: Removed. l/ConsoleKit2-1.2.1-x86_64-4.txz: Removed. l/PyQt-4.12.3-x86_64-3.txz: Removed. l/QScintilla-2.11.6-x86_64-1.txz: Upgraded. Drop Qt4 support. l/QtAV-20200910_2a470d2a-x86_64-1.txz: Added. l/SDL2-2.0.12-x86_64-2.txz: Rebuilt. l/accountsservice-0.6.55-x86_64-1.txz: Added. l/automoc4-0.9.88-x86_64-2.txz: Removed. l/cfitsio-3.49-x86_64-1.txz: Added. l/cryfs-0.10.2-x86_64-1.txz: Added. l/cryptopp-8.2.0-x86_64-1.txz: Added. l/dotconf-1.3-x86_64-1.txz: Added. l/dvdauthor-0.7.2-x86_64-1.txz: Added. l/eigen3-3.3.9-x86_64-1.txz: Upgraded. l/frei0r-plugins-1.7.0-x86_64-1.txz: Added. l/fuse3-3.10.1-x86_64-1.txz: Upgraded. l/grantlee-5.2.0-x86_64-1.txz: Upgraded. l/gst-plugins-base-1.18.2-x86_64-1.txz: Upgraded. l/gst-plugins-good-1.18.2-x86_64-1.txz: Upgraded. l/gst-plugins-libav-1.18.2-x86_64-1.txz: Upgraded. l/gstreamer-1.18.2-x86_64-1.txz: Upgraded. l/gtk+3-3.24.24-x86_64-1.txz: Upgraded. l/gvfs-1.46.1-x86_64-2.txz: Rebuilt. Recompiled using -Dlogind=true. l/kdsoap-1.9.1-x86_64-1.txz: Added. l/lensfun-0.3.95-x86_64-1.txz: Added. l/libappindicator-12.10.0-x86_64-1.txz: Added. l/libbluedevil-2.1-x86_64-2.txz: Removed. l/libburn-1.5.2.pl01-x86_64-1.txz: Added. l/libdbusmenu-16.04.0-x86_64-1.txz: Added. l/libdbusmenu-qt-0.9.3+16.04.20160218-x86_64-1.txz: Upgraded. l/libdmtx-0.7.5-x86_64-1.txz: Added. l/libindicator-12.10.1-x86_64-1.txz: Added. l/liblastfm-1.1.0-x86_64-1.txz: Removed. l/libqalculate-3.14.0-x86_64-1.txz: Added. l/mlt-6.22.1-x86_64-1.txz: Added. l/opencv-4.5.0-x86_64-1.txz: Added. l/phonon-4.11.1-x86_64-1.txz: Upgraded. l/phonon-backend-gstreamer-4.10.0-x86_64-1.txz: Added. l/phonon-gstreamer-4.8.2-x86_64-2.txz: Removed. l/pipewire-0.3.13-x86_64-1.txz: Added. l/polkit-0.118-x86_64-2.txz: Rebuilt. l/polkit-qt-1-0.113.0-x86_64-1.txz: Upgraded. l/poppler-20.12.1-x86_64-1.txz: Upgraded. l/python-certifi-2020.12.5-x86_64-1.txz: Upgraded. l/python-pygments-2.7.3-x86_64-1.txz: Upgraded. l/qca-2.3.1-x86_64-1.txz: Upgraded. l/qca-qt5-2.3.1-x86_64-1.txz: Removed. l/qimageblitz-0.0.6-x86_64-2.txz: Removed. l/qjson-0.9.0-x86_64-1.txz: Removed. l/qrencode-4.1.1-x86_64-1.txz: Added. l/qt-4.8.7-x86_64-17.txz: Removed. l/qt-gstreamer-1.2.0-x86_64-2.txz: Removed. l/qt5-5.15.2-x86_64-2.txz: Rebuilt. l/qtkeychain-0.11.1-x86_64-1.txz: Added. l/qtscriptgenerator-0.2.0-x86_64-3.txz: Removed. l/quazip-1.1-x86_64-1.txz: Added. l/raptor2-2.0.15-x86_64-10.txz: Removed. l/rasqal-0.9.33-x86_64-3.txz: Removed. l/readline-8.1.000-x86_64-1.txz: Upgraded. l/redland-1.0.17-x86_64-6.txz: Removed. l/rttr-0.9.6-x86_64-1.txz: Added. l/soprano-2.9.4-x86_64-3.txz: Removed. l/speech-dispatcher-0.10.2-x86_64-1.txz: Added. l/strigi-0.7.8-x86_64-4.txz: Removed. l/vid.stab-20200916_e851e7b-x86_64-1.txz: Added. l/xapian-core-1.4.17-x86_64-2.txz: Rebuilt. n/NetworkManager-1.28.0-x86_64-1.txz: Upgraded. Drop ConsoleKit2 support and add elogind support. Thanks to Robby Workman. x/OpenCC-1.1.1-x86_64-1.txz: Added. x/cldr-emoji-annotation-37.0_13.0_0_2-noarch-1.txz: Added. x/fcitx-4.2.9.8-x86_64-1.txz: Added. Don't build Qt4 components. x/fcitx-anthy-0.2.3-x86_64-1.txz: Added. x/fcitx-configtool-0.4.9-x86_64-1.txz: Added. x/fcitx-hangul-0.3.1-x86_64-1.txz: Added. x/fcitx-kkc-0.1.4-x86_64-1.txz: Added. x/fcitx-libpinyin-0.5.3-x86_64-1.txz: Added. x/fcitx-m17n-0.2.4-x86_64-1.txz: Added. x/fcitx-qt5-1.2.5-x86_64-1.txz: Added. x/fcitx-sayura-0.1.2-x86_64-1.txz: Added. x/fcitx-table-extra-0.3.8-x86_64-1.txz: Added. x/fcitx-table-other-0.2.4-x86_64-1.txz: Added. x/fcitx-unikey-0.2.7-x86_64-1.txz: Added. x/ibus-1.5.23-x86_64-1.txz: Added. x/ibus-anthy-1.5.11-x86_64-1.txz: Added. x/ibus-hangul-1.5.4-x86_64-1.txz: Added. x/ibus-kkc-1.5.22-x86_64-1.txz: Added. x/ibus-libpinyin-1.11.1-x86_64-1.txz: Added. x/ibus-m17n-1.4.3-x86_64-1.txz: Added. x/ibus-table-1.12.1-x86_64-1.txz: Added. x/ibus-unikey-0.6.1-x86_64-1.txz: Added. x/libgee-0.20.1-x86_64-1.txz: Added. x/libkkc-0.3.5-x86_64-1.txz: Added. x/libkkc-data-0.2.7-x86_64-1.txz: Added. x/libpinyin-2.3.0-x86_64-1.txz: Added. x/marisa-0.2.4-x86_64-1.txz: Added. x/motif-2.3.8-x86_64-3.txz: Rebuilt. Added xinitrc.mwm. Thanks to ziprun. x/scim-1.4.18-x86_64-1.txz: Removed. x/scim-anthy-1.2.7-x86_64-2.txz: Removed. x/scim-hangul-0.4.0-x86_64-2.txz: Removed. x/scim-input-pad-0.1.3.1-x86_64-2.txz: Removed. x/scim-m17n-0.2.3-x86_64-2.txz: Removed. x/scim-pinyin-0.5.92-x86_64-2.txz: Removed. x/scim-tables-0.5.14.1-x86_64-2.txz: Removed. x/skkdic-20200128-noarch-1.txz: Added. x/xdm-1.1.11-x86_64-11.txz: Rebuilt. Drop ConsoleKit2 patch, fix pam.d/xdm file. Thanks to Robby Workman. xap/seamonkey-2.53.5.1-x86_64-1.txz: Upgraded. This update contains security fixes and improvements. For more information, see: https://www.seamonkey-project.org/releases/seamonkey2.53.5.1 (* Security fix *) xap/vim-gvim-8.2.2105-x86_64-1.txz: Upgraded. xap/xine-lib-1.2.11-x86_64-1.txz: Upgraded. xfce/Greybird-3.22.12-noarch-1.txz: Added. xfce/elementary-xfce-0.15.1-x86_64-1.txz: Added. xfce/exo-0.12.11-x86_64-2.txz: Rebuilt. xfce/garcon-0.6.4-x86_64-2.txz: Rebuilt. xfce/gtk-xfce-engine-2.10.1-x86_64-3.txz: Removed. xfce/libxfce4ui-4.14.1-x86_64-1.txz: Upgraded. xfce/libxfce4util-4.14.0-x86_64-1.txz: Upgraded. xfce/mousepad-0.4.2-x86_64-1.txz: Added. xfce/orage-4.12.1-x86_64-5.txz: Removed. xfce/thunar-1.8.16-x86_64-2.txz: Rebuilt. xfce/thunar-volman-0.9.5-x86_64-2.txz: Rebuilt. xfce/tumbler-0.2.9-x86_64-2.txz: Rebuilt. xfce/xfce4-appfinder-4.14.0-x86_64-1.txz: Upgraded. xfce/xfce4-clipman-plugin-1.6.1-x86_64-1.txz: Upgraded. xfce/xfce4-dev-tools-4.14.0-x86_64-1.txz: Upgraded. xfce/xfce4-notifyd-0.6.2-x86_64-1.txz: Upgraded. xfce/xfce4-panel-4.14.4-x86_64-1.txz: Upgraded. xfce/xfce4-panel-profiles-1.0.10-x86_64-1.txz: Added. xfce/xfce4-power-manager-1.6.6-x86_64-1.txz: Upgraded. xfce/xfce4-pulseaudio-plugin-0.4.3-x86_64-1.txz: Upgraded. xfce/xfce4-screensaver-0.1.11-x86_64-1.txz: Added. xfce/xfce4-screenshooter-1.9.7-x86_64-1.txz: Upgraded. xfce/xfce4-session-4.14.2-x86_64-1.txz: Upgraded. xfce/xfce4-settings-4.14.3-x86_64-1.txz: Upgraded. xfce/xfce4-systemload-plugin-1.2.3-x86_64-2.txz: Rebuilt. xfce/xfce4-taskmanager-1.2.3-x86_64-1.txz: Upgraded. xfce/xfce4-terminal-0.8.9.2-x86_64-1.txz: Upgraded. xfce/xfce4-weather-plugin-0.10.2-x86_64-1.txz: Upgraded. xfce/xfce4-whiskermenu-plugin-2.4.6-x86_64-1.txz: Added. xfce/xfconf-4.14.4-x86_64-1.txz: Upgraded. xfce/xfdesktop-4.14.3-x86_64-1.txz: Upgraded. xfce/xfwm4-4.14.6-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l')
-rwxr-xr-xsource/l/ConsoleKit2/ConsoleKit2.SlackBuild182
-rw-r--r--source/l/ConsoleKit2/rc.consolekit34
-rw-r--r--source/l/ConsoleKit2/slack-desc19
-rwxr-xr-xsource/l/PyQt/PyQt.SlackBuild139
-rw-r--r--source/l/PyQt/PyQt.phonon.diff11
-rwxr-xr-xsource/l/QScintilla/QScintilla.SlackBuild60
-rwxr-xr-xsource/l/QtAV/QtAV.SlackBuild138
-rw-r--r--source/l/QtAV/QtAV.url1
-rw-r--r--source/l/QtAV/doinst.sh3
-rwxr-xr-xsource/l/QtAV/fetch-QtAV.sh52
-rw-r--r--source/l/QtAV/slack-desc (renamed from source/l/PyQt/slack-desc)22
-rwxr-xr-xsource/l/SDL2/SDL2.SlackBuild2
-rwxr-xr-xsource/l/accountsservice/accountsservice.SlackBuild156
-rw-r--r--source/l/accountsservice/accountsservice.url1
-rw-r--r--source/l/accountsservice/slack-desc20
-rw-r--r--source/l/akonadi/akonadi-mariadb-10.2.patch65
-rw-r--r--source/l/akonadi/doinst.sh5
-rw-r--r--source/l/akonadi/mysql-global.conf.patch21
-rwxr-xr-xsource/l/attica/attica.SlackBuild114
-rw-r--r--source/l/attica/slack-desc19
-rw-r--r--source/l/automoc4/slack-desc19
-rwxr-xr-xsource/l/cfitsio/cfitsio.SlackBuild140
-rw-r--r--source/l/cfitsio/cfitsio.url1
-rw-r--r--source/l/cfitsio/slack-desc19
-rwxr-xr-xsource/l/cryfs/cryfs.SlackBuild138
-rw-r--r--source/l/cryfs/cryfs.url1
-rw-r--r--source/l/cryfs/slack-desc (renamed from source/l/liblastfm/slack-desc)24
-rwxr-xr-xsource/l/cryptopp/cryptopp.SlackBuild (renamed from source/l/automoc4/automoc4.SlackBuild)108
-rw-r--r--source/l/cryptopp/cryptopp.url1
-rw-r--r--source/l/cryptopp/slack-desc19
-rwxr-xr-xsource/l/dotconf/dotconf.SlackBuild (renamed from source/l/liblastfm/liblastfm.SlackBuild)97
-rw-r--r--source/l/dotconf/dotconf.url1
-rw-r--r--source/l/dotconf/slack-desc19
-rw-r--r--source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch75
-rwxr-xr-xsource/l/dvdauthor/dvdauthor.SlackBuild148
-rw-r--r--source/l/dvdauthor/dvdauthor.url1
-rw-r--r--source/l/dvdauthor/slack-desc19
-rwxr-xr-xsource/l/eigen3/eigen3.SlackBuild12
-rw-r--r--source/l/eigen3/slack-desc2
-rwxr-xr-xsource/l/frei0r-plugins/frei0r-plugins.SlackBuild (renamed from source/l/akonadi/akonadi.SlackBuild)108
-rw-r--r--source/l/frei0r-plugins/frei0r-plugins.url1
-rw-r--r--source/l/frei0r-plugins/slack-desc19
-rwxr-xr-xsource/l/grantlee/grantlee.SlackBuild99
-rw-r--r--source/l/grantlee/grantlee.url1
-rw-r--r--source/l/grantlee/slack-desc14
-rwxr-xr-xsource/l/gst-plugins-base/gst-plugins-base.SlackBuild2
-rw-r--r--source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff583
-rwxr-xr-xsource/l/gtk+3/gtk+3.SlackBuild5
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild4
-rwxr-xr-xsource/l/kdsoap/kdsoap.SlackBuild (renamed from source/l/qjson/qjson.SlackBuild)73
-rw-r--r--source/l/kdsoap/kdsoap.url1
-rw-r--r--source/l/kdsoap/slack-desc19
-rwxr-xr-xsource/l/lensfun/lensfun.SlackBuild (renamed from source/l/qt-gstreamer/qt-gstreamer.SlackBuild)112
-rw-r--r--source/l/lensfun/lensfun.url1
-rw-r--r--source/l/lensfun/slack-desc (renamed from source/l/akonadi/slack-desc)24
-rwxr-xr-xsource/l/libappindicator/libappindicator.SlackBuild163
-rw-r--r--source/l/libappindicator/slack-desc19
-rw-r--r--source/l/libbluedevil/slack-desc19
-rwxr-xr-xsource/l/libburn/libburn.SlackBuild143
-rw-r--r--source/l/libburn/libburn.url1
-rw-r--r--source/l/libburn/slack-desc19
-rwxr-xr-xsource/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild114
-rw-r--r--source/l/libdbusmenu-qt/libdbusmenu-qt.url1
-rw-r--r--source/l/libdbusmenu-qt/slack-desc4
-rwxr-xr-xsource/l/libdbusmenu/libdbusmenu.SlackBuild159
-rw-r--r--source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch35
-rw-r--r--source/l/libdbusmenu/slack-desc19
-rwxr-xr-xsource/l/libdmtx/libdmtx.SlackBuild143
-rw-r--r--source/l/libdmtx/libdmtx.url1
-rw-r--r--source/l/libdmtx/slack-desc19
-rw-r--r--source/l/libindicator/libindicator.LIBM.diff11
-rwxr-xr-xsource/l/libindicator/libindicator.SlackBuild159
-rw-r--r--source/l/libindicator/slack-desc19
-rw-r--r--source/l/liblastfm/liblastfm.url1
-rwxr-xr-xsource/l/libqalculate/libqalculate.SlackBuild145
-rw-r--r--source/l/libqalculate/libqalculate.url1
-rw-r--r--source/l/libqalculate/slack-desc19
-rwxr-xr-xsource/l/mlt/mlt.SlackBuild153
-rw-r--r--source/l/mlt/mlt.deps4
-rw-r--r--source/l/mlt/mlt.url1
-rw-r--r--source/l/mlt/slack-desc19
-rwxr-xr-xsource/l/opencv/opencv.SlackBuild148
-rw-r--r--source/l/opencv/opencv.url2
-rw-r--r--source/l/opencv/slack-desc19
-rwxr-xr-xsource/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild (renamed from source/l/qca-qt5/qca-qt5.SlackBuild)25
-rw-r--r--source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url1
-rw-r--r--source/l/phonon-backend-gstreamer/slack-desc19
-rwxr-xr-xsource/l/phonon-gstreamer/phonon-gstreamer.SlackBuild151
-rw-r--r--source/l/phonon-gstreamer/slack-desc19
-rwxr-xr-xsource/l/phonon/phonon.SlackBuild80
-rw-r--r--source/l/phonon/phonon.deps1
-rw-r--r--source/l/phonon/phonon.url1
-rw-r--r--source/l/phonon/slack-desc4
-rw-r--r--source/l/pipewire/doinst.sh (renamed from source/l/ConsoleKit2/doinst.sh)14
-rwxr-xr-xsource/l/pipewire/pipewire.SlackBuild137
-rw-r--r--source/l/pipewire/pipewire.url1
-rw-r--r--source/l/pipewire/slack-desc19
-rwxr-xr-xsource/l/polkit-qt-1/polkit-qt-1.SlackBuild95
-rw-r--r--source/l/polkit-qt-1/polkit-qt-1.url1
-rw-r--r--source/l/polkit-qt-1/pull-polkit-qt-16
-rw-r--r--source/l/polkit-qt-1/slack-desc6
-rw-r--r--source/l/polkit/0001-configure-fix-elogind-support.patch29
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild18
-rw-r--r--source/l/qca-qt5/slack-desc19
-rw-r--r--source/l/qca/Add_support_for_OpenSSL_1.1.0.diff1720
-rwxr-xr-xsource/l/qca/qca.SlackBuild118
-rw-r--r--source/l/qca/qca.tlsunittest.cpp.diff58
-rw-r--r--source/l/qca/qca.url (renamed from source/l/qca-qt5/qca-qt5.url)0
-rw-r--r--source/l/qca/slack-desc22
-rwxr-xr-xsource/l/qimageblitz/qimageblitz.SlackBuild101
-rw-r--r--source/l/qimageblitz/qimageblitz.info8
-rw-r--r--source/l/qimageblitz/slack-desc19
-rw-r--r--source/l/qjson/slack-desc19
-rwxr-xr-xsource/l/qrencode/qrencode.SlackBuild144
-rw-r--r--source/l/qrencode/qrencode.url1
-rw-r--r--source/l/qrencode/slack-desc19
-rw-r--r--source/l/qt-gstreamer/doinst.sh5
-rw-r--r--source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff12
-rw-r--r--source/l/qt-gstreamer/slack-desc19
-rw-r--r--source/l/qt/Qt.pc16
-rw-r--r--source/l/qt/README9
-rw-r--r--source/l/qt/doinst.sh10
-rw-r--r--source/l/qt/patches/qt-4.8-disable-sslv3.patch56
-rw-r--r--source/l/qt/patches/qt-4.8-poll.patch812
-rw-r--r--source/l/qt/patches/qt-aarch64.patch514
-rw-r--r--source/l/qt/patches/qt-cupsEnumDests.patch238
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch84
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch69
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch41
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch20
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch36
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch27
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch10
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch23
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch14
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch16
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch24
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch84
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch29
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch19
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch22
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch19
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch16
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch17
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch94
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch63
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch31
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch351
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch1456
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch137
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch12
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch45
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch35
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch28
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch13
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch694
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch40
-rw-r--r--source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch12
-rw-r--r--source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch17
-rw-r--r--source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch50
-rw-r--r--source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch12
-rw-r--r--source/l/qt/profile.d/qt4.csh22
-rw-r--r--source/l/qt/profile.d/qt4.sh23
-rwxr-xr-xsource/l/qt/qt-nowebkit.SlackBuild362
-rwxr-xr-xsource/l/qt/qt.SlackBuild113
-rw-r--r--source/l/qt/qtwebkit/doinst.sh5
-rwxr-xr-xsource/l/qt/qtwebkit/qtwebkit.SlackBuild166
-rw-r--r--source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff13
-rw-r--r--source/l/qt/qtwebkit/qtwebkit.url1
-rw-r--r--source/l/qt/qtwebkit/slack-desc19
-rw-r--r--source/l/qt/slack-desc19
-rwxr-xr-xsource/l/qt5/qt5.SlackBuild3
-rwxr-xr-xsource/l/qtkeychain/qtkeychain.SlackBuild124
-rw-r--r--source/l/qtkeychain/qtkeychain.url1
-rw-r--r--source/l/qtkeychain/slack-desc19
-rw-r--r--source/l/qtscriptgenerator/include-everything.patch55
-rwxr-xr-xsource/l/qtscriptgenerator/qtscriptgenerator.SlackBuild150
-rw-r--r--source/l/qtscriptgenerator/qtscriptgenerator.info8
-rw-r--r--source/l/qtscriptgenerator/slack-desc19
-rwxr-xr-xsource/l/quazip/quazip.SlackBuild (renamed from source/l/libbluedevil/libbluedevil.SlackBuild)81
-rw-r--r--source/l/quazip/quazip.url1
-rw-r--r--source/l/quazip/slack-desc19
-rw-r--r--source/l/raptor2/slack-desc19
-rwxr-xr-xsource/l/rasqal/rasqal.SlackBuild140
-rw-r--r--source/l/rasqal/slack-desc19
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00138
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00260
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00369
-rw-r--r--source/l/readline/readline-8.0-patches/readline80-00447
-rwxr-xr-xsource/l/redland/redland.SlackBuild146
-rw-r--r--source/l/redland/slack-desc19
-rwxr-xr-xsource/l/rttr/rttr.SlackBuild136
-rw-r--r--source/l/rttr/rttr.url1
-rw-r--r--source/l/rttr/slack-desc19
-rw-r--r--source/l/soprano/slack-desc19
-rwxr-xr-xsource/l/soprano/soprano.SlackBuild115
-rw-r--r--source/l/speech-dispatcher/slack-desc19
-rwxr-xr-xsource/l/speech-dispatcher/speech-dispatcher.SlackBuild (renamed from source/l/raptor2/raptor2.SlackBuild)147
-rw-r--r--source/l/speech-dispatcher/speech-dispatcher.url1
-rw-r--r--source/l/strigi/README17
-rw-r--r--source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch30
-rw-r--r--source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch33
-rw-r--r--source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch1266
-rw-r--r--source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch50
-rw-r--r--source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch43
-rw-r--r--source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch65
-rw-r--r--source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch25
-rw-r--r--source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch276
-rw-r--r--source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch31
-rw-r--r--source/l/strigi/slack-desc19
-rwxr-xr-xsource/l/strigi/strigi.SlackBuild136
-rw-r--r--source/l/strigi/strigi.info4
-rwxr-xr-xsource/l/vid.stab/fetch-vid.stab.sh52
-rw-r--r--source/l/vid.stab/slack-desc19
-rwxr-xr-xsource/l/vid.stab/vid.stab.SlackBuild127
-rw-r--r--source/l/vid.stab/vid.stab.url1
-rwxr-xr-xsource/l/xapian-core/xapian-core.SlackBuild2
228 files changed, 4092 insertions, 13286 deletions
diff --git a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild b/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
deleted file mode 100755
index 1c5c07a28..000000000
--- a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for ConsoleKit
-
-# Copyright 2009, 2015 Robby Workman, Northport, Alabama, USA
-# Copyright 2010, 2015 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=ConsoleKit2
-VERSION=${VERSION:-1.2.1}
-BUILD=${BUILD:-4}
-
-# Maximum storage quota for XDG_RUNTIME_DIR:
-XDG_RUNTIME_QUOTA=${XDG_RUNTIME_QUOTA:-size=100M}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$(uname -m)" in
- i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) ARCH=$(uname -m) ;;
- esac
- export ARCH
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- SLKLDFLAGS="-L/usr/lib64"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- SLKLDFLAGS=""
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-# Apply a reasonable maximum size for the user's XDG_RUNTIME_DIR:
-sed -i "s/mode=0700,uid=%d/mode=0700,$XDG_RUNTIME_QUOTA,uid=%d/g" src/ck-sysdeps-linux.c
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Choose correct options depending on whether PAM is installed:
-if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
- PAM_OPTIONS="--enable-pam-module=yes --with-pam-module-dir=/lib${LIBDIRSUFFIX}/security --disable-libcgmanager"
- unset SHADOW_OPTIONS
-else
- unset PAM_OPTIONS
- SHADOW_OPTIONS="--enable-pam-module=no"
-fi
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --with-rundir=/var/run \
- --with-pid-file=/var/run/ConsoleKit/pid \
- --enable-docbook-docs \
- $PAM_OPTIONS \
- $SHADOW_OPTIONS \
- --enable-udev-acl \
- --enable-polkit \
- --disable-static \
- --build=$TARGET || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-
-# The ones in /lib${LIBDIRSUFFIX}/security can also go:
-rm -f $PKG/lib${LIBDIRSUFFIX}/security/*.la
-
-# Let's not clobber config files
-mv $PKG/etc/ConsoleKit/seats.d/00-primary.seat \
- $PKG/etc/ConsoleKit/seats.d/00-primary.seat.new
-
-# Add an init script
-mkdir -p $PKG/etc/rc.d
-cat $CWD/rc.consolekit > $PKG/etc/rc.d/rc.consolekit.new
-chmod 0755 $PKG/etc/rc.d/rc.consolekit.new
-
-# Remove unused xinitrc.d script:
-rm -r $PKG/etc/X11/xinit/xinitrc.d
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Compress manual pages:
-find $PKG/usr/man -type f -exec gzip -9 {} \+
-for i in $( find $PKG/usr/man -type l ) ; do
- ln -s $( readlink $i ).gz $i.gz
- rm $i
-done
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING HACKING INSTALL NEWS README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/ConsoleKit2/rc.consolekit b/source/l/ConsoleKit2/rc.consolekit
deleted file mode 100644
index a1937569c..000000000
--- a/source/l/ConsoleKit2/rc.consolekit
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# /etc/rc.d/rc.consolekit
-#
-# Start/stop consolekit-kit daemon.
-#
-# This daemon is used by polkit's console auth agent.
-
-# Start consolekit:
-ck_start() {
- echo "Starting ConsoleKit daemon: /usr/sbin/console-kit-daemon"
- /usr/sbin/console-kit-daemon
-}
-
-# Stop consolekit:
-ck_stop() {
- if [ -r /var/run/ConsoleKit/pid ]; then
- kill -HUP $(cat /var/run/ConsoleKit/pid)
- rm -f /var/run/ConsoleKit/pid
- else
- killall -HUP -q console-kit-daemon
- fi
-}
-
-case "$1" in
-'start')
- ck_start
- ;;
-'stop')
- ck_stop
- ;;
-*)
- echo "Usage: $0 start|stop"
-esac
diff --git a/source/l/ConsoleKit2/slack-desc b/source/l/ConsoleKit2/slack-desc
deleted file mode 100644
index 6b51ea7df..000000000
--- a/source/l/ConsoleKit2/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-----------------------------------------------------|
-ConsoleKit2: ConsoleKit2 (user, login, and seat tracking framework)
-ConsoleKit2:
-ConsoleKit2: ConsoleKit2 is a framework for defining and tracking users, login
-ConsoleKit2: sessions, and seats.
-ConsoleKit2:
-ConsoleKit2: Homepage: https://github.com/ConsoleKit2/ConsoleKit2
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
-ConsoleKit2:
diff --git a/source/l/PyQt/PyQt.SlackBuild b/source/l/PyQt/PyQt.SlackBuild
deleted file mode 100755
index 801234244..000000000
--- a/source/l/PyQt/PyQt.SlackBuild
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for PyQt
-
-# Copyright 2008 Aleksandar Samardzic <asamardzic@gmail.com>
-# Copyright 2008, 2009, 2010, 2011, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=PyQt
-VERSION=${VERSION:-$(echo ${PKGNAM}4_gpl_x11-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$(uname -m)" in
- i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) ARCH=$(uname -m) ;;
- esac
- export ARCH
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
-else
- SLKCFLAGS="-O2"
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$(echo $VERSION |tr - _)-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-PYTHON2LIB=$( python2 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null )
-PYTHON3LIB=$( python3 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null )
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-
-rm -rf ${PKGNAM}4_gpl_x11-$VERSION
-tar xvf $CWD/${PKGNAM}4_gpl_x11-$VERSION.tar.?z || exit 1
-cd ${PKGNAM}4_gpl_x11-$VERSION || exit 1
-
-# Fix phonon detection:
-zcat $CWD/$PKGNAM.phonon.diff.gz | patch -p1 --verbose || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# This avoids compiling a version number into KDE's .la files:
-export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-export QT4DIR=/usr/lib${LIBDIRSUFFIX}/qt
-
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
-
-python3 configure.py \
- --confirm-license \
- --qsci-api \
- --verbose
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
-make clean
-
-mv $PKG/usr/bin/pyuic4 $PKG/usr/bin/pyuic4-py3
-rm -rf $PKG/$PYTHON3LIB/${PKGNAM}4/uic/port_v2/
-
-python2 configure.py \
- --confirm-license \
- --qsci-api \
- --verbose
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
-
-rm -rf $PKG/$PYTHON2LIB/${PKGNAM}4/uic/port_v3/
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Remove rpaths:
-for file in $(find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do
- if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then
- patchelf --remove-rpath $file
- fi
-done
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- GPL_EXCEPTION*.TXT LICENSE.* NEWS OPENSOURCE-NOTICE.TXT README THANKS doc/* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION |tr - _)-$ARCH-$BUILD.txz
diff --git a/source/l/PyQt/PyQt.phonon.diff b/source/l/PyQt/PyQt.phonon.diff
deleted file mode 100644
index feda65096..000000000
--- a/source/l/PyQt/PyQt.phonon.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- PyQt-x11-gpl-4.6.2/configure.py.orig 2010-01-08 23:39:46.000000000 +0100
-+++ PyQt-x11-gpl-4.6.2/configure.py 2010-01-08 23:45:18.000000000 +0100
-@@ -451,7 +451,7 @@
- generate_code("QtXmlPatterns")
-
- if "phonon" in pyqt_modules:
-- generate_code("phonon")
-+ generate_code("phonon", extra_include_dirs=["/usr/include/phonon"])
-
- if "QtAssistant" in pyqt_modules:
- generate_code("QtAssistant")
diff --git a/source/l/QScintilla/QScintilla.SlackBuild b/source/l/QScintilla/QScintilla.SlackBuild
index ec2cd41ba..708c02a92 100755
--- a/source/l/QScintilla/QScintilla.SlackBuild
+++ b/source/l/QScintilla/QScintilla.SlackBuild
@@ -29,7 +29,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=QScintilla
VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -142,66 +142,8 @@ if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
#make || exit 1
#make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1
cd -
-
- # In order to compile Qt4 support next, clean up first:
- make clean -C Qt4Qt5 || exit 1
- make clean -C designer-Qt4Qt5 || exit 1
- make clean -C Python || exit 1
fi
-# QT4 support:
-echo "-- Compiling Qt4 support --"
-cd Qt4Qt5
- echo "-- >> Qt4Qt5 --"
- qmake \
- -o Makefile \
- QMAKE_CFLAGS+="$SLKCFLAGS" \
- QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \
- qscintilla.pro || exit 1
- make $NUMJOBS || exit 1
- make install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-cd designer-Qt4Qt5
- echo "-- >> designer-Qt4Qt5 --"
- qmake \
- -o Makefile \
- INCLUDEPATH+=../Qt4Qt5 QMAKE_LIBDIR+=../Qt4Qt5 \
- QMAKE_CFLAGS+="$SLKCFLAGS" \
- QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \
- designer.pro || exit 1
- make $NUMJOBS || exit 1
- make install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-cd Python
- echo "-- >> Python --"
- python3 configure.py \
- --verbose \
- --qmake /usr/bin/qmake \
- -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \
- || exit 1
- make -j1 || exit 1
- make -j1 install INSTALL_ROOT=$PKG || exit 1
-
- make clean || exit 1
-
- python2 configure.py \
- --verbose \
- --qmake /usr/bin/qmake \
- -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \
- || exit 1
- make -j1 || exit 1
- make -j1 install INSTALL_ROOT=$PKG || exit 1
-cd -
-
-# Link the shared qt4 libraries into /usr/lib${LIBDIRSUFFIX}:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in $(ls -1 qt/lib/*.so* 2>/dev/null) ; do
- ln -sf $file .
- done
-)
-
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/QtAV/QtAV.SlackBuild b/source/l/QtAV/QtAV.SlackBuild
new file mode 100755
index 000000000..3e4cd3438
--- /dev/null
+++ b/source/l/QtAV/QtAV.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=QtAV
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export LDFLAGS="$SLKLDFLAGS"
+
+qmake-qt5 INSTALL_PREFIX=/usr "CONFIG+=no-tests no_rpath recheck"
+make $NUMJOBS || make || exit 1
+make INSTALL_ROOT=$PKG install || exit 1
+
+# Create symlinks for the binaries; these are referenced in *.desktop:
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/Player .
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/QMLPlayer .
+)
+
+# Fix documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mv $PKG/usr/share/doc/* $PKG/usr/doc/$PKGNAM-$VERSION/
+rmdir $PKG/usr/share/doc
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/QtAV/QtAV.url b/source/l/QtAV/QtAV.url
new file mode 100644
index 000000000..8927fd5b6
--- /dev/null
+++ b/source/l/QtAV/QtAV.url
@@ -0,0 +1 @@
+https://github.com/wang-bin/QtAV
diff --git a/source/l/QtAV/doinst.sh b/source/l/QtAV/doinst.sh
new file mode 100644
index 000000000..5fb28930d
--- /dev/null
+++ b/source/l/QtAV/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/source/l/QtAV/fetch-QtAV.sh b/source/l/QtAV/fetch-QtAV.sh
new file mode 100755
index 000000000..d802d7add
--- /dev/null
+++ b/source/l/QtAV/fetch-QtAV.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=QtAV
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/wang-bin/QtAV
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/l/PyQt/slack-desc b/source/l/QtAV/slack-desc
index e8cf45acd..95f8483f0 100644
--- a/source/l/PyQt/slack-desc
+++ b/source/l/QtAV/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-PyQt: PyQt (Python bindings for Qt)
-PyQt:
-PyQt: PyQt is a set of Python bindings for the Qt application framework and
-PyQt: runs on all platforms supported by Qt.
-PyQt:
-PyQt: Homepage: http://www.riverbankcomputing.co.uk/software/pyqt/
-PyQt:
-PyQt:
-PyQt:
-PyQt:
-PyQt:
+QtAV: QtAV (multimedia playback framework)
+QtAV:
+QtAV: QtAV is a multimedia playback framework based on Qt and FFmpeg. Some
+QtAV: components in QtAV are designed to be extensible.
+QtAV:
+QtAV: Homepage: http://qtav.org
+QtAV:
+QtAV:
+QtAV:
+QtAV:
+QtAV:
diff --git a/source/l/SDL2/SDL2.SlackBuild b/source/l/SDL2/SDL2.SlackBuild
index 984c58803..a07d35960 100755
--- a/source/l/SDL2/SDL2.SlackBuild
+++ b/source/l/SDL2/SDL2.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=SDL2
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/accountsservice/accountsservice.SlackBuild b/source/l/accountsservice/accountsservice.SlackBuild
new file mode 100755
index 000000000..0c2c02b3f
--- /dev/null
+++ b/source/l/accountsservice/accountsservice.SlackBuild
@@ -0,0 +1,156 @@
+#!/bin/bash
+
+# Copyright 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=accountsservice
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -D admin_group=wheel \
+ -D docbook=false \
+ -D gtk_doc=true \
+ -D elogind=true \
+ -D systemd=false \
+ -D systemdsystemunitdir=no \
+ -D user_heuristics=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# This removes our DESTDIR from the packlist filenames, to keep perl's
+# internal inventories consistent and correct.
+find $PKG -name .packlist | while read plist ; do
+ sed -e "s%$PKG%%g" \
+ -e "s%/share/man%/man%g" \
+ -re "s%\.([1-9]n?|3pm)$%&.gz%g # extend man filenames for .gz" \
+ ${plist} > ${plist}.new
+ mv -f ${plist}.new ${plist}
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/accountsservice/accountsservice.url b/source/l/accountsservice/accountsservice.url
new file mode 100644
index 000000000..73889e637
--- /dev/null
+++ b/source/l/accountsservice/accountsservice.url
@@ -0,0 +1 @@
+https://www.freedesktop.org/software/accountsservice
diff --git a/source/l/accountsservice/slack-desc b/source/l/accountsservice/slack-desc
new file mode 100644
index 000000000..e11fb6e85
--- /dev/null
+++ b/source/l/accountsservice/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+accountsservice: accountsservice (D-Bus interface for user account query)
+accountsservice:
+accountsservice: AccountsService is a D-Bus service for accessing the list of user
+accountsservice: accounts and information attached to those accounts.
+accountsservice:
+accountsservice: Homepage: https://www.freedesktop.org/wiki/Software/AccountsService/
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+accountsservice:
+
diff --git a/source/l/akonadi/akonadi-mariadb-10.2.patch b/source/l/akonadi/akonadi-mariadb-10.2.patch
deleted file mode 100644
index 99b096fb3..000000000
--- a/source/l/akonadi/akonadi-mariadb-10.2.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-commit 22c53fa2aa97c7f0b5d7a1947821c5b3aef9de0f
-Author: Heinz Wiesinger <pprkut@liwjatan.at>
-Date: Sun Sep 17 15:55:48 2017 +0200
-
- Only remove init connections to the database on server shutdown.
-
- With MariaDB 10.2 libmysqlclient was replaced with libmariadb that
- changed how establishing database connections behaves. The MySQL
- QSQL driver calls mysql_server_end() on QSqlDatabase::removeDatabase()
- if the overall connection count dropped to 0 (which it does when
- the init connection is removed).
- A future QSqlDatabase:addDatabase() would call mysql_server_init()
- again, but this no longer works with libmariadb as that one only
- allows calling mysql_server_init() once. Future calls are simply
- ignored.
-
- In order to prevent this from happening we have to keep the
- init connection open until the server shuts down, so the connection
- count only drops to 0 at shutdown and mysql_server_end() isn't
- called before.
-
- This is a workaround for QTBUG-63108
-
-diff --git a/server/src/akonadi.cpp b/server/src/akonadi.cpp
-index 5369320c8..6d31f6ff4 100644
---- a/server/src/akonadi.cpp
-+++ b/server/src/akonadi.cpp
-@@ -370,12 +370,13 @@ void AkonadiServer::createDatabase()
- db.close();
- }
- }
-- QSqlDatabase::removeDatabase( initCon );
- }
-
- void AkonadiServer::stopDatabaseProcess()
- {
- if ( !DbConfig::configuredDatabase()->useInternalServer() ) {
-+ // closing initConnection this late to work around QTBUG-63108
-+ QSqlDatabase::removeDatabase(QLatin1String("initConnection"));
- return;
- }
-
-diff --git a/server/src/storage/dbconfigmysql.cpp b/server/src/storage/dbconfigmysql.cpp
-index 10f99db70..36f1f3a42 100644
---- a/server/src/storage/dbconfigmysql.cpp
-+++ b/server/src/storage/dbconfigmysql.cpp
-@@ -395,8 +395,6 @@ void DbConfigMysql::startInternalServer()
- db.close();
- }
- }
--
-- QSqlDatabase::removeDatabase( initCon );
- }
-
- void DbConfigMysql::stopInternalServer()
-@@ -405,6 +403,9 @@ void DbConfigMysql::stopInternalServer()
- return;
- }
-
-+ // closing initConnection this late to work around QTBUG-63108
-+ QSqlDatabase::removeDatabase(QLatin1String("initConnection"));
-+
- // first, try the nicest approach
- if ( !mCleanServerShutdownCommand.isEmpty() ) {
- QProcess::execute( mCleanServerShutdownCommand );
diff --git a/source/l/akonadi/doinst.sh b/source/l/akonadi/doinst.sh
deleted file mode 100644
index aab1b9e3c..000000000
--- a/source/l/akonadi/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database ./usr/share/mime >/dev/null 2>&1
-fi
-
diff --git a/source/l/akonadi/mysql-global.conf.patch b/source/l/akonadi/mysql-global.conf.patch
deleted file mode 100644
index 24bf6ea0c..000000000
--- a/source/l/akonadi/mysql-global.conf.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -r -u akonadi-1.13.0.orig/server/src/storage/mysql-global.conf akonadi-1.13.0/server/src/storage/mysql-global.conf
---- akonadi-1.13.0.orig/server/src/storage/mysql-global.conf 2014-08-10 12:38:58.000000000 +0200
-+++ akonadi-1.13.0/server/src/storage/mysql-global.conf 2017-08-31 19:43:35.000000000 +0200
-@@ -37,13 +37,13 @@
- # use InnoDB for transactions and better crash recovery
- default_storage_engine=innodb
-
--# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
--# Deprecated in MySQL >= 5.6.3
--innodb_additional_mem_pool_size=1M
-+# memory pool InnoDB uses to store data dictionary information and other internal data structures (default:8M)
-+# Deprecated in MySQL >= 5.6.3, removed in 5.7 (works in MariaDB)
-+# innodb_additional_mem_pool_size=8M
-
- # memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
- # Larger values means less I/O
--innodb_buffer_pool_size=80M
-+innodb_buffer_pool_size=128M
-
- # Create a .ibd file for each table (default:0)
- innodb_file_per_table=1
diff --git a/source/l/attica/attica.SlackBuild b/source/l/attica/attica.SlackBuild
deleted file mode 100755
index 36615ca5d..000000000
--- a/source/l/attica/attica.SlackBuild
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-
-# Copyright 2009, 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=attica
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- $KDE_OPT_ARGS \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a AUTHORS* COPYING* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/attica/slack-desc b/source/l/attica/slack-desc
deleted file mode 100644
index b9a96f33a..000000000
--- a/source/l/attica/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-------------------------------------------------------|
-attica: attica (Qt Collaboration library)
-attica:
-attica: Attica is a Qt library that implements the freedesktop.org
-attica: specification for the Open Collaboration Services API version 1.4.
-attica: It grants easy access to the services such as querying information
-attica: about persons and contents.
-attica:
-attica: Homepage: http://www.kde.org
-attica:
-attica:
-attica:
diff --git a/source/l/automoc4/slack-desc b/source/l/automoc4/slack-desc
deleted file mode 100644
index 892792ffe..000000000
--- a/source/l/automoc4/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-----------------------------------------------------|
-automoc4: automoc4 (automatic moc for Qt4)
-automoc4:
-automoc4: This package contains the automoc4 binary which is used to run moc
-automoc4: on the right source files in a Qt 4 or KDE 4 application.
-automoc4: Moc is the meta object compiler which is a widely used tool with Qt
-automoc4: and creates standard C++ files to provide syntactic sugar of the
-automoc4: signal/slots mechanism.
-automoc4:
-automoc4:
-automoc4: See also http://www.kde.org
-automoc4:
diff --git a/source/l/cfitsio/cfitsio.SlackBuild b/source/l/cfitsio/cfitsio.SlackBuild
new file mode 100755
index 000000000..655418fad
--- /dev/null
+++ b/source/l/cfitsio/cfitsio.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+# Copyright 2015, 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cfitsio
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS shared || make || exit 1
+make $NUMJOBS utils || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Remove the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcfitsio.a
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ License.* README* docs/*.doc docs/changes.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a changes.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r changes.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat changes.txt | head -n 1000 > $DOCSDIR/changes.txt
+ touch -r changes.txt $DOCSDIR/changes.txt
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/cfitsio/cfitsio.url b/source/l/cfitsio/cfitsio.url
new file mode 100644
index 000000000..e56983a58
--- /dev/null
+++ b/source/l/cfitsio/cfitsio.url
@@ -0,0 +1 @@
+http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/
diff --git a/source/l/cfitsio/slack-desc b/source/l/cfitsio/slack-desc
new file mode 100644
index 000000000..35f969727
--- /dev/null
+++ b/source/l/cfitsio/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cfitsio: cfitsio (FITS file subroutine library)
+cfitsio:
+cfitsio: cfitsio is a library of ANSI C routines for reading and writing FITS
+cfitsio: format data files. A set of Fortran-callable wrapper routines is also
+cfitsio: included.
+cfitsio:
+cfitsio: Homepage: http://heasarc.gsfc.nasa.gov/fitsio
+cfitsio:
+cfitsio:
+cfitsio:
+cfitsio:
diff --git a/source/l/cryfs/cryfs.SlackBuild b/source/l/cryfs/cryfs.SlackBuild
new file mode 100755
index 000000000..11f021f04
--- /dev/null
+++ b/source/l/cryfs/cryfs.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Copyright 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=cryfs
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Oddly, cryfs expects a static boost, so we'll need to hit it with the LART:
+export LDFLAGS="$SLKLDFLAGS -lboost_thread -lboost_program_options -lboost_filesystem -lboost_chrono -lcryptopp -lfuse"
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DBoost_INCLUDE_DIRS=/usr/include/boost \
+ -DBoost_USE_STATIC_LIBS=OFF \
+ -DCRYFS_UPDATE_CHECKS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ # When compiling against a shared boost, these fail to install properly without help:
+ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+ install -m0755 ./src/cryfs-cli/libcryfs-cli.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-cli.so
+ install -m0755 ./src/cryfs-unmount/libcryfs-unmount.so $PKG/usr/lib${LIBDIRSUFFIX}/libcryfs-unmount.so
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog* README* LICENSE* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/cryfs/cryfs.url b/source/l/cryfs/cryfs.url
new file mode 100644
index 000000000..e1bf0c480
--- /dev/null
+++ b/source/l/cryfs/cryfs.url
@@ -0,0 +1 @@
+https://github.com/cryfs/cryfs
diff --git a/source/l/liblastfm/slack-desc b/source/l/cryfs/slack-desc
index 921b5d42e..8dd66bdbd 100644
--- a/source/l/liblastfm/slack-desc
+++ b/source/l/cryfs/slack-desc
@@ -5,15 +5,15 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler------------------------------------------------------|
-liblastfm: liblastfm (last fm library)
-liblastfm:
-liblastfm: The last.fm audio scrobbling service library.
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
-liblastfm:
+ |-----handy-ruler------------------------------------------------------|
+cryfs: cryfs (cryptographic filesystem)
+cryfs:
+cryfs: CryFS encrypts your files, so you can safely store them anywhere. It
+cryfs: works well together with cloud services.
+cryfs:
+cryfs: Homepage: https://www.cryfs.org
+cryfs:
+cryfs:
+cryfs:
+cryfs:
+cryfs:
diff --git a/source/l/automoc4/automoc4.SlackBuild b/source/l/cryptopp/cryptopp.SlackBuild
index 167ef1d59..4ce5a9694 100755
--- a/source/l/automoc4/automoc4.SlackBuild
+++ b/source/l/cryptopp/cryptopp.SlackBuild
@@ -1,6 +1,7 @@
-#!/bin/sh
+#!/bin/sh
-# Copyright 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2014, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,18 +23,25 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=automoc4
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+PKGNAM=cryptopp
+VERSION=${VERSION:-8.2.0}
+SRCVER=$(echo $VERSION | tr -d '.')
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -44,56 +52,74 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-automoc4
-
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKLDFLAGS=""
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
LIBDIRSUFFIX=""
fi
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+# Extract the sources:
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-tar xvf $CWD/automoc4-$VERSION.tar.?z* || exit 1
-cd automoc4-$VERSION || exit 1
+rm -rf ${PKGNAM}-${VERSION}
+mkdir -p ${PKGNAM}-${VERSION}
+unzip -a ${CWD}/${PKGNAM}${SRCVER}.zip -d ${PKGNAM}-${VERSION} || exit 1
+cd ${PKGNAM}-${VERSION} || exit 1
+
+# Fix bogus permissions:
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DCMAKE_INSTALL_PREFIX=/usr \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Cater to 64-bit Slackware:
+sed -i -e "s,(PREFIX)/lib,(PREFIX)/lib${LIBDIRSUFFIX},g" GNUmakefile
+
+# Compile and install:
+make all dynamic libcryptopp.pc $NUMJOBS \
+ CXXFLAGS="${SLKCFLAGS} -DNDEBUG" LDFLAGS="${LDFLAGS}"
+make install-lib PREFIX=$PKG/usr
+
+# Dump the static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libcryptopp.a
+# Fix the installed pkg-config file:
+sed \
+ -i $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/libcryptopp.pc \
+ -e "s,/usr/local,/usr,g"
+
+# Add documentation:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a *.txt $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Strip binaries (if any):
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Add a package description:
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+# Build the package:
cd $PKG
-/sbin/makepkg -l y -c n $TMP/automoc4-$VERSION-$ARCH-$BUILD.txz
-
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
diff --git a/source/l/cryptopp/cryptopp.url b/source/l/cryptopp/cryptopp.url
new file mode 100644
index 000000000..1bc3357dd
--- /dev/null
+++ b/source/l/cryptopp/cryptopp.url
@@ -0,0 +1 @@
+https://www.cryptopp.com/cryptopp820.zip
diff --git a/source/l/cryptopp/slack-desc b/source/l/cryptopp/slack-desc
new file mode 100644
index 000000000..11da183c6
--- /dev/null
+++ b/source/l/cryptopp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cryptopp: cryptopp (library of cryptographic schemes)
+cryptopp:
+cryptopp: Crypto++ Library is a free C++ class library of cryptographic schemes.
+cryptopp: See http://www.cryptopp.com/ for a list of supported algorithms. One
+cryptopp: purpose of Crypto++ is to act as a repository of public domain (not
+cryptopp: copyrighted) source code. Although the library is copyrighted as a
+cryptopp: compilation, the individual files in it are in the public domain.
+cryptopp:
+cryptopp: Homepage: http://www.cryptopp.com/
+cryptopp:
+cryptopp:
diff --git a/source/l/liblastfm/liblastfm.SlackBuild b/source/l/dotconf/dotconf.SlackBuild
index 89cd535d7..d99226dd1 100755
--- a/source/l/liblastfm/liblastfm.SlackBuild
+++ b/source/l/dotconf/dotconf.SlackBuild
@@ -1,9 +1,8 @@
#!/bin/bash
-# Slackware build script for liblastfm
-
-# Copyright 2009 Vincent Batts
-# Copyright 2011, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -24,19 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM="liblastfm"
+PKGNAM=dotconf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -47,58 +46,84 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "x86_64" ]; then
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
else
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir cmake-build
-cd cmake-build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ autoreconf -vif
+fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
- -DBUILD_FINGERPRINT="ON" \
- -DBUILD_WITH_QT4="ON" .. || exit 1
-
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd ..
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# This library is currently used for nothing in Slackware except for
+# speech-dispatcher and hasn't seen a release in a decade. This quantity
+# of included examples seems excessive.
+rm -rf $PKG/usr/doc/$PKGNAM-$VERSION/examples
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/dotconf/dotconf.url b/source/l/dotconf/dotconf.url
new file mode 100644
index 000000000..17e18ef72
--- /dev/null
+++ b/source/l/dotconf/dotconf.url
@@ -0,0 +1 @@
+https://github.com/williamh/dotconf/
diff --git a/source/l/dotconf/slack-desc b/source/l/dotconf/slack-desc
new file mode 100644
index 000000000..b79dc103d
--- /dev/null
+++ b/source/l/dotconf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dotconf: dotconf (configuration file parser)
+dotconf:
+dotconf: Dot.conf is a lightweight and simple configuration file parser that
+dotconf: contains many features.
+dotconf:
+dotconf: Homepage: https://github.com/williamh/dotconf/
+dotconf:
+dotconf:
+dotconf:
+dotconf:
+dotconf:
diff --git a/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch b/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
new file mode 100644
index 000000000..0f6bed437
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor-0.7.2_imagemagick7.patch
@@ -0,0 +1,75 @@
+--- dvdauthor/src/subgen-image.c 2014-01-21 00:12:37.000000000 +0100
++++ dvdauthor/src/subgen-image.c 2017-11-27 20:26:53.682914041 +0100
+@@ -30,7 +30,7 @@
+
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+ #include <stdarg.h>
+-#include <magick/api.h>
++#include <MagickWand/MagickWand.h>
+ #else
+ #include <png.h>
+ #endif
+@@ -176,18 +176,18 @@
+ {
+ Image *im;
+ ImageInfo *ii;
+- ExceptionInfo ei;
++ ExceptionInfo *ei;
+ int x,y;
+ unsigned long magickver;
+ unsigned char amask;
+
+- GetExceptionInfo(&ei);
++ ei = AcquireExceptionInfo();
+ ii=CloneImageInfo(NULL);
+ strcpy(ii->filename,s->fname);
+- im=ReadImage(ii,&ei);
++ im=ReadImage(ii,ei);
+
+ if( !im ) {
+- MagickError(ei.severity,"Unable to load file",ii->filename);
++ MagickError(ei->severity,"Unable to load file",ii->filename);
+ return -1;
+ }
+
+@@ -202,10 +202,10 @@
+ for( y=0; y<im->rows; y++ ) {
+ char pdata[MAXX*4];
+
+- if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,&ei)) {
+- fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei.reason,ei.description);
+- CatchException(&ei);
+- MagickError(ei.severity,ei.reason,ei.description);
++ if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,ei)) {
++ fprintf(stderr,"ERR: Extracting row %d from %s (%s,%s)\n",y,s->fname,ei->reason,ei->description);
++ CatchException(ei);
++ MagickError(ei->severity,ei->reason,ei->description);
+ DestroyImage(im);
+ return -1;
+ }
+@@ -219,7 +219,7 @@
+ }
+ }
+ DestroyImage(im);
+- DestroyExceptionInfo(&ei);
++ DestroyExceptionInfo(ei);
+ fprintf(stderr,"INFO: Picture %s had %d colors\n",s->fname,s->numpal);
+
+ return 0;
+@@ -1098,13 +1098,13 @@
+ void image_init()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- InitializeMagick(NULL);
++ MagickCoreGenesis("", MagickFalse);
+ #endif
+ }
+
+ void image_shutdown()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+- DestroyMagick();
++ MagickCoreTerminus();
+ #endif
+ }
+
diff --git a/source/l/dvdauthor/dvdauthor.SlackBuild b/source/l/dvdauthor/dvdauthor.SlackBuild
new file mode 100755
index 000000000..d25691c8b
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=dvdauthor
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Make it compile with imagemagick 7.x:
+zcat $CWD/dvdauthor-0.7.2_imagemagick7.patch.gz | patch -p1 --verbose || exit 1
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ ./bootstrap
+ else
+ autoreconf -vif
+ ./bootstrap
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/dvdauthor/dvdauthor.url b/source/l/dvdauthor/dvdauthor.url
new file mode 100644
index 000000000..d08d87824
--- /dev/null
+++ b/source/l/dvdauthor/dvdauthor.url
@@ -0,0 +1 @@
+https://github.com/ldo/dvdauthor
diff --git a/source/l/dvdauthor/slack-desc b/source/l/dvdauthor/slack-desc
new file mode 100644
index 000000000..01b9f5503
--- /dev/null
+++ b/source/l/dvdauthor/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dvdauthor: dvdauthor (tools to author a DVD)
+dvdauthor:
+dvdauthor: dvdauthor is a program that will generate a DVD movie from a valid
+dvdauthor: MPEG2 stream. The resulting movie should play in a standard DVD
+dvdauthor: player.
+dvdauthor:
+dvdauthor: Homepage: http://dvdauthor.sf.net
+dvdauthor:
+dvdauthor:
+dvdauthor:
+dvdauthor:
diff --git a/source/l/eigen3/eigen3.SlackBuild b/source/l/eigen3/eigen3.SlackBuild
index f4c926014..30ce46284 100755
--- a/source/l/eigen3/eigen3.SlackBuild
+++ b/source/l/eigen3/eigen3.SlackBuild
@@ -24,9 +24,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=eigen
-VERSION=3.2.10
-SRCVER="eigen-b9cd8366d4e8"
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -71,9 +70,9 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $PKG $TMP
cd $TMP
-rm -rf eigen-$SRCVER
-tar xvf $CWD/eigen-$VERSION.tar.xz || exit 1
-cd eigen-$SRCVER || exit 1
+rm -rf eigen-$VERSION
+tar xvf $CWD/eigen-$VERSION.tar.?z || exit 1
+cd eigen-$VERSION || exit 1
chown -R root:root .
find -L . \
@@ -107,4 +106,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/eigen3-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/eigen3/slack-desc b/source/l/eigen3/slack-desc
index 253eba8f0..8c4398f89 100644
--- a/source/l/eigen3/slack-desc
+++ b/source/l/eigen3/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-eigen3: eigen3 (c++ math library)
+eigen3: eigen3 (C++ math library)
eigen3:
eigen3: Eigen is a C++ template library for linear algebra: matrices, vectors,
eigen3: numerical solvers, and related algorithms.
diff --git a/source/l/akonadi/akonadi.SlackBuild b/source/l/frei0r-plugins/frei0r-plugins.SlackBuild
index da12a4634..2f9b516fe 100755
--- a/source/l/akonadi/akonadi.SlackBuild
+++ b/source/l/frei0r-plugins/frei0r-plugins.SlackBuild
@@ -1,9 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Slackware build script for akonadi
-
-# Copyright 2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=akonadi
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-16}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=frei0r-plugins
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -51,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -73,58 +73,56 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Update mysql configuration
-zcat $CWD/mysql-global.conf.patch.gz | patch -p1 --verbose || exit 1
-
-# Work around problems with MariaDB 10.2
-zcat $CWD/akonadi-mariadb-10.2.patch.gz | patch -p1 --verbose || exit 1
-
-# If we do not specify the correct QT_PLUGINS_DIR, then the application
-# decides on using $QT4DIR/qt4/plugins instead.
-mkdir -p build
-cd build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DMAN_INSTALL_DIR=/usr/man \
- -DINSTALL_QSQLITE_IN_QT_PREFIX:BOOL=ON \
- -DQT_PLUGINS_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DWITHOUT_OPENCV=ON \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS INSTALL README lgpl-license \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* NEWS* *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/frei0r-plugins/frei0r-plugins.url b/source/l/frei0r-plugins/frei0r-plugins.url
new file mode 100644
index 000000000..df2f24cae
--- /dev/null
+++ b/source/l/frei0r-plugins/frei0r-plugins.url
@@ -0,0 +1 @@
+https://files.dyne.org/frei0r
diff --git a/source/l/frei0r-plugins/slack-desc b/source/l/frei0r-plugins/slack-desc
new file mode 100644
index 000000000..d7fe4b3c0
--- /dev/null
+++ b/source/l/frei0r-plugins/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+frei0r-plugins: frei0r-plugins (API for video effects)
+frei0r-plugins:
+frei0r-plugins: Frei0r is a minimalistic plugin API for video effects. The main
+frei0r-plugins: emphasis is on simplicity for an API that will round up the most
+frei0r-plugins: common video effects into simple filters, sources, and mixers that can
+frei0r-plugins: be controlled by parameters. Its goal is that these simple effects can
+frei0r-plugins: be shared between many applications, avoiding their reimplementation
+frei0r-plugins: by different projects.
+frei0r-plugins:
+frei0r-plugins: Homepage: http://frei0r.dyne.org
+frei0r-plugins:
diff --git a/source/l/grantlee/grantlee.SlackBuild b/source/l/grantlee/grantlee.SlackBuild
index af781224b..1da9cf98d 100755
--- a/source/l/grantlee/grantlee.SlackBuild
+++ b/source/l/grantlee/grantlee.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2011, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016, 2017, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -10,35 +10,32 @@
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=grantlee
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,9 +46,14 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -59,7 +61,7 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,42 +73,51 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
- $KDE_OPT_ARGS \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ cp -a AUTHORS* CHANGELOG* COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a AUTHORS CHANGELOG COPYING* GOALS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# If there's a CHANGELOG, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGELOG ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/CHANGELOG
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/grantlee/grantlee.url b/source/l/grantlee/grantlee.url
new file mode 100644
index 000000000..e78ca6f50
--- /dev/null
+++ b/source/l/grantlee/grantlee.url
@@ -0,0 +1 @@
+https://github.com/steveire/grantlee
diff --git a/source/l/grantlee/slack-desc b/source/l/grantlee/slack-desc
index 8acc268cc..136660265 100644
--- a/source/l/grantlee/slack-desc
+++ b/source/l/grantlee/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':'.
|-----handy-ruler-------------------------------------------------------|
-grantlee: grantlee (string template engine)
-grantlee:
-grantlee: Grantlee is a plugin based String Template system written using the
-grantlee: Qt framework. The goals of the project are to make it easier for
-grantlee: application developers to separate the structure of documents from
-grantlee: the data they contain, opening the door for theming.
+grantlee: grantlee (string template engine for Qt)
grantlee:
-grantlee: Homepage: http://gitorious.org/grantlee/
+grantlee: Grantlee is a plugin based String Template system written with the Qt
+grantlee: framework. The goals of the project are to make it easier for
+grantlee: application developers to separate the structure of documents from the
+grantlee: data they contain, opening the door for theming.
+grantlee:
+grantlee: Homepage: https://github.com/steveire/grantlee
grantlee:
grantlee:
grantlee:
diff --git a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
index a14932a28..22de14190 100755
--- a/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
+++ b/source/l/gst-plugins-base/gst-plugins-base.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gst-plugins-base
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff b/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff
deleted file mode 100644
index b9efbf6fe..000000000
--- a/source/l/gtk+3/9a693c7228a88b76a007aed41b101d89d084cf9b.diff
+++ /dev/null
@@ -1,583 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 62c17b2b8472ee8552405e26f4b1a13307619009..a26b03d3c3e1ece50fa171cfc4af316315da2edd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -61,7 +61,7 @@ m4_define([cairo_required_version], [1.14.0])
- m4_define([gdk_pixbuf_required_version], [2.30.0])
- m4_define([introspection_required_version], [1.39.0])
- m4_define([wayland_required_version], [1.14.91])
--m4_define([wayland_protocols_required_version], [1.14])
-+m4_define([wayland_protocols_required_version], [1.17])
- m4_define([epoxy_required_version], [1.4])
- m4_define([cloudproviders_required_version], [0.2.5])
- m4_define([sysprof_required_version], [3.33.2])
-diff --git a/gdk/wayland/Makefile.am b/gdk/wayland/Makefile.am
-index 31f12251b30b175e353888c6ce4fb315fa34ce13..6595013d3f00314c42d4a530ecfeba39d1c5d477 100644
---- a/gdk/wayland/Makefile.am
-+++ b/gdk/wayland/Makefile.am
-@@ -40,7 +40,9 @@ BUILT_SOURCES = \
- server-decoration-client-protocol.h \
- server-decoration-protocol.c \
- gtk-shell-client-protocol.h \
-- gtk-shell-protocol.c
-+ gtk-shell-protocol.c \
-+ primary-selection-unstable-v1-client-protocol.h \
-+ primary-selection-unstable-v1-protocol.c
-
- nodist_libgdk_wayland_la_SOURCES = \
- $(BUILT_SOURCES)
-diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
-index 7d81eaff3b40e3775e1c21637773145f56acb7bc..c5b273eb908d727751dafc22d710f10a20d16a79 100644
---- a/gdk/wayland/gdkdevice-wayland.c
-+++ b/gdk/wayland/gdkdevice-wayland.c
-@@ -237,7 +237,8 @@ struct _GdkWaylandSeat
- uint32_t keyboard_time;
- uint32_t keyboard_key_serial;
-
-- struct gtk_primary_selection_device *primary_data_device;
-+ struct gtk_primary_selection_device *gtk_primary_data_device;
-+ struct zwp_primary_selection_device_v1 *zwp_primary_data_device_v1;
- struct wl_data_device *data_device;
- GdkDragContext *drop_context;
-
-@@ -1308,23 +1309,43 @@ static const struct wl_data_device_listener data_device_listener = {
- };
-
- static void
--primary_selection_data_offer (void *data,
-- struct gtk_primary_selection_device *gtk_primary_selection_device,
-- struct gtk_primary_selection_offer *gtk_primary_offer)
-+primary_selection_data_offer (void *data,
-+ gpointer primary_selection_device,
-+ gpointer primary_offer)
- {
- GdkWaylandSeat *seat = data;
-
- GDK_NOTE (EVENTS,
- g_message ("primary selection offer, device %p, data offer %p",
-- gtk_primary_selection_device, gtk_primary_offer));
-+ primary_selection_device, primary_offer));
-
-- gdk_wayland_selection_ensure_primary_offer (seat->display, gtk_primary_offer);
-+ gdk_wayland_selection_ensure_primary_offer (seat->display, primary_offer);
- }
-
- static void
--primary_selection_selection (void *data,
-- struct gtk_primary_selection_device *gtk_primary_selection_device,
-- struct gtk_primary_selection_offer *gtk_primary_offer)
-+gtk_primary_selection_data_offer (void *data,
-+ struct gtk_primary_selection_device *primary_selection_device,
-+ struct gtk_primary_selection_offer *primary_offer)
-+{
-+ primary_selection_data_offer (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+zwp_primary_selection_v1_data_offer (void *data,
-+ struct zwp_primary_selection_device_v1 *primary_selection_device,
-+ struct zwp_primary_selection_offer_v1 *primary_offer)
-+{
-+ primary_selection_data_offer (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+primary_selection_selection (void *data,
-+ gpointer primary_selection_device,
-+ gpointer primary_offer)
- {
- GdkWaylandSeat *seat = data;
- GdkAtom selection;
-@@ -1334,16 +1355,41 @@ primary_selection_selection (void *data,
-
- GDK_NOTE (EVENTS,
- g_message ("primary selection selection, device %p, data offer %p",
-- gtk_primary_selection_device, gtk_primary_offer));
-+ primary_selection_device, primary_offer));
-
- selection = gdk_atom_intern_static_string ("PRIMARY");
-- gdk_wayland_selection_set_offer (seat->display, selection, gtk_primary_offer);
-+ gdk_wayland_selection_set_offer (seat->display, selection, primary_offer);
- emit_selection_owner_change (seat->keyboard_focus, selection);
- }
-
--static const struct gtk_primary_selection_device_listener primary_selection_device_listener = {
-- primary_selection_data_offer,
-- primary_selection_selection,
-+static void
-+gtk_primary_selection_selection (void *data,
-+ struct gtk_primary_selection_device *primary_selection_device,
-+ struct gtk_primary_selection_offer *primary_offer)
-+{
-+ primary_selection_selection (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static void
-+zwp_primary_selection_v1_selection (void *data,
-+ struct zwp_primary_selection_device_v1 *primary_selection_device,
-+ struct zwp_primary_selection_offer_v1 *primary_offer)
-+{
-+ primary_selection_selection (data,
-+ (gpointer) primary_selection_device,
-+ (gpointer) primary_offer);
-+}
-+
-+static const struct gtk_primary_selection_device_listener gtk_primary_device_listener = {
-+ gtk_primary_selection_data_offer,
-+ gtk_primary_selection_selection,
-+};
-+
-+static const struct zwp_primary_selection_device_v1_listener zwp_primary_device_v1_listener = {
-+ zwp_primary_selection_v1_data_offer,
-+ zwp_primary_selection_v1_selection,
- };
-
- static GdkDevice * get_scroll_device (GdkWaylandSeat *seat,
-@@ -5078,13 +5124,23 @@ _gdk_wayland_device_manager_add_seat (GdkDeviceManager *device_manager,
- wl_seat_add_listener (seat->wl_seat, &seat_listener, seat);
- wl_seat_set_user_data (seat->wl_seat, seat);
-
-- if (display_wayland->primary_selection_manager)
-+ if (display_wayland->zwp_primary_selection_manager_v1)
- {
-- seat->primary_data_device =
-- gtk_primary_selection_device_manager_get_device (display_wayland->primary_selection_manager,
-+ seat->zwp_primary_data_device_v1 =
-+ zwp_primary_selection_device_manager_v1_get_device (display_wayland->zwp_primary_selection_manager_v1,
-+ seat->wl_seat);
-+ zwp_primary_selection_device_v1_add_listener (seat->zwp_primary_data_device_v1,
-+ &zwp_primary_device_v1_listener,
-+ seat);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ {
-+ seat->gtk_primary_data_device =
-+ gtk_primary_selection_device_manager_get_device (display_wayland->gtk_primary_selection_manager,
- seat->wl_seat);
-- gtk_primary_selection_device_add_listener (seat->primary_data_device,
-- &primary_selection_device_listener, seat);
-+ gtk_primary_selection_device_add_listener (seat->gtk_primary_data_device,
-+ &gtk_primary_device_listener,
-+ seat);
- }
-
- seat->data_device =
-@@ -5355,8 +5411,8 @@ gdk_wayland_seat_set_selection (GdkSeat *seat,
- }
-
- void
--gdk_wayland_seat_set_primary (GdkSeat *seat,
-- struct gtk_primary_selection_source *source)
-+gdk_wayland_seat_set_primary (GdkSeat *seat,
-+ gpointer source)
- {
- GdkWaylandSeat *wayland_seat = GDK_WAYLAND_SEAT (seat);
- GdkWaylandDisplay *display_wayland;
-@@ -5366,8 +5422,16 @@ gdk_wayland_seat_set_primary (GdkSeat *seat,
- {
- display_wayland = GDK_WAYLAND_DISPLAY (gdk_seat_get_display (seat));
- serial = _gdk_wayland_display_get_serial (display_wayland);
-- gtk_primary_selection_device_set_selection (wayland_seat->primary_data_device,
-- source, serial);
-+ if (wayland_seat->zwp_primary_data_device_v1)
-+ {
-+ zwp_primary_selection_device_v1_set_selection (wayland_seat->zwp_primary_data_device_v1,
-+ source, serial);
-+ }
-+ else if (wayland_seat->gtk_primary_data_device)
-+ {
-+ gtk_primary_selection_device_set_selection (wayland_seat->gtk_primary_data_device,
-+ source, serial);
-+ }
- }
- }
-
-diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
-index d4503c256236ae942bde999c964fbf1d85abdf29..dfb8d3069a36ddb72340815cd2e809596416ccaf 100644
---- a/gdk/wayland/gdkdisplay-wayland.c
-+++ b/gdk/wayland/gdkdisplay-wayland.c
-@@ -476,10 +476,16 @@ gdk_registry_handle_global (void *data,
- }
- else if (strcmp (interface, "gtk_primary_selection_device_manager") == 0)
- {
-- display_wayland->primary_selection_manager =
-+ display_wayland->gtk_primary_selection_manager =
- wl_registry_bind(display_wayland->wl_registry, id,
- &gtk_primary_selection_device_manager_interface, 1);
- }
-+ else if (strcmp (interface, "zwp_primary_selection_device_manager_v1") == 0)
-+ {
-+ display_wayland->zwp_primary_selection_manager_v1 =
-+ wl_registry_bind(display_wayland->wl_registry, id,
-+ &zwp_primary_selection_device_manager_v1_interface, 1);
-+ }
- else if (strcmp (interface, "zwp_tablet_manager_v2") == 0)
- {
- display_wayland->tablet_manager =
-diff --git a/gdk/wayland/gdkdisplay-wayland.h b/gdk/wayland/gdkdisplay-wayland.h
-index 1e4a9860f61c71466bdb58e288abcb83129fc63d..62696300d15531d0ca212428c8eb3325fe10eb96 100644
---- a/gdk/wayland/gdkdisplay-wayland.h
-+++ b/gdk/wayland/gdkdisplay-wayland.h
-@@ -35,6 +35,7 @@
- #include <gdk/wayland/keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h>
- #include <gdk/wayland/server-decoration-client-protocol.h>
- #include <gdk/wayland/xdg-output-unstable-v1-client-protocol.h>
-+#include <gdk/wayland/primary-selection-unstable-v1-client-protocol.h>
-
- #include <glib.h>
- #include <gdk/gdkkeys.h>
-@@ -88,7 +89,8 @@ struct _GdkWaylandDisplay
- struct wl_data_device_manager *data_device_manager;
- struct wl_subcompositor *subcompositor;
- struct zwp_pointer_gestures_v1 *pointer_gestures;
-- struct gtk_primary_selection_device_manager *primary_selection_manager;
-+ struct gtk_primary_selection_device_manager *gtk_primary_selection_manager;
-+ struct zwp_primary_selection_device_manager_v1 *zwp_primary_selection_manager_v1;
- struct zwp_tablet_manager_v2 *tablet_manager;
- struct zxdg_exporter_v1 *xdg_exporter;
- struct zxdg_importer_v1 *xdg_importer;
-diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
-index fc8e9fe2800b129a9ac0432ee85511633eb407f5..4a921b3b9965085b580cbb736f280cfae60efb86 100644
---- a/gdk/wayland/gdkprivate-wayland.h
-+++ b/gdk/wayland/gdkprivate-wayland.h
-@@ -191,8 +191,8 @@ struct wl_data_device * gdk_wayland_device_get_data_device (GdkDevice *gdk_devic
- void gdk_wayland_seat_set_selection (GdkSeat *seat,
- struct wl_data_source *source);
-
--void gdk_wayland_seat_set_primary (GdkSeat *seat,
-- struct gtk_primary_selection_source *source);
-+void gdk_wayland_seat_set_primary (GdkSeat *seat,
-+ gpointer source);
-
- GdkDragContext * gdk_wayland_device_get_drop_context (GdkDevice *gdk_device);
-
-@@ -249,8 +249,8 @@ void gdk_wayland_selection_free (GdkWaylandSelection *selection);
-
- void gdk_wayland_selection_ensure_offer (GdkDisplay *display,
- struct wl_data_offer *wl_offer);
--void gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-- struct gtk_primary_selection_offer *wp_offer);
-+void gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-+ gpointer wp_offer);
-
- void gdk_wayland_selection_set_offer (GdkDisplay *display,
- GdkAtom selection,
-diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
-index 0dd3aa9ebfd4dbd80666fcd1c122f67fb2d44569..f85f595616a51168be49b3dd92612ccd6d325fa7 100644
---- a/gdk/wayland/gdkselection-wayland.c
-+++ b/gdk/wayland/gdkselection-wayland.c
-@@ -104,7 +104,7 @@ struct _GdkWaylandSelection
- GArray *source_targets;
- GdkAtom requested_target;
-
-- struct gtk_primary_selection_source *primary_source;
-+ gpointer primary_source;
- GdkWindow *primary_owner;
-
- struct wl_data_source *clipboard_source;
-@@ -434,6 +434,18 @@ gdk_wayland_selection_new (void)
- return selection;
- }
-
-+static void
-+primary_selection_source_destroy (gpointer primary_source)
-+{
-+ GdkDisplay *display = gdk_display_get_default ();
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
-+
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ zwp_primary_selection_source_v1_destroy (primary_source);
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ gtk_primary_selection_source_destroy (primary_source);
-+}
-+
- void
- gdk_wayland_selection_free (GdkWaylandSelection *selection)
- {
-@@ -448,7 +460,7 @@ gdk_wayland_selection_free (GdkWaylandSelection *selection)
- g_ptr_array_unref (selection->stored_selections);
-
- if (selection->primary_source)
-- gtk_primary_selection_source_destroy (selection->primary_source);
-+ primary_selection_source_destroy (selection->primary_source);
- if (selection->clipboard_source)
- wl_data_source_destroy (selection->clipboard_source);
- if (selection->dnd_source)
-@@ -546,27 +558,47 @@ static const struct wl_data_offer_listener data_offer_listener = {
- };
-
- static void
--primary_offer_offer (void *data,
-- struct gtk_primary_selection_offer *gtk_offer,
-- const char *type)
-+primary_offer_offer (void *data,
-+ gpointer offer,
-+ const char *type)
- {
- GdkWaylandSelection *selection = data;
- DataOfferData *info;
- GdkAtom atom = gdk_atom_intern (type, FALSE);
-
-- info = g_hash_table_lookup (selection->offers, gtk_offer);
-+ info = g_hash_table_lookup (selection->offers, offer);
-
- if (!info || g_list_find (info->targets, atom))
- return;
-
- GDK_NOTE (EVENTS,
-- g_message ("primary offer offer, offer %p, type = %s", gtk_offer, type));
-+ g_message ("primary offer offer, offer %p, type = %s", offer, type));
-
- info->targets = g_list_prepend (info->targets, atom);
- }
-
--static const struct gtk_primary_selection_offer_listener primary_offer_listener = {
-- primary_offer_offer,
-+static void
-+gtk_primary_offer_offer (void *data,
-+ struct gtk_primary_selection_offer *offer,
-+ const char *type)
-+{
-+ primary_offer_offer (data, (gpointer) offer, type);
-+}
-+
-+static void
-+zwp_primary_offer_v1_offer (void *data,
-+ struct zwp_primary_selection_offer_v1 *offer,
-+ const char *type)
-+{
-+ primary_offer_offer (data, (gpointer) offer, type);
-+}
-+
-+static const struct gtk_primary_selection_offer_listener gtk_primary_offer_listener = {
-+ gtk_primary_offer_offer,
-+};
-+
-+static const struct zwp_primary_selection_offer_v1_listener zwp_primary_offer_listener_v1 = {
-+ zwp_primary_offer_v1_offer,
- };
-
- SelectionData *
-@@ -604,9 +636,10 @@ gdk_wayland_selection_ensure_offer (GdkDisplay *display,
- }
-
- void
--gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-- struct gtk_primary_selection_offer *gtk_offer)
-+gdk_wayland_selection_ensure_primary_offer (GdkDisplay *display,
-+ gpointer gtk_offer)
- {
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
- GdkWaylandSelection *selection = gdk_wayland_display_get_selection (display);
- DataOfferData *info;
-
-@@ -614,12 +647,24 @@ gdk_wayland_selection_ensure_primary_offer (GdkDisplay *
-
- if (!info)
- {
-- info = data_offer_data_new (gtk_offer,
-- (GDestroyNotify) gtk_primary_selection_offer_destroy);
-- g_hash_table_insert (selection->offers, gtk_offer, info);
-- gtk_primary_selection_offer_add_listener (gtk_offer,
-- &primary_offer_listener,
-- selection);
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ {
-+ info = data_offer_data_new (gtk_offer,
-+ (GDestroyNotify) zwp_primary_selection_offer_v1_destroy);
-+ g_hash_table_insert (selection->offers, gtk_offer, info);
-+ zwp_primary_selection_offer_v1_add_listener (gtk_offer,
-+ &zwp_primary_offer_listener_v1,
-+ selection);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ {
-+ info = data_offer_data_new (gtk_offer,
-+ (GDestroyNotify) gtk_primary_selection_offer_destroy);
-+ g_hash_table_insert (selection->offers, gtk_offer, info);
-+ gtk_primary_selection_offer_add_listener (gtk_offer,
-+ &gtk_primary_offer_listener,
-+ selection);
-+ }
- }
- }
-
-@@ -1138,10 +1183,10 @@ static const struct wl_data_source_listener data_source_listener = {
- };
-
- static void
--primary_source_send (void *data,
-- struct gtk_primary_selection_source *source,
-- const char *mime_type,
-- int32_t fd)
-+primary_source_send (void *data,
-+ gpointer source,
-+ const char *mime_type,
-+ int32_t fd)
- {
- GdkWaylandSelection *wayland_selection = data;
-
-@@ -1163,8 +1208,26 @@ primary_source_send (void *data,
- }
-
- static void
--primary_source_cancelled (void *data,
-- struct gtk_primary_selection_source *source)
-+gtk_primary_source_send (void *data,
-+ struct gtk_primary_selection_source *source,
-+ const char *mime_type,
-+ int32_t fd)
-+{
-+ primary_source_send (data, (gpointer) source, mime_type, fd);
-+}
-+
-+static void
-+zwp_primary_source_v1_send (void *data,
-+ struct zwp_primary_selection_source_v1 *source,
-+ const char *mime_type,
-+ int32_t fd)
-+{
-+ primary_source_send (data, (gpointer) source, mime_type, fd);
-+}
-+
-+static void
-+primary_source_cancelled (void *data,
-+ gpointer source)
- {
- GdkDisplay *display;
- GdkAtom atom;
-@@ -1180,9 +1243,28 @@ primary_source_cancelled (void *data,
- gdk_wayland_selection_unset_data_source (display, atom);
- }
-
--static const struct gtk_primary_selection_source_listener primary_source_listener = {
-- primary_source_send,
-- primary_source_cancelled,
-+static void
-+gtk_primary_source_cancelled (void *data,
-+ struct gtk_primary_selection_source *source)
-+{
-+ primary_source_cancelled (data, source);
-+}
-+
-+static void
-+zwp_primary_source_v1_cancelled (void *data,
-+ struct zwp_primary_selection_source_v1 *source)
-+{
-+ primary_source_cancelled (data, source);
-+}
-+
-+static const struct gtk_primary_selection_source_listener gtk_primary_source_listener = {
-+ gtk_primary_source_send,
-+ gtk_primary_source_cancelled,
-+};
-+
-+static const struct zwp_primary_selection_source_v1_listener zwp_primary_source_v1_listener = {
-+ zwp_primary_source_v1_send,
-+ zwp_primary_source_v1_cancelled,
- };
-
- struct wl_data_source *
-@@ -1204,11 +1286,11 @@ gdk_wayland_selection_get_data_source (GdkWindow *owner,
- {
- if (wayland_selection->primary_source &&
- (!owner || owner == wayland_selection->primary_owner))
-- return (gpointer) wayland_selection->primary_source;
-+ return wayland_selection->primary_source;
-
- if (wayland_selection->primary_source)
- {
-- gtk_primary_selection_source_destroy (wayland_selection->primary_source);
-+ primary_selection_source_destroy (wayland_selection->primary_source);
- wayland_selection->primary_source = NULL;
- }
- }
-@@ -1234,11 +1316,18 @@ gdk_wayland_selection_get_data_source (GdkWindow *owner,
-
- if (selection == atoms[ATOM_PRIMARY])
- {
-- if (display_wayland->primary_selection_manager)
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ {
-+ source = zwp_primary_selection_device_manager_v1_create_source (display_wayland->zwp_primary_selection_manager_v1);
-+ zwp_primary_selection_source_v1_add_listener (source,
-+ &zwp_primary_source_v1_listener,
-+ wayland_selection);
-+ }
-+ else if (display_wayland->gtk_primary_selection_manager)
- {
-- source = gtk_primary_selection_device_manager_create_source (display_wayland->primary_selection_manager);
-+ source = gtk_primary_selection_device_manager_create_source (display_wayland->gtk_primary_selection_manager);
- gtk_primary_selection_source_add_listener (source,
-- &primary_source_listener,
-+ &gtk_primary_source_listener,
- wayland_selection);
- }
- }
-@@ -1278,7 +1367,7 @@ gdk_wayland_selection_unset_data_source (GdkDisplay *display,
- {
- if (wayland_selection->primary_source)
- {
-- gtk_primary_selection_source_destroy (wayland_selection->primary_source);
-+ primary_selection_source_destroy (wayland_selection->primary_source);
- wayland_selection->primary_source = NULL;
- }
- }
-@@ -1449,6 +1538,7 @@ _gdk_wayland_display_convert_selection (GdkDisplay *display,
- GdkAtom target,
- guint32 time)
- {
-+ GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
- GdkWaylandSelection *wayland_selection = gdk_wayland_display_get_selection (display);
- const SelectionData *selection_data;
- SelectionBuffer *buffer_data;
-@@ -1514,9 +1604,16 @@ _gdk_wayland_display_convert_selection (GdkDisplay *display,
- g_unix_open_pipe (pipe_fd, FD_CLOEXEC, NULL);
-
- if (selection == atoms[ATOM_PRIMARY])
-- gtk_primary_selection_offer_receive (offer, mimetype, pipe_fd[1]);
-+ {
-+ if (display_wayland->zwp_primary_selection_manager_v1)
-+ zwp_primary_selection_offer_v1_receive (offer, mimetype, pipe_fd[1]);
-+ else if (display_wayland->gtk_primary_selection_manager)
-+ gtk_primary_selection_offer_receive (offer, mimetype, pipe_fd[1]);
-+ }
- else
-- wl_data_offer_receive (offer, mimetype, pipe_fd[1]);
-+ {
-+ wl_data_offer_receive (offer, mimetype, pipe_fd[1]);
-+ }
-
- stream = g_unix_input_stream_new (pipe_fd[0], TRUE);
- close (pipe_fd[1]);
-diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build
-index 8f6b7faf31ca379cd602ae437b7864308b1bffd6..e66afd7f95bfc6e39cd200eedf55813862213664 100644
---- a/gdk/wayland/meson.build
-+++ b/gdk/wayland/meson.build
-@@ -56,6 +56,7 @@ proto_sources = [
- ['keyboard-shortcuts-inhibit', 'unstable', 'v1', ],
- ['server-decoration', 'private' ],
- ['xdg-output', 'unstable', 'v1', ],
-+ ['primary-selection', 'unstable', 'v1', ],
- ]
-
- gdk_wayland_gen_headers = []
-diff --git a/meson.build b/meson.build
-index a3a7545ae103a88fc73cffe917c79848018f1a61..9c80fafc0314aed310018bc1f8851bc00e85f68a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -30,7 +30,7 @@ atk_req = '>= 2.15.1'
- cairo_req = '>= 1.14.0'
- gdk_pixbuf_req = '>= 2.30.0'
- introspection_req = '>= 1.39.0'
--wayland_proto_req = '>= 1.14'
-+wayland_proto_req = '>= 1.17'
- wayland_req = '>= 1.14.91'
- epoxy_req = '>= 1.4'
- cloudproviders_req = '>= 0.2.5'
diff --git a/source/l/gtk+3/gtk+3.SlackBuild b/source/l/gtk+3/gtk+3.SlackBuild
index 4e44e2caf..377b619a9 100755
--- a/source/l/gtk+3/gtk+3.SlackBuild
+++ b/source/l/gtk+3/gtk+3.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gtk+3
VERSION=${VERSION:-$(echo gtk+-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -82,9 +82,6 @@ find . \
# the configure process doesn't try to call it:
zcat $CWD/gtk.fix.missing.version-check.py.diff.gz | patch -p1 --verbose || exit 1
-# Fix middle button paste between GTK+ and KDE apps on Wayland:
-zcat $CWD/9a693c7228a88b76a007aed41b101d89d084cf9b.diff.gz | patch -p1 --verbose || exit 1
-
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
export CXXFLAGS="$SLKCFLAGS -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index f0f423b68..7cd928045 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gvfs
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -95,7 +95,7 @@ meson setup \
-Ddnssd=false \
-Dgoa=false \
-Dgoogle=false \
- -Dlogind=false \
+ -Dlogind=true \
-Dman=true \
-Dnfs=false \
-Dsystemduserunitdir=no \
diff --git a/source/l/qjson/qjson.SlackBuild b/source/l/kdsoap/kdsoap.SlackBuild
index caf678b3f..c6df5a089 100755
--- a/source/l/qjson/qjson.SlackBuild
+++ b/source/l/kdsoap/kdsoap.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2013 Eric Hameleers, Eindhoven, NL
-# Copyright 2013, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qjson
-VERSION=${VERSION:-0.9.0}
+PKGNAM=kdsoap
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,42 +73,49 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
-mkdir -p build
-cd build
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_INSTALL_MANDIR=/usr/man \
+ -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PKGNAM-$VERSION \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
+ -DBUILD_TESTS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- README* COPYING* doc \
- $PKG/usr/doc/$PKGNAM-$VERSION
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* README.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/kdsoap/kdsoap.url b/source/l/kdsoap/kdsoap.url
new file mode 100644
index 000000000..dc0f8926e
--- /dev/null
+++ b/source/l/kdsoap/kdsoap.url
@@ -0,0 +1 @@
+https://github.com/KDAB/KDSoap
diff --git a/source/l/kdsoap/slack-desc b/source/l/kdsoap/slack-desc
new file mode 100644
index 000000000..f272d0a96
--- /dev/null
+++ b/source/l/kdsoap/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdsoap: kdsoap (Qt-based client/server SOAP component)
+kdsoap:
+kdsoap: KD SOAP is a tool for creating client applications for web services.
+kdsoap: It also provides the means to create web services without the need for
+kdsoap: any further component such as a dedicated web server. It makes it
+kdsoap: possible to interact with applications which have APIs that can be
+kdsoap: exported as SOAP objects. The web service then provides a machine-
+kdsoap: accessible interface to its functionality via HTTP.
+kdsoap:
+kdsoap: Homepage:
+kdsoap: https://www.kdab.com/development-resources/qt-tools/kd-soap/
diff --git a/source/l/qt-gstreamer/qt-gstreamer.SlackBuild b/source/l/lensfun/lensfun.SlackBuild
index 3270912dc..4342c7ce9 100755
--- a/source/l/qt-gstreamer/qt-gstreamer.SlackBuild
+++ b/source/l/lensfun/lensfun.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2014, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2014 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2012, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qt-gstreamer
-VERSION=${VERSION:-1.2.0}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=lensfun
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,17 +46,22 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -71,69 +73,59 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Fix build with gstreamer-1.16.x. This is rather pointless since qt-gstreamer
-# is considered dead (in -current only artikulate uses it, and in Plasma 5
-# nothing does), but we'll queue a fix for the FTBFS anyway:
-zcat $CWD/qt-gstreamer.gstreamer-1.16.x.diff.gz | patch -p1 --verbose || exit 1
-
-mkdir -p build
-cd build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DQT_VERSION=4 \
- ..
+ -DBUILD_LENSTOOL=ON \
+ -DBUILD_FOR_SSE=ON \
+ -DBUILD_FOR_SSE2=ON \
+ -DBUILD_TESTS=OFF \
+ -DINSTALL_HELPER_SCRIPTS=ON \
+ .. || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
-
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir -p build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DQT_VERSION=5 \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
- cd -
-fi
+cd ..
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING HACKING NEWS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ ChangeLog README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/lensfun/lensfun.url b/source/l/lensfun/lensfun.url
new file mode 100644
index 000000000..913b9f399
--- /dev/null
+++ b/source/l/lensfun/lensfun.url
@@ -0,0 +1 @@
+https://github.com/lensfun/lensfun
diff --git a/source/l/akonadi/slack-desc b/source/l/lensfun/slack-desc
index e046a8876..e39b450fd 100644
--- a/source/l/akonadi/slack-desc
+++ b/source/l/lensfun/slack-desc
@@ -5,15 +5,15 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler-----------------------------------------------------|
-akonadi: akonadi (PIM storage service)
-akonadi:
-akonadi: akonadi is an extensible cross-desktop storage service for PIM data
-akonadi: and meta data providing concurrent read, write, and query access.
-akonadi: It will provide a unique desktop wide object identification and
-akonadi: retrieval.
-akonadi:
-akonadi: Homepage: http://www.kdepim.org/akonadi/
-akonadi:
-akonadi:
-akonadi:
+ |-----handy-ruler------------------------------------------------------|
+lensfun: lensfun (photographic lens info database)
+lensfun:
+lensfun: lensfun is a library that provide a open source database of
+lensfun: photographic lenses and their characteristics also provides a set of
+lensfun: algorithms for correcting images based on detailed knowledge of lens
+lensfun: properties and calibration data.
+lensfun:
+lensfun: Homepage: http://lensfun.sourceforge.net
+lensfun:
+lensfun:
+lensfun:
diff --git a/source/l/libappindicator/libappindicator.SlackBuild b/source/l/libappindicator/libappindicator.SlackBuild
new file mode 100755
index 000000000..39c46969a
--- /dev/null
+++ b/source/l/libappindicator/libappindicator.SlackBuild
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libappindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+for file in bindings/python/Makefile.in bindings/python/Makefile.am example/Makefile.in example/Makefile.am src/Makefile.in src/Makefile.am tests/Makefile.in tests/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS -fcommon" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ $* \
+ --build=$ARCH-slackware-linux || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libappindicator/slack-desc b/source/l/libappindicator/slack-desc
new file mode 100644
index 000000000..895eb5f41
--- /dev/null
+++ b/source/l/libappindicator/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libappindicator: libappindicator (Plasma 5 systray support for GTK apps)
+libappindicator:
+libappindicator: A library to allow applications to export a menu into the system tray.
+libappindicator: Based on KSNI, it also works in KDE and will fallback to generic
+libappindicator: systray support (xembed) if none of those are available.
+libappindicator:
+libappindicator: Homepage: https://launchpad.net/libappindicator
+libappindicator:
+libappindicator:
+libappindicator:
+libappindicator:
diff --git a/source/l/libbluedevil/slack-desc b/source/l/libbluedevil/slack-desc
deleted file mode 100644
index 012f3d9ea..000000000
--- a/source/l/libbluedevil/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
-# leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libbluedevil: libbluedevil (Qt wrapper for bluez)
-libbluedevil:
-libbluedevil: This is a Qt-based library for handling Bluetooth functionality.
-libbluedevil:
-libbluedevil: Homepage: http://ereslibre.es/
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
-libbluedevil:
diff --git a/source/l/libburn/libburn.SlackBuild b/source/l/libburn/libburn.SlackBuild
new file mode 100755
index 000000000..52a80555d
--- /dev/null
+++ b/source/l/libburn/libburn.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2017, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libburn
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* CONTRIBUTORS* COPYING* COPYRIGHT* ChangeLog NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libburn/libburn.url b/source/l/libburn/libburn.url
new file mode 100644
index 000000000..02c4e769b
--- /dev/null
+++ b/source/l/libburn/libburn.url
@@ -0,0 +1 @@
+http://files.libburnia-project.org/releases/
diff --git a/source/l/libburn/slack-desc b/source/l/libburn/slack-desc
new file mode 100644
index 000000000..6c68d4a52
--- /dev/null
+++ b/source/l/libburn/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libburn: libburn (optical media writing library)
+libburn:
+libburn: libburn is a library for writing preformatted data onto optical media
+libburn: such as CD, DVD and BD (Blu-Ray). Libburn also offers a facility for
+libburn: reading data blocks from optical drives without using the normal block
+libburn: device I/O.
+libburn:
+libburn: Homepage: https://dev.lovelyhq.com/libburnia/libburn
+libburn:
+libburn:
+libburn:
diff --git a/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild b/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
index 2a77669bd..2b986317e 100755
--- a/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
+++ b/source/l/libdbusmenu-qt/libdbusmenu-qt.SlackBuild
@@ -1,51 +1,48 @@
#!/bin/bash
-# Copyright 2010, 2011, 2012 Eric Hameleers, Eindhoven, The Netherlands
-# Copyright 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2014, 2015, 2017, 2020 Eric Hameleers, Eindhoven, The Netherlands
+# Copyright 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
-
+#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-# Pull this package from git due to some copyright related
-# problems going on at Canonical...
-# git clone git://gitorious.org/dbusmenu/dbusmenu-qt.git dbusmenu-qt
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# This project has moved to https://launchpad.net/libdbusmenu-qt
+# Get the latest code with:
+# bzr branch lp:libdbusmenu-qt
#
# Get version number from
# grep dbusmenu_qt_VERSION dbusmenu-qt/CMakeLists.txt
-PKGNAM=libdbusmenu-qt
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+cd $(dirname $0) ; CWD=$(pwd)
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=libdbusmenu-qt
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z | rev | cut -f 4- -d . | cut -f 1 -d _ | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -56,15 +53,23 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -75,42 +80,48 @@ PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/${PKGNAM}_${VERSION}.orig.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 \
PATH=$QTDIR/bin:$PATH \
cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DUSE_QT4:BOOL=FALSE \
+ -DUSE_QT5:BOOL=TRUE \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
cd ..
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING NEWS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/doc
-mv $PKG/usr/share/doc/dbusmenu-qt/* $PKG/usr/doc/$PKGNAM-$VERSION/doc
+# Don't package API docs:
rm -rf $PKG/usr/share/doc
mkdir -p $PKG/install
@@ -118,4 +129,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/libdbusmenu-qt/libdbusmenu-qt.url b/source/l/libdbusmenu-qt/libdbusmenu-qt.url
new file mode 100644
index 000000000..57ed56dbb
--- /dev/null
+++ b/source/l/libdbusmenu-qt/libdbusmenu-qt.url
@@ -0,0 +1 @@
+http://archive.ubuntu.com/ubuntu/pool/main/libd/libdbusmenu-qt/
diff --git a/source/l/libdbusmenu-qt/slack-desc b/source/l/libdbusmenu-qt/slack-desc
index 42029d657..508d674c7 100644
--- a/source/l/libdbusmenu-qt/slack-desc
+++ b/source/l/libdbusmenu-qt/slack-desc
@@ -5,14 +5,14 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler-----------------------------------------------------|
+ |-----handy-ruler------------------------------------------------------|
libdbusmenu-qt: libdbusmenu-qt (Qt implementation of the DBusMenu spec)
libdbusmenu-qt:
libdbusmenu-qt: This library provides a Qt implementation of the DBusMenu protocol.
libdbusmenu-qt: The DBusMenu protocol makes it possible for applications to export
libdbusmenu-qt: and import their menus over DBus.
libdbusmenu-qt:
-libdbusmenu-qt: Homepage: http://people.canonical.com/~agateau/dbusmenu/
+libdbusmenu-qt: Homepage: https://launchpad.net/libdbusmenu-qt
libdbusmenu-qt:
libdbusmenu-qt:
libdbusmenu-qt:
diff --git a/source/l/libdbusmenu/libdbusmenu.SlackBuild b/source/l/libdbusmenu/libdbusmenu.SlackBuild
new file mode 100755
index 000000000..0d93309ce
--- /dev/null
+++ b/source/l/libdbusmenu/libdbusmenu.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015, 2018 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libdbusmenu
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/libdbusmenu_configure_valgrind.patch.gz | patch -p1 --verbose || exit 1
+
+for file in libdbusmenu-glib/Makefile.in libdbusmenu-glib/Makefile.am libdbusmenu-gtk/Makefile.in libdbusmenu-gtk/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/testapp/Makefile.in tools/testapp/Makefile.am tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --disable-tests \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch b/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch
new file mode 100644
index 000000000..a57877810
--- /dev/null
+++ b/source/l/libdbusmenu/libdbusmenu_configure_valgrind.patch
@@ -0,0 +1,35 @@
+From 4b79b41a25cc1e2c4355738b4bed6c73b919ffee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 6 Aug 2017 17:55:45 +0200
+Subject: [PATCH] configure: Fix HAVE_VALGRIND not being defined when tests are
+ disabled
+
+If --disable-tests is used, configure fails with the following error:
+
+ configure: error: conditional "HAVE_VALGRIND" was never defined.
+ Usually this means the macro was only invoked conditionally.
+
+This is because AM_CONDITIONAL for it is called inside the 'if' for
+tests being enabled. Move it just below that block to ensure that it's
+defined unconditionally.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ace54d1..cbd38a6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -120,8 +120,8 @@ PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION
+ [have_tests=yes]
+ )
+ PKG_CHECK_MODULES(DBUSMENUTESTSVALGRIND, valgrind, have_valgrind=yes, have_valgrind=no)
+-AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+ ])
++AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"])
+
+ AC_SUBST(DBUSMENUTESTS_CFLAGS)
+ AC_SUBST(DBUSMENUTESTS_LIBS)
+--
+2.14.0
+
diff --git a/source/l/libdbusmenu/slack-desc b/source/l/libdbusmenu/slack-desc
new file mode 100644
index 000000000..9bc6ed9ff
--- /dev/null
+++ b/source/l/libdbusmenu/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libdbusmenu: libdbusmenu (GTK DBusMenu protocol)
+libdbusmenu:
+libdbusmenu: A small library that was created by pulling out some common code out
+libdbusmenu: of indicator-applet. It passes a menu structure across DBus so that a
+libdbusmenu: program can create a menu without worrying about how it is displayed
+libdbusmenu: on the other side of the bus.
+libdbusmenu:
+libdbusmenu: Homepage: https://launchpad.net/libdbusmenu
+libdbusmenu:
+libdbusmenu:
+libdbusmenu:
diff --git a/source/l/libdmtx/libdmtx.SlackBuild b/source/l/libdmtx/libdmtx.SlackBuild
new file mode 100755
index 000000000..f1ce55072
--- /dev/null
+++ b/source/l/libdmtx/libdmtx.SlackBuild
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libdmtx
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* KNOWNBUG* LICENSE* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libdmtx/libdmtx.url b/source/l/libdmtx/libdmtx.url
new file mode 100644
index 000000000..b2baaf776
--- /dev/null
+++ b/source/l/libdmtx/libdmtx.url
@@ -0,0 +1 @@
+https://github.com/dmtx/libdmtx
diff --git a/source/l/libdmtx/slack-desc b/source/l/libdmtx/slack-desc
new file mode 100644
index 000000000..3846d4de3
--- /dev/null
+++ b/source/l/libdmtx/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libdmtx: libdmtx (Data Matrix barcode library)
+libdmtx:
+libdmtx: libdmtx is a library that enables programs to read and write Data
+libdmtx: Matrix barcodes of the modern ECC200 variety. The utility programs
+libdmtx: dmtxread and dmtxwrite also provide a command line interface for
+libdmtx: libdmtx, and serve as a good reference for developers writing their
+libdmtx: own libdmtx-enabled programs.
+libdmtx:
+libdmtx: Homepage: https://github.com/dmtx/libdmtx
+libdmtx:
+libdmtx:
diff --git a/source/l/libindicator/libindicator.LIBM.diff b/source/l/libindicator/libindicator.LIBM.diff
new file mode 100644
index 000000000..fae77e3a6
--- /dev/null
+++ b/source/l/libindicator/libindicator.LIBM.diff
@@ -0,0 +1,11 @@
+--- ./configure.ac.orig 2012-09-19 10:38:40.047378393 -0500
++++ ./configure.ac 2020-10-10 13:41:31.782774168 -0500
+@@ -66,7 +66,7 @@
+ AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
+
+ LT_LIB_M
+-LIBINDICATOR_LIBS+="$LIBM"
++LIBINDICATOR_LIBS+=" $LIBM"
+
+ ##############################
+ # Custom Junk
diff --git a/source/l/libindicator/libindicator.SlackBuild b/source/l/libindicator/libindicator.SlackBuild
new file mode 100755
index 000000000..3e904a3ef
--- /dev/null
+++ b/source/l/libindicator/libindicator.SlackBuild
@@ -0,0 +1,159 @@
+#!/bin/bash
+
+# Copyright 2015 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libindicator
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+zcat $CWD/libindicator.LIBM.diff.gz | patch -p1 --verbose || exit 1
+
+for file in libindicator/Makefile.in libindicator/Makefile.am tests/Makefile.in tests/Makefile.am tools/Makefile.in tools/Makefile.am ; do
+ sed -i "s/-Werror//g" $file
+done
+
+build_it() {
+# Configure, build, and install:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux \
+ $* || return 1
+make $NUMJOBS || make || return 1
+make install DESTDIR=$PKG || return 1
+}
+
+autoreconf -vif
+
+# GTK+-2 support:
+mkdir -p build-gtk2
+cd build-gtk2
+ build_it --with-gtk=2 || exit 1
+cd -
+
+# GTK+-3 support:
+mkdir -p build-gtk3
+cd build-gtk3
+ build_it --with-gtk=3 || exit 1
+cd -
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libindicator/slack-desc b/source/l/libindicator/slack-desc
new file mode 100644
index 000000000..e28015fa1
--- /dev/null
+++ b/source/l/libindicator/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libindicator: libindicator (support functions for indicators)
+libindicator:
+libindicator: A set of symbols and convenience functions that all indicators would
+libindicator: like to use.
+libindicator:
+libindicator: Homepage: https://launchpad.net/libindicator
+libindicator:
+libindicator:
+libindicator:
+libindicator:
+libindicator:
diff --git a/source/l/liblastfm/liblastfm.url b/source/l/liblastfm/liblastfm.url
deleted file mode 100644
index 8bdd15172..000000000
--- a/source/l/liblastfm/liblastfm.url
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/lastfm/liblastfm
diff --git a/source/l/libqalculate/libqalculate.SlackBuild b/source/l/libqalculate/libqalculate.SlackBuild
new file mode 100755
index 000000000..82062ea8a
--- /dev/null
+++ b/source/l/libqalculate/libqalculate.SlackBuild
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libqalculate
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --with-libcurl \
+ --with-icu \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libqalculate/libqalculate.url b/source/l/libqalculate/libqalculate.url
new file mode 100644
index 000000000..718016a15
--- /dev/null
+++ b/source/l/libqalculate/libqalculate.url
@@ -0,0 +1 @@
+https://github.com/Qalculate/libqalculate
diff --git a/source/l/libqalculate/slack-desc b/source/l/libqalculate/slack-desc
new file mode 100644
index 000000000..b01a3e8f5
--- /dev/null
+++ b/source/l/libqalculate/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libqalculate: libqalculate (multi-purpose calculator library)
+libqalculate:
+libqalculate: Qalculate! is a multi-purpose desktop calculator. It is small and
+libqalculate: simple to use but with much power and versatility underneath. Features
+libqalculate: include customizable functions, units, arbitrary precision, and
+libqalculate: plotting. This package includes the library and a command-line
+libqalculate: interface.
+libqalculate:
+libqalculate: Homepage: http://qalculate.github.io/
+libqalculate:
+libqalculate:
diff --git a/source/l/mlt/mlt.SlackBuild b/source/l/mlt/mlt.SlackBuild
new file mode 100755
index 000000000..59182265f
--- /dev/null
+++ b/source/l/mlt/mlt.SlackBuild
@@ -0,0 +1,153 @@
+#!/bin/bash
+
+# Copyright 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=mlt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+PYTHONSITEPKG=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --avformat-swscale \
+ --disable-debug \
+ --enable-gpl \
+ --enable-gpl3 \
+ --enable-motion-est \
+ --enable-opencv \
+ --enable-qt \
+ --qt-libdir=$(pkg-config Qt5Core --variable=libdir) \
+ --qt-includedir=$(pkg-config Qt5Core --variable=includedir) \
+ --swig-languages="python" \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install the extensions we enabled:
+install -D -m0755 src/swig/python/_mlt.so $PKG/$PYTHONSITEPKG/_mlt.so
+install -D -m0755 src/swig/python/mlt_wrap.o $PKG/$PYTHONSITEPKG/mlt_wrap.o
+install -D -m0755 src/swig/python/mlt.py $PKG/$PYTHONSITEPKG/mlt.py
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* ChangeLog COPYING* GPL* NEWS* README* docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/mlt/mlt.deps b/source/l/mlt/mlt.deps
new file mode 100644
index 000000000..9c0527b33
--- /dev/null
+++ b/source/l/mlt/mlt.deps
@@ -0,0 +1,4 @@
+frei0r-plugins
+opencv
+qt5
+vid.stab
diff --git a/source/l/mlt/mlt.url b/source/l/mlt/mlt.url
new file mode 100644
index 000000000..e2907785c
--- /dev/null
+++ b/source/l/mlt/mlt.url
@@ -0,0 +1 @@
+https://github.com/mltframework/mlt
diff --git a/source/l/mlt/slack-desc b/source/l/mlt/slack-desc
new file mode 100644
index 000000000..debc9002c
--- /dev/null
+++ b/source/l/mlt/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mlt: mlt (open source multimedia framework)
+mlt:
+mlt: MLT is an open source multimedia framework, designed and developed for
+mlt: television broadcasting. It provides a toolkit for broadcasters, video
+mlt: editors, media players, transcoders, web streamers, and many more
+mlt: types of applications. The functionality of the system is provided via
+mlt: an assortment of ready to use tools, XML authoring components, and an
+mlt: extensible plug-in based API.
+mlt:
+mlt: Homepage: http://www.mltframework.org/
+mlt:
diff --git a/source/l/opencv/opencv.SlackBuild b/source/l/opencv/opencv.SlackBuild
new file mode 100755
index 000000000..fb2ccd052
--- /dev/null
+++ b/source/l/opencv/opencv.SlackBuild
@@ -0,0 +1,148 @@
+#!/bin/bash
+
+# Copyright 2015, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=opencv
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+tar xvf $CWD/${PKGNAM}_contrib-${VERSION}.tar.?z || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_MAN_DIR=man \
+ -DINSTALL_DOC_DIR=doc/$PKGNAM-$VERSION \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
+ -DBUILD_CUDA_STUBS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ -DBUILD_PERF_TESTS=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_WITH_DEBUG_INFO=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DWITH_CUDA=OFF \
+ -DWITH_FFMPEG=ON \
+ -DWITH_GDAL=OFF \
+ -DWITH_IPP=OFF \
+ -DWITH_OPENGL=ON \
+ -DWITH_OPENMP=ON \
+ -DWITH_QT=ON \
+ -DWITH_XINE=ON \
+ -DOPENCV_ENABLE_NONFREE=ON \
+ -DOPENCV_EXTRA_MODULES_PATH=../${PKGNAM}_contrib-$VERSION/modules \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_JNI_INSTALL_PATH=lib${LIBDIRSUFFIX} \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# COMMENTED OUT as mlt finds opencv4.pc just fine.
+# Add a symlink to opencv.pc to make eg. mlt find it:
+#( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf opencv4.pc opencv.pc )
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+mv $PKG/usr/share/licenses $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/opencv/opencv.url b/source/l/opencv/opencv.url
new file mode 100644
index 000000000..db4af844d
--- /dev/null
+++ b/source/l/opencv/opencv.url
@@ -0,0 +1,2 @@
+https://github.com/Itseez/opencv
+https://github.com/Itseez/opencv_contrib
diff --git a/source/l/opencv/slack-desc b/source/l/opencv/slack-desc
new file mode 100644
index 000000000..c979cdda6
--- /dev/null
+++ b/source/l/opencv/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+opencv: opencv (Open Source Computer Vision)
+opencv:
+opencv: OpenCV is a collection of algorithms and sample code for various
+opencv: computer vision problems.
+opencv:
+opencv: Homepage: http://opencv.willowgarage.com
+opencv:
+opencv:
+opencv:
+opencv:
+opencv:
diff --git a/source/l/qca-qt5/qca-qt5.SlackBuild b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
index fba0b3195..f1e2be9a0 100755
--- a/source/l/qca-qt5/qca-qt5.SlackBuild
+++ b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012, 2014, 2015, 2016, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=qca-qt5
-SRCNAM=qca
-VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+PKGNAM=phonon-backend-gstreamer
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -76,9 +75,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
-cd $SRCNAM-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
@@ -91,15 +90,15 @@ find . \
mkdir cmake-build
cd cmake-build
cmake \
- -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
- -DQCA_MAN_INSTALL_DIR=/usr/man \
- -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
+ -DSYSCONF_INSTALL_DIR=/etc \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DBUILD_TESTS:BOOL=OFF \
.. || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -118,7 +117,7 @@ done
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* INSTALL* README* TODO* \
+ COPYING* gstreamer/lgpl-* \
$PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
diff --git a/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url
new file mode 100644
index 000000000..6d6621d75
--- /dev/null
+++ b/source/l/phonon-backend-gstreamer/phonon-backend-gstreamer.url
@@ -0,0 +1 @@
+http://download.kde.org/stable/phonon/phonon-backend-gstreamer/
diff --git a/source/l/phonon-backend-gstreamer/slack-desc b/source/l/phonon-backend-gstreamer/slack-desc
new file mode 100644
index 000000000..bb76521f2
--- /dev/null
+++ b/source/l/phonon-backend-gstreamer/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+phonon-backend-gstreamer: phonon-backend-gstreamer (gstreamer backend for phonon)
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: This package provides an additional gstreamer backend for the phonon
+phonon-backend-gstreamer: multimedia framework used in KDE.
+phonon-backend-gstreamer:
+phonon-backend-gstreamer: Homepage: https://invent.kde.org/libraries/phonon-gstreamer
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
+phonon-backend-gstreamer:
diff --git a/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild b/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild
deleted file mode 100755
index 6d2f50272..000000000
--- a/source/l/phonon-gstreamer/phonon-gstreamer.SlackBuild
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/bin/bash
-# Copyright 2011, 2012, 2014 Eric Hameleers, Eindhoven, NL
-# Copyright 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Permission to use, copy, modify, and distribute this software for
-# any purpose with or without fee is hereby granted, provided that
-# the above copyright notice and this permission notice appear in all
-# copies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-# -----------------------------------------------------------------------------
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=phonon-gstreamer
-SRCNAM=phonon-backend-gstreamer
-VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $SRCNAM-$VERSION
-tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1
-cd $SRCNAM-$VERSION || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-echo Building ...
-mkdir -p build
-cd build
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- .. || exit 1
- make $NUMJOBS || exit 1
- make DESTDIR=$PKG install || exit 1
-cd -
-
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir -p build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DPHONON_BUILD_PHONON4QT5=ON \
- .. || exit 1
- make $NUMJOBS || exit 1
- make DESTDIR=$PKG install || exit 1
- cd -
-fi
-
-# Add documentation:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- COPYING.LIB gstreamer/lgpl-* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# Compress the man page(s):
-if [ -d $PKG/usr/man ]; then
- find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \+
- for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).
-gz $i.gz ; rm $i ; done
-fi
-
-# Strip binaries (if any):
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-# Add a package description:
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/phonon-gstreamer/slack-desc b/source/l/phonon-gstreamer/slack-desc
deleted file mode 100644
index 924967e0c..000000000
--- a/source/l/phonon-gstreamer/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-phonon-gstreamer: phonon-gstreamer (gstreamer backend for phonon)
-phonon-gstreamer:
-phonon-gstreamer: This package provides an additional gstreamer backend for the phonon
-phonon-gstreamer: multimedia framework used in KDE.
-phonon-gstreamer:
-phonon-gstreamer: For more information, visit:
-phonon-gstreamer: https://projects.kde.org/projects/kdesupport/phonon/phonon-gstreamer
-phonon-gstreamer:
-phonon-gstreamer:
-phonon-gstreamer:
-phonon-gstreamer:
diff --git a/source/l/phonon/phonon.SlackBuild b/source/l/phonon/phonon.SlackBuild
index a85c26685..3c97b93b8 100755
--- a/source/l/phonon/phonon.SlackBuild
+++ b/source/l/phonon/phonon.SlackBuild
@@ -1,7 +1,8 @@
#!/bin/sh
# Copyright 2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,26 +22,21 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified 2010, 2011, 2012, 2014 Eric Hameleers, Eindhoven, NL
-
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=phonon
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
if [ "$ARCH" = "i586" ]; then
@@ -76,25 +72,28 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
TMP=${TMP:-/tmp}
-PKG=$TMP/package-phonon
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -r phonon-$VERSION
-tar xvf $CWD/phonon-$VERSION.tar.?z* || exit 1
-cd phonon-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir build
-cd build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Qt5 is the only supported version as of 4.11.0:
+mkdir build-qt5
+cd build-qt5
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
@@ -105,36 +104,12 @@ cd build
-DPHONON_QT_PLUGIN_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins/designer \
-DWITH_QZeitgeist=BOOL:OFF \
-DWITH_PulseAudio=BOOL:${PULSEAUDIO} \
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
..
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
cd -
-# Conditional build of Qt5 support:
-if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then
- mkdir build-qt5
- cd build-qt5
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT:BOOL=ON \
- -DPHONON_QT_PLUGIN_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX/qt/plugins/designer \
- -DWITH_QZeitgeist=BOOL:OFF \
- -DWITH_PulseAudio=BOOL:ON \
- -DPHONON_BUILD_PHONON4QT5=ON \
- -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5 \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
- cd -
-fi
-
-# PyQT won't find the header files otherwise:
-sed -i -e 's#{includedir}$#& -I\${includedir}/phonon#' $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/phonon.pc
-
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
@@ -150,8 +125,8 @@ if [ -d $PKG/usr/man ]; then
)
fi
-mkdir -p $PKG/usr/doc/phonon-$VERSION
-cp -a phonon/{BUGS,IDEAS,TODO} $PKG/usr/doc/phonon-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a doc/{BUGS,IDEAS,TODO} $PKG/usr/doc/$PKGNAM-$VERSION
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -160,5 +135,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/phonon-$VERSION-$ARCH-$BUILD$TAG.txz
-
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz
diff --git a/source/l/phonon/phonon.deps b/source/l/phonon/phonon.deps
new file mode 100644
index 000000000..bc90dbd95
--- /dev/null
+++ b/source/l/phonon/phonon.deps
@@ -0,0 +1 @@
+extra-cmake-modules
diff --git a/source/l/phonon/phonon.url b/source/l/phonon/phonon.url
new file mode 100644
index 000000000..f0620e58e
--- /dev/null
+++ b/source/l/phonon/phonon.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/phonon/
diff --git a/source/l/phonon/slack-desc b/source/l/phonon/slack-desc
index 97f667a4f..253c95add 100644
--- a/source/l/phonon/slack-desc
+++ b/source/l/phonon/slack-desc
@@ -6,12 +6,12 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-phonon: phonon (multimedia framework for KDE4)
+phonon: phonon (multimedia framework for KDE)
phonon:
phonon: Phonon is the multimedia API provided by Qt and is the standard
phonon: abstraction for handling multimedia streams within the KDE Software
phonon: Compilation. Phonon provides an API for multimedia using various
-phonon: backends (gstreamer, mplayer, xine) to handle the lower level I/O.
+phonon: backends (e.g. GStreamer or VLC) to handle the lower level I/O.
phonon:
phonon: Homepage: http://phonon.kde.org
phonon:
diff --git a/source/l/ConsoleKit2/doinst.sh b/source/l/pipewire/doinst.sh
index c13a36e3e..50765972b 100644
--- a/source/l/ConsoleKit2/doinst.sh
+++ b/source/l/pipewire/doinst.sh
@@ -11,17 +11,5 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-config etc/ConsoleKit/seats.d/00-primary.seat.new
-preserve_perms etc/rc.d/rc.consolekit.new
+config etc/pipewire/pipewire.conf.new
diff --git a/source/l/pipewire/pipewire.SlackBuild b/source/l/pipewire/pipewire.SlackBuild
new file mode 100755
index 000000000..d3210a726
--- /dev/null
+++ b/source/l/pipewire/pipewire.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+# Copyright 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=pipewire
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Djack=false \
+ -Dpipewire-jack=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Do not clobber custom configurations:
+mv $PKG/etc/pipewire/pipewire.conf{,.new}
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CODE_OF_CONDUCT* COPYING* INSTALL* LICENSE* NEWS* PROTOCOL* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/pipewire/pipewire.url b/source/l/pipewire/pipewire.url
new file mode 100644
index 000000000..c9f6477ee
--- /dev/null
+++ b/source/l/pipewire/pipewire.url
@@ -0,0 +1 @@
+https://gitlab.freedesktop.org/pipewire/pipewire
diff --git a/source/l/pipewire/slack-desc b/source/l/pipewire/slack-desc
new file mode 100644
index 000000000..180d5602b
--- /dev/null
+++ b/source/l/pipewire/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+pipewire: pipewire (multimedia processing)
+pipewire:
+pipewire: PipeWire is a project that aims to greatly improve handling of audio
+pipewire: and video under Linux. It provides a low-latency, graph based
+pipewire: processing engine on top of audio and video devices that can be used
+pipewire: to support the use cases currently handled by both pulseaudio and
+pipewire: JACK. PipeWire was designed with a powerful security model
+pipewire: particularly suited for containerized applications.
+pipewire:
+pipewire: Homepage: https://pipewire.org/
+pipewire:
diff --git a/source/l/polkit-qt-1/polkit-qt-1.SlackBuild b/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
index 7c5ee922c..5d5a8c375 100755
--- a/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
+++ b/source/l/polkit-qt-1/polkit-qt-1.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2009, 2010, 2011, 2012, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,21 +23,18 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit-qt-1
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -48,74 +45,86 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
-# Avoid a version number in .la files:
-if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-fi
-
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
-mkdir -p $TMP $PKG/usr
+mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
- $KDE_OPT_ARGS \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
.. || exit 1
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-if [ -d $PKG/usr/man ]; then
- gzip -9 $PKG/usr/man/man?/*
-fi
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ AUTHORS* ChangeLog CHANGES COPYING* LICENSE* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/polkit-qt-1/polkit-qt-1.url b/source/l/polkit-qt-1/polkit-qt-1.url
new file mode 100644
index 000000000..5f88bb433
--- /dev/null
+++ b/source/l/polkit-qt-1/polkit-qt-1.url
@@ -0,0 +1 @@
+https://download.kde.org/stable/polkit-qt-1
diff --git a/source/l/polkit-qt-1/pull-polkit-qt-1 b/source/l/polkit-qt-1/pull-polkit-qt-1
deleted file mode 100644
index 42d648777..000000000
--- a/source/l/polkit-qt-1/pull-polkit-qt-1
+++ /dev/null
@@ -1,6 +0,0 @@
-rm -rf polkit-qt-1
-git clone git://anongit.kde.org/polkit-qt-1
-( cd polkit-qt-1 && rm -rf .git* )
-mv polkit-qt-1 polkit-qt-1-$(date +%Y%m%d)git
-tar cf polkit-qt-1-$(date +%Y%m%d)git.tar polkit-qt-1-$(date +%Y%m%d)git
-xz -9 polkit-qt-1-$(date +%Y%m%d)git.tar
diff --git a/source/l/polkit-qt-1/slack-desc b/source/l/polkit-qt-1/slack-desc
index 92ecd543d..f1fdd088b 100644
--- a/source/l/polkit-qt-1/slack-desc
+++ b/source/l/polkit-qt-1/slack-desc
@@ -10,10 +10,10 @@ polkit-qt-1: polkit-qt-1 (Qt polkit API wrapper)
polkit-qt-1:
polkit-qt-1: polkit-qt-1 aims to make it easy for Qt developers to take advantage
polkit-qt-1: of the polkit API. It is a convenience wrapper around QAction and
-polkit-qt-1: QAbstractButton that lets you integrate those two components
-polkit-qt-1: easily with polkit.
+polkit-qt-1: QAbstractButton that lets you integrate those two components easily
+polkit-qt-1: with polkit.
polkit-qt-1:
-polkit-qt-1: Homepage: http://techbase.kde.org/Polkit-Qt-1
+polkit-qt-1: Homepage: https://projects.kde.org/projects/kdesupport/polkit-qt-1/
polkit-qt-1:
polkit-qt-1:
polkit-qt-1:
diff --git a/source/l/polkit/0001-configure-fix-elogind-support.patch b/source/l/polkit/0001-configure-fix-elogind-support.patch
new file mode 100644
index 000000000..4c40bd9b2
--- /dev/null
+++ b/source/l/polkit/0001-configure-fix-elogind-support.patch
@@ -0,0 +1,29 @@
+From 08bb656496cd3d6213bbe9473f63f2d4a110da6e Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <cogitri@exherbo.org>
+Date: Wed, 11 Apr 2018 13:14:14 +0200
+Subject: [PATCH] configure: fix elogind support
+
+HAVE_LIBSYSTEMD is used to determine which source files to use.
+We have to check if either have_libsystemd or have_libelogind is
+true, as both of these need the source files which are used when
+HAVE_LIBSYSTEMD is true.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 36df239..da47ecb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -221,7 +221,7 @@ AS_IF([test "x$cross_compiling" != "xyes" ], [
+
+ AC_SUBST(LIBSYSTEMD_CFLAGS)
+ AC_SUBST(LIBSYSTEMD_LIBS)
+-AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes"], [Using libsystemd])
++AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes" || test "$have_libelogind" = "yes" ], [Using libsystemd])
+
+ dnl ---------------------------------------------------------------------------
+ dnl - systemd unit / service files
+--
+2.17.0
+
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index 3182b9958..0c12c80a6 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -82,6 +82,9 @@ find . \
zcat $CWD/dont-set-wheel-group-as-admin.diff.gz | patch -p1 || exit 1
+# https://gitlab.freedesktop.org/polkit/polkit/-/issues/29
+zcat $CWD/0001-configure-fix-elogind-support.patch.gz | patch -p1 || exit 1
+
# If we get here and don't have a polkitd user/group, add one.
# Otherwise a few directories in the package will have wrong permissions.
if ! grep -q "^polkitd:" /etc/passwd ; then
@@ -99,9 +102,15 @@ else
fi
if [ ! -r configure ]; then
- NOCONFIGURE=1 ./autogen.sh
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
fi
+LIBELOGIND_CFLAGS="$(pkg-config --cflags libelogind)" \
+LIBELOGIND_LIBS="$(pkg-config --libs libelogind)" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -117,7 +126,7 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-examples \
--enable-introspection \
--enable-libsystemd-login=no \
- --enable-libelogind=no \
+ --enable-libelogind=yes \
$PAM_OPTIONS \
$SHADOW_OPTIONS \
--enable-verbose-mode \
@@ -179,9 +188,8 @@ if [ -r ChangeLog ]; then
fi
mkdir -p $PKG/install
-zcat $CWD/doinst.sh > $PKG/install/doinst.sh
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qca-qt5/slack-desc b/source/l/qca-qt5/slack-desc
deleted file mode 100644
index 7d8852bea..000000000
--- a/source/l/qca-qt5/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qca-qt5: qca-qt5 (Qt Cryptographic Architecture for Qt5)
-qca-qt5:
-qca-qt5: QCA aims to provide a straightforward and cross-platform cryptographic
-qca-qt5: API using Qt datatypes and conventions. The library and plugins
-qca-qt5: support a range of cryptographic features, including SSL/TLS, X.509
-qca-qt5: certificates, SASL, OpenPGP, smartcards, and much more.
-qca-qt5:
-qca-qt5: Homepage: https://github.com/KDE/qca
-qca-qt5:
-qca-qt5:
-qca-qt5:
diff --git a/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff b/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff
deleted file mode 100644
index 01d8bab5a..000000000
--- a/source/l/qca/Add_support_for_OpenSSL_1.1.0.diff
+++ /dev/null
@@ -1,1720 +0,0 @@
-From d58e20ee652038dc4ec4fe4765dc3639ed735526 Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Sat, 16 Dec 2017 22:29:40 +0100
-Subject: Add support for OpenSSL 1.1.0
-
-Test Plan:
-Ran the testsuite with OpenSSL 1.1.0g and 1.0.2j, all passed.
-Using this code with kdeconnect and okteta successfully on my system now.
-
-Reviewers: iromanov
-
-Subscribers: anthonyfieroni, alonbl, heikobecker, cfeck, asturmlechner, bero, rdieter
-
-Differential Revision: https://phabricator.kde.org/D9416
----
- plugins/qca-ossl/ossl110-compat.h | 283 ++++++++++++++++++
- plugins/qca-ossl/qca-ossl.cpp | 583 ++++++++++++++++++++++++--------------
- create mode 100644 plugins/qca-ossl/ossl110-compat.h
-
-diff --git a/plugins/qca-ossl/ossl110-compat.h b/plugins/qca-ossl/ossl110-compat.h
-new file mode 100644
-index 0000000..ec15475
---- /dev/null
-+++ b/plugins/qca-ossl/ossl110-compat.h
-@@ -0,0 +1,283 @@
-+/*
-+ * Copyright (C) 2017 Gabriel Souza Franco <gabrielfrancosouza@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-+ *
-+ */
-+
-+#ifndef OSSL110COMPAT_H
-+#define OSSL110COMPAT_H
-+
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+#include <openssl/rsa.h>
-+#include <openssl/dsa.h>
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define RSA_F_RSA_METH_DUP 161
-+
-+static void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
-+{
-+ if (pr)
-+ *pr = sig->r;
-+ if (ps)
-+ *ps = sig->s;
-+}
-+
-+static int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-+{
-+ if (!sig) return 0;
-+ sig->r = r;
-+ sig->s = s;
-+ return 1;
-+}
-+
-+static void DSA_get0_pqg(const DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ if (p)
-+ *p = dsa->p;
-+ if (q)
-+ *q = dsa->q;
-+ if (g)
-+ *g = dsa->g;
-+}
-+
-+static int DSA_set0_pqg(DSA *dsa, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ if (!dsa) return 0;
-+ dsa->p = p;
-+ dsa->q = q;
-+ dsa->g = g;
-+ return 1;
-+}
-+
-+static void RSA_get0_key(const RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ if (n)
-+ *n = rsa->n;
-+ if (e)
-+ *e = rsa->e;
-+ if (d)
-+ *d = rsa->d;
-+}
-+
-+static int RSA_set0_key(RSA *rsa, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ if (!rsa) return 0;
-+ rsa->n = n;
-+ rsa->e = e;
-+ rsa->d = d;
-+ return 1;
-+}
-+
-+static void RSA_get0_factors(const RSA *rsa, const BIGNUM **p, const BIGNUM **q)
-+{
-+ if (p)
-+ *p = rsa->p;
-+ if (q)
-+ *q = rsa->q;
-+}
-+
-+static int RSA_set0_factors(RSA *rsa, BIGNUM *p, BIGNUM *q)
-+{
-+ if (!rsa) return 0;
-+ rsa->p = p;
-+ rsa->q = q;
-+ return 1;
-+}
-+
-+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ if (p)
-+ *p = dh->p;
-+ if (q)
-+ *q = dh->q;
-+ if (g)
-+ *g = dh->g;
-+}
-+
-+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ if (!dh) return 0;
-+ dh->p = p;
-+ dh->q = q;
-+ dh->g = g;
-+ return 1;
-+}
-+
-+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key)
-+ *pub_key = dh->pub_key;
-+ if (priv_key)
-+ *priv_key = dh->priv_key;
-+}
-+
-+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ if (!dh) return 0;
-+ dh->pub_key = pub_key;
-+ dh->priv_key = priv_key;
-+ return 1;
-+}
-+
-+static void DSA_get0_key(const DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key)
-+ *pub_key = dsa->pub_key;
-+ if (priv_key)
-+ *priv_key = dsa->priv_key;
-+}
-+
-+static int DSA_set0_key(DSA *dsa, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ if (!dsa) return 0;
-+ dsa->pub_key = pub_key;
-+ dsa->priv_key = priv_key;
-+ return 1;
-+}
-+
-+static void X509_SIG_getm(const X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
-+{
-+ if (palg)
-+ *palg = sig->algor;
-+ if (pdigest)
-+ *pdigest = sig->digest;
-+}
-+
-+static void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, const X509_ALGOR **palg)
-+{
-+ if (psig)
-+ *psig = req->signature;
-+ if (palg)
-+ *palg = req->sig_alg;
-+}
-+
-+static void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, const X509_ALGOR **palg)
-+{
-+ if (psig)
-+ *psig = crl->signature;
-+ if (palg)
-+ *palg = crl->sig_alg;
-+}
-+
-+static RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth)
-+{
-+ if (!meth)
-+ return NULL;
-+
-+ RSA_METHOD *_meth = (RSA_METHOD *) OPENSSL_malloc(sizeof(*_meth));
-+
-+ if (!_meth)
-+ {
-+ RSAerr(RSA_F_RSA_METH_DUP, ERR_R_MALLOC_FAILURE);
-+ return NULL;
-+ }
-+
-+ memcpy(_meth, meth, sizeof(*_meth));
-+ _meth->name = strdup(meth->name);
-+ if (!_meth->name) {
-+ OPENSSL_free(_meth);
-+ RSAerr(RSA_F_RSA_METH_DUP, ERR_R_MALLOC_FAILURE);
-+ return NULL;
-+ }
-+
-+ return _meth;
-+}
-+
-+static int RSA_meth_set_priv_enc(RSA_METHOD *rsa, int (*priv_enc) (int flen, const unsigned char *from,
-+ unsigned char *to, RSA *rsa, int padding))
-+{
-+ if (!rsa) return 0;
-+ rsa->rsa_priv_enc = priv_enc;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_priv_dec(RSA_METHOD *rsa, int (*priv_dec) (int flen, const unsigned char *from,
-+ unsigned char *to, RSA *rsa, int padding))
-+{
-+ if (!rsa) return 0;
-+ rsa->rsa_priv_dec = priv_dec;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_sign(RSA_METHOD *meth, int (*sign) (int type, const unsigned char *m,
-+ unsigned int m_length, unsigned char *sigret, unsigned int *siglen, const RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->rsa_sign = sign;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_verify(RSA_METHOD *meth, int (*verify) (int dtype, const unsigned char *m,
-+ unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, const RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->rsa_verify = verify;
-+ return 1;
-+}
-+
-+static int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish) (RSA *rsa))
-+{
-+ if (!meth) return 0;
-+ meth->finish = finish;
-+ return 1;
-+}
-+
-+static HMAC_CTX *HMAC_CTX_new()
-+{
-+ HMAC_CTX *ctx = (HMAC_CTX *) OPENSSL_malloc(sizeof(HMAC_CTX));
-+ if (ctx)
-+ HMAC_CTX_init(ctx);
-+ return ctx;
-+}
-+
-+static void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+ if (!ctx)
-+ return;
-+ HMAC_CTX_cleanup(ctx);
-+ EVP_MD_CTX_cleanup(&ctx->i_ctx);
-+ EVP_MD_CTX_cleanup(&ctx->o_ctx);
-+ EVP_MD_CTX_cleanup(&ctx->md_ctx);
-+ OPENSSL_free(ctx);
-+}
-+
-+#define ASN1_STRING_get0_data(...) (const unsigned char*)ASN1_STRING_data(__VA_ARGS__)
-+
-+#define EVP_MD_CTX_new(...) EVP_MD_CTX_create(__VA_ARGS__)
-+#define EVP_MD_CTX_free(...) EVP_MD_CTX_destroy(__VA_ARGS__)
-+
-+#define EVP_PKEY_up_ref(pkey) CRYPTO_add(&(pkey)->references, 1, CRYPTO_LOCK_EVP_PKEY)
-+#define X509_up_ref(cert) CRYPTO_add(&(cert)->references, 1, CRYPTO_LOCK_X509)
-+#define X509_CRL_up_ref(crl) CRYPTO_add(&(crl)->references, 1, CRYPTO_LOCK_X509_CRL)
-+
-+#define EVP_PKEY_id(pky) (pky)->type
-+#define EVP_PKEY_get0_DSA(pky) (pky)->pkey.dsa
-+#define EVP_PKEY_get0_RSA(pky) (pky)->pkey.rsa
-+#define EVP_PKEY_get0_DH(pky) (pky)->pkey.dh
-+
-+#define X509_CRL_get0_lastUpdate X509_CRL_get_lastUpdate
-+#define X509_CRL_get0_nextUpdate X509_CRL_get_nextUpdate
-+
-+#define X509_REQ_get_signature_nid(req) OBJ_obj2nid((req)->sig_alg->algorithm)
-+#define X509_CRL_get_signature_nid(crl) OBJ_obj2nid((crl)->sig_alg->algorithm)
-+
-+#define X509_REVOKED_get0_serialNumber(rev) (rev)->serialNumber
-+#define X509_REVOKED_get0_revocationDate(rev) (rev)->revocationDate
-+
-+#endif // OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#endif // OSSL110COMPAT_H
-diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
-index a507604..39dbc2b 100644
---- a/plugins/qca-ossl/qca-ossl.cpp
-+++ b/plugins/qca-ossl/qca-ossl.cpp
-@@ -2,6 +2,7 @@
- /*
- * Copyright (C) 2004-2007 Justin Karneges <justin@affinix.com>
- * Copyright (C) 2004-2006 Brad Hards <bradh@frogmouth.net>
-+ * Copyright (C) 2017 Fabian Vogt <fabian@ritter-vogt.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -39,6 +40,8 @@
- #include <openssl/pkcs12.h>
- #include <openssl/ssl.h>
-
-+#include "ossl110-compat.h"
-+
- #ifndef OSSL_097
- // comment this out if you'd rather use openssl 0.9.6
- #define OSSL_097
-@@ -53,6 +56,16 @@
- ((_STACK*) (1 ? p : (type*)0))
- #endif
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ #define OSSL_110
-+#endif
-+
-+// OpenSSL 1.1.0 compatibility macros
-+#ifdef OSSL_110
-+#define M_ASN1_IA5STRING_new() ASN1_IA5STRING_new()
-+#define RSA_F_RSA_EAY_PRIVATE_DECRYPT RSA_F_RSA_OSSL_PRIVATE_DECRYPT
-+#endif
-+
- using namespace QCA;
-
- namespace opensslQCAPlugin {
-@@ -94,7 +107,7 @@ static QByteArray bio2ba(BIO *b)
- return buf;
- }
-
--static BigInteger bn2bi(BIGNUM *n)
-+static BigInteger bn2bi(const BIGNUM *n)
- {
- SecureArray buf(BN_num_bytes(n) + 1);
- buf[0] = 0; // positive
-@@ -110,7 +123,7 @@ static BIGNUM *bi2bn(const BigInteger &n)
-
- // take lowest bytes of BIGNUM to fit
- // pad with high byte zeroes to fit
--static SecureArray bn2fixedbuf(BIGNUM *n, int size)
-+static SecureArray bn2fixedbuf(const BIGNUM *n, int size)
- {
- SecureArray buf(BN_num_bytes(n));
- BN_bn2bin(n, (unsigned char *)buf.data());
-@@ -128,8 +141,11 @@ static SecureArray dsasig_der_to_raw(const SecureArray &in)
- const unsigned char *inp = (const unsigned char *)in.data();
- d2i_DSA_SIG(&sig, &inp, in.size());
-
-- SecureArray part_r = bn2fixedbuf(sig->r, 20);
-- SecureArray part_s = bn2fixedbuf(sig->s, 20);
-+ const BIGNUM *bnr, *bns;
-+ DSA_SIG_get0(sig, &bnr, &bns);
-+
-+ SecureArray part_r = bn2fixedbuf(bnr, 20);
-+ SecureArray part_s = bn2fixedbuf(bns, 20);
- SecureArray result;
- result.append(part_r);
- result.append(part_s);
-@@ -144,12 +160,16 @@ static SecureArray dsasig_raw_to_der(const SecureArray &in)
- return SecureArray();
-
- DSA_SIG *sig = DSA_SIG_new();
-- SecureArray part_r(20);
-- SecureArray part_s(20);
-+ SecureArray part_r(20); BIGNUM *bnr;
-+ SecureArray part_s(20); BIGNUM *bns;
- memcpy(part_r.data(), in.data(), 20);
- memcpy(part_s.data(), in.data() + 20, 20);
-- sig->r = BN_bin2bn((const unsigned char *)part_r.data(), part_r.size(), NULL);
-- sig->s = BN_bin2bn((const unsigned char *)part_s.data(), part_s.size(), NULL);
-+ bnr = BN_bin2bn((const unsigned char *)part_r.data(), part_r.size(), NULL);
-+ bns = BN_bin2bn((const unsigned char *)part_s.data(), part_s.size(), NULL);
-+
-+ if(DSA_SIG_set0(sig, bnr, bns) == 0)
-+ return SecureArray();
-+ // Not documented what happens in the failure case, free bnr and bns?
-
- int len = i2d_DSA_SIG(sig, NULL);
- SecureArray result(len);
-@@ -1005,29 +1025,39 @@ public:
- opensslHashContext(const EVP_MD *algorithm, Provider *p, const QString &type) : HashContext(p, type)
- {
- m_algorithm = algorithm;
-- EVP_DigestInit( &m_context, m_algorithm );
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
-+ }
-+
-+ opensslHashContext(const opensslHashContext &other)
-+ : HashContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy_ex(m_context, other.m_context);
- }
-
- ~opensslHashContext()
- {
-- EVP_MD_CTX_cleanup(&m_context);
-+ EVP_MD_CTX_free(m_context);
- }
-
- void clear()
- {
-- EVP_MD_CTX_cleanup(&m_context);
-- EVP_DigestInit( &m_context, m_algorithm );
-+ EVP_MD_CTX_free(m_context);
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
- }
-
- void update(const MemoryRegion &a)
- {
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
- }
-
- MemoryRegion final()
- {
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- return a;
- }
-
-@@ -1038,7 +1068,7 @@ public:
-
- protected:
- const EVP_MD *m_algorithm;
-- EVP_MD_CTX m_context;
-+ EVP_MD_CTX *m_context;
- };
-
-
-@@ -1048,7 +1078,21 @@ public:
- opensslPbkdf1Context(const EVP_MD *algorithm, Provider *p, const QString &type) : KDFContext(p, type)
- {
- m_algorithm = algorithm;
-- EVP_DigestInit( &m_context, m_algorithm );
-+ m_context = EVP_MD_CTX_new();
-+ EVP_DigestInit( m_context, m_algorithm );
-+ }
-+
-+ opensslPbkdf1Context(const opensslPbkdf1Context &other)
-+ : KDFContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy(m_context, other.m_context);
-+ }
-+
-+ ~opensslPbkdf1Context()
-+ {
-+ EVP_MD_CTX_free(m_context);
- }
-
- Provider::Context *clone() const
-@@ -1082,16 +1126,16 @@ public:
- DK = Tc<0..dkLen-1>
- */
- // calculate T_1
-- EVP_DigestUpdate( &m_context, (unsigned char*)secret.data(), secret.size() );
-- EVP_DigestUpdate( &m_context, (unsigned char*)salt.data(), salt.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)secret.data(), secret.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)salt.data(), salt.size() );
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
-
- // calculate T_2 up to T_c
- for ( unsigned int i = 2; i <= iterationCount; ++i ) {
-- EVP_DigestInit( &m_context, m_algorithm );
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestInit( m_context, m_algorithm );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- }
-
- // shrink a to become DK, of the required length
-@@ -1137,19 +1181,19 @@ public:
- DK = Tc<0..dkLen-1>
- */
- // calculate T_1
-- EVP_DigestUpdate( &m_context, (unsigned char*)secret.data(), secret.size() );
-- EVP_DigestUpdate( &m_context, (unsigned char*)salt.data(), salt.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)secret.data(), secret.size() );
-+ EVP_DigestUpdate( m_context, (unsigned char*)salt.data(), salt.size() );
- SecureArray a( EVP_MD_size( m_algorithm ) );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
-
- // calculate T_2 up to T_c
- *iterationCount = 2 - 1; // <- Have to remove 1, unless it computes one
- timer.start(); // ^ time more than the base function
- // ^ with the same iterationCount
- while (timer.elapsed() < msecInterval) {
-- EVP_DigestInit( &m_context, m_algorithm );
-- EVP_DigestUpdate( &m_context, (unsigned char*)a.data(), a.size() );
-- EVP_DigestFinal( &m_context, (unsigned char*)a.data(), 0 );
-+ EVP_DigestInit( m_context, m_algorithm );
-+ EVP_DigestUpdate( m_context, (unsigned char*)a.data(), a.size() );
-+ EVP_DigestFinal( m_context, (unsigned char*)a.data(), 0 );
- ++(*iterationCount);
- }
-
-@@ -1164,7 +1208,7 @@ public:
-
- protected:
- const EVP_MD *m_algorithm;
-- EVP_MD_CTX m_context;
-+ EVP_MD_CTX *m_context;
- };
-
- class opensslPbkdf2Context : public KDFContext
-@@ -1232,12 +1276,28 @@ public:
- opensslHMACContext(const EVP_MD *algorithm, Provider *p, const QString &type) : MACContext(p, type)
- {
- m_algorithm = algorithm;
-- HMAC_CTX_init( &m_context );
-+ m_context = HMAC_CTX_new();
-+#ifndef OSSL_110
-+ HMAC_CTX_init( m_context );
-+#endif
-+ }
-+
-+ opensslHMACContext(const opensslHMACContext &other)
-+ : MACContext(other)
-+ {
-+ m_algorithm = other.m_algorithm;
-+ m_context = HMAC_CTX_new();
-+ HMAC_CTX_copy(m_context, other.m_context);
-+ }
-+
-+ ~opensslHMACContext()
-+ {
-+ HMAC_CTX_free(m_context);
- }
-
- void setup(const SymmetricKey &key)
- {
-- HMAC_Init_ex( &m_context, key.data(), key.size(), m_algorithm, 0 );
-+ HMAC_Init_ex( m_context, key.data(), key.size(), m_algorithm, 0 );
- }
-
- KeyLength keyLength() const
-@@ -1247,14 +1307,18 @@ public:
-
- void update(const MemoryRegion &a)
- {
-- HMAC_Update( &m_context, (unsigned char *)a.data(), a.size() );
-+ HMAC_Update( m_context, (unsigned char *)a.data(), a.size() );
- }
-
- void final(MemoryRegion *out)
- {
- SecureArray sa( EVP_MD_size( m_algorithm ), 0 );
-- HMAC_Final(&m_context, (unsigned char *)sa.data(), 0 );
-- HMAC_CTX_cleanup(&m_context);
-+ HMAC_Final(m_context, (unsigned char *)sa.data(), 0 );
-+#ifdef OSSL_110
-+ HMAC_CTX_reset(m_context);
-+#else
-+ HMAC_CTX_cleanup(m_context);
-+#endif
- *out = sa;
- }
-
-@@ -1264,7 +1328,7 @@ public:
- }
-
- protected:
-- HMAC_CTX m_context;
-+ HMAC_CTX *m_context;
- const EVP_MD *m_algorithm;
- };
-
-@@ -1278,7 +1342,7 @@ class EVPKey
- public:
- enum State { Idle, SignActive, SignError, VerifyActive, VerifyError };
- EVP_PKEY *pkey;
-- EVP_MD_CTX mdctx;
-+ EVP_MD_CTX *mdctx;
- State state;
- bool raw_type;
- SecureArray raw;
-@@ -1288,19 +1352,23 @@ public:
- pkey = 0;
- raw_type = false;
- state = Idle;
-+ mdctx = EVP_MD_CTX_new();
- }
-
- EVPKey(const EVPKey &from)
- {
- pkey = from.pkey;
-- CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
-+ EVP_PKEY_up_ref(pkey);
- raw_type = false;
- state = Idle;
-+ mdctx = EVP_MD_CTX_new();
-+ EVP_MD_CTX_copy(mdctx, from.mdctx);
- }
-
- ~EVPKey()
- {
- reset();
-+ EVP_MD_CTX_free(mdctx);
- }
-
- void reset()
-@@ -1323,8 +1391,8 @@ public:
- else
- {
- raw_type = false;
-- EVP_MD_CTX_init(&mdctx);
-- if(!EVP_SignInit_ex(&mdctx, type, NULL))
-+ EVP_MD_CTX_init(mdctx);
-+ if(!EVP_SignInit_ex(mdctx, type, NULL))
- state = SignError;
- }
- }
-@@ -1340,8 +1408,8 @@ public:
- else
- {
- raw_type = false;
-- EVP_MD_CTX_init(&mdctx);
-- if(!EVP_VerifyInit_ex(&mdctx, type, NULL))
-+ EVP_MD_CTX_init(mdctx);
-+ if(!EVP_VerifyInit_ex(mdctx, type, NULL))
- state = VerifyError;
- }
- }
-@@ -1353,7 +1421,7 @@ public:
- if (raw_type)
- raw += in;
- else
-- if(!EVP_SignUpdate(&mdctx, in.data(), (unsigned int)in.size()))
-+ if(!EVP_SignUpdate(mdctx, in.data(), (unsigned int)in.size()))
- state = SignError;
- }
- else if(state == VerifyActive)
-@@ -1361,7 +1429,7 @@ public:
- if (raw_type)
- raw += in;
- else
-- if(!EVP_VerifyUpdate(&mdctx, in.data(), (unsigned int)in.size()))
-+ if(!EVP_VerifyUpdate(mdctx, in.data(), (unsigned int)in.size()))
- state = VerifyError;
- }
- }
-@@ -1374,17 +1442,20 @@ public:
- unsigned int len = out.size();
- if (raw_type)
- {
-- if (pkey->type == EVP_PKEY_RSA)
-+ int type = EVP_PKEY_id(pkey);
-+
-+ if (type == EVP_PKEY_RSA)
- {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
- if(RSA_private_encrypt (raw.size(), (unsigned char *)raw.data(),
-- (unsigned char *)out.data(), pkey->pkey.rsa,
-+ (unsigned char *)out.data(), rsa,
- RSA_PKCS1_PADDING) == -1) {
-
- state = SignError;
- return SecureArray ();
- }
- }
-- else if (pkey->type == EVP_PKEY_DSA)
-+ else if (type == EVP_PKEY_DSA)
- {
- state = SignError;
- return SecureArray ();
-@@ -1396,7 +1467,7 @@ public:
- }
- }
- else {
-- if(!EVP_SignFinal(&mdctx, (unsigned char *)out.data(), &len, pkey))
-+ if(!EVP_SignFinal(mdctx, (unsigned char *)out.data(), &len, pkey))
- {
- state = SignError;
- return SecureArray();
-@@ -1419,16 +1490,19 @@ public:
- SecureArray out(EVP_PKEY_size(pkey));
- int len = 0;
-
-- if (pkey->type == EVP_PKEY_RSA) {
-+ int type = EVP_PKEY_id(pkey);
-+
-+ if (type == EVP_PKEY_RSA) {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
- if((len = RSA_public_decrypt (sig.size(), (unsigned char *)sig.data(),
-- (unsigned char *)out.data (), pkey->pkey.rsa,
-+ (unsigned char *)out.data (), rsa,
- RSA_PKCS1_PADDING)) == -1) {
-
- state = VerifyError;
- return false;
- }
- }
-- else if (pkey->type == EVP_PKEY_DSA)
-+ else if (type == EVP_PKEY_DSA)
- {
- state = VerifyError;
- return false;
-@@ -1448,7 +1522,7 @@ public:
- }
- else
- {
-- if(EVP_VerifyFinal(&mdctx, (unsigned char *)sig.data(), (unsigned int)sig.size(), pkey) != 1)
-+ if(EVP_VerifyFinal(mdctx, (unsigned char *)sig.data(), (unsigned int)sig.size(), pkey) != 1)
- {
- state = VerifyError;
- return false;
-@@ -1562,9 +1636,11 @@ static bool make_dlgroup(const QByteArray &seed, int bits, int counter, DLParams
- return false;
- if(ret_counter != counter)
- return false;
-- params->p = bn2bi(dsa->p);
-- params->q = bn2bi(dsa->q);
-- params->g = bn2bi(dsa->g);
-+ const BIGNUM *bnp, *bnq, *bng;
-+ DSA_get0_pqg(dsa, &bnp, &bnq, &bng);
-+ params->p = bn2bi(bnp);
-+ params->q = bn2bi(bnq);
-+ params->g = bn2bi(bng);
- DSA_free(dsa);
- return true;
- }
-@@ -1827,10 +1903,11 @@ public:
- return;
-
- // extract the public key into DER format
-- int len = i2d_RSAPublicKey(evp.pkey->pkey.rsa, NULL);
-+ RSA *rsa_pkey = EVP_PKEY_get0_RSA(evp.pkey);
-+ int len = i2d_RSAPublicKey(rsa_pkey, NULL);
- SecureArray result(len);
- unsigned char *p = (unsigned char *)result.data();
-- i2d_RSAPublicKey(evp.pkey->pkey.rsa, &p);
-+ i2d_RSAPublicKey(rsa_pkey, &p);
- p = (unsigned char *)result.data();
-
- // put the DER public key back into openssl
-@@ -1853,7 +1930,7 @@ public:
-
- virtual int maximumEncryptSize(EncryptionAlgorithm alg) const
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- int size = 0;
- switch(alg)
- {
-@@ -1868,7 +1945,7 @@ public:
-
- virtual SecureArray encrypt(const SecureArray &in, EncryptionAlgorithm alg)
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- SecureArray buf = in;
- int max = maximumEncryptSize(alg);
-
-@@ -1901,7 +1978,7 @@ public:
-
- virtual bool decrypt(const SecureArray &in, SecureArray *out, EncryptionAlgorithm alg)
- {
-- RSA *rsa = evp.pkey->pkey.rsa;
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
- SecureArray result(RSA_size(rsa));
- int pad;
-
-@@ -2022,14 +2099,10 @@ public:
- evp.reset();
-
- RSA *rsa = RSA_new();
-- rsa->n = bi2bn(n);
-- rsa->e = bi2bn(e);
-- rsa->p = bi2bn(p);
-- rsa->q = bi2bn(q);
-- rsa->d = bi2bn(d);
--
-- if(!rsa->n || !rsa->e || !rsa->p || !rsa->q || !rsa->d)
-+ if(RSA_set0_key(rsa, bi2bn(n), bi2bn(e), bi2bn(d)) == 0
-+ || RSA_set0_factors(rsa, bi2bn(p), bi2bn(q)) == 0)
- {
-+ // Free BIGNUMS?
- RSA_free(rsa);
- return;
- }
-@@ -2037,7 +2110,7 @@ public:
- // When private key has no Public Exponent (e) or Private Exponent (d)
- // need to disable blinding. Otherwise decryption will be broken.
- // http://www.mail-archive.com/openssl-users@openssl.org/msg63530.html
-- if(BN_is_zero(rsa->e) || BN_is_zero(rsa->d))
-+ if(e == BigInteger(0) || d == BigInteger(0))
- RSA_blinding_off(rsa);
-
- evp.pkey = EVP_PKEY_new();
-@@ -2050,10 +2123,7 @@ public:
- evp.reset();
-
- RSA *rsa = RSA_new();
-- rsa->n = bi2bn(n);
-- rsa->e = bi2bn(e);
--
-- if(!rsa->n || !rsa->e)
-+ if(RSA_set0_key(rsa, bi2bn(n), bi2bn(e), NULL) == 0)
- {
- RSA_free(rsa);
- return;
-@@ -2066,27 +2136,42 @@ public:
-
- virtual BigInteger n() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->n);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnn;
-+ RSA_get0_key(rsa, &bnn, NULL, NULL);
-+ return bn2bi(bnn);
- }
-
- virtual BigInteger e() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->e);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bne;
-+ RSA_get0_key(rsa, NULL, &bne, NULL);
-+ return bn2bi(bne);
- }
-
- virtual BigInteger p() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->p);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnp;
-+ RSA_get0_factors(rsa, &bnp, NULL);
-+ return bn2bi(bnp);
- }
-
- virtual BigInteger q() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->q);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnq;
-+ RSA_get0_factors(rsa, NULL, &bnq);
-+ return bn2bi(bnq);
- }
-
- virtual BigInteger d() const
- {
-- return bn2bi(evp.pkey->pkey.rsa->d);
-+ RSA *rsa = EVP_PKEY_get0_RSA(evp.pkey);
-+ const BIGNUM *bnd;
-+ RSA_get0_key(rsa, NULL, NULL, &bnd);
-+ return bn2bi(bnd);
- }
-
- private slots:
-@@ -2135,10 +2220,12 @@ public:
- virtual void run()
- {
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- if(!DSA_generate_key(dsa))
-+ BIGNUM *pne = bi2bn(domain.p()),
-+ *qne = bi2bn(domain.q()),
-+ *gne = bi2bn(domain.g());
-+
-+ if(!DSA_set0_pqg(dsa, pne, qne, gne)
-+ || !DSA_generate_key(dsa))
- {
- DSA_free(dsa);
- return;
-@@ -2213,10 +2300,11 @@ public:
- return;
-
- // extract the public key into DER format
-- int len = i2d_DSAPublicKey(evp.pkey->pkey.dsa, NULL);
-+ DSA *dsa_pkey = EVP_PKEY_get0_DSA(evp.pkey);
-+ int len = i2d_DSAPublicKey(dsa_pkey, NULL);
- SecureArray result(len);
- unsigned char *p = (unsigned char *)result.data();
-- i2d_DSAPublicKey(evp.pkey->pkey.dsa, &p);
-+ i2d_DSAPublicKey(dsa_pkey, &p);
- p = (unsigned char *)result.data();
-
- // put the DER public key back into openssl
-@@ -2245,7 +2333,7 @@ public:
- else
- transformsig = false;
-
-- evp.startSign(EVP_dss1());
-+ evp.startSign(EVP_sha1());
- }
-
- virtual void startVerify(SignatureAlgorithm, SignatureFormat format)
-@@ -2256,7 +2344,7 @@ public:
- else
- transformsig = false;
-
-- evp.startVerify(EVP_dss1());
-+ evp.startVerify(EVP_sha1());
- }
-
- virtual void update(const MemoryRegion &in)
-@@ -2306,13 +2394,14 @@ public:
- evp.reset();
-
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- dsa->pub_key = bi2bn(y);
-- dsa->priv_key = bi2bn(x);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bnq = bi2bn(domain.q());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-+ BIGNUM *bnpriv_key = bi2bn(x);
-
-- if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key || !dsa->priv_key)
-+ if(!DSA_set0_pqg(dsa, bnp, bnq, bng)
-+ || !DSA_set0_key(dsa, bnpub_key, bnpriv_key))
- {
- DSA_free(dsa);
- return;
-@@ -2328,12 +2417,13 @@ public:
- evp.reset();
-
- DSA *dsa = DSA_new();
-- dsa->p = bi2bn(domain.p());
-- dsa->q = bi2bn(domain.q());
-- dsa->g = bi2bn(domain.g());
-- dsa->pub_key = bi2bn(y);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bnq = bi2bn(domain.q());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-
-- if(!dsa->p || !dsa->q || !dsa->g || !dsa->pub_key)
-+ if(!DSA_set0_pqg(dsa, bnp, bnq, bng)
-+ || !DSA_set0_key(dsa, bnpub_key, NULL))
- {
- DSA_free(dsa);
- return;
-@@ -2346,17 +2436,26 @@ public:
-
- virtual DLGroup domain() const
- {
-- return DLGroup(bn2bi(evp.pkey->pkey.dsa->p), bn2bi(evp.pkey->pkey.dsa->q), bn2bi(evp.pkey->pkey.dsa->g));
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnp, *bnq, *bng;
-+ DSA_get0_pqg(dsa, &bnp, &bnq, &bng);
-+ return DLGroup(bn2bi(bnp), bn2bi(bnq), bn2bi(bng));
- }
-
- virtual BigInteger y() const
- {
-- return bn2bi(evp.pkey->pkey.dsa->pub_key);
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DSA_get0_key(dsa, &bnpub_key, NULL);
-+ return bn2bi(bnpub_key);
- }
-
- virtual BigInteger x() const
- {
-- return bn2bi(evp.pkey->pkey.dsa->priv_key);
-+ DSA *dsa = EVP_PKEY_get0_DSA(evp.pkey);
-+ const BIGNUM *bnpriv_key;
-+ DSA_get0_key(dsa, NULL, &bnpriv_key);
-+ return bn2bi(bnpriv_key);
- }
-
- private slots:
-@@ -2405,9 +2504,10 @@ public:
- virtual void run()
- {
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- if(!DH_generate_key(dh))
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ if(!DH_set0_pqg(dh, bnp, NULL, bng)
-+ || !DH_generate_key(dh))
- {
- DH_free(dh);
- return;
-@@ -2479,11 +2579,14 @@ public:
- if(!sec)
- return;
-
-- DH *orig = evp.pkey->pkey.dh;
-+ DH *orig = EVP_PKEY_get0_DH(evp.pkey);
- DH *dh = DH_new();
-- dh->p = BN_dup(orig->p);
-- dh->g = BN_dup(orig->g);
-- dh->pub_key = BN_dup(orig->pub_key);
-+ const BIGNUM *bnp, *bng, *bnpub_key;
-+ DH_get0_pqg(orig, &bnp, NULL, &bng);
-+ DH_get0_key(orig, &bnpub_key, NULL);
-+
-+ DH_set0_key(dh, BN_dup(bnpub_key), NULL);
-+ DH_set0_pqg(dh, BN_dup(bnp), NULL, BN_dup(bng));
-
- evp.reset();
-
-@@ -2499,10 +2602,13 @@ public:
-
- virtual SymmetricKey deriveKey(const PKeyBase &theirs)
- {
-- DH *dh = evp.pkey->pkey.dh;
-- DH *them = static_cast<const DHKey *>(&theirs)->evp.pkey->pkey.dh;
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ DH *them = EVP_PKEY_get0_DH(static_cast<const DHKey *>(&theirs)->evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DH_get0_key(them, &bnpub_key, NULL);
-+
- SecureArray result(DH_size(dh));
-- int ret = DH_compute_key((unsigned char *)result.data(), them->pub_key, dh);
-+ int ret = DH_compute_key((unsigned char *)result.data(), bnpub_key, dh);
- if(ret <= 0)
- return SymmetricKey();
- result.resize(ret);
-@@ -2532,12 +2638,13 @@ public:
- evp.reset();
-
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- dh->pub_key = bi2bn(y);
-- dh->priv_key = bi2bn(x);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-+ BIGNUM *bnpriv_key = bi2bn(x);
-
-- if(!dh->p || !dh->g || !dh->pub_key || !dh->priv_key)
-+ if(!DH_set0_key(dh, bnpub_key, bnpriv_key)
-+ || !DH_set0_pqg(dh, bnp, NULL, bng))
- {
- DH_free(dh);
- return;
-@@ -2553,11 +2660,12 @@ public:
- evp.reset();
-
- DH *dh = DH_new();
-- dh->p = bi2bn(domain.p());
-- dh->g = bi2bn(domain.g());
-- dh->pub_key = bi2bn(y);
-+ BIGNUM *bnp = bi2bn(domain.p());
-+ BIGNUM *bng = bi2bn(domain.g());
-+ BIGNUM *bnpub_key = bi2bn(y);
-
-- if(!dh->p || !dh->g || !dh->pub_key)
-+ if(!DH_set0_key(dh, bnpub_key, NULL)
-+ || !DH_set0_pqg(dh, bnp, NULL, bng))
- {
- DH_free(dh);
- return;
-@@ -2570,17 +2678,26 @@ public:
-
- virtual DLGroup domain() const
- {
-- return DLGroup(bn2bi(evp.pkey->pkey.dh->p), bn2bi(evp.pkey->pkey.dh->g));
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnp, *bng;
-+ DH_get0_pqg(dh, &bnp, NULL, &bng);
-+ return DLGroup(bn2bi(bnp), bn2bi(bng));
- }
-
- virtual BigInteger y() const
- {
-- return bn2bi(evp.pkey->pkey.dh->pub_key);
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnpub_key;
-+ DH_get0_key(dh, &bnpub_key, NULL);
-+ return bn2bi(bnpub_key);
- }
-
- virtual BigInteger x() const
- {
-- return bn2bi(evp.pkey->pkey.dh->priv_key);
-+ DH *dh = EVP_PKEY_get0_DH(evp.pkey);
-+ const BIGNUM *bnpriv_key;
-+ DH_get0_key(dh, NULL, &bnpriv_key);
-+ return bn2bi(bnpriv_key);
- }
-
- private slots:
-@@ -2619,10 +2736,14 @@ public:
- {
- key = _key;
- RSA_set_method(rsa, rsa_method());
-+#ifndef OSSL_110
- rsa->flags |= RSA_FLAG_SIGN_VER;
-+#endif
- RSA_set_app_data(rsa, this);
-- rsa->n = bi2bn(_key.n());
-- rsa->e = bi2bn(_key.e());
-+ BIGNUM *bnn = bi2bn(_key.n());
-+ BIGNUM *bne = bi2bn(_key.e());
-+
-+ RSA_set0_key(rsa, bnn, bne, NULL);
- }
-
- RSA_METHOD *rsa_method()
-@@ -2631,12 +2752,16 @@ public:
-
- if(!ops)
- {
-- ops = new RSA_METHOD(*RSA_get_default_method());
-- ops->rsa_priv_enc = 0;//pkcs11_rsa_encrypt;
-- ops->rsa_priv_dec = rsa_priv_dec;
-- ops->rsa_sign = rsa_sign;
-- ops->rsa_verify = 0;//pkcs11_rsa_verify;
-- ops->finish = rsa_finish;
-+ ops = RSA_meth_dup(RSA_get_default_method());
-+ RSA_meth_set_priv_enc(ops, NULL); //pkcs11_rsa_encrypt
-+ RSA_meth_set_priv_dec(ops, rsa_priv_dec); //pkcs11_rsa_encrypt
-+#ifdef OSSL_110
-+ RSA_meth_set_sign(ops, NULL);
-+#else
-+ RSA_meth_set_sign(ops, rsa_sign);
-+#endif
-+ RSA_meth_set_verify(ops, NULL); //pkcs11_rsa_verify
-+ RSA_meth_set_finish(ops, rsa_finish);
- }
- return ops;
- }
-@@ -2676,6 +2801,7 @@ public:
- return -1;
- }
-
-+#ifndef OSSL_110
- static int rsa_sign(int type, const unsigned char *m, unsigned int m_len, unsigned char *sigret, unsigned int *siglen, const RSA *rsa)
- {
- QCA_RSA_METHOD *self = (QCA_RSA_METHOD *)RSA_get_app_data(rsa);
-@@ -2692,7 +2818,6 @@ public:
- }
- else
- {
--
- // make X509 packet
- X509_SIG sig;
- ASN1_TYPE parameter;
-@@ -2766,6 +2891,7 @@ public:
-
- return 1;
- }
-+#endif
-
- static int rsa_finish(RSA *rsa)
- {
-@@ -2867,21 +2993,22 @@ public:
- PKeyBase *pkeyToBase(EVP_PKEY *pkey, bool sec) const
- {
- PKeyBase *nk = 0;
-- if(pkey->type == EVP_PKEY_RSA)
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+ if(pkey_type == EVP_PKEY_RSA)
- {
- RSAKey *c = new RSAKey(provider());
- c->evp.pkey = pkey;
- c->sec = sec;
- nk = c;
- }
-- else if(pkey->type == EVP_PKEY_DSA)
-+ else if(pkey_type == EVP_PKEY_DSA)
- {
- DSAKey *c = new DSAKey(provider());
- c->evp.pkey = pkey;
- c->sec = sec;
- nk = c;
- }
-- else if(pkey->type == EVP_PKEY_DH)
-+ else if(pkey_type == EVP_PKEY_DH)
- {
- DHKey *c = new DHKey(provider());
- c->evp.pkey = pkey;
-@@ -2899,8 +3026,10 @@ public:
- {
- EVP_PKEY *pkey = get_pkey();
-
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QByteArray();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -2913,8 +3042,10 @@ public:
- {
- EVP_PKEY *pkey = get_pkey();
-
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-+
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QString();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -2979,9 +3110,10 @@ public:
- return SecureArray();
-
- EVP_PKEY *pkey = get_pkey();
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return SecureArray();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -3008,9 +3140,10 @@ public:
- return QString();
-
- EVP_PKEY *pkey = get_pkey();
-+ int pkey_type = EVP_PKEY_type(EVP_PKEY_id(pkey));
-
- // OpenSSL does not have DH import/export support
-- if(pkey->type == EVP_PKEY_DH)
-+ if(pkey_type == EVP_PKEY_DH)
- return QString();
-
- BIO *bo = BIO_new(BIO_s_mem());
-@@ -3111,11 +3244,18 @@ public:
- crl = from.crl;
-
- if(cert)
-- CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(cert);
- if(req)
-+ {
-+#ifdef OSSL_110
-+ // Not exposed, so copy
-+ req = X509_REQ_dup(req);
-+#else
- CRYPTO_add(&req->references, 1, CRYPTO_LOCK_X509_REQ);
-+#endif
-+ }
- if(crl)
-- CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(crl);
- }
-
- return *this;
-@@ -3221,7 +3361,7 @@ public:
- //
- // This code is mostly taken from OpenSSL v0.9.5a
- // by Eric Young
--QDateTime ASN1_UTCTIME_QDateTime(ASN1_UTCTIME *tm, int *isGmt)
-+QDateTime ASN1_UTCTIME_QDateTime(const ASN1_UTCTIME *tm, int *isGmt)
- {
- QDateTime qdt;
- char *v;
-@@ -3319,7 +3459,7 @@ public:
-
- void fromX509(X509 *x)
- {
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- item.cert = x;
- make_props();
- }
-@@ -3350,7 +3490,7 @@ public:
- if(priv.key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(priv.key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return false;
-
-@@ -3481,7 +3621,7 @@ public:
-
- const MyCertContext *our_cc = this;
- X509 *x = our_cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
-
- const MyCertContext *other_cc = static_cast<const MyCertContext *>(other);
-@@ -3596,14 +3736,21 @@ public:
- p.policies = get_cert_policies(ex);
- }
-
-- if (x->signature)
-+#ifdef OSSL_110
-+ const
-+#endif
-+ ASN1_BIT_STRING *signature;
-+
-+ X509_get0_signature(&signature, NULL, x);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-
-- switch( OBJ_obj2nid(x->cert_info->signature->algorithm) )
-+
-+ switch( X509_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -3635,7 +3782,7 @@ public:
- p.sigalgo = QCA::EMSA3_SHA512;
- break;
- default:
-- qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->cert_info->signature->algorithm);
-+ qDebug() << "Unknown signature value: " << X509_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -3752,7 +3899,7 @@ public:
- if(privateKey -> key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(privateKey -> key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return 0;
-
-@@ -3935,7 +4082,7 @@ public:
- if(priv.key()->type() == PKey::RSA)
- md = EVP_sha1();
- else if(priv.key()->type() == PKey::DSA)
-- md = EVP_dss1();
-+ md = EVP_sha1();
- else
- return false;
-
-@@ -4096,14 +4243,17 @@ public:
-
- sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
-
-- if (x->signature)
-+ const ASN1_BIT_STRING *signature;
-+
-+ X509_REQ_get0_signature(x, &signature, NULL);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-
-- switch( OBJ_obj2nid(x->sig_alg->algorithm) )
-+ switch( X509_REQ_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -4123,7 +4273,7 @@ public:
- p.sigalgo = QCA::EMSA1_SHA1;
- break;
- default:
-- qDebug() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
-+ qDebug() << "Unknown signature value: " << X509_REQ_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -4187,7 +4337,7 @@ public:
-
- void fromX509(X509_CRL *x)
- {
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- item.crl = x;
- make_props();
- }
-@@ -4232,15 +4382,15 @@ public:
-
- issuer = get_cert_name(X509_CRL_get_issuer(x));
-
-- p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_lastUpdate(x), NULL);
-- p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get_nextUpdate(x), NULL);
-+ p.thisUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get0_lastUpdate(x), NULL);
-+ p.nextUpdate = ASN1_UTCTIME_QDateTime(X509_CRL_get0_nextUpdate(x), NULL);
-
- STACK_OF(X509_REVOKED)* revokeStack = X509_CRL_get_REVOKED(x);
-
- for (int i = 0; i < sk_X509_REVOKED_num(revokeStack); ++i) {
- X509_REVOKED *rev = sk_X509_REVOKED_value(revokeStack, i);
-- BigInteger serial = bn2bi(ASN1_INTEGER_to_BN(rev->serialNumber, NULL));
-- QDateTime time = ASN1_UTCTIME_QDateTime( rev->revocationDate, NULL);
-+ BigInteger serial = bn2bi(ASN1_INTEGER_to_BN(X509_REVOKED_get0_serialNumber(rev), NULL));
-+ QDateTime time = ASN1_UTCTIME_QDateTime( X509_REVOKED_get0_revocationDate(rev), NULL);
- QCA::CRLEntry::Reason reason = QCA::CRLEntry::Unspecified;
- int pos = X509_REVOKED_get_ext_by_NID(rev, NID_crl_reason, -1);
- if (pos != -1) {
-@@ -4289,13 +4439,18 @@ public:
- p.revoked.append(thisEntry);
- }
-
-- if (x->signature)
-+ const ASN1_BIT_STRING *signature;
-+
-+ X509_CRL_get0_signature(x, &signature, NULL);
-+ if(signature)
- {
-- p.sig = QByteArray(x->signature->length, 0);
-- for (int i=0; i< x->signature->length; i++)
-- p.sig[i] = x->signature->data[i];
-+ p.sig = QByteArray(signature->length, 0);
-+ for (int i=0; i< signature->length; i++)
-+ p.sig[i] = signature->data[i];
- }
-- switch( OBJ_obj2nid(x->sig_alg->algorithm) )
-+
-+
-+ switch( X509_CRL_get_signature_nid(x) )
- {
- case NID_sha1WithRSAEncryption:
- p.sigalgo = QCA::EMSA3_SHA1;
-@@ -4327,7 +4482,7 @@ public:
- p.sigalgo = QCA::EMSA3_SHA512;
- break;
- default:
-- qWarning() << "Unknown signature value: " << OBJ_obj2nid(x->sig_alg->algorithm);
-+ qWarning() << "Unknown signature value: " << X509_CRL_get_signature_nid(x);
- p.sigalgo = QCA::SignatureUnknown;
- }
-
-@@ -4488,21 +4643,21 @@ Validity MyCertContext::validate(const QList<CertContext*> &trusted, const QList
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(trusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(trusted_list, x);
- }
- for(n = 0; n < untrusted.count(); ++n)
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(untrusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
- }
- for(n = 0; n < crls.count(); ++n)
- {
- const MyCRLContext *cc = static_cast<const MyCRLContext *>(crls[n]);
- X509_CRL *x = cc->item.crl;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- crl_list.append(x);
- }
-
-@@ -4527,7 +4682,7 @@ Validity MyCertContext::validate(const QList<CertContext*> &trusted, const QList
- int ret = X509_verify_cert(ctx);
- int err = -1;
- if(!ret)
-- err = ctx->error;
-+ err = X509_STORE_CTX_get_error(ctx);
-
- // cleanup
- X509_STORE_CTX_free(ctx);
-@@ -4561,21 +4716,21 @@ Validity MyCertContext::validate_chain(const QList<CertContext*> &chain, const Q
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(trusted[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(trusted_list, x);
- }
- for(n = 1; n < chain.count(); ++n)
- {
- const MyCertContext *cc = static_cast<const MyCertContext *>(chain[n]);
- X509 *x = cc->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(untrusted_list, x);
- }
- for(n = 0; n < crls.count(); ++n)
- {
- const MyCRLContext *cc = static_cast<const MyCRLContext *>(crls[n]);
- X509_CRL *x = cc->item.crl;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ X509_CRL_up_ref(x);
- crl_list.append(x);
- }
-
-@@ -4600,7 +4755,7 @@ Validity MyCertContext::validate_chain(const QList<CertContext*> &chain, const Q
- int ret = X509_verify_cert(ctx);
- int err = -1;
- if(!ret)
-- err = ctx->error;
-+ err = X509_STORE_CTX_get_error(ctx);
-
- // grab the chain, which may not be fully populated
- STACK_OF(X509) *xchain = X509_STORE_CTX_get_chain(ctx);
-@@ -4664,7 +4819,7 @@ public:
- for(int n = 1; n < chain.count(); ++n)
- {
- X509 *x = static_cast<const MyCertContext *>(chain[n])->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(ca, x);
- }
- }
-@@ -5399,7 +5554,7 @@ public:
- OpenSSL_add_ssl_algorithms();
- SSL_CTX *ctx = 0;
- switch (version) {
--#ifndef OPENSSL_NO_SSL2
-+#if !defined(OPENSSL_NO_SSL2) && !defined(OSSL_110)
- case TLS::SSL_v2:
- ctx = SSL_CTX_new(SSLv2_client_method());
- break;
-@@ -5430,8 +5585,8 @@ public:
- STACK_OF(SSL_CIPHER) *sk = SSL_get_ciphers(ssl);
- QStringList cipherList;
- for(int i = 0; i < sk_SSL_CIPHER_num(sk); ++i) {
-- SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
-- cipherList += cipherIDtoString(version, thisCipher->id);
-+ const SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
-+ cipherList += cipherIDtoString(version, SSL_CIPHER_get_id(thisCipher));
- }
-
- SSL_free(ssl);
-@@ -5808,13 +5963,15 @@ public:
- {
- SessionInfo sessInfo;
-
-- sessInfo.isCompressed = (0 != SSL_SESSION_get_compress_id(ssl->session));
-+ SSL_SESSION *session = SSL_get0_session(ssl);
-+ sessInfo.isCompressed = (0 != SSL_SESSION_get_compress_id(session));
-+ int ssl_version = SSL_version(ssl);
-
-- if (ssl->version == TLS1_VERSION)
-+ if (ssl_version == TLS1_VERSION)
- sessInfo.version = TLS::TLS_v1;
-- else if (ssl->version == SSL3_VERSION)
-+ else if (ssl_version == SSL3_VERSION)
- sessInfo.version = TLS::SSL_v3;
-- else if (ssl->version == SSL2_VERSION)
-+ else if (ssl_version == SSL2_VERSION)
- sessInfo.version = TLS::SSL_v2;
- else {
- qDebug("unexpected version response");
-@@ -5822,7 +5979,7 @@ public:
- }
-
- sessInfo.cipherSuite = cipherIDtoString( sessInfo.version,
-- SSL_get_current_cipher(ssl)->id);
-+ SSL_CIPHER_get_id(SSL_get_current_cipher(ssl)));
-
- sessInfo.cipherMaxBits = SSL_get_cipher_bits(ssl, &(sessInfo.cipherBits));
-
-@@ -6394,7 +6551,7 @@ public:
- for(int n = 0; n < nonroots.count(); ++n)
- {
- X509 *x = static_cast<MyCertContext *>(nonroots[n].context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
- }
-
-@@ -6436,7 +6593,7 @@ public:
-
- other_certs = sk_X509_new_null();
- X509 *x = static_cast<MyCertContext *>(target.context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
-
- bi = BIO_new(BIO_s_mem());
-@@ -6499,7 +6656,7 @@ public:
- for(int n = 0; n < untrusted_list.count(); ++n)
- {
- X509 *x = static_cast<MyCertContext *>(untrusted_list[n].context())->item.cert;
-- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+ X509_up_ref(x);
- sk_X509_push(other_certs, x);
- }
-
-@@ -6750,14 +6907,27 @@ public:
- opensslCipherContext(const EVP_CIPHER *algorithm, const int pad, Provider *p, const QString &type) : CipherContext(p, type)
- {
- m_cryptoAlgorithm = algorithm;
-- EVP_CIPHER_CTX_init(&m_context);
-+ m_context = EVP_CIPHER_CTX_new();
-+ EVP_CIPHER_CTX_init(m_context);
- m_pad = pad;
- m_type = type;
- }
-
-+ opensslCipherContext(const opensslCipherContext &other)
-+ : CipherContext(other)
-+ {
-+ m_cryptoAlgorithm = other.m_cryptoAlgorithm;
-+ m_context = EVP_CIPHER_CTX_new();
-+ EVP_CIPHER_CTX_copy(m_context, other.m_context);
-+ m_direction = other.m_direction;
-+ m_pad = other.m_pad;
-+ m_type = other.m_type;
-+ }
-+
- ~opensslCipherContext()
- {
-- EVP_CIPHER_CTX_cleanup(&m_context);
-+ EVP_CIPHER_CTX_cleanup(m_context);
-+ EVP_CIPHER_CTX_free(m_context);
- }
-
- void setup(Direction dir,
-@@ -6772,20 +6943,20 @@ public:
- m_cryptoAlgorithm = EVP_des_ede();
- }
- if (Encode == m_direction) {
-- EVP_EncryptInit_ex(&m_context, m_cryptoAlgorithm, 0, 0, 0);
-- EVP_CIPHER_CTX_set_key_length(&m_context, key.size());
-+ EVP_EncryptInit_ex(m_context, m_cryptoAlgorithm, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_key_length(m_context, key.size());
-- EVP_EncryptInit_ex(&m_context, 0, 0,
-+ EVP_EncryptInit_ex(m_context, 0, 0,
- (const unsigned char*)(key.data()),
- (const unsigned char*)(iv.data()));
- } else {
-- EVP_DecryptInit_ex(&m_context, m_cryptoAlgorithm, 0, 0, 0);
-- EVP_CIPHER_CTX_set_key_length(&m_context, key.size());
-+ EVP_DecryptInit_ex(m_context, m_cryptoAlgorithm, 0, 0, 0);
-+ EVP_CIPHER_CTX_set_key_length(m_context, key.size());
-- EVP_DecryptInit_ex(&m_context, 0, 0,
-+ EVP_DecryptInit_ex(m_context, 0, 0,
- (const unsigned char*)(key.data()),
- (const unsigned char*)(iv.data()));
- }
-
-- EVP_CIPHER_CTX_set_padding(&m_context, m_pad);
-+ EVP_CIPHER_CTX_set_padding(m_context, m_pad);
- }
-
- Provider::Context *clone() const
-@@ -6803,7 +6974,7 @@ public:
-
- int blockSize() const
- {
-- return EVP_CIPHER_CTX_block_size(&m_context);
-+ return EVP_CIPHER_CTX_block_size(m_context);
- }
-
- bool update(const SecureArray &in, SecureArray *out)
-@@ -6821,7 +6992,7 @@ public:
- out->resize(in.size()+blockSize());
- int resultLength;
- if (Encode == m_direction) {
-- if (0 == EVP_EncryptUpdate(&m_context,
-+ if (0 == EVP_EncryptUpdate(m_context,
- (unsigned char*)out->data(),
- &resultLength,
- (unsigned char*)in.data(),
-@@ -6829,7 +7000,7 @@ public:
- return false;
- }
- } else {
-- if (0 == EVP_DecryptUpdate(&m_context,
-+ if (0 == EVP_DecryptUpdate(m_context,
- (unsigned char*)out->data(),
- &resultLength,
- (unsigned char*)in.data(),
-@@ -6846,13 +7017,13 @@ public:
- out->resize(blockSize());
- int resultLength;
- if (Encode == m_direction) {
-- if (0 == EVP_EncryptFinal_ex(&m_context,
-+ if (0 == EVP_EncryptFinal_ex(m_context,
- (unsigned char*)out->data(),
- &resultLength)) {
- return false;
- }
- } else {
-- if (0 == EVP_DecryptFinal_ex(&m_context,
-+ if (0 == EVP_DecryptFinal_ex(m_context,
- (unsigned char*)out->data(),
- &resultLength)) {
- return false;
-@@ -6899,7 +7070,7 @@ public:
-
-
- protected:
-- EVP_CIPHER_CTX m_context;
-+ EVP_CIPHER_CTX *m_context;
- const EVP_CIPHER *m_cryptoAlgorithm;
- Direction m_direction;
- int m_pad;
diff --git a/source/l/qca/qca.SlackBuild b/source/l/qca/qca.SlackBuild
index c76db2da6..550c32d05 100755
--- a/source/l/qca/qca.SlackBuild
+++ b/source/l/qca/qca.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/bash
-# Copyright 2006, 2008, 2009, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016, 2017, 2018, 2019, 2020 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,23 +21,22 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by Robby Workman <rworkman@slackware.com> for qca-2.0.0
-# No additional license terms and no copyright claim
-
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=qca
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+SRCNAM=qca
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
-# Automatically determine architecture for build & packaging:
+# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -47,72 +47,82 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
-cd $PKGNAM-$VERSION || exit 1
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Support OpenSSL-1.1.x:
-zcat $CWD/Add_support_for_OpenSSL_1.1.0.diff.gz | patch -p1 --verbose || exit 1
-
-# This unit test patch won't apply, so whatever. Don't need it.
-#qca.tlsunittest.cpp.diff.gz | patch -p1 --verbose || exit 1
-
-mkdir build
-cd build
-
-cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DQCA_MAN_INSTALL_DIR=/usr/man \
- -DQCA_FEATURE_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX}/qt/mkspecs/features/ \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SHARED_LINKER_FLAGS="-lstdc++" \
- -DLIB_SUFFIX="${LIBDIRSUFFIX}" \
- -DQT4_BUILD:BOOL=ON \
- .. || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DQCA_MAN_INSTALL_DIR=/usr/man \
+ -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS:BOOL=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
-gzip -9 $PKG/usr/man/man?/*.?
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-cd ..
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- COPYING INSTALL README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ COPYING* INSTALL* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n /tmp/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/qca/qca.tlsunittest.cpp.diff b/source/l/qca/qca.tlsunittest.cpp.diff
deleted file mode 100644
index 0b3d6090a..000000000
--- a/source/l/qca/qca.tlsunittest.cpp.diff
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/unittest/tls/tlsunittest.cpp b/unittest/tls/tlsunittest.cpp
-index 38caf2d..ba8ed94 100644
---- a/unittest/tls/tlsunittest.cpp
-+++ b/unittest/tls/tlsunittest.cpp
-@@ -60,14 +60,16 @@ void TLSUnitTest::testCipherList()
- QCA::TLS *tls = new QCA::TLS(QCA::TLS::Stream, 0, "qca-ossl");
- QStringList cipherList = tls->supportedCipherSuites(QCA::TLS::TLS_v1);
- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_256_CBC_SHA") );
- QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_RSA_WITH_3DES_EDE_CBC_SHA") );
- QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_128_CBC_SHA") );
-+
-+ // openSUSE TW OpenSSL 1.1 does not have this
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_RSA_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("TLS_DHE_DSS_WITH_AES_128_CBC_SHA") );
-
- // Fedora 26 openssl has no this cipher suites.
- // QVERIFY( cipherList.contains("TLS_RSA_WITH_RC4_128_SHA") );
-@@ -89,16 +91,17 @@ void TLSUnitTest::testCipherList()
- // QVERIFY( cipherList.contains("TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5") );
- // QVERIFY( cipherList.contains("TLS_RSA_EXPORT_WITH_RC4_40_MD5") );
-
-- cipherList = tls->supportedCipherSuites(QCA::TLS::SSL_v3);
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_256_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_3DES_EDE_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_128_CBC_SHA") );
-- QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_128_CBC_SHA") );
-+ // OpenSSL 1.1 in openSUSE TW has it disabled by default
-+ // cipherList = tls->supportedCipherSuites(QCA::TLS::SSL_v3);
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_256_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_3DES_EDE_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_RSA_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_DHE_DSS_WITH_AES_128_CBC_SHA") );
-+ // QVERIFY( cipherList.contains("SSL_RSA_WITH_AES_128_CBC_SHA") );
-
- // Fedora 22 has no SSL_RSA_WITH_RC4_128_MD5
- // QVERIFY( cipherList.contains("SSL_RSA_WITH_RC4_128_MD5") );
---
-cgit v0.11.2
-
diff --git a/source/l/qca-qt5/qca-qt5.url b/source/l/qca/qca.url
index 6761b96a5..6761b96a5 100644
--- a/source/l/qca-qt5/qca-qt5.url
+++ b/source/l/qca/qca.url
diff --git a/source/l/qca/slack-desc b/source/l/qca/slack-desc
index fe30b1a34..ec4e9f0d6 100644
--- a/source/l/qca/slack-desc
+++ b/source/l/qca/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
qca: qca (Qt Cryptographic Architecture)
qca:
-qca: QCA aims to provide a straightforward and cross-platform crypto API,
-qca: using Qt datatypes and conventions. QCA separates the API from the
-qca: implementation, using plugins known as Providers. The advantage of
-qca: this model is to allow applications to avoid linking to or explicitly
-qca: depending on any particular cryptographic library. This allows one
-qca: to easily change or upgrade crypto implementations without needing
-qca: to recompile the application.
+qca: QCA aims to provide a straightforward and cross-platform cryptographic
+qca: API using Qt datatypes and conventions. The library and plugins
+qca: support a range of cryptographic features, including SSL/TLS, X.509
+qca: certificates, SASL, OpenPGP, smartcards, and much more.
+qca:
+qca: Homepage: https://github.com/KDE/qca
+qca:
+qca:
qca:
-qca: QCA was written by Justin Karneges.
diff --git a/source/l/qimageblitz/qimageblitz.SlackBuild b/source/l/qimageblitz/qimageblitz.SlackBuild
deleted file mode 100755
index 578a16cd4..000000000
--- a/source/l/qimageblitz/qimageblitz.SlackBuild
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qimageblitz
-VERSION=0.0.6
-BUILD=${BUILD:-2}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-qimageblitz
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf qimageblitz-$VERSION
-tar xvf $CWD/qimageblitz-$VERSION.tar.bz2 || exit 1
-cd qimageblitz-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/qimageblitz-$VERSION
-cp -a AUTHORS COPYING* README* $PKG/usr/doc/qimageblitz-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/qimageblitz-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qimageblitz/qimageblitz.info b/source/l/qimageblitz/qimageblitz.info
deleted file mode 100644
index 49a399536..000000000
--- a/source/l/qimageblitz/qimageblitz.info
+++ /dev/null
@@ -1,8 +0,0 @@
-PRGNAM="qimageblitz"
-VERSION="0.0.4"
-HOMEPAGE="http://sourceforge.net/projects/qimageblitz"
-DOWNLOAD="http://downloads.sourceforge.net/qimageblitz/qimageblitz-0.0.4.tar.bz2"
-MD5SUM="cb87c7f1c0455e8984ee4830f1e749cf"
-MAINTAINER="Robby Workman"
-EMAIL="rw@rlworkman.net"
-APPROVED=
diff --git a/source/l/qimageblitz/slack-desc b/source/l/qimageblitz/slack-desc
deleted file mode 100644
index a4d3e34a7..000000000
--- a/source/l/qimageblitz/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------|
-qimageblitz: qimageblitz (Graphical effect and filter library for KDE4)
-qimageblitz:
-qimageblitz: Blitz is a graphical effect and filter library for KDE4.0 that
-qimageblitz: contains many improvements over KDE 3.x's kdefx library
-qimageblitz: including bugfixes, memory and speed improvements, and MMX/SSE
-qimageblitz: support.
-qimageblitz:
-qimageblitz:
-qimageblitz:
-qimageblitz:
-qimageblitz:
diff --git a/source/l/qjson/slack-desc b/source/l/qjson/slack-desc
deleted file mode 100644
index 994c01fb6..000000000
--- a/source/l/qjson/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qjson: qjson (manage JSON objects with Qt)
-qjson:
-qjson: JSON (JavaScript Object Notation) is a lightweight data-interchange
-qjson: format. It can represents integer, real number, string, an ordered
-qjson: sequence of value, and a collection of name/value pairs.
-qjson: QJson is a qt-based library that maps JSON data to QVariant objects:
-qjson: JSON arrays will be mapped to QVariantList instances, while JSON's
-qjson: objects will be mapped to QVariantMap.
-qjson:
-qjson: http://qjson.sourceforge.net/
-qjson:
diff --git a/source/l/qrencode/qrencode.SlackBuild b/source/l/qrencode/qrencode.SlackBuild
new file mode 100755
index 000000000..476045f12
--- /dev/null
+++ b/source/l/qrencode/qrencode.SlackBuild
@@ -0,0 +1,144 @@
+#!/bin/bash
+
+# Copyright 2014, 2017, 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qrencode
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --without-tests \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ChangeLog COPYING* NEWS* README* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/qrencode/qrencode.url b/source/l/qrencode/qrencode.url
new file mode 100644
index 000000000..fb85876b6
--- /dev/null
+++ b/source/l/qrencode/qrencode.url
@@ -0,0 +1 @@
+http://fukuchi.org/works/qrencode
diff --git a/source/l/qrencode/slack-desc b/source/l/qrencode/slack-desc
new file mode 100644
index 000000000..ec1095650
--- /dev/null
+++ b/source/l/qrencode/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+qrencode: qrencode (QR Code encoding library)
+qrencode:
+qrencode: Libqrencode is a library for encoding data in a QR Code symbol, a kind
+qrencode: of 2D symbology that can be scanned by handy terminals such as a
+qrencode: mobile phone camera. The capacity of QR Code is up to 7000 digits or
+qrencode: 4000 characters, and has high robustness.
+qrencode:
+qrencode: Homepage: http://fukuchi.org/works/qrencode
+qrencode:
+qrencode:
+qrencode:
diff --git a/source/l/qt-gstreamer/doinst.sh b/source/l/qt-gstreamer/doinst.sh
deleted file mode 100644
index aab1b9e3c..000000000
--- a/source/l/qt-gstreamer/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x /usr/bin/update-mime-database ]; then
- /usr/bin/update-mime-database ./usr/share/mime >/dev/null 2>&1
-fi
-
diff --git a/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff b/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff
deleted file mode 100644
index d97ace63d..000000000
--- a/source/l/qt-gstreamer/qt-gstreamer.gstreamer-1.16.x.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./src/QGst/caps.cpp.orig 2014-07-08 13:38:36.000000000 -0500
-+++ ./src/QGst/caps.cpp 2019-04-21 20:39:17.810000919 -0500
-@@ -54,7 +54,8 @@
-
- void Caps::append(const CapsPtr & caps2)
- {
-- gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
-+ GstCaps *caps3 = caps2;
-+ gst_caps_append(object<GstCaps>(), gst_caps_copy(caps3));
- }
-
- CapsPtr Caps::merge(CapsPtr & caps2)
diff --git a/source/l/qt-gstreamer/slack-desc b/source/l/qt-gstreamer/slack-desc
deleted file mode 100644
index 08d633d91..000000000
--- a/source/l/qt-gstreamer/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-----------------------------------------------------|
-qt-gstreamer: qt-gstreamer (C++ bindings for gstreamer)
-qt-gstreamer:
-qt-gstreamer: QtGStreamer provides C++ bindings for GStreamer with a Qt-style API,
-qt-gstreamer: plus some helper classes and elements for integrating GStreamer
-qt-gstreamer: better in Qt applications.
-qt-gstreamer: The goal of this module is to allow easy use of GStreamer for
-qt-gstreamer: applications targetting MeeGo Mobile or the KDE desktop.
-qt-gstreamer:
-qt-gstreamer: Homepage:
-qt-gstreamer: http://gstreamer.freedesktop.org/modules/qt-gstreamer.html
-qt-gstreamer:
diff --git a/source/l/qt/Qt.pc b/source/l/qt/Qt.pc
deleted file mode 100644
index 29d1131c6..000000000
--- a/source/l/qt/Qt.pc
+++ /dev/null
@@ -1,16 +0,0 @@
-prefix=/usr/lib${LIBDIRSUFFIX}/qt
-bindir=${prefix}/bin
-datadir=${prefix}
-docdir=${prefix}/doc
-headerdir=${prefix}/include
-importdir=${prefix}/imports
-libdir=${prefix}/lib
-moc=${bindir}/moc
-plugindir=${prefix}/plugins
-qmake=${bindir}/qmake
-sysconfdir=/etc
-translationdir=${prefix}/translations
-
-Name: Qt
-Description: Qt Configuration
-Version: 4.8.6
diff --git a/source/l/qt/README b/source/l/qt/README
deleted file mode 100644
index 9bbcb3467..000000000
--- a/source/l/qt/README
+++ /dev/null
@@ -1,9 +0,0 @@
-qt-<version>_<git revision> is actually KDE's version of Qt from git
-that includes important patches not yet present in mainline Qt.
-
-The recommended version of Qt for KDE may be obtained from the
-repository with this command:
-
-git clone git://gitorious.org/+kde-developers/qt/kde-qt.git
-
-(see the SlackBuild for more details)
diff --git a/source/l/qt/doinst.sh b/source/l/qt/doinst.sh
deleted file mode 100644
index b9a2c53ba..000000000
--- a/source/l/qt/doinst.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-
-if [ -x sbin/ldconfig ]; then
- chroot . /sbin/ldconfig 2> /dev/null
-fi
-
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
-fi
-
-
diff --git a/source/l/qt/patches/qt-4.8-disable-sslv3.patch b/source/l/qt/patches/qt-4.8-disable-sslv3.patch
deleted file mode 100644
index c9b1996ec..000000000
--- a/source/l/qt/patches/qt-4.8-disable-sslv3.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- ./src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2019-11-09 12:55:26.646752874 -0600
-+++ ./src/network/ssl/qsslsocket_openssl_symbols.cpp 2019-11-09 12:58:22.032754751 -0600
-@@ -253,7 +253,9 @@
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
-@@ -263,7 +265,9 @@
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- #if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
-@@ -272,7 +276,9 @@
- DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
- DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-@@ -756,7 +762,9 @@
- RESOLVEFUNC(SSL_shutdown, 173, libs.first )
- RESOLVEFUNC(SSL_write, 188, libs.first )
- RESOLVEFUNC(SSLv2_client_method, 192, libs.first )
-+#ifndef OPENSSL_NO_SSL3
- RESOLVEFUNC(SSLv3_client_method, 195, libs.first )
-+#endif
- RESOLVEFUNC(SSLv23_client_method, 189, libs.first )
- RESOLVEFUNC(TLSv1_client_method, 198, libs.first )
- RESOLVEFUNC(SSLv2_server_method, 194, libs.first )
---- ./src/network/ssl/qsslsocket_openssl.cpp.orig 2019-11-09 12:55:01.605752606 -0600
-+++ ./src/network/ssl/qsslsocket_openssl.cpp 2019-11-09 12:55:26.632752874 -0600
-@@ -273,7 +273,11 @@
- #endif
- break;
- case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3
- ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
-+#endif
- break;
- case QSsl::SecureProtocols: // SslV2 will be disabled below
- case QSsl::TlsV1SslV3: // SslV2 will be disabled below
diff --git a/source/l/qt/patches/qt-4.8-poll.patch b/source/l/qt/patches/qt-4.8-poll.patch
deleted file mode 100644
index aed363c66..000000000
--- a/source/l/qt/patches/qt-4.8-poll.patch
+++ /dev/null
@@ -1,812 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/io/qprocess_unix.cpp 2014-03-31 18:04:05.958260978 -0500
-@@ -158,13 +158,6 @@ static void qt_sa_sigchld_sigaction(int
- }
- }
-
--static inline void add_fd(int &nfds, int fd, fd_set *fdset)
--{
-- FD_SET(fd, fdset);
-- if ((fd) > nfds)
-- nfds = fd;
--}
--
- struct QProcessInfo {
- QProcess *process;
- int deathPipe;
-@@ -256,9 +249,9 @@ QProcessManager::~QProcessManager()
- void QProcessManager::run()
- {
- forever {
-- fd_set readset;
-- FD_ZERO(&readset);
-- FD_SET(qt_qprocess_deadChild_pipe[0], &readset);
-+ pollfd fd;
-+ fd.fd = qt_qprocess_deadChild_pipe[0];
-+ fd.events = POLLIN;
-
- #if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::run() waiting for children to die";
-@@ -267,8 +260,8 @@ void QProcessManager::run()
- // block forever, or until activity is detected on the dead child
- // pipe. the only other peers are the SIGCHLD signal handler, and the
- // QProcessManager destructor.
-- int nselect = select(qt_qprocess_deadChild_pipe[0] + 1, &readset, 0, 0, 0);
-- if (nselect < 0) {
-+ int ret = qt_safe_poll(&fd, 1, -1, /* retry_eintr */ false);
-+ if (ret < 0) {
- if (errno == EINTR)
- continue;
- break;
-@@ -1027,17 +1020,6 @@ void QProcessPrivate::killProcess()
- ::kill(pid_t(pid), SIGKILL);
- }
-
--static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout)
--{
-- if (timeout < 0)
-- return qt_safe_select(nfds, fdread, fdwrite, 0, 0);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
-- return qt_safe_select(nfds, fdread, fdwrite, 0, &tv);
--}
--
- /*
- Returns the difference between msecs and elapsed. If msecs is -1,
- however, -1 is returned.
-@@ -1060,10 +1042,10 @@ bool QProcessPrivate::waitForStarted(int
- childStartedPipe[0]);
- #endif
-
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(childStartedPipe[0], &fds);
-- if (select_msecs(childStartedPipe[0] + 1, &fds, 0, msecs) == 0) {
-+ pollfd fd;
-+ fd.fd = childStartedPipe[0];
-+ fd.events = POLLIN;
-+ if (qt_safe_poll(&fd, 1, msecs) == 0) {
- processError = QProcess::Timedout;
- q->setErrorString(QProcess::tr("Process operation timed out"));
- #if defined (QPROCESS_DEBUG)
-@@ -1079,6 +1061,47 @@ bool QProcessPrivate::waitForStarted(int
- return startedEmitted;
- }
-
-+class QProcessFDSet {
-+ pollfd fds[5];
-+
-+ static size_t size()
-+ {
-+ return sizeof(fds)/sizeof(fds[0]);
-+ }
-+
-+public:
-+ QProcessFDSet(QProcessPrivate &proc)
-+ {
-+ for (size_t i = 0; i < size(); ++i) {
-+ fds[i].fd = -1;
-+ fds[i].events = POLLIN;
-+ }
-+ death().fd = proc.deathPipe[0];
-+
-+ if (proc.processState == QProcess::Starting)
-+ started().fd = proc.childStartedPipe[0];
-+
-+ stdout().fd = proc.stdoutChannel.pipe[0];
-+ stderr().fd = proc.stderrChannel.pipe[0];
-+
-+ if (!proc.writeBuffer.isEmpty()) {
-+ stdin().fd = proc.stdinChannel.pipe[1];
-+ stdin().events = POLLOUT;
-+ }
-+ }
-+
-+ int poll(int timeout)
-+ {
-+ return qt_safe_poll(fds, size(), timeout);
-+ }
-+
-+ pollfd &death() { return fds[0]; }
-+ pollfd &started() { return fds[1]; }
-+ pollfd &stdout() { return fds[2]; }
-+ pollfd &stderr() { return fds[3]; }
-+ pollfd &stdin() { return fds[4]; }
-+};
-+
- bool QProcessPrivate::waitForReadyRead(int msecs)
- {
- Q_Q(QProcess);
-@@ -1090,28 +1113,9 @@ bool QProcessPrivate::waitForReadyRead(i
- stopWatch.start();
-
- forever {
-- fd_set fdread;
-- fd_set fdwrite;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- int nfds = deathPipe[0];
-- FD_SET(deathPipe[0], &fdread);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1121,18 +1125,18 @@ bool QProcessPrivate::waitForReadyRead(i
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-
- bool readyReadEmitted = false;
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread)) {
-+ if (qt_readable(fdset.stdout())) {
- bool canRead = _q_canReadStandardOutput();
- if (processChannel == QProcess::StandardOutput && canRead)
- readyReadEmitted = true;
- }
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread)) {
-+ if (qt_readable(fdset.stderr())) {
- bool canRead = _q_canReadStandardError();
- if (processChannel == QProcess::StandardError && canRead)
- readyReadEmitted = true;
-@@ -1140,13 +1144,13 @@ bool QProcessPrivate::waitForReadyRead(i
- if (readyReadEmitted)
- return true;
-
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- _q_canWrite();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-+ if (qt_readable(fdset.death())) {
- if (_q_processDied())
- return false;
-- }
-+ }
- }
- return false;
- }
-@@ -1162,29 +1166,9 @@ bool QProcessPrivate::waitForBytesWritte
- stopWatch.start();
-
- while (!writeBuffer.isEmpty()) {
-- fd_set fdread;
-- fd_set fdwrite;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- int nfds = deathPipe[0];
-- FD_SET(deathPipe[0], &fdread);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1195,24 +1179,24 @@ bool QProcessPrivate::waitForBytesWritte
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- return _q_canWrite();
-
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stdout()))
- _q_canReadStandardOutput();
-
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stderr()))
- _q_canReadStandardError();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-- if (_q_processDied())
-- return false;
-- }
-+ if (qt_readable(fdset.death())) {
-+ if (_q_processDied())
-+ return false;
-+ }
- }
-
- return false;
-@@ -1229,29 +1213,9 @@ bool QProcessPrivate::waitForFinished(in
- stopWatch.start();
-
- forever {
-- fd_set fdread;
-- fd_set fdwrite;
-- int nfds = -1;
--
-- FD_ZERO(&fdread);
-- FD_ZERO(&fdwrite);
--
-- if (processState == QProcess::Starting)
-- add_fd(nfds, childStartedPipe[0], &fdread);
--
-- if (stdoutChannel.pipe[0] != -1)
-- add_fd(nfds, stdoutChannel.pipe[0], &fdread);
-- if (stderrChannel.pipe[0] != -1)
-- add_fd(nfds, stderrChannel.pipe[0], &fdread);
--
-- if (processState == QProcess::Running)
-- add_fd(nfds, deathPipe[0], &fdread);
--
-- if (!writeBuffer.isEmpty() && stdinChannel.pipe[1] != -1)
-- add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
--
-+ QProcessFDSet fdset(*this);
- int timeout = qt_timeout_value(msecs, stopWatch.elapsed());
-- int ret = select_msecs(nfds + 1, &fdread, &fdwrite, timeout);
-+ int ret = fdset.poll(timeout);
- if (ret < 0) {
- break;
- }
-@@ -1261,20 +1225,20 @@ bool QProcessPrivate::waitForFinished(in
- return false;
- }
-
-- if (childStartedPipe[0] != -1 && FD_ISSET(childStartedPipe[0], &fdread)) {
-+ if (qt_readable(fdset.started())) {
- if (!_q_startupNotification())
- return false;
- }
-- if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
-+ if (qt_writable(fdset.stdin()))
- _q_canWrite();
-
-- if (stdoutChannel.pipe[0] != -1 && FD_ISSET(stdoutChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stdout()))
- _q_canReadStandardOutput();
-
-- if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
-+ if (qt_readable(fdset.stderr()))
- _q_canReadStandardError();
-
-- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
-+ if (qt_readable(fdset.death())) {
- if (_q_processDied())
- return true;
- }
-@@ -1284,10 +1248,10 @@ bool QProcessPrivate::waitForFinished(in
-
- bool QProcessPrivate::waitForWrite(int msecs)
- {
-- fd_set fdwrite;
-- FD_ZERO(&fdwrite);
-- FD_SET(stdinChannel.pipe[1], &fdwrite);
-- return select_msecs(stdinChannel.pipe[1] + 1, 0, &fdwrite, msecs < 0 ? 0 : msecs) == 1;
-+ pollfd fd;
-+ fd.fd = stdinChannel.pipe[1];
-+ fd.events = POLLIN;
-+ return qt_safe_poll(&fd, 1, msecs);
- }
-
- void QProcessPrivate::findExitCode()
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix.cpp 2014-03-31 18:01:59.369715403 -0500
-@@ -99,4 +99,165 @@ int qt_safe_select(int nfds, fd_set *fdr
- }
- }
-
-+#ifndef Q_OS_VXWORKS
-+
-+int qt_safe_poll(struct pollfd *fds, int nfds, int timeout_ms, bool retry_eintr)
-+{
-+ if (nfds == 0)
-+ return 0;
-+ if (nfds < 0) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ // Retry on ret == 0 if the deadline has not yet passed because
-+ // Linux can return early from the syscall, without setting EINTR.
-+ if (timeout_ms < 0) {
-+ forever {
-+ int ret = ::poll(fds, nfds, -1);
-+ if (ret > 0)
-+ return ret;
-+ if (retry_eintr) {
-+ if (ret == 0 || ret == -1 && errno == EINTR) {
-+ continue;
-+ } else {
-+ return -1;
-+ }
-+ }
-+ if (ret == 0) {
-+ errno = EINTR;
-+ return -1;
-+ }
-+ return ret;
-+ }
-+ }
-+
-+ timeval previous = qt_gettime();
-+ timeval deadline = previous;
-+ deadline.tv_sec += timeout_ms / 1000;
-+ deadline.tv_usec += (timeout_ms % 1000) * 1000;
-+ if (deadline.tv_usec >= 1000000) {
-+ ++deadline.tv_sec;
-+ deadline.tv_usec -= 1000000;
-+ }
-+ int remaining = timeout_ms;
-+
-+ forever {
-+ int ret = ::poll(fds, nfds, remaining);
-+ if (ret > 0)
-+ return ret;
-+ timeval now = qt_gettime();
-+ if ((now.tv_sec > deadline.tv_sec // past deadline
-+ || (now.tv_sec == deadline.tv_sec
-+ && now.tv_usec >= deadline.tv_usec))
-+ || (now.tv_sec < previous.tv_sec // time warp
-+ || (now.tv_sec == previous.tv_sec
-+ && now.tv_usec < previous.tv_usec))
-+ || (ret < 0 && (errno != EINTR || !retry_eintr))) // other error
-+ return ret;
-+ if (ret == 0 && !retry_eintr) {
-+ errno = EINTR;
-+ return -1;
-+ }
-+ remaining = (deadline.tv_sec - now.tv_sec) * 1000
-+ + (deadline.tv_usec - now.tv_usec) / 1000;
-+ previous = now;
-+ }
-+}
-+
-+#else
-+
-+// Poll emulation for VxWorks.
-+
-+static int mark_bad_descriptors(pollfd *fds, int nfds)
-+{
-+ fd_set r;
-+ FD_ZERO(&r);
-+ struct timeval tv;
-+ tv.tv_sec = 0;
-+ tv.tv_usec = 0;
-+ int ret = 0;
-+
-+ // Check each descriptor invidually for badness.
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ if (fd.fd >= 0) {
-+ FD_SET(fd.fd, &r);
-+ int ret = qt_safe_select(fd.fd + 1, &r, NULL, NULL, &tv);
-+ FD_CLR(fd.fd, &r);
-+ if (ret < 0 && errno == EBADF) {
-+ fd.revents = POLLNVAL;
-+ ++ret;
-+ }
-+ }
-+ }
-+ Q_ASSERT(ret > 0);
-+ return ret;
-+}
-+
-+int qt_safe_poll(pollfd *fds, int nfds, int timeout, bool retry_eintr)
-+{
-+ fd_set r, w;
-+ FD_ZERO(&r);
-+ FD_ZERO(&w);
-+ int maxfd = -1;
-+
-+ // Extract the watched descriptors.
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
-+ if (fd.events & POLLIN) {
-+ FD_SET(fd.fd, &r);
-+ if (fd.fd > maxfd)
-+ maxfd = fd.fd;
-+ }
-+ if (fd.events & POLLOUT) {
-+ FD_SET(fd.fd, &w);
-+ if (fd.fd > maxfd)
-+ maxfd = fd.fd;
-+ }
-+ }
-+ }
-+
-+ // If timeout is negative, wait indefinitely for activity.
-+ timeval tv;
-+ timeval *ptv;
-+ if (timeout >= 0) {
-+ tv.tv_sec = timeout / 1000;
-+ tv.tv_usec = (timeout % 1000) * 1000;
-+ ptv = &tv;
-+ } else
-+ ptv = NULL;
-+
-+ int ret;
-+ if (retry_eintr)
-+ ret = qt_safe_select(maxfd + 1, &r, &w, NULL, ptv);
-+ else
-+ ret = ::select(maxfd + 1, &r, &w, NULL, ptv);
-+ if (ret < 0 && errno == EBADF) {
-+ return mark_bad_descriptors(fds, nfds);
-+ }
-+ if (ret <= 0)
-+ return ret;
-+
-+ // Set the revents flags.
-+ ret = 0;
-+ for (int i = 0; i < nfds; ++i) {
-+ pollfd &fd(fds[i]);
-+ fd.revents = 0;
-+ if (fd.fd >= 0 && fd.fd < FD_SETSIZE) {
-+ if ((fd.events & POLLIN) && FD_ISSET(fd.fd, &r))
-+ fd.revents |= POLLIN;
-+ if ((fd.events & POLLOUT) && FD_ISSET(fd.fd, &w))
-+ fd.revents |= POLLOUT;
-+ if (fd.revents)
-+ ++ret;
-+ }
-+ }
-+ Q_ASSERT(ret > 0);
-+ return ret;
-+}
-+
-+#endif
-+
- QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h
---- qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h.poll 2014-03-30 15:36:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcore_unix_p.h 2014-03-31 18:01:59.370715392 -0500
-@@ -345,9 +345,42 @@ static inline pid_t qt_safe_waitpid(pid_
-
- timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp
-
-+// Deprecated due to FD_SETSIZE limitation, use qt_safe_poll instead.
- Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
- const struct timeval *tv);
-
-+#ifndef Q_OS_VXWORKS
-+#include <poll.h>
-+#else
-+
-+// Poll emulation for VxWorks.
-+
-+struct pollfd {
-+ int fd;
-+ short events;
-+ short revents;
-+};
-+
-+#define POLLIN 1
-+#define POLLOUT 2
-+#define POLLERR 4
-+#define POLLHUP 8
-+#define POLLNVAL 16
-+#endif
-+
-+inline bool qt_readable(const pollfd &fd)
-+{
-+ return fd.fd >= 0 && (fd.revents & (POLLIN | POLLHUP | POLLERR | POLLNVAL)) != 0;
-+}
-+
-+inline bool qt_writable(const pollfd &fd)
-+{
-+ return fd.fd >= 0 && (fd.revents & (POLLOUT | POLLHUP | POLLERR | POLLNVAL)) != 0;
-+}
-+
-+Q_CORE_EXPORT int qt_safe_poll(pollfd *fds, int nfds, int timeout,
-+ bool retry_eintr = true);
-+
- // according to X/OPEN we have to define semun ourselves
- // we use prefix as on some systems sem.h will have it
- struct semid_ds;
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalserver_unix.cpp 2014-03-31 18:01:59.370715392 -0500
-@@ -208,16 +208,11 @@ void QLocalServerPrivate::_q_onNewConnec
-
- void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
- {
-- fd_set readfds;
-- FD_ZERO(&readfds);
-- FD_SET(listenSocket, &readfds);
-+ struct pollfd fd;
-+ fd.fd = listenSocket;
-+ fd.events = POLLIN;
-
-- timeval timeout;
-- timeout.tv_sec = msec / 1000;
-- timeout.tv_usec = (msec % 1000) * 1000;
--
-- int result = -1;
-- result = qt_safe_select(listenSocket + 1, &readfds, 0, 0, (msec == -1) ? 0 : &timeout);
-+ int result = qt_safe_poll(&fd, 1, msec);
- if (-1 == result) {
- setError(QLatin1String("QLocalServer::waitForNewConnection"));
- closeServer();
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qlocalsocket_unix.cpp 2014-03-31 18:01:59.370715392 -0500
-@@ -56,10 +56,6 @@
- #include <qdebug.h>
- #include <qelapsedtimer.h>
-
--#ifdef Q_OS_VXWORKS
--# include <selectLib.h>
--#endif
--
- #define QT_CONNECT_TIMEOUT 30000
-
- QT_BEGIN_NAMESPACE
-@@ -520,32 +516,17 @@ bool QLocalSocket::waitForConnected(int
- if (state() != ConnectingState)
- return (state() == ConnectedState);
-
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(d->connectingSocket, &fds);
--
-- timeval timeout;
-- timeout.tv_sec = msec / 1000;
-- timeout.tv_usec = (msec % 1000) * 1000;
--
-- // timeout can not be 0 or else select will return an error.
-- if (0 == msec)
-- timeout.tv_usec = 1000;
-+ pollfd fd;
-+ fd.fd = d->connectingSocket;
-+ fd.events = POLLIN | POLLOUT;
-
- int result = -1;
- // on Linux timeout will be updated by select, but _not_ on other systems.
- QElapsedTimer timer;
-+ int remaining = msec;
- timer.start();
-- while (state() == ConnectingState
-- && (-1 == msec || timer.elapsed() < msec)) {
--#ifdef Q_OS_SYMBIAN
-- // On Symbian, ready-to-write is signaled when non-blocking socket
-- // connect is finised. Is ready-to-read really used on other
-- // UNIX paltforms when using non-blocking AF_UNIX socket?
-- result = ::select(d->connectingSocket + 1, 0, &fds, 0, &timeout);
--#else
-- result = ::select(d->connectingSocket + 1, &fds, 0, 0, &timeout);
--#endif
-+ while (state() == ConnectingState) {
-+ result = qt_safe_poll(&fd, 1, remaining, /* retry_eintr */ false);
- if (-1 == result && errno != EINTR) {
- d->errorOccurred( QLocalSocket::UnknownSocketError,
- QLatin1String("QLocalSocket::waitForConnected"));
-@@ -553,6 +534,11 @@ bool QLocalSocket::waitForConnected(int
- }
- if (result > 0)
- d->_q_connectToSocket();
-+ if (msec >= 0) {
-+ remaining = timer.elapsed() - msec;
-+ if (remaining < 0)
-+ break;
-+ }
- }
-
- return (state() == ConnectedState);
-diff -up qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/network/socket/qnativesocketengine_unix.cpp 2014-03-31 18:01:59.371715381 -0500
-@@ -1068,48 +1068,40 @@ qint64 QNativeSocketEnginePrivate::nativ
-
- int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const
- {
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(socketDescriptor, &fds);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
--
-- int retval;
-- if (selectForRead)
-- retval = qt_safe_select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
-- else
-- retval = qt_safe_select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
--
-- return retval;
-+ struct pollfd fd;
-+ fd.fd = socketDescriptor;
-+ if (selectForRead) {
-+ fd.events = POLLIN;
-+ } else {
-+ fd.events = POLLOUT;
-+ }
-+ return qt_safe_poll(&fd, 1, timeout);
- }
-
- int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool checkWrite,
- bool *selectForRead, bool *selectForWrite) const
- {
-- fd_set fdread;
-- FD_ZERO(&fdread);
-+ struct pollfd fd;
-+ fd.fd = socketDescriptor;
- if (checkRead)
-- FD_SET(socketDescriptor, &fdread);
--
-- fd_set fdwrite;
-- FD_ZERO(&fdwrite);
-+ fd.events = POLLIN;
-+ else
-+ fd.events = 0;
- if (checkWrite)
-- FD_SET(socketDescriptor, &fdwrite);
--
-- struct timeval tv;
-- tv.tv_sec = timeout / 1000;
-- tv.tv_usec = (timeout % 1000) * 1000;
--
-- int ret;
-- ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
--
-+ fd.events |= POLLOUT;
-+ int ret = qt_safe_poll(&fd, 1, timeout);
- if (ret <= 0)
-- return ret;
-- *selectForRead = FD_ISSET(socketDescriptor, &fdread);
-- *selectForWrite = FD_ISSET(socketDescriptor, &fdwrite);
--
-+ return ret;
-+ bool r = (fd.revents & (POLLIN | POLLHUP | POLLERR)) != 0;
-+ bool w = (fd.revents & (POLLOUT | POLLHUP | POLLERR)) != 0;
-+ // Emulate the return value from select(2).
-+ ret = 0;
-+ if (r)
-+ ++ret;
-+ if (w)
-+ ++ret;
-+ *selectForRead = r;
-+ *selectForWrite = w;
- return ret;
- }
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/network/q3socketdevice_unix.cpp 2014-03-31 18:01:59.371715381 -0500
-@@ -68,6 +68,7 @@ static inline int qt_socket_socket(int d
- #endif
-
- #include "q3socketdevice.h"
-+#include "private/qcore_unix_p.h"
-
- #ifndef QT_NO_NETWORK
-
-@@ -588,19 +589,10 @@ Q_LONG Q3SocketDevice::waitForMore( int
- {
- if ( !isValid() )
- return -1;
-- if ( fd >= FD_SETSIZE )
-- return -1;
--
-- fd_set fds;
-- struct timeval tv;
--
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
--
-- tv.tv_sec = msecs / 1000;
-- tv.tv_usec = (msecs % 1000) * 1000;
-
-- int rv = select( fd+1, &fds, 0, 0, msecs < 0 ? 0 : &tv );
-+ pollfd pfd;
-+ pfd.fd = fd;
-+ int rv = qt_safe_poll(&pfd, 1, msecs, /* retry_eintr */ false);
-
- if ( rv < 0 )
- return -1;
-diff -up qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp
---- qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp.poll 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/qt3support/other/q3process_unix.cpp 2014-03-31 18:01:59.372715370 -0500
-@@ -981,13 +981,10 @@ bool Q3Process::isRunning() const
- // On heavy processing, the socket notifier for the sigchild might not
- // have found time to fire yet.
- if ( d->procManager && d->procManager->sigchldFd[1] < FD_SETSIZE ) {
-- fd_set fds;
-- struct timeval tv;
-- FD_ZERO( &fds );
-- FD_SET( d->procManager->sigchldFd[1], &fds );
-- tv.tv_sec = 0;
-- tv.tv_usec = 0;
-- if ( ::select( d->procManager->sigchldFd[1]+1, &fds, 0, 0, &tv ) > 0 )
-+ pollfd fd;
-+ fd.fd = d->procManager->sigchldFd[1];
-+ fd.events = POLLIN;
-+ if ( qt_safe_poll(&fd, 1, 0, /* retry_eintr */ false) > 0 )
- d->procManager->sigchldHnd( d->procManager->sigchldFd[1] );
- }
-
-@@ -1124,29 +1121,21 @@ void Q3Process::socketRead( int fd )
- }
- }
-
-- if ( fd < FD_SETSIZE ) {
-- fd_set fds;
-- struct timeval tv;
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
-- tv.tv_sec = 0;
-- tv.tv_usec = 0;
-- while ( ::select( fd+1, &fds, 0, 0, &tv ) > 0 ) {
-- // prepare for the next round
-- FD_ZERO( &fds );
-- FD_SET( fd, &fds );
-- // read data
-- ba = new QByteArray( basize );
-- n = ::read( fd, ba->data(), basize );
-- if ( n > 0 ) {
-- ba->resize( n );
-- buffer->append( ba );
-- ba = 0;
-- } else {
-- delete ba;
-- ba = 0;
-- break;
-- }
-+ pollfd pfd;
-+ pfd.fd = fd;
-+ pfd.events = POLLIN;
-+ while (qt_safe_poll(&pfd, 1, 0)) {
-+ // read data
-+ ba = new QByteArray( basize );
-+ n = ::read( fd, ba->data(), basize );
-+ if ( n > 0 ) {
-+ ba->resize( n );
-+ buffer->append( ba );
-+ ba = 0;
-+ } else {
-+ delete ba;
-+ ba = 0;
-+ break;
- }
- }
-
diff --git a/source/l/qt/patches/qt-aarch64.patch b/source/l/qt/patches/qt-aarch64.patch
deleted file mode 100644
index cbe815dea..000000000
--- a/source/l/qt/patches/qt-aarch64.patch
+++ /dev/null
@@ -1,514 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri
---- qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri.aarch64 2015-05-08 21:48:32.714057739 -0500
-+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/headers.pri 2015-05-08 21:53:21.088761971 -0500
-@@ -1,3 +1,3 @@
--SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore
-+SYNCQT.HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher.h ../corelib/kernel/qabstractitemmodel.h ../corelib/kernel/qbasictimer.h ../corelib/kernel/qcoreapplication.h ../corelib/kernel/qcoreevent.h ../corelib/kernel/qeventloop.h ../corelib/kernel/qfunctions_nacl.h ../corelib/kernel/qfunctions_vxworks.h ../corelib/kernel/qfunctions_wince.h ../corelib/kernel/qmath.h ../corelib/kernel/qmetaobject.h ../corelib/kernel/qmetatype.h ../corelib/kernel/qmimedata.h ../corelib/kernel/qobject.h ../corelib/kernel/qobjectcleanuphandler.h ../corelib/kernel/qobjectdefs.h ../corelib/kernel/qpointer.h ../corelib/kernel/qsharedmemory.h ../corelib/kernel/qsignalmapper.h ../corelib/kernel/qsocketnotifier.h ../corelib/kernel/qsystemsemaphore.h ../corelib/kernel/qtimer.h ../corelib/kernel/qtranslator.h ../corelib/kernel/qvariant.h ../corelib/animation/qabstractanimation.h ../corelib/animation/qanimationgroup.h ../corelib/animation/qparallelanimationgroup.h ../corelib/animation/qpauseanimation.h ../corelib/animation/qpropertyanimation.h ../corelib/animation/qsequentialanimationgroup.h ../corelib/animation/qvariantanimation.h ../corelib/arch/qatomic_aarch64.h ../corelib/arch/qatomic_alpha.h ../corelib/arch/qatomic_arch.h ../corelib/arch/qatomic_arm.h ../corelib/arch/qatomic_armv5.h ../corelib/arch/qatomic_armv6.h ../corelib/arch/qatomic_armv7.h ../corelib/arch/qatomic_avr32.h ../corelib/arch/qatomic_bfin.h ../corelib/arch/qatomic_bootstrap.h ../corelib/arch/qatomic_generic.h ../corelib/arch/qatomic_i386.h ../corelib/arch/qatomic_ia64.h ../corelib/arch/qatomic_integrity.h ../corelib/arch/qatomic_m68k.h ../corelib/arch/qatomic_macosx.h ../corelib/arch/qatomic_mips.h ../corelib/arch/qatomic_parisc.h ../corelib/arch/qatomic_powerpc.h ../corelib/arch/qatomic_s390.h ../corelib/arch/qatomic_sh.h ../corelib/arch/qatomic_sh4a.h ../corelib/arch/qatomic_sparc.h ../corelib/arch/qatomic_symbian.h ../corelib/arch/qatomic_vxworks.h ../corelib/arch/qatomic_windows.h ../corelib/arch/qatomic_windowsce.h ../corelib/arch/qatomic_x86_64.h ../corelib/tools/qalgorithms.h ../corelib/tools/qbitarray.h ../corelib/tools/qbytearray.h ../corelib/tools/qbytearraymatcher.h ../corelib/tools/qcache.h ../corelib/tools/qchar.h ../corelib/tools/qcontainerfwd.h ../corelib/tools/qcontiguouscache.h ../corelib/tools/qcryptographichash.h ../corelib/tools/qdatetime.h ../corelib/tools/qeasingcurve.h ../corelib/tools/qelapsedtimer.h ../corelib/tools/qhash.h ../corelib/tools/qiterator.h ../corelib/tools/qline.h ../corelib/tools/qlinkedlist.h ../corelib/tools/qlist.h ../corelib/tools/qlocale.h ../corelib/tools/qlocale_blackberry.h ../corelib/tools/qmap.h ../corelib/tools/qmargins.h ../corelib/tools/qpair.h ../corelib/tools/qpoint.h ../corelib/tools/qqueue.h ../corelib/tools/qrect.h ../corelib/tools/qregexp.h ../corelib/tools/qscopedpointer.h ../corelib/tools/qscopedvaluerollback.h ../corelib/tools/qset.h ../corelib/tools/qshareddata.h ../corelib/tools/qsharedpointer.h ../corelib/tools/qsharedpointer_impl.h ../corelib/tools/qsize.h ../corelib/tools/qstack.h ../corelib/tools/qstring.h ../corelib/tools/qstringbuilder.h ../corelib/tools/qstringlist.h ../corelib/tools/qstringmatcher.h ../corelib/tools/qtextboundaryfinder.h ../corelib/tools/qtimeline.h ../corelib/tools/qvarlengtharray.h ../corelib/tools/qvector.h ../corelib/plugin/qfactoryinterface.h ../corelib/plugin/qlibrary.h ../corelib/plugin/qplugin.h ../corelib/plugin/qpluginloader.h ../corelib/plugin/quuid.h ../corelib/xml/qxmlstream.h ../corelib/thread/qatomic.h ../corelib/thread/qbasicatomic.h ../corelib/thread/qmutex.h ../corelib/thread/qreadwritelock.h ../corelib/thread/qsemaphore.h ../corelib/thread/qthread.h ../corelib/thread/qthreadstorage.h ../corelib/thread/qwaitcondition.h ../corelib/statemachine/qabstractstate.h ../corelib/statemachine/qabstracttransition.h ../corelib/statemachine/qeventtransition.h ../corelib/statemachine/qfinalstate.h ../corelib/statemachine/qhistorystate.h ../corelib/statemachine/qsignaltransition.h ../corelib/statemachine/qstate.h ../corelib/statemachine/qstatemachine.h ../corelib/concurrent/qfuture.h ../corelib/concurrent/qfutureinterface.h ../corelib/concurrent/qfuturesynchronizer.h ../corelib/concurrent/qfuturewatcher.h ../corelib/concurrent/qrunnable.h ../corelib/concurrent/qtconcurrentcompilertest.h ../corelib/concurrent/qtconcurrentexception.h ../corelib/concurrent/qtconcurrentfilter.h ../corelib/concurrent/qtconcurrentfilterkernel.h ../corelib/concurrent/qtconcurrentfunctionwrappers.h ../corelib/concurrent/qtconcurrentiteratekernel.h ../corelib/concurrent/qtconcurrentmap.h ../corelib/concurrent/qtconcurrentmapkernel.h ../corelib/concurrent/qtconcurrentmedian.h ../corelib/concurrent/qtconcurrentreducekernel.h ../corelib/concurrent/qtconcurrentresultstore.h ../corelib/concurrent/qtconcurrentrun.h ../corelib/concurrent/qtconcurrentrunbase.h ../corelib/concurrent/qtconcurrentstoredfunctioncall.h ../corelib/concurrent/qtconcurrentthreadengine.h ../corelib/concurrent/qthreadpool.h ../corelib/io/qabstractfileengine.h ../corelib/io/qbuffer.h ../corelib/io/qdatastream.h ../corelib/io/qdebug.h ../corelib/io/qdir.h ../corelib/io/qdiriterator.h ../corelib/io/qfile.h ../corelib/io/qfileinfo.h ../corelib/io/qfilesystemwatcher.h ../corelib/io/qfsfileengine.h ../corelib/io/qiodevice.h ../corelib/io/qprocess.h ../corelib/io/qresource.h ../corelib/io/qsettings.h ../corelib/io/qtemporaryfile.h ../corelib/io/qtextstream.h ../corelib/io/qurl.h ../corelib/global/qconfig-dist.h ../corelib/global/qconfig-large.h ../corelib/global/qconfig-medium.h ../corelib/global/qconfig-minimal.h ../corelib/global/qconfig-nacl.h ../corelib/global/qconfig-small.h ../corelib/global/qendian.h ../corelib/global/qfeatures.h ../corelib/global/qglobal.h ../corelib/global/qlibraryinfo.h ../corelib/global/qnamespace.h ../corelib/global/qnumeric.h ../corelib/global/qt_windows.h ../corelib/global/qconfig.h ../corelib/codecs/qtextcodec.h ../corelib/codecs/qtextcodecplugin.h ../../include/QtCore/QtCore
- SYNCQT.HEADER_CLASSES = ../../include/QtCore/QAbstractEventDispatcher ../../include/QtCore/QModelIndex ../../include/QtCore/QPersistentModelIndex ../../include/QtCore/QModelIndexList ../../include/QtCore/QAbstractItemModel ../../include/QtCore/QAbstractTableModel ../../include/QtCore/QAbstractListModel ../../include/QtCore/QBasicTimer ../../include/QtCore/QCoreApplication ../../include/QtCore/QtCleanUpFunction ../../include/QtCore/QEvent ../../include/QtCore/QTimerEvent ../../include/QtCore/QChildEvent ../../include/QtCore/QCustomEvent ../../include/QtCore/QDynamicPropertyChangeEvent ../../include/QtCore/QEventLoop ../../include/QtCore/QMetaMethod ../../include/QtCore/QMetaEnum ../../include/QtCore/QMetaProperty ../../include/QtCore/QMetaClassInfo ../../include/QtCore/QMetaType ../../include/QtCore/QMetaTypeId ../../include/QtCore/QMetaTypeId2 ../../include/QtCore/QMimeData ../../include/QtCore/QObjectList ../../include/QtCore/QObjectData ../../include/QtCore/QObject ../../include/QtCore/QObjectUserData ../../include/QtCore/QObjectCleanupHandler ../../include/QtCore/QGenericArgument ../../include/QtCore/QGenericReturnArgument ../../include/QtCore/QArgument ../../include/QtCore/QReturnArgument ../../include/QtCore/QMetaObject ../../include/QtCore/QMetaObjectAccessor ../../include/QtCore/QMetaObjectExtraData ../../include/QtCore/QPointer ../../include/QtCore/QSharedMemory ../../include/QtCore/QSignalMapper ../../include/QtCore/QSocketNotifier ../../include/QtCore/QSystemSemaphore ../../include/QtCore/QTimer ../../include/QtCore/QTranslator ../../include/QtCore/QVariant ../../include/QtCore/QVariantList ../../include/QtCore/QVariantMap ../../include/QtCore/QVariantHash ../../include/QtCore/QVariantComparisonHelper ../../include/QtCore/QAbstractAnimation ../../include/QtCore/QAnimationDriver ../../include/QtCore/QAnimationGroup ../../include/QtCore/QParallelAnimationGroup ../../include/QtCore/QPauseAnimation ../../include/QtCore/QPropertyAnimation ../../include/QtCore/QSequentialAnimationGroup ../../include/QtCore/QVariantAnimation ../../include/QtCore/QtAlgorithms ../../include/QtCore/QBitArray ../../include/QtCore/QBitRef ../../include/QtCore/QByteArray ../../include/QtCore/QByteRef ../../include/QtCore/QByteArrayMatcher ../../include/QtCore/QCache ../../include/QtCore/QLatin1Char ../../include/QtCore/QChar ../../include/QtCore/QtContainerFwd ../../include/QtCore/QContiguousCacheData ../../include/QtCore/QContiguousCacheTypedData ../../include/QtCore/QContiguousCache ../../include/QtCore/QCryptographicHash ../../include/QtCore/QDate ../../include/QtCore/QTime ../../include/QtCore/QDateTime ../../include/QtCore/QEasingCurve ../../include/QtCore/QElapsedTimer ../../include/QtCore/QHashData ../../include/QtCore/QHashDummyValue ../../include/QtCore/QHashDummyNode ../../include/QtCore/QHashNode ../../include/QtCore/QHash ../../include/QtCore/QMultiHash ../../include/QtCore/QHashIterator ../../include/QtCore/QMutableHashIterator ../../include/QtCore/QLine ../../include/QtCore/QLineF ../../include/QtCore/QLinkedListData ../../include/QtCore/QLinkedListNode ../../include/QtCore/QLinkedList ../../include/QtCore/QLinkedListIterator ../../include/QtCore/QMutableLinkedListIterator ../../include/QtCore/QListData ../../include/QtCore/QList ../../include/QtCore/QListIterator ../../include/QtCore/QMutableListIterator ../../include/QtCore/QSystemLocale ../../include/QtCore/QLocale ../../include/QtCore/QBBSystemLocaleData ../../include/QtCore/QMapData ../../include/QtCore/QMapNode ../../include/QtCore/QMapPayloadNode ../../include/QtCore/QMap ../../include/QtCore/QMultiMap ../../include/QtCore/QMapIterator ../../include/QtCore/QMutableMapIterator ../../include/QtCore/QMargins ../../include/QtCore/QPair ../../include/QtCore/QPoint ../../include/QtCore/QPointF ../../include/QtCore/QQueue ../../include/QtCore/QRect ../../include/QtCore/QRectF ../../include/QtCore/QRegExp ../../include/QtCore/QScopedPointerDeleter ../../include/QtCore/QScopedPointerArrayDeleter ../../include/QtCore/QScopedPointerPodDeleter ../../include/QtCore/QScopedPointer ../../include/QtCore/QScopedArrayPointer ../../include/QtCore/QScopedValueRollback ../../include/QtCore/QSet ../../include/QtCore/QSetIterator ../../include/QtCore/QMutableSetIterator ../../include/QtCore/QSharedData ../../include/QtCore/QSharedDataPointer ../../include/QtCore/QExplicitlySharedDataPointer ../../include/QtCore/QSharedPointer ../../include/QtCore/QWeakPointer ../../include/QtCore/QSize ../../include/QtCore/QSizeF ../../include/QtCore/QStack ../../include/QtCore/QStdWString ../../include/QtCore/QString ../../include/QtCore/QLatin1String ../../include/QtCore/QCharRef ../../include/QtCore/QConstString ../../include/QtCore/QStringRef ../../include/QtCore/QLatin1Literal ../../include/QtCore/QAbstractConcatenable ../../include/QtCore/QConcatenable ../../include/QtCore/QStringBuilder ../../include/QtCore/QStringListIterator ../../include/QtCore/QMutableStringListIterator ../../include/QtCore/QStringList ../../include/QtCore/QStringMatcher ../../include/QtCore/QTextBoundaryFinder ../../include/QtCore/QTimeLine ../../include/QtCore/QVarLengthArray ../../include/QtCore/QVectorData ../../include/QtCore/QVectorTypedData ../../include/QtCore/QVector ../../include/QtCore/QVectorIterator ../../include/QtCore/QMutableVectorIterator ../../include/QtCore/QFactoryInterface ../../include/QtCore/QLibrary ../../include/QtCore/QtPlugin ../../include/QtCore/QtPluginInstanceFunction ../../include/QtCore/QPluginLoader ../../include/QtCore/QUuid ../../include/QtCore/QXmlStreamStringRef ../../include/QtCore/QXmlStreamAttribute ../../include/QtCore/QXmlStreamAttributes ../../include/QtCore/QXmlStreamNamespaceDeclaration ../../include/QtCore/QXmlStreamNamespaceDeclarations ../../include/QtCore/QXmlStreamNotationDeclaration ../../include/QtCore/QXmlStreamNotationDeclarations ../../include/QtCore/QXmlStreamEntityDeclaration ../../include/QtCore/QXmlStreamEntityDeclarations ../../include/QtCore/QXmlStreamEntityResolver ../../include/QtCore/QXmlStreamReader ../../include/QtCore/QXmlStreamWriter ../../include/QtCore/QAtomicInt ../../include/QtCore/QAtomicPointer ../../include/QtCore/QBasicAtomicInt ../../include/QtCore/QBasicAtomicPointer ../../include/QtCore/QMutex ../../include/QtCore/QMutexLocker ../../include/QtCore/QMutexData ../../include/QtCore/QReadWriteLock ../../include/QtCore/QReadLocker ../../include/QtCore/QWriteLocker ../../include/QtCore/QSemaphore ../../include/QtCore/QThread ../../include/QtCore/QThreadStorageData ../../include/QtCore/QThreadStorage ../../include/QtCore/QWaitCondition ../../include/QtCore/QAbstractState ../../include/QtCore/QAbstractTransition ../../include/QtCore/QEventTransition ../../include/QtCore/QFinalState ../../include/QtCore/QHistoryState ../../include/QtCore/QSignalTransition ../../include/QtCore/QState ../../include/QtCore/QStateMachine ../../include/QtCore/QFuture ../../include/QtCore/QFutureIterator ../../include/QtCore/QMutableFutureIterator ../../include/QtCore/QFutureInterfaceBase ../../include/QtCore/QFutureInterface ../../include/QtCore/QFutureSynchronizer ../../include/QtCore/QFutureWatcherBase ../../include/QtCore/QFutureWatcher ../../include/QtCore/QRunnable ../../include/QtCore/QtConcurrentFilter ../../include/QtCore/QtConcurrentMap ../../include/QtCore/QtConcurrentRun ../../include/QtCore/QThreadPool ../../include/QtCore/QAbstractFileEngine ../../include/QtCore/QAbstractFileEngineHandler ../../include/QtCore/QAbstractFileEngineIterator ../../include/QtCore/QBuffer ../../include/QtCore/QDataStream ../../include/QtCore/QtDebug ../../include/QtCore/QDebug ../../include/QtCore/QNoDebug ../../include/QtCore/QDir ../../include/QtCore/QDirIterator ../../include/QtCore/QFile ../../include/QtCore/QFileInfo ../../include/QtCore/QFileInfoList ../../include/QtCore/QFileInfoListIterator ../../include/QtCore/QFileSystemWatcher ../../include/QtCore/QFSFileEngine ../../include/QtCore/QIODevice ../../include/QtCore/Q_PID ../../include/QtCore/QProcessEnvironment ../../include/QtCore/QProcess ../../include/QtCore/QResource ../../include/QtCore/QSettings ../../include/QtCore/QTemporaryFile ../../include/QtCore/QTextStream ../../include/QtCore/QTextStreamFunction ../../include/QtCore/QTextStreamManipulator ../../include/QtCore/QTS ../../include/QtCore/QTextIStream ../../include/QtCore/QTextOStream ../../include/QtCore/QUrl ../../include/QtCore/QtEndian ../../include/QtCore/QtGlobal ../../include/QtCore/QIntegerForSize ../../include/QtCore/QNoImplicitBoolCast ../../include/QtCore/Q_INT8 ../../include/QtCore/Q_UINT8 ../../include/QtCore/Q_INT16 ../../include/QtCore/Q_UINT16 ../../include/QtCore/Q_INT32 ../../include/QtCore/Q_UINT32 ../../include/QtCore/Q_INT64 ../../include/QtCore/Q_UINT64 ../../include/QtCore/Q_LLONG ../../include/QtCore/Q_ULLONG ../../include/QtCore/Q_LONG ../../include/QtCore/Q_ULONG ../../include/QtCore/QSysInfo ../../include/QtCore/QtMsgHandler ../../include/QtCore/QGlobalStatic ../../include/QtCore/QGlobalStaticDeleter ../../include/QtCore/QBool ../../include/QtCore/QTypeInfo ../../include/QtCore/QFlag ../../include/QtCore/QIncompatibleFlag ../../include/QtCore/QFlags ../../include/QtCore/QForeachContainer ../../include/QtCore/QForeachContainerBase ../../include/QtCore/QLibraryInfo ../../include/QtCore/Qt ../../include/QtCore/QInternal ../../include/QtCore/QCOORD ../../include/QtCore/QtConfig ../../include/QtCore/QTextCodec ../../include/QtCore/QTextEncoder ../../include/QtCore/QTextDecoder ../../include/QtCore/QTextCodecFactoryInterface ../../include/QtCore/QTextCodecPlugin
- SYNCQT.PRIVATE_HEADER_FILES = ../corelib/kernel/qabstracteventdispatcher_p.h ../corelib/kernel/qabstractitemmodel_p.h ../corelib/kernel/qcore_mac_p.h ../corelib/kernel/qcore_symbian_p.h ../corelib/kernel/qcore_unix_p.h ../corelib/kernel/qcoreapplication_p.h ../corelib/kernel/qcorecmdlineargs_p.h ../corelib/kernel/qcoreglobaldata_p.h ../corelib/kernel/qcrashhandler_p.h ../corelib/kernel/qeventdispatcher_blackberry_p.h ../corelib/kernel/qeventdispatcher_glib_p.h ../corelib/kernel/qeventdispatcher_symbian_p.h ../corelib/kernel/qeventdispatcher_unix_p.h ../corelib/kernel/qeventdispatcher_win_p.h ../corelib/kernel/qfunctions_p.h ../corelib/kernel/qmetaobject_p.h ../corelib/kernel/qobject_p.h ../corelib/kernel/qsharedmemory_p.h ../corelib/kernel/qsystemerror_p.h ../corelib/kernel/qsystemsemaphore_p.h ../corelib/kernel/qtranslator_p.h ../corelib/kernel/qvariant_p.h ../corelib/kernel/qwineventnotifier_p.h ../corelib/animation/qabstractanimation_p.h ../corelib/animation/qanimationgroup_p.h ../corelib/animation/qparallelanimationgroup_p.h ../corelib/animation/qpropertyanimation_p.h ../corelib/animation/qsequentialanimationgroup_p.h ../corelib/animation/qvariantanimation_p.h ../corelib/tools/qbytedata_p.h ../corelib/tools/qdatetime_p.h ../corelib/tools/qharfbuzz_p.h ../corelib/tools/qlocale_data_p.h ../corelib/tools/qlocale_p.h ../corelib/tools/qlocale_tools_p.h ../corelib/tools/qpodlist_p.h ../corelib/tools/qringbuffer_p.h ../corelib/tools/qscopedpointer_p.h ../corelib/tools/qsimd_p.h ../corelib/tools/qtools_p.h ../corelib/tools/qunicodetables_p.h ../corelib/plugin/qelfparser_p.h ../corelib/plugin/qfactoryloader_p.h ../corelib/plugin/qlibrary_p.h ../corelib/plugin/qsystemlibrary_p.h ../corelib/xml/qxmlstream_p.h ../corelib/xml/qxmlutils_p.h ../corelib/thread/qmutex_p.h ../corelib/thread/qmutexpool_p.h ../corelib/thread/qorderedmutexlocker_p.h ../corelib/thread/qreadwritelock_p.h ../corelib/thread/qthread_p.h ../corelib/statemachine/qabstractstate_p.h ../corelib/statemachine/qabstracttransition_p.h ../corelib/statemachine/qeventtransition_p.h ../corelib/statemachine/qhistorystate_p.h ../corelib/statemachine/qsignaleventgenerator_p.h ../corelib/statemachine/qsignaltransition_p.h ../corelib/statemachine/qstate_p.h ../corelib/statemachine/qstatemachine_p.h ../corelib/concurrent/qfutureinterface_p.h ../corelib/concurrent/qfuturewatcher_p.h ../corelib/concurrent/qthreadpool_p.h ../corelib/io/qabstractfileengine_p.h ../corelib/io/qdatastream_p.h ../corelib/io/qdataurl_p.h ../corelib/io/qdir_p.h ../corelib/io/qfile_p.h ../corelib/io/qfileinfo_p.h ../corelib/io/qfilesystemengine_p.h ../corelib/io/qfilesystementry_p.h ../corelib/io/qfilesystemiterator_p.h ../corelib/io/qfilesystemmetadata_p.h ../corelib/io/qfilesystemwatcher_dnotify_p.h ../corelib/io/qfilesystemwatcher_fsevents_p.h ../corelib/io/qfilesystemwatcher_inotify_p.h ../corelib/io/qfilesystemwatcher_kqueue_p.h ../corelib/io/qfilesystemwatcher_p.h ../corelib/io/qfilesystemwatcher_symbian_p.h ../corelib/io/qfilesystemwatcher_win_p.h ../corelib/io/qfsfileengine_iterator_p.h ../corelib/io/qfsfileengine_p.h ../corelib/io/qiodevice_p.h ../corelib/io/qnoncontiguousbytedevice_p.h ../corelib/io/qprocess_p.h ../corelib/io/qresource_iterator_p.h ../corelib/io/qresource_p.h ../corelib/io/qsettings_p.h ../corelib/io/qtldurl_p.h ../corelib/io/qurltlds_p.h ../corelib/io/qwindowspipewriter_p.h ../corelib/global/qnumeric_p.h ../corelib/global/qt_pch.h ../corelib/codecs/qfontlaocodec_p.h ../corelib/codecs/qiconvcodec_p.h ../corelib/codecs/qisciicodec_p.h ../corelib/codecs/qlatincodec_p.h ../corelib/codecs/qsimplecodec_p.h ../corelib/codecs/qtextcodec_p.h ../corelib/codecs/qtsciicodec_p.h ../corelib/codecs/qutfcodec_p.h
-diff -up qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h
---- qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h.aarch64 2015-05-08 21:48:32.715057744 -0500
-+++ qt-everywhere-opensource-src-4.8.7/include/QtCore/qatomic_aarch64.h 2015-05-08 21:48:32.715057744 -0500
-@@ -0,0 +1 @@
-+#include "../../src/corelib/arch/qatomic_aarch64.h"
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:47.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500
-@@ -66,6 +66,12 @@ contains(JAVASCRIPTCORE_JIT,no) {
- }
- }
-
-+# Hack around AARCH64 fail wrt JSValue.h
-+equals(QT_ARCH, aarch64) {
-+ message("JavaScriptCore aarch64 hack: -fpermissive")
-+ QMAKE_CXXFLAGS += -fpermissive
-+}
-+
- wince* {
- INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
- SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500
-@@ -63,6 +63,12 @@ contains (CONFIG, text_breaking_with_icu
- DEFINES += WTF_USE_QT_ICU_TEXT_BREAKING=1
- }
-
-+# Hack around AARCH64 fail wrt JSValue.h
-+equals(QT_ARCH, aarch64) {
-+ message("JavaScriptCore aarch64 hack: -fpermissive")
-+ QMAKE_CXXFLAGS += -fpermissive
-+}
-+
- wince* {
- INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
- INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32
-diff -up qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h
---- qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h.aarch64 2015-05-07 09:14:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h 2015-05-08 21:48:33.269061019 -0500
-@@ -369,7 +369,16 @@
-
- #endif /* ARM */
-
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
-+/* CPU(AARCH64) - AArch64 */
-+#if defined(__aarch64__)
-+#define WTF_CPU_AARCH64 1
-+#if defined(__AARCH64EB__)
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+#endif
-+
-+/* Not sure about this one, qt5-qtwebkit doesn't include it -- rex */
-+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(AARCH64)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
-@@ -1003,7 +1012,7 @@
- || CPU(SPARC64) \
- || CPU(S390X) \
- || CPU(PPC64) \
-- || CPU(MIPS64)
-+ || CPU(MIPS64) || CPU(AARCH64)
- #define WTF_USE_JSVALUE64 1
- #else
- #define WTF_USE_JSVALUE32_64 1
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp.aarch64 2015-05-08 21:48:33.269061019 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/aarch64/qatomic_aarch64.cpp 2015-05-08 21:48:33.269061019 -0500
-@@ -0,0 +1,70 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtCore/qglobal.h>
-+
-+#include <unistd.h>
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+# include <sched.h>
-+#endif
-+#include <time.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QT_USE_NAMESPACE
-+
-+Q_CORE_EXPORT void qt_atomic_yield(int *count)
-+{
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+ if((*count)++ < 50) {
-+ sched_yield();
-+ } else
-+#endif
-+ {
-+ struct timespec tm;
-+ tm.tv_sec = 0;
-+ tm.tv_nsec = 2000001;
-+ nanosleep(&tm, NULL);
-+ *count = 0;
-+ }
-+}
-+
-+QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri.aarch64 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/arch.pri 2015-05-08 21:48:33.270061025 -0500
-@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integr
- arch/qatomic_s390.h \
- arch/qatomic_x86_64.h \
- arch/qatomic_sh.h \
-- arch/qatomic_sh4a.h
-+ arch/qatomic_sh4a.h \
-+ arch/qatomic_aarch64.h \
-+
-
- QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH
- DEPENDPATH += $$QT_ARCH_CPP
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h.aarch64 2015-05-08 21:48:33.270061025 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_aarch64.h 2015-05-08 21:48:33.270061025 -0500
-@@ -0,0 +1,335 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QATOMIC_AARCH64_H
-+#define QATOMIC_AARCH64_H
-+
-+QT_BEGIN_HEADER
-+
-+QT_BEGIN_NAMESPACE
-+
-+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isReferenceCountingNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isTestAndSetNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndStoreNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndAddNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#ifndef Q_DATA_MEMORY_BARRIER
-+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory")
-+#endif
-+#ifndef Q_COMPILER_MEMORY_BARRIER
-+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory")
-+#endif
-+
-+inline bool QBasicAtomicInt::ref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::deref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
-+{
-+ bool val;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
-+{
-+ bool val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
-+{
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
-+{
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetAcquire(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
-+{
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
-+{
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+#undef Q_DATA_MEMORY_BARRIER
-+#undef Q_COMPILER_MEMORY_BARRIER
-+
-+QT_END_NAMESPACE
-+
-+QT_END_HEADER
-+
-+#endif // QATOMIC_AARCH64_H
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h.aarch64 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/arch/qatomic_arch.h 2015-05-08 21:48:33.271061031 -0500
-@@ -94,6 +94,8 @@ QT_BEGIN_HEADER
- # include "QtCore/qatomic_sh4a.h"
- #elif defined(QT_ARCH_NACL)
- # include "QtCore/qatomic_generic.h"
-+#elif defined(QT_ARCH_AARCH64)
-+# include "QtCore/qatomic_aarch64.h"
- #else
- # error "Qt has not been ported to this architecture"
- #endif
diff --git a/source/l/qt/patches/qt-cupsEnumDests.patch b/source/l/qt/patches/qt-cupsEnumDests.patch
deleted file mode 100644
index 7d59f22e8..000000000
--- a/source/l/qt/patches/qt-cupsEnumDests.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100
-@@ -50,9 +50,19 @@
-
- QT_BEGIN_NAMESPACE
-
-+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel,
-+ cups_ptype_t type, cups_ptype_t mask,
-+ cups_dest_cb_t cb, void *user_data);
-+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags,
-+ int msec, int *cancel,
-+ char *resource, size_t resourcesize,
-+ cups_dest_cb_t cb, void *user_data);
-+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests,
-+ cups_dest_t **dests);
- typedef int (*CupsGetDests)(cups_dest_t **dests);
- typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests);
- typedef const char* (*CupsGetPPD)(const char *printer);
-+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer);
- typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options);
- typedef ppd_file_t* (*PPDOpenFile)(const char *filename);
- typedef void (*PPDMarkDefaults)(ppd_file_t *ppd);
-@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)(
- typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options);
- typedef int (*CupsTempFd)(char *name, int len);
- typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options);
-+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options);
-+
-+typedef struct
-+{
-+ cups_dest_t *printers;
-+ int num_printers;
-+} EnumDestsContext;
-
- static bool cupsLoaded = false;
- static int qt_cups_num_printers = 0;
-+static cups_dest_t *qt_cups_printers = 0;
-+static CupsEnumDests _cupsEnumDests = 0;
-+static CupsConnectDest _cupsConnectDest = 0;
-+static CupsCopyDest _cupsCopyDest = 0;
- static CupsGetDests _cupsGetDests = 0;
- static CupsFreeDests _cupsFreeDests = 0;
- static CupsGetPPD _cupsGetPPD = 0;
-+static CupsGetPPD2 _cupsGetPPD2 = 0;
- static PPDOpenFile _ppdOpenFile = 0;
- static PPDMarkDefaults _ppdMarkDefaults = 0;
- static PPDClose _ppdClose = 0;
-@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin
- static CupsAddOption _cupsAddOption = 0;
- static CupsTempFd _cupsTempFd = 0;
- static CupsPrintFile _cupsPrintFile = 0;
-+static CupsPrintFile2 _cupsPrintFile2 = 0;
-+
-+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest)
-+{
-+ EnumDestsContext *context = (EnumDestsContext *) user_data;
-+
-+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED |
-+ CUPS_DEST_FLAGS_REMOVED |
-+ CUPS_DEST_FLAGS_ERROR |
-+ CUPS_DEST_FLAGS_RESOLVING |
-+ CUPS_DEST_FLAGS_CONNECTING |
-+ CUPS_DEST_FLAGS_CANCELED)) == 0)
-+ context->num_printers = _cupsCopyDest (dest, context->num_printers,
-+ &context->printers);
-+
-+ return 1;
-+}
-
- static void resolveCups()
- {
- QLibrary cupsLib(QLatin1String("cups"), 2);
- if(cupsLib.load()) {
-+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests");
-+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest");
-+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest");
- _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
- _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
- _cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD");
-+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2");
- _cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet");
- _cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding");
- _ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile");
-@@ -104,14 +147,27 @@ static void resolveCups()
- _cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption");
- _cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd");
- _cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile");
-+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2");
-
-- if (_cupsGetDests && _cupsFreeDests) {
-- cups_dest_t *printers;
-+ if (_cupsEnumDests && _cupsCopyDest &&
-+ _cupsConnectDest && _cupsGetPPD2 &&
-+ _cupsPrintFile2) {
-+ EnumDestsContext context;
-+ context.printers = 0;
-+ context.num_printers = 0;
-+ _cupsEnumDests(0, -1, 0, 0, 0,
-+ enum_dest_cb, &context);
-+
-+ qt_cups_printers = context.printers;
-+ qt_cups_num_printers = context.num_printers;
-+ } else if (_cupsGetDests && _cupsFreeDests) {
-+ cups_dest_t *printers;
- int num_printers = _cupsGetDests(&printers);
-- if (num_printers)
-- _cupsFreeDests(num_printers, printers);
-- qt_cups_num_printers = num_printers;
-- }
-+
-+ if (num_printers)
-+ _cupsFreeDests(num_printers, printers);
-+ qt_cups_num_printers = num_printers;
-+ }
- }
- cupsLoaded = true;
- }
-@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport()
- return;
-
- // Update the available printer count
-- qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
-+ if (qt_cups_printers && _cupsCopyDest) {
-+ int i;
-+ for (i = 0; i < qt_cups_num_printers; ++i) {
-+ prnCount = _cupsCopyDest (&qt_cups_printers[i],
-+ prnCount,
-+ &printers);
-+ }
-+ } else
-+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers);
-
- for (int i = 0; i < prnCount; ++i) {
- if (printers[i].is_default) {
-@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre
- currPPD = 0;
- page_sizes = 0;
-
-- const char *ppdFile = _cupsGetPPD(printers[index].name);
-+ const char *ppdFile = 0;
-+ if (_cupsConnectDest && _cupsGetPPD2) {
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ ppdFile = _cupsGetPPD2 (http, ++name);
-+ }
-+ } else
-+ ppdFile = _cupsGetPPD(printers[index].name);
-
- if (!ppdFile)
- return 0;
-@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c
- {
- if (!isAvailable())
- return false;
-- const char *ppdFile = _cupsGetPPD(printerName);
-+
-+ const char *ppdFile = 0;
-+ if (_cupsConnectDest && _cupsGetPPD2) {
-+ int i;
-+ for (i = 0; i < prnCount; ++i)
-+ if (!strcmp (printers[i].name, printerName))
-+ break;
-+
-+ if (i == prnCount)
-+ return false;
-+
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ ppdFile = _cupsGetPPD2 (http, ++name);
-+ }
-+ } else
-+ ppdFile = _cupsGetPPD(printerName);
-+
- if (ppdFile)
- unlink(ppdFile);
- return (ppdFile != 0);
-@@ -394,6 +492,26 @@ QPair<int, QString> QCUPSSupport::tempFd
- int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title,
- int num_options, cups_option_t * options)
- {
-+ if (_cupsConnectDest && _cupsPrintFile2) {
-+ int i;
-+ for (i = 0; i < prnCount; ++i)
-+ if (!strcmp (printers[i].name, printerName))
-+ break;
-+
-+ if (i != prnCount) {
-+ char resource[HTTP_MAX_URI];
-+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0,
-+ resource, sizeof (resource),
-+ 0, 0);
-+ if (http) {
-+ char *name = strrchr (resource, '/');
-+ if (name)
-+ return _cupsPrintFile2 (http, ++name, filename, title,
-+ num_options, options);
-+ }
-+ }
-+ }
-+
- return _cupsPrintFile(printerName, filename, title, num_options, options);
- }
-
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100
-@@ -92,7 +92,7 @@ public:
-
- QStringList options() const;
-
-- static bool printerHasPPD(const char *printerName);
-+ bool printerHasPPD(const char *printerName);
-
- QString unicodeString(const char *s);
-
-diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp
---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100
-+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100
-@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr
- if(d->use_default_engine
- && d->outputFormat == QPrinter::NativeFormat) {
- if (QCUPSSupport::cupsVersion() >= 10200
-- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData()))
-+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData()))
- setOutputFormat(QPrinter::PdfFormat);
- else
- setOutputFormat(QPrinter::PostScriptFormat);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch
deleted file mode 100644
index e0305e11b..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.2-cups.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
---- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
-+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
-@@ -569,6 +569,32 @@
- void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
- {
- options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
-+
-+ if (cups) {
-+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
-+ if (duplex) {
-+ // copy default ppd duplex to qt dialog
-+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
-+ options.duplexShort->setChecked(true);
-+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
-+ options.duplexLong->setChecked(true);
-+ else
-+ options.noDuplex->setChecked(true);
-+ }
-+
-+ if (cups->currentPPD()) {
-+ // set default color
-+ if (cups->currentPPD()->color_device)
-+ options.color->setChecked(true);
-+ else
-+ options.grayscale->setChecked(true);
-+ }
-+
-+ // set collation
-+ const ppd_option_t *collate = cups->ppdOption("Collate");
-+ if (collate)
-+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
-+ }
- }
- #endif
-
-diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
---- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
-+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
-@@ -627,6 +627,44 @@
- && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
- setOutputFormat(QPrinter::PdfFormat);
- }
-+
-+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
-+ // fill in defaults from ppd file
-+ QCUPSSupport cups;
-+
-+ int printernum = -1;
-+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
-+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
-+ printernum = i;
-+ }
-+ if (printernum >= 0) {
-+ cups.setCurrentPrinter(printernum);
-+
-+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
-+ if (duplex) {
-+ // copy default ppd duplex to qt dialog
-+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
-+ setDuplex(DuplexShortSide);
-+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
-+ setDuplex(DuplexLongSide);
-+ else
-+ setDuplex(DuplexNone);
-+ }
-+
-+ if (cups.currentPPD()) {
-+ // set default color
-+ if (cups.currentPPD()->color_device)
-+ setColorMode(Color);
-+ else
-+ setColorMode(GrayScale);
-+ }
-+
-+ // set collation
-+ const ppd_option_t *collate = cups.ppdOption("Collate");
-+ if (collate)
-+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
-+ }
-+#endif
- }
-
- /*!
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
deleted file mode 100644
index d4e5924df..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp
---- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200
-+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100
-@@ -76,7 +76,7 @@
- GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
- return (XEventsQueued(X11->display, QueuedAfterFlush)
- || (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()));
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
- }
-
- static gboolean x11EventSourceCheck(GSource *s)
-@@ -84,7 +84,7 @@
- GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
- return (XEventsQueued(X11->display, QueuedAfterFlush)
- || (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()));
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
- }
-
- static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data)
-@@ -95,7 +95,7 @@
- do {
- XEvent event;
- if (!(source->flags & QEventLoop::ExcludeUserInputEvents)
-- && !source->d->queuedUserInputEvents.isEmpty()) {
-+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) {
- // process a pending user input event
- event = source->d->queuedUserInputEvents.takeFirst();
- } else if (XEventsQueued(X11->display, QueuedAlready)) {
-@@ -112,7 +112,8 @@
- case XKeyRelease:
- case EnterNotify:
- case LeaveNotify:
-- source->d->queuedUserInputEvents.append(event);
-+ if (source->d)
-+ source->d->queuedUserInputEvents.append(event);
- continue;
-
- case ClientMessage:
-@@ -127,7 +128,8 @@
- break;
- }
- }
-- source->d->queuedUserInputEvents.append(event);
-+ if (source->d)
-+ source->d->queuedUserInputEvents.append(event);
- continue;
-
- default:
-@@ -140,7 +142,7 @@
- }
-
- // send through event filter
-- if (source->q->filterEvent(&event))
-+ if (source->q && source->q->filterEvent(&event))
- continue;
-
- if (qApp->x11ProcessEvent(&event) == 1)
-@@ -152,7 +154,8 @@
-
- out:
-
-- source->d->runTimersOnceWithNormalPriority();
-+ if (source->d)
-+ source->d->runTimersOnceWithNormalPriority();
-
- if (callback)
- callback(user_data);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
deleted file mode 100644
index 4279ce2e7..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h
---- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
-@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
- template <typename T>
- Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
- {
-- int index = indexOf(_t);
-- if (index == -1)
-- return 0;
--
-+ detachShared();
- const T t = _t;
-- detach();
--
-- Node *i = reinterpret_cast<Node *>(p.at(index));
-- Node *e = reinterpret_cast<Node *>(p.end());
-- Node *n = i;
-- node_destruct(i);
-- while (++i != e) {
-- if (i->t() == t)
-- node_destruct(i);
-- else
-- *n++ = *i;
-- }
--
-- int removedCount = e - n;
-- d->end -= removedCount;
-+ int removedCount=0, i=0;
-+ Node *n;
-+ while (i < p.size())
-+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {
-+ node_destruct(n);
-+ p.remove(i);
-+ ++removedCount;
-+ } else {
-+ ++i;
-+ }
- return removedCount;
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
deleted file mode 100644
index 6fedcc810..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h
---- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100
-@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer
-
-
- template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
-+{
-+#ifndef __s390x__
-+ return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
-+#else
-+ return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
-+#endif
-+}
-+
-+template <typename T>
- Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
- {
- return fetchAndAddOrdered(valueToAdd);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch
deleted file mode 100644
index 5c8b5a1dd..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200
-@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
- QMAKE_CFLAGS = -m32
- QMAKE_LFLAGS = -m32
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200
-@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
- QMAKE_CFLAGS = -m64
- QMAKE_LFLAGS = -m64
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
-diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf
---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200
-@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment
- QT += core gui
- QMAKE_INCREMENTAL_STYLE = sublib
-
-+QMAKE_CFLAGS_RELEASE += -O2
-+
- include(../common/linux.conf)
- include(../common/gcc-base-unix.conf)
- include(../common/g++-unix.conf)
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
deleted file mode 100644
index 947f7582d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp
---- qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp.qtreeview-kpackagekit-crash 2011-05-23 12:26:21.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.0-tp/src/gui/itemviews/qtreeview.cpp 2011-05-25 13:24:33.137315194 +0200
-@@ -3215,7 +3215,7 @@ int QTreeViewPrivate::itemHeight(int ite
- return defaultItemHeight;
- if (viewItems.isEmpty())
- return 0;
-- const QModelIndex &index = viewItems.at(item).index;
-+ QModelIndex index = viewItems.at(item).index;
- if (!index.isValid())
- return 0;
- int height = viewItems.at(item).height;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
deleted file mode 100644
index e84446ce8..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lrelease/main.cpp 2012-05-29 12:17:03.416561535 +0200
-@@ -314,9 +314,9 @@ int main(int argc, char **argv)
- parseHandler.verbose = evalHandler.verbose = cd.isVerbose();
- ProFileOption option;
- #ifdef QT_BOOTSTRAPPED
-- option.initProperties(binDir + QLatin1String("/qmake"));
-+ option.initProperties(binDir + QLatin1String("/qmake-qt4"));
- #else
-- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
-+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
- #endif
- ProFileParser parser(0, &parseHandler);
- ProFileEvaluator visitor(&option, &parser, &evalHandler);
-diff -up qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp.linguist_qtmake-qt4 2012-04-26 21:45:50.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/linguist/lupdate/main.cpp 2012-05-29 11:46:48.811134546 +0200
-@@ -765,7 +765,7 @@ int main(int argc, char **argv)
-
- parseHandler.verbose = evalHandler.verbose = !!(options & Verbose);
- ProFileOption option;
-- option.initProperties(app.applicationDirPath() + QLatin1String("/qmake"));
-+ option.initProperties(app.applicationDirPath() + QLatin1String("/qmake-qt4"));
- option.setCommandLineArguments(QStringList() << QLatin1String("CONFIG+=lupdate_run"));
- ProFileParser parser(0, &parseHandler);
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch
deleted file mode 100644
index 745831467..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro
---- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500
-@@ -34,6 +34,3 @@ MOCDIR = .moc
-
- *-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
-
--CONFIG -= separate_debug_info
--CONFIG += no_debug_info
--
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
deleted file mode 100644
index f0a41a42e..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp
---- qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp.me 2012-06-19 12:52:22.740180410 +0200
-+++ qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant/mainwindow.cpp 2012-06-19 12:52:51.953194103 +0200
-@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
- if (helpEngine.usesAppFont())
- font = helpEngine.appFont();
-
-- const QWidgetList &widgets = qApp->allWidgets();
-- foreach (QWidget* widget, widgets)
-+ foreach (QWidget* widget, QApplication::allWidgets())
- widget->setFont(font);
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
deleted file mode 100644
index 9c53f3c26..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
---- qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp.icu_no_debug 2012-09-06 02:33:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp 2012-09-11 09:04:21.542379795 -0500
-@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeStr
- QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
- lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
- if (!lib.load()) {
-+#ifndef QT_NO_DEBUG
- qWarning() << "Unable to load library icui18n" << lib.errorString();
-+#endif
- status = ErrorLoading;
- return false;
- }
-@@ -114,7 +116,9 @@ bool qt_initIcu(const QString &localeStr
- QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
- ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
- if (!ucLib.load()) {
-+#ifndef QT_NO_DEBUG
- qWarning() << "Unable to load library icuuc" << ucLib.errorString();
-+#endif
- status = ErrorLoading;
- return false;
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch
deleted file mode 100644
index 86dcc288d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri
---- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500
-@@ -102,7 +102,7 @@ CONFIG -= warn_on
-
- # Treat warnings as errors on x86/Linux/GCC
- linux-g++* {
-- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-
- greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
- if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch
deleted file mode 100644
index dd3a5a022..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp
---- qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp.qdbusconnection_no_debug.patch 2012-09-06 02:33:44.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.3/src/dbus/qdbusconnection.cpp 2012-09-11 08:55:29.854026815 -0500
-@@ -1109,8 +1109,10 @@ public:
- // make sure this connection is running on the main thread
- QCoreApplication *instance = QCoreApplication::instance();
- if (!instance) {
-+#ifndef QT_NO_DEBUG
- qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.",
- type == SessionBus ? "session" : type == SystemBus ? "system" : "generic");
-+#endif
- } else if (QDBusConnectionPrivate::d(*this)) {
- QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread());
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
deleted file mode 100644
index 0494c81f0..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp
---- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600
-+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600
-@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile()
- t << "Requires: " << requires << endl;
- }
-
-+ // requires.private
-+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" ");
-+ if (!requires_private.isEmpty()) {
-+ t << "Requires.private: " << requires_private << endl;
-+ }
-+
- t << endl;
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
deleted file mode 100644
index 81d74ff4d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf
---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500
-@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) {
- }
- isEmpty(LINKAGE) {
- if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
-- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
-+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX}
- mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
- }
- isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
-diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf
---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500
-@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){
-
- qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain): {
-- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
-+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX}
- else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
- } else {
- QMAKE_LIBS += $${entryLib}
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
deleted file mode 100644
index 018872f6d..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp
---- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500
-@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window’s position on the root may have changed, even
-+ // though the event reports that the window’s position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
deleted file mode 100644
index 5ca91145e..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp
---- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100
-@@ -428,7 +428,7 @@
- // for the DTD currently being parsed.
- static const int dtdRecursionLimit = 2;
- // The maximum amount of characters an entity value may contain, after expansion.
-- static const int entityCharacterLimit = 1024;
-+ static const int entityCharacterLimit = 4096;
-
- const QString &string();
- void stringClear();
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
deleted file mode 100644
index ee1d19136..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp
---- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500
-@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath()
- {
- QString home = QFile::decodeName(qgetenv("HOME"));
- if (home.isEmpty())
-+ {
-+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
-+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
-+ if (size_max == -1)
-+ size_max = 1024;
-+ QVarLengthArray<char, 1024> buf(size_max);
-+#endif
-+ struct passwd *pw = 0;
-+ uid_t user_id = getuid();
-+ pw = getpwuid(user_id);
-+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
-+ struct passwd entry;
-+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw);
-+#else
-+ pw = getpwuid(user_id);
-+#endif
-+ home = QFile::decodeName(QByteArray(pw->pw_dir));
-+ }
-+ if (home.isEmpty())
- home = rootPath();
- return QDir::cleanPath(home);
- }
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch
deleted file mode 100644
index fc0ee7670..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure
---- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600
-@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
- [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config`
- if [ -x "$CFG_MYSQL_CONFIG" ]; then
- QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null`
-+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \
-+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null`
-+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then
-+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r"
-+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient"
-+ else
- QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null`
- QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null`
-+ fi
- QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null`
- QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1`
- fi
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch
deleted file mode 100644
index 9a9f77353..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp
---- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500
-@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets()
- return;
- }
-
-- static QString themeName;
-- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) {
-- themeName = getThemeName();
--
-- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
-- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
-- // we cannot support the GTK_Qt Gtk engine
-- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
-- return;
-- }
-- }
--
- if (QGtkStylePrivate::gtk_init) {
- // Gtk will set the Qt error handler so we have to reset it afterwards
- x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
deleted file mode 100644
index 6a87783e3..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp
---- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500
-@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat
- if (!app_libpaths->contains(installPathPlugins))
- app_libpaths->append(installPathPlugins);
- }
-+
-+ // hack in support for kde4 plugin paths -- Rex
-+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins");
-+ if (QFile::exists(kde4PathPlugins)) {
-+ // Make sure we convert from backslashes to slashes.
-+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath();
-+ if (!app_libpaths->contains(kde4PathPlugins))
-+ app_libpaths->append(kde4PathPlugins);
-+ }
- #endif
-
- // If QCoreApplication is not yet instantiated,
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch
deleted file mode 100644
index 2deeb51bb..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri
---- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500
-@@ -1,6 +1,8 @@
- HEADERS += $$PWD/qsql_tds.h
- SOURCES += $$PWD/qsql_tds.cpp
-
-+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing
-+
- unix|win32-g++*: {
- LIBS += $$QT_LFLAGS_TDS
- !contains(LIBS, .*sybdb.*):LIBS += -lsybdb
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
deleted file mode 100644
index d04d1be5a..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp
---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500
-@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec
- for ( it = images.begin(); it != images.end(); ++it )
- out << "** " << *it << "\n";
- out << "**\n";
-- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
-- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
-+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n";
- out << "**\n";
- out << "** WARNING! All changes made in this file will be lost!\n";
- out << "****************************************************************************/\n";
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp
---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500
-@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui
- out << "/********************************************************************************\n";
- out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
- out << "**\n";
-- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
-- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
-+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
- out << "**\n";
- out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n";
- out << "********************************************************************************/\n\n";
-diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
deleted file mode 100644
index 1ea8af2b0..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri
---- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500
-@@ -5,6 +5,12 @@ include(features.pri)
-
- # Uncomment this to enable Texture Mapper.
- # CONFIG += texmap
-+#
-+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) {
-+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1")
-+ QMAKE_CXXFLAGS_RELEASE -= -g
-+ QMAKE_CXXFLAGS_RELEASE += -g1
-+}
-
- QT *= network
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
deleted file mode 100644
index b6f5525dc..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
---- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600
-@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv)
- pp.macros["Q_MOC_RUN"];
- pp.macros["__cplusplus"];
-
-- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
-+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
- pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
-+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
-+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
-+ pp.macros["BOOST_TYPE_TRAITS_HPP"];
-+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
-
- QByteArray filename;
- QByteArray output;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
deleted file mode 100644
index 6d3bf2f2c..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
-+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
-@@ -255,22 +255,30 @@ struct GPostEventSource
- GSource source;
- QAtomicInt serialNumber;
- int lastSerialNumber;
-+ QEventLoop::ProcessEventsFlags processEventsFlags;
- QEventDispatcherGlibPrivate *d;
- };
-
- static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
- {
-+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- QThreadData *data = QThreadData::current();
- if (!data)
- return false;
-
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
-+ return false;
-+
- gint dummy;
- if (!timeout)
- timeout = &dummy;
- const bool canWait = data->canWaitLocked();
- *timeout = canWait ? -1 : 0;
-
-- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- return (!canWait
- || (source->serialNumber != source->lastSerialNumber));
- }
-@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
- {
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
- source->lastSerialNumber = source->serialNumber;
-- QCoreApplication::sendPostedEvents();
-- source->d->runTimersOnceWithNormalPriority();
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
-+ QCoreApplication::sendPostedEvents();
-+ source->d->runTimersOnceWithNormalPriority();
-+ }
- return true; // i dunno, george...
- }
-
-@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
- postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
- sizeof(GPostEventSource)));
- postEventSource->serialNumber = 1;
-+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
- postEventSource->d = this;
- g_source_set_can_recurse(&postEventSource->source, true);
- g_source_attach(&postEventSource->source, mainContext);
-@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
-
- // tell postEventSourcePrepare() and timerSource about any new flags
- QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
-+ d->postEventSource->processEventsFlags = flags;
- d->timerSource->processEventsFlags = flags;
- d->socketNotifierSource->processEventsFlags = flags;
-
-@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
- while (!result && canWait)
- result = g_main_context_iteration(d->mainContext, canWait);
-
-+ d->postEventSource->processEventsFlags = savedFlags;
- d->timerSource->processEventsFlags = savedFlags;
- d->socketNotifierSource->processEventsFlags = savedFlags;
-
---- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
-+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
-@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
-
- // we are awake, broadcast it
- emit awake();
-- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-+
-+ QEventLoop::ProcessEventsFlags excludeAllFlags
-+ = QEventLoop::ExcludeUserInputEvents
-+ | QEventLoop::ExcludeSocketNotifiers
-+ | QEventLoop::X11ExcludeTimers;
-+ if ((flags & excludeAllFlags) == excludeAllFlags)
-+ return false;
-+ if(( flags & excludeAllFlags ) != excludeAllFlags )
-+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-
- int nevents = 0;
- const bool canWait = (d->threadData->canWaitLocked()
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
deleted file mode 100644
index 6949bbfef..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Author: Jan-Marek Glogowski <glogow@fbihome.de>
-Date: Thu Mar 06 18:44:43 2014 +0100
-
- Honor QEventLoop::ExcludeSocketNotifiers in glib event loop.
-
- Implements QEventLoop::ExcludeSocketNotifiers in the same way
- QEventLoop::X11ExcludeTimers is already implemented for the glib
- event loop.
-
---- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp
-+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp
-@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier
- struct GSocketNotifierSource
- {
- GSource source;
-+ QEventLoop::ProcessEventsFlags processEventsFlags;
- QList<GPollFDWithQSocketNotifier *> pollfds;
- };
-
-@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec
- GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
-
- bool pending = false;
-+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
-+ return pending;
-+
- for (int i = 0; !pending && i < src->pollfds.count(); ++i) {
- GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
-
-@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp
- QEvent event(QEvent::SockAct);
-
- GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source);
-+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers)
-+ return true;
-+
- for (int i = 0; i < src->pollfds.count(); ++i) {
- GPollFDWithQSocketNotifier *p = src->pollfds.at(i);
-
-@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa
- reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs,
- sizeof(GSocketNotifierSource)));
- (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>();
-+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents;
- g_source_set_can_recurse(&socketNotifierSource->source, true);
- g_source_attach(&socketNotifierSource->source, mainContext);
-
-@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents
- // tell postEventSourcePrepare() and timerSource about any new flags
- QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
- d->timerSource->processEventsFlags = flags;
-+ d->socketNotifierSource->processEventsFlags = flags;
-
- if (!(flags & QEventLoop::EventLoopExec)) {
- // force timers to be sent at normal priority
-@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents
- result = g_main_context_iteration(d->mainContext, canWait);
-
- d->timerSource->processEventsFlags = savedFlags;
-+ d->socketNotifierSource->processEventsFlags = savedFlags;
-
- if (canWait)
- emit awake();
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
deleted file mode 100644
index 22643e8d5..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
-+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
-@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
- return false;
-
- XSync(X11->display, false);
-- usleep(50000);
-+ if (!XPending(X11->display))
-+ usleep(5000);
-
- now.start();
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch
deleted file mode 100644
index 5098c0822..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-s390.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
---- qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2014-03-31 17:59:16.846465899 -0500
-@@ -189,6 +189,18 @@
- #define WTF_CPU_SPARC 1
- #endif
-
-+/* CPU(S390X) - S390 64-bit */
-+#if defined(__s390x__)
-+#define WTF_CPU_S390X 1
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+
-+/* CPU(S390) - S390 32-bit */
-+#if defined(__s390__)
-+#define WTF_CPU_S390 1
-+#define WTF_CPU_BIG_ENDIAN 1
-+#endif
-+
- /* CPU(X86) - i386 / x86 32-bit */
- #if defined(__i386__) \
- || defined(i386) \
-@@ -903,7 +915,7 @@
- #endif
-
- #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
--#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
-+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(S390X)
- #define WTF_USE_JSVALUE64 1
- #elif CPU(ARM) || CPU(PPC64)
- #define WTF_USE_JSVALUE32 1
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch
deleted file mode 100644
index 63a746290..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch
+++ /dev/null
@@ -1,351 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/fulltextsearch.pri 2014-10-26 03:33:45.000000000 +0100
-@@ -1,125 +1,7 @@
--DEFINES += _BUILD_FOR_QT_ LUCENE_DISABLE_MEMTRACKING
--win32:DEFINES += _CRT_SECURE_NO_DEPRECATE _MT
--
--CLUCENEDIR = ../../../../src/3rdparty/clucene/src/CLucene
--
--INCLUDEPATH += . .. \
-- $$CLUCENEDIR \
-- $$CLUCENEDIR/../ \
-- $$CLUCENEDIR/analysis \
-- $$CLUCENEDIR/analysis/standard \
-- $$CLUCENEDIR/config \
-- $$CLUCENEDIR/debug \
-- $$CLUCENEDIR/document \
-- $$CLUCENEDIR/index \
-- $$CLUCENEDIR/queryParser \
-- $$CLUCENEDIR/search \
-- $$CLUCENEDIR/store \
-- $$CLUCENEDIR/util
--
--
--SOURCES += $$CLUCENEDIR/StdHeader.cpp \
-- $$CLUCENEDIR/analysis/AnalysisHeader.cpp \
-- $$CLUCENEDIR/analysis/Analyzers.cpp \
-- $$CLUCENEDIR/config/gunichartables.cpp \
-- $$CLUCENEDIR/config/repl_lltot.cpp \
-- $$CLUCENEDIR/config/repl_tcscasecmp.cpp \
-- $$CLUCENEDIR/config/repl_tcslwr.cpp \
-- $$CLUCENEDIR/config/repl_tcstod.cpp \
-- $$CLUCENEDIR/config/repl_tcstoll.cpp \
-- $$CLUCENEDIR/config/repl_tprintf.cpp \
-- $$CLUCENEDIR/config/threads.cpp \
-- $$CLUCENEDIR/config/utf8.cpp \
-- $$CLUCENEDIR/debug/condition.cpp \
-- $$CLUCENEDIR/debug/error.cpp \
-- $$CLUCENEDIR/debug/memtracking.cpp \
-- $$CLUCENEDIR/document/DateField.cpp \
-- $$CLUCENEDIR/document/Document.cpp \
-- $$CLUCENEDIR/document/Field.cpp \
-- $$CLUCENEDIR/index/CompoundFile.cpp \
-- $$CLUCENEDIR/index/DocumentWriter.cpp \
-- $$CLUCENEDIR/index/FieldInfos.cpp \
-- $$CLUCENEDIR/index/FieldsReader.cpp \
-- $$CLUCENEDIR/index/FieldsWriter.cpp \
-- $$CLUCENEDIR/index/IndexModifier.cpp \
-- $$CLUCENEDIR/index/IndexReader.cpp \
-- $$CLUCENEDIR/index/IndexWriter.cpp \
-- $$CLUCENEDIR/index/MultiReader.cpp \
-- $$CLUCENEDIR/index/SegmentInfos.cpp \
-- $$CLUCENEDIR/index/SegmentMergeInfo.cpp \
-- $$CLUCENEDIR/index/SegmentMergeQueue.cpp \
-- $$CLUCENEDIR/index/SegmentMerger.cpp \
-- $$CLUCENEDIR/index/SegmentReader.cpp \
-- $$CLUCENEDIR/index/SegmentTermDocs.cpp \
-- $$CLUCENEDIR/index/SegmentTermEnum.cpp \
-- $$CLUCENEDIR/index/SegmentTermPositions.cpp \
-- $$CLUCENEDIR/index/SegmentTermVector.cpp \
-- $$CLUCENEDIR/index/Term.cpp \
-- $$CLUCENEDIR/index/TermInfo.cpp \
-- $$CLUCENEDIR/index/TermInfosReader.cpp \
-- $$CLUCENEDIR/index/TermInfosWriter.cpp \
-- $$CLUCENEDIR/index/TermVectorReader.cpp \
-- $$CLUCENEDIR/index/TermVectorWriter.cpp \
-- $$CLUCENEDIR/queryParser/Lexer.cpp \
-- $$CLUCENEDIR/queryParser/MultiFieldQueryParser.cpp \
-- $$CLUCENEDIR/queryParser/QueryParser.cpp \
-- $$CLUCENEDIR/queryParser/QueryParserBase.cpp \
-- $$CLUCENEDIR/queryParser/QueryToken.cpp \
-- $$CLUCENEDIR/queryParser/TokenList.cpp \
-- $$CLUCENEDIR/search/BooleanQuery.cpp \
-- $$CLUCENEDIR/search/BooleanScorer.cpp \
-- $$CLUCENEDIR/search/CachingWrapperFilter.cpp \
-- $$CLUCENEDIR/search/ChainedFilter.cpp \
-- $$CLUCENEDIR/search/ConjunctionScorer.cpp \
-- $$CLUCENEDIR/search/DateFilter.cpp \
-- $$CLUCENEDIR/search/ExactPhraseScorer.cpp \
-- $$CLUCENEDIR/search/Explanation.cpp \
-- $$CLUCENEDIR/search/FieldCache.cpp \
-- $$CLUCENEDIR/search/FieldCacheImpl.cpp \
-- $$CLUCENEDIR/search/FieldDocSortedHitQueue.cpp \
-- $$CLUCENEDIR/search/FieldSortedHitQueue.cpp \
-- $$CLUCENEDIR/search/FilteredTermEnum.cpp \
-- $$CLUCENEDIR/search/FuzzyQuery.cpp \
-- $$CLUCENEDIR/search/HitQueue.cpp \
-- $$CLUCENEDIR/search/Hits.cpp \
-- $$CLUCENEDIR/search/IndexSearcher.cpp \
-- $$CLUCENEDIR/search/MultiSearcher.cpp \
-- $$CLUCENEDIR/search/MultiTermQuery.cpp \
-- $$CLUCENEDIR/search/PhrasePositions.cpp \
-- $$CLUCENEDIR/search/PhraseQuery.cpp \
-- $$CLUCENEDIR/search/PhraseScorer.cpp \
-- $$CLUCENEDIR/search/PrefixQuery.cpp \
-- $$CLUCENEDIR/search/QueryFilter.cpp \
-- $$CLUCENEDIR/search/RangeFilter.cpp \
-- $$CLUCENEDIR/search/RangeQuery.cpp \
-- $$CLUCENEDIR/search/SearchHeader.cpp \
-- $$CLUCENEDIR/search/Similarity.cpp \
-- $$CLUCENEDIR/search/SloppyPhraseScorer.cpp \
-- $$CLUCENEDIR/search/Sort.cpp \
-- $$CLUCENEDIR/search/TermQuery.cpp \
-- $$CLUCENEDIR/search/TermScorer.cpp \
-- $$CLUCENEDIR/search/WildcardQuery.cpp \
-- $$CLUCENEDIR/search/WildcardTermEnum.cpp \
-- $$CLUCENEDIR/store/FSDirectory.cpp \
-- $$CLUCENEDIR/store/IndexInput.cpp \
-- $$CLUCENEDIR/store/IndexOutput.cpp \
-- $$CLUCENEDIR/store/Lock.cpp \
-- $$CLUCENEDIR/store/MMapInput.cpp \
-- $$CLUCENEDIR/store/RAMDirectory.cpp \
-- $$CLUCENEDIR/store/TransactionalRAMDirectory.cpp \
-- $$CLUCENEDIR/util/BitSet.cpp \
-- $$CLUCENEDIR/util/Equators.cpp \
-- $$CLUCENEDIR/util/FastCharStream.cpp \
-- $$CLUCENEDIR/util/fileinputstream.cpp \
-- $$CLUCENEDIR/util/Misc.cpp \
-- $$CLUCENEDIR/util/Reader.cpp \
-- $$CLUCENEDIR/util/StringBuffer.cpp \
-- $$CLUCENEDIR/util/StringIntern.cpp \
-- $$CLUCENEDIR/util/ThreadLocal.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardAnalyzer.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardFilter.cpp \
-- $$CLUCENEDIR/analysis/standard/StandardTokenizer.cpp
-
-+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
-+LIBS += -L$$[QT_INSTALL_LIBS]/clucene09 -lclucene
-+#DEFINES += LUCENE_ENABLE_REFCOUNT (must be set at CLucene build time!)
-
- #Header files
- HEADERS += qclucene_global_p.h \
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene-config_p.h 2014-10-26 02:28:54.000000000 +0100
-@@ -15,6 +15,8 @@
- **
- ****************************************************************************/
-
-+#error This header must not be included when building against system CLucene.
-+
- #ifndef QCLUCENE_CONFIG_P_H
- #define QCLUCENE_CONFIG_P_H
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qclucene_global_p.h 2014-10-26 02:31:54.000000000 +0100
-@@ -29,20 +29,10 @@
- // We mean it.
- //
-
--#if !defined(_MSC_VER)
--# include "qclucene-config_p.h"
--#endif
--
- #include <QtCore/QChar>
- #include <QtCore/QString>
-
--#if !defined(_MSC_VER) && !defined(__MINGW32__) && defined(_CL_HAVE_WCHAR_H) && defined(_CL_HAVE_WCHAR_T)
--# if !defined(TCHAR)
--# define TCHAR wchar_t
--# endif
--#else
--# include <windows.h>
--#endif
-+#include <CLucene/StdHeader.h>
-
- QT_BEGIN_HEADER
-
-@@ -56,52 +46,6 @@
- # define QHELP_EXPORT Q_DECL_IMPORT
- #endif
-
--//
--// W A R N I N G
--// -------------
--//
--// adjustments here, need to be done in
--// QTDIR/src/3rdparty/clucene/src/CLucene/StdHeader.h as well
--//
--#if defined(_LUCENE_DONTIMPLEMENT_NS_MACROS)
--
--#elif !defined(DISABLE_NAMESPACE)
--# ifdef QT_NAMESPACE
--# define CL_NS_DEF(sub) namespace QT_NAMESPACE { namespace lucene{ namespace sub{
--# define CL_NS_DEF2(sub,sub2) namespace QT_NAMESPACE { namespace lucene{ namespace sub{ namespace sub2 {
--
--# define CL_NS_END }}}
--# define CL_NS_END2 }}}}
--
--# define CL_NS_USE(sub) using namespace QT_NAMESPACE::lucene::sub;
--# define CL_NS_USE2(sub,sub2) using namespace QT_NAMESPACE::lucene::sub::sub2;
--
--# define CL_NS(sub) QT_NAMESPACE::lucene::sub
--# define CL_NS2(sub,sub2) QT_NAMESPACE::lucene::sub::sub2
--# else
--# define CL_NS_DEF(sub) namespace lucene{ namespace sub{
--# define CL_NS_DEF2(sub,sub2) namespace lucene{ namespace sub{ namespace sub2 {
--
--# define CL_NS_END }}
--# define CL_NS_END2 }}}
--
--# define CL_NS_USE(sub) using namespace lucene::sub;
--# define CL_NS_USE2(sub,sub2) using namespace lucene::sub::sub2;
--
--# define CL_NS(sub) lucene::sub
--# define CL_NS2(sub,sub2) lucene::sub::sub2
--# endif
--#else
--# define CL_NS_DEF(sub)
--# define CL_NS_DEF2(sub, sub2)
--# define CL_NS_END
--# define CL_NS_END2
--# define CL_NS_USE(sub)
--# define CL_NS_USE2(sub,sub2)
--# define CL_NS(sub)
--# define CL_NS2(sub,sub2)
--#endif
--
- namespace {
- TCHAR* QStringToTChar(const QString &str)
- {
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexreader.cpp 2014-10-26 02:48:02.000000000 +0100
-@@ -18,6 +18,8 @@
- #include "qindexreader_p.h"
- #include "qclucene_global_p.h"
-
-+#include <QtCore/QDir>
-+
- #include <CLucene.h>
- #include <CLucene/index/IndexReader.h>
-
-@@ -59,13 +61,13 @@
- {
- using namespace lucene::index;
-
-- return IndexReader::isLuceneFile(filename);
-+ return IndexReader::isLuceneFile(filename.toLocal8Bit().constData());
- }
-
- bool QCLuceneIndexReader::indexExists(const QString &directory)
- {
- using namespace lucene::index;
-- return IndexReader::indexExists(directory);
-+ return IndexReader::indexExists(directory.toLocal8Bit().constData());
- }
-
- QCLuceneIndexReader QCLuceneIndexReader::open(const QString &path)
-@@ -73,7 +75,7 @@
- using namespace lucene::index;
-
- QCLuceneIndexReader indexReader;
-- indexReader.d->reader = IndexReader::open(path);
-+ indexReader.d->reader = IndexReader::open(path.toLocal8Bit().constData());
-
- return indexReader;
- }
-@@ -81,25 +83,29 @@
- void QCLuceneIndexReader::unlock(const QString &path)
- {
- using namespace lucene::index;
-- IndexReader::unlock(path);
-+ IndexReader::unlock(path.toLocal8Bit().constData());
- }
-
- bool QCLuceneIndexReader::isLocked(const QString &directory)
- {
-+ // The system CLucene fails here if the directory does not exist yet, unlike
-+ // the bundled one. Work around that.
-+ QDir::current().mkpath(directory);
-+
- using namespace lucene::index;
-- return IndexReader::isLocked(directory);
-+ return IndexReader::isLocked(directory.toLocal8Bit().constData());
- }
-
- quint64 QCLuceneIndexReader::lastModified(const QString &directory)
- {
- using namespace lucene::index;
-- return quint64(IndexReader::lastModified(directory));
-+ return quint64(IndexReader::lastModified(directory.toLocal8Bit().constData()));
- }
-
- qint64 QCLuceneIndexReader::getCurrentVersion(const QString &directory)
- {
- using namespace lucene::index;
-- return qint64(IndexReader::getCurrentVersion(directory));
-+ return qint64(IndexReader::getCurrentVersion(directory.toLocal8Bit().constData()));
- }
-
- void QCLuceneIndexReader::close()
-@@ -155,7 +161,7 @@
- void QCLuceneIndexReader::setNorm(qint32 doc, const QString &field, qreal value)
- {
- TCHAR *fieldName = QStringToTChar(field);
-- d->reader->setNorm(int32_t(doc), fieldName, qreal(value));
-+ d->reader->setNorm(int32_t(doc), fieldName, (float_t)value);
- delete [] fieldName;
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qindexwriter.cpp 2014-10-26 02:48:27.000000000 +0100
-@@ -18,6 +18,8 @@
- #include "qindexwriter_p.h"
- #include "qindexreader_p.h"
-
-+#include <QtCore/QDir>
-+
- #include <CLucene.h>
- #include <CLucene/index/IndexWriter.h>
-
-@@ -50,7 +52,12 @@
- : d(new QCLuceneIndexWriterPrivate())
- , analyzer(analyzer)
- {
-- d->writer = new lucene::index::IndexWriter(path,
-+ // The system CLucene cannot create directories recursively, so do it here.
-+ // Ignore failure: If it failed, we will get an error from CLucene anyway.
-+ if (create)
-+ QDir::current().mkpath(path);
-+
-+ d->writer = new lucene::index::IndexWriter(path.toLocal8Bit().constData(),
- analyzer.d->analyzer, create, closeDir);
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/fulltextsearch/qsearchable.cpp 2014-10-26 02:48:44.000000000 +0100
-@@ -95,7 +95,7 @@
- : QCLuceneSearcher()
- {
- lucene::search::IndexSearcher *searcher =
-- new lucene::search::IndexSearcher(path);
-+ new lucene::search::IndexSearcher(path.toLocal8Bit().constData());
-
- reader.d->reader = searcher->getReader();
- reader.d->deleteCLuceneIndexReader = false;
-diff -ur qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro
---- qt-everywhere-opensource-src-4.8.6/tools/assistant/lib/lib.pro 2014-04-10 20:37:12.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.6-system-clucene/tools/assistant/lib/lib.pro 2014-10-26 02:27:55.000000000 +0100
-@@ -43,6 +43,7 @@
- qhelp_global.cpp
-
- # access to clucene
-+INCLUDEPATH += /usr/include/clucene09 $$[QT_INSTALL_LIBS]/clucene09 $$[QT_INSTALL_LIBS]
- SOURCES += qhelpsearchindexwriter_clucene.cpp \
- qhelpsearchindexreader_clucene.cpp
- HEADERS += qhelpenginecore.h \
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
deleted file mode 100644
index 60749d382..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch
+++ /dev/null
@@ -1,1456 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp
---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp.systemtrayicon 2014-03-30 15:36:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp 2014-03-31 18:16:39.707974934 -0500
-@@ -158,15 +158,23 @@ void Window::createIconGroupBox()
- iconComboBox->addItem(QIcon(":/images/bad.svg"), tr("Bad"));
- iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart"));
- iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash"));
-+ iconComboBox->addItem(QIcon::fromTheme("system-file-manager"), tr("File Manager"));
-
- showIconCheckBox = new QCheckBox(tr("Show icon"));
- showIconCheckBox->setChecked(true);
-
-+#if defined(Q_WS_X11)
-+ jitToolTipCheckBox = new QCheckBox(tr("Just In Time Tooltip"));
-+#endif
-+
- QHBoxLayout *iconLayout = new QHBoxLayout;
- iconLayout->addWidget(iconLabel);
- iconLayout->addWidget(iconComboBox);
- iconLayout->addStretch();
- iconLayout->addWidget(showIconCheckBox);
-+#if defined(Q_WS_X11)
-+ iconLayout->addWidget(jitToolTipCheckBox);
-+#endif
- iconGroupBox->setLayout(iconLayout);
- }
-
-@@ -254,5 +262,37 @@ void Window::createTrayIcon()
- trayIconMenu->addAction(quitAction);
-
- trayIcon = new QSystemTrayIcon(this);
-+ QByteArray category = qgetenv("SNI_CATEGORY");
-+ if (!category.isEmpty()) {
-+ trayIcon->setProperty("_qt_sni_category", QString::fromLocal8Bit(category));
-+ }
- trayIcon->setContextMenu(trayIconMenu);
-+
-+#if defined(Q_WS_X11)
-+ trayIcon->installEventFilter(this);
-+#endif
-+}
-+
-+#if defined(Q_WS_X11)
-+bool Window::eventFilter(QObject *, QEvent *event)
-+{
-+ switch(event->type()) {
-+ case QEvent::ToolTip:
-+ if (jitToolTipCheckBox->isChecked()) {
-+ QString timeString = QTime::currentTime().toString();
-+ trayIcon->setToolTip(tr("Current Time: %1").arg(timeString));
-+ }
-+ break;
-+ case QEvent::Wheel: {
-+ QWheelEvent *wheelEvent = static_cast<QWheelEvent*>(event);
-+ int delta = wheelEvent->delta() > 0 ? 1 : -1;
-+ int index = (iconComboBox->currentIndex() + delta) % iconComboBox->count();
-+ iconComboBox->setCurrentIndex(index);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ return false;
- }
-+#endif
-diff -up qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h
---- qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h.systemtrayicon 2014-03-30 15:36:45.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h 2014-03-31 18:16:39.707974934 -0500
-@@ -69,6 +69,9 @@ public:
-
- protected:
- void closeEvent(QCloseEvent *event);
-+#if defined(Q_WS_X11)
-+ bool eventFilter(QObject *object, QEvent *event);
-+#endif
-
- private slots:
- void setIcon(int index);
-@@ -86,6 +89,9 @@ private:
- QLabel *iconLabel;
- QComboBox *iconComboBox;
- QCheckBox *showIconCheckBox;
-+#if defined(Q_WS_X11)
-+ QCheckBox *jitToolTipCheckBox;
-+#endif
-
- QGroupBox *messageGroupBox;
- QLabel *typeLabel;
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp.systemtrayicon 2014-03-31 18:16:39.707974934 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp 2014-03-31 18:16:39.707974934 -0500
-@@ -0,0 +1,65 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "qabstractsystemtrayiconsys_p.h"
-+
-+
-+QSystemTrayIconSysFactoryInterface::QSystemTrayIconSysFactoryInterface()
-+{
-+}
-+
-+/////////////////////////////////////////////////
-+QAbstractSystemTrayIconSys::QAbstractSystemTrayIconSys(QSystemTrayIcon *icon)
-+: trayIcon(icon)
-+{
-+}
-+
-+QAbstractSystemTrayIconSys::~QAbstractSystemTrayIconSys()
-+{
-+}
-+
-+void QAbstractSystemTrayIconSys::sendActivated(QSystemTrayIcon::ActivationReason reason)
-+{
-+ qtsystray_sendActivated(trayIcon, reason);
-+}
-+
-+#endif
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h.systemtrayicon 2014-03-31 18:16:39.708974924 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h 2014-03-31 18:16:39.708974924 -0500
-@@ -0,0 +1,106 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QABSTRACTSYSTEMTRAYICONSYS_P_H
-+#define QABSTRACTSYSTEMTRAYICONSYS_P_H
-+
-+//
-+// W A R N I N G
-+// -------------
-+//
-+// This file is not part of the Qt API. It exists for the convenience
-+// of a number of Qt sources files. This header file may change from
-+// version to version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include <qfactoryinterface.h>
-+#include <qsystemtrayicon.h>
-+
-+class QAbstractSystemTrayIconSys;
-+
-+class Q_GUI_EXPORT QSystemTrayIconSysFactoryInterface : public QObject, public QFactoryInterface
-+{
-+ Q_OBJECT
-+public:
-+ QSystemTrayIconSysFactoryInterface();
-+ virtual QAbstractSystemTrayIconSys * create(QSystemTrayIcon *) = 0;
-+ virtual bool isAvailable() const = 0;
-+
-+ // \reimp
-+ virtual QStringList keys() const { return QStringList() << QLatin1String("default"); }
-+
-+Q_SIGNALS:
-+ void availableChanged(bool);
-+};
-+
-+#define QSystemTrayIconSysFactoryInterface_iid "com.nokia.qt.QSystemTrayIconSysFactoryInterface"
-+Q_DECLARE_INTERFACE(QSystemTrayIconSysFactoryInterface, QSystemTrayIconSysFactoryInterface_iid)
-+
-+class QRect;
-+
-+class Q_GUI_EXPORT QAbstractSystemTrayIconSys
-+{
-+public:
-+ QAbstractSystemTrayIconSys(QSystemTrayIcon *icon);
-+ virtual ~QAbstractSystemTrayIconSys();
-+
-+ virtual QRect geometry() const = 0;
-+ virtual void updateVisibility() = 0;
-+ virtual void updateIcon() = 0;
-+ virtual void updateToolTip() = 0;
-+ virtual void updateMenu() = 0;
-+ virtual void showMessage(const QString &title, const QString &message,
-+ QSystemTrayIcon::MessageIcon icon, int msecs) = 0;
-+
-+ void sendActivated(QSystemTrayIcon::ActivationReason);
-+
-+protected:
-+ QSystemTrayIcon *trayIcon;
-+};
-+
-+#endif // QT_NO_SYSTEMTRAYICON
-+
-+#endif // QABSTRACTSYSTEMTRAYICONSYS_P_H
-+
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp 2014-03-31 18:16:39.708974924 -0500
-@@ -287,12 +287,6 @@ bool QSystemTrayIcon::isVisible() const
- */
- bool QSystemTrayIcon::event(QEvent *e)
- {
--#if defined(Q_WS_X11)
-- if (e->type() == QEvent::ToolTip) {
-- Q_D(QSystemTrayIcon);
-- return d->sys->deliverToolTipEvent(e);
-- }
--#endif
- return QObject::event(e);
- }
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h 2014-03-31 18:16:39.708974924 -0500
-@@ -62,10 +62,17 @@
- #include "QtGui/qpixmap.h"
- #include "QtCore/qstring.h"
- #include "QtCore/qpointer.h"
-+#if defined(Q_WS_X11)
-+#include "QtCore/qset.h"
-+#endif
-
- QT_BEGIN_NAMESPACE
-
-+#if defined(Q_WS_X11)
-+class QAbstractSystemTrayIconSys;
-+#else
- class QSystemTrayIconSys;
-+#endif
- class QToolButton;
- class QLabel;
-
-@@ -75,6 +82,9 @@ class QSystemTrayIconPrivate : public QO
-
- public:
- QSystemTrayIconPrivate() : sys(0), visible(false) { }
-+ #if defined(Q_WS_X11)
-+ ~QSystemTrayIconPrivate();
-+ #endif
-
- void install_sys();
- void remove_sys();
-@@ -90,7 +100,11 @@ public:
- QPointer<QMenu> menu;
- QIcon icon;
- QString toolTip;
-+ #if defined(Q_WS_X11)
-+ QAbstractSystemTrayIconSys *sys;
-+ #else
- QSystemTrayIconSys *sys;
-+ #endif
- bool visible;
- };
-
-@@ -123,60 +137,37 @@ private:
- };
-
- #if defined(Q_WS_X11)
--QT_BEGIN_INCLUDE_NAMESPACE
--#include <QtCore/qcoreapplication.h>
--#include <X11/Xlib.h>
--#include <X11/Xatom.h>
--#include <X11/Xutil.h>
--QT_END_INCLUDE_NAMESPACE
-+class QSystemTrayIconSysFactoryInterface;
-
--class QSystemTrayIconSys : public QWidget
-+/**
-+ * This class acts as a composite QSystemTrayIconSysFactory: It can create
-+ * instances of QAbstractSystemTrayIconSys* using either a plugin or the
-+ * builtin factory and will cause QSystemTrayIconPrivate to recreate their
-+ * 'sys' instances if the plugin availability changes.
-+ */
-+class QSystemTrayIconSysFactory : public QObject
- {
-- friend class QSystemTrayIconPrivate;
--
-+ Q_OBJECT
- public:
-- QSystemTrayIconSys(QSystemTrayIcon *q);
-- ~QSystemTrayIconSys();
-- enum {
-- SYSTEM_TRAY_REQUEST_DOCK = 0,
-- SYSTEM_TRAY_BEGIN_MESSAGE = 1,
-- SYSTEM_TRAY_CANCEL_MESSAGE =2
-- };
--
-- void addToTray();
-- void updateIcon();
-- XVisualInfo* getSysTrayVisualInfo();
--
-- // QObject::event is public but QWidget's ::event() re-implementation
-- // is protected ;(
-- inline bool deliverToolTipEvent(QEvent *e)
-- { return QWidget::event(e); }
--
-- static Window sysTrayWindow;
-- static QList<QSystemTrayIconSys *> trayIcons;
-- static QCoreApplication::EventFilter oldEventFilter;
-- static bool sysTrayTracker(void *message, long *result);
-- static Window locateSystemTray();
-- static Atom sysTraySelection;
-- static XVisualInfo sysTrayVisual;
-+ QSystemTrayIconSysFactory();
-+ void registerSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
-+ void unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate);
-
--protected:
-- void paintEvent(QPaintEvent *pe);
-- void resizeEvent(QResizeEvent *re);
-- bool x11Event(XEvent *event);
-- void mousePressEvent(QMouseEvent *event);
-- void mouseDoubleClickEvent(QMouseEvent *event);
--#ifndef QT_NO_WHEELEVENT
-- void wheelEvent(QWheelEvent *event);
--#endif
-- bool event(QEvent *e);
-+ QAbstractSystemTrayIconSys *create(QSystemTrayIcon *) const;
-+
-+ bool isAvailable() const;
-+
-+private Q_SLOTS:
-+ void refreshTrayIconPrivates();
-
- private:
-- QPixmap background;
-- QSystemTrayIcon *q;
-- Colormap colormap;
-+ QSystemTrayIconSysFactoryInterface *factory() const;
-+ void loadPluginFactory();
-+
-+ QSystemTrayIconSysFactoryInterface *pluginFactory;
-+ QSet<QSystemTrayIconPrivate *> trayIconPrivates;
- };
--#endif // Q_WS_X11
-+#endif
-
- QT_END_NAMESPACE
-
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500
-@@ -38,311 +38,122 @@
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include <private/qfactoryloader_p.h>
-
--#include "private/qt_x11_p.h"
--#include "qlabel.h"
--#include "qx11info_x11.h"
--#include "qpainter.h"
--#include "qpixmap.h"
--#include "qbitmap.h"
--#include "qevent.h"
--#include "qapplication.h"
--#include "qlist.h"
--#include "qmenu.h"
--#include "qtimer.h"
- #include "qsystemtrayicon_p.h"
--#include "qpaintengine.h"
-+#include "qabstractsystemtrayiconsys_p.h"
-+#include "qcoreapplication.h"
-+#include "qxembedsystemtrayicon_x11_p.h"
-
--#ifndef QT_NO_SYSTEMTRAYICON
- QT_BEGIN_NAMESPACE
-
--Window QSystemTrayIconSys::sysTrayWindow = XNone;
--QList<QSystemTrayIconSys *> QSystemTrayIconSys::trayIcons;
--QCoreApplication::EventFilter QSystemTrayIconSys::oldEventFilter = 0;
--Atom QSystemTrayIconSys::sysTraySelection = XNone;
--XVisualInfo QSystemTrayIconSys::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
--
--// Locate the system tray
--Window QSystemTrayIconSys::locateSystemTray()
--{
-- Display *display = QX11Info::display();
-- if (sysTraySelection == XNone) {
-- int screen = QX11Info::appScreen();
-- QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
-- sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
-- }
--
-- return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
--}
-+Q_GLOBAL_STATIC(QSystemTrayIconSysFactory, qt_guiSystemTrayIconSysFactory)
-
--XVisualInfo* QSystemTrayIconSys::getSysTrayVisualInfo()
-+QSystemTrayIconSysFactory::QSystemTrayIconSysFactory()
-+: pluginFactory(0)
- {
-- Display *display = QX11Info::display();
--
-- if (!sysTrayVisual.visual) {
-- Window win = locateSystemTray();
-- if (win != XNone) {
-- Atom actual_type;
-- int actual_format;
-- ulong nitems, bytes_remaining;
-- uchar *data = 0;
-- int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
-- False, XA_VISUALID, &actual_type,
-- &actual_format, &nitems, &bytes_remaining, &data);
-- VisualID vid = 0;
-- if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
-- nitems == 1 && bytes_remaining == 0)
-- vid = *(VisualID*)data;
-- if (data)
-- XFree(data);
-- if (vid == 0)
-- return 0;
--
-- uint mask = VisualIDMask;
-- XVisualInfo *vi, rvi;
-- int count;
-- rvi.visualid = vid;
-- vi = XGetVisualInfo(display, mask, &rvi, &count);
-- if (vi) {
-- sysTrayVisual = vi[0];
-- XFree((char*)vi);
-- }
-- if (sysTrayVisual.depth != 32)
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- }
-- }
--
-- return sysTrayVisual.visual ? &sysTrayVisual : 0;
- }
-
--bool QSystemTrayIconSys::sysTrayTracker(void *message, long *result)
-+void QSystemTrayIconSysFactory::loadPluginFactory()
- {
-- bool retval = false;
-- if (QSystemTrayIconSys::oldEventFilter)
-- retval = QSystemTrayIconSys::oldEventFilter(message, result);
--
-- if (trayIcons.isEmpty())
-- return retval;
--
-- Display *display = QX11Info::display();
-- XEvent *ev = (XEvent *)message;
-- if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
-- sysTrayWindow = locateSystemTray();
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- for (int i = 0; i < trayIcons.count(); i++) {
-- if (sysTrayWindow == XNone) {
-- QBalloonTip::hideBalloon();
-- trayIcons[i]->hide(); // still no luck
-- trayIcons[i]->destroy();
-- trayIcons[i]->create();
-- } else
-- trayIcons[i]->addToTray(); // add it to the new tray
-- }
-- retval = true;
-- } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
-- static Atom manager_atom = XInternAtom(display, "MANAGER", False);
-- XClientMessageEvent *cm = (XClientMessageEvent *)message;
-- if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
-- sysTrayWindow = cm->data.l[2];
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- XSelectInput(display, sysTrayWindow, StructureNotifyMask);
-- for (int i = 0; i < trayIcons.count(); i++) {
-- trayIcons[i]->addToTray();
-- }
-- retval = true;
-- }
-- } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
-- ev->xproperty.window == sysTrayWindow) {
-- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-- for (int i = 0; i < trayIcons.count(); i++) {
-- trayIcons[i]->addToTray();
-- }
-- }
--
-- return retval;
--}
--
--QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *q)
-- : QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint),
-- q(q), colormap(0)
--{
-- setAttribute(Qt::WA_AlwaysShowToolTips);
-- setAttribute(Qt::WA_QuitOnClose, false);
-- setAttribute(Qt::WA_NoSystemBackground, true);
-- setAttribute(Qt::WA_PaintOnScreen);
--
-- static bool eventFilterAdded = false;
-- Display *display = QX11Info::display();
-- if (!eventFilterAdded) {
-- oldEventFilter = qApp->setEventFilter(sysTrayTracker);
-- eventFilterAdded = true;
-- Window root = QX11Info::appRootWindow();
-- XWindowAttributes attr;
-- XGetWindowAttributes(display, root, &attr);
-- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
-- (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
-- XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
-- }
-+ if (pluginFactory) {
-+ return;
- }
-- if (trayIcons.isEmpty()) {
-- sysTrayWindow = locateSystemTray();
-- if (sysTrayWindow != XNone)
-- XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
-+#ifndef QT_NO_LIBRARY
-+ QFactoryLoader loader(QSystemTrayIconSysFactoryInterface_iid, QLatin1String("/systemtrayicon"));
-+ pluginFactory = qobject_cast<QSystemTrayIconSysFactoryInterface *>(loader.instance(QLatin1String("default")));
-+ if (pluginFactory) {
-+ // Set parent to ensure factory destructor is called when application
-+ // is closed
-+ pluginFactory->setParent(QCoreApplication::instance());
-+ connect(pluginFactory, SIGNAL(availableChanged(bool)), SLOT(refreshTrayIconPrivates()));
- }
-- trayIcons.append(this);
-- setMouseTracking(true);
--#ifndef QT_NO_TOOLTIP
-- setToolTip(q->toolTip());
--#endif
-- if (sysTrayWindow != XNone)
-- addToTray();
-+#endif // QT_NO_LIBRARY
- }
-
--QSystemTrayIconSys::~QSystemTrayIconSys()
-+QSystemTrayIconSysFactoryInterface *QSystemTrayIconSysFactory::factory() const
- {
-- trayIcons.removeAt(trayIcons.indexOf(this));
-- Display *display = QX11Info::display();
-- if (trayIcons.isEmpty()) {
-- if (sysTrayWindow == XNone)
-- return;
-- if (display)
-- XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
-- sysTrayWindow = XNone;
-+ if (!pluginFactory) {
-+ const_cast<QSystemTrayIconSysFactory*>(this)->loadPluginFactory();
- }
-- if (colormap)
-- XFreeColormap(display, colormap);
-+ if (pluginFactory && pluginFactory->isAvailable()) {
-+ return pluginFactory;
-+ }
-+ static QXEmbedSystemTrayIconSysFactory def;
-+ return def.isAvailable() ? &def : 0;
- }
-
--void QSystemTrayIconSys::addToTray()
-+void QSystemTrayIconSysFactory::refreshTrayIconPrivates()
- {
-- Q_ASSERT(sysTrayWindow != XNone);
-- Display *display = QX11Info::display();
--
-- XVisualInfo *vi = getSysTrayVisualInfo();
-- if (vi && vi->visual) {
-- Window root = RootWindow(display, vi->screen);
-- Window p = root;
-- if (QWidget *pw = parentWidget())
-- p = pw->effectiveWinId();
-- colormap = XCreateColormap(display, root, vi->visual, AllocNone);
-- XSetWindowAttributes wsa;
-- wsa.background_pixmap = 0;
-- wsa.colormap = colormap;
-- wsa.background_pixel = 0;
-- wsa.border_pixel = 0;
-- Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
-- 0, vi->depth, InputOutput, vi->visual,
-- CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
-- create(wid);
-- } else {
-- XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
-- }
--
-- // GNOME, NET WM Specification
-- static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
-- long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
-- XEvent ev;
-- memset(&ev, 0, sizeof(ev));
-- ev.xclient.type = ClientMessage;
-- ev.xclient.window = sysTrayWindow;
-- ev.xclient.message_type = netwm_tray_atom;
-- ev.xclient.format = 32;
-- memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
-- XSendEvent(display, sysTrayWindow, False, 0, &ev);
-- setMinimumSize(22, 22); // required at least on GNOME
--}
--
--void QSystemTrayIconSys::updateIcon()
--{
-- update();
--}
--
--void QSystemTrayIconSys::resizeEvent(QResizeEvent *re)
--{
-- QWidget::resizeEvent(re);
-- updateIcon();
--}
--
--void QSystemTrayIconSys::paintEvent(QPaintEvent*)
--{
-- QPainter p(this);
-- if (!getSysTrayVisualInfo()) {
-- const QRegion oldSystemClip = p.paintEngine()->systemClip();
-- const QRect clearedRect = oldSystemClip.boundingRect();
-- XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
-- clearedRect.width(), clearedRect.height(), False);
-- QPaintEngine *pe = p.paintEngine();
-- pe->setSystemClip(clearedRect);
-- q->icon().paint(&p, rect());
-- pe->setSystemClip(oldSystemClip);
-- } else {
-- p.setCompositionMode(QPainter::CompositionMode_Source);
-- p.fillRect(rect(), Qt::transparent);
-- p.setCompositionMode(QPainter::CompositionMode_SourceOver);
-- q->icon().paint(&p, rect());
-+ Q_FOREACH(QSystemTrayIconPrivate *trayIconPrivate, trayIconPrivates) {
-+ if (trayIconPrivate->sys) {
-+ delete trayIconPrivate->sys;
-+ trayIconPrivate->sys = 0;
-+ }
-+ // When visible is true, sys is usually not 0 but it can be 0 if the
-+ // call to install_sys() failed.
-+ if (trayIconPrivate->visible) {
-+ trayIconPrivate->install_sys();
-+ }
- }
- }
-
--void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev)
-+void QSystemTrayIconSysFactory::registerSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
- {
-- QPoint globalPos = ev->globalPos();
-- if (ev->button() == Qt::RightButton && q->contextMenu())
-- q->contextMenu()->popup(globalPos);
--
-- if (QBalloonTip::isBalloonVisible()) {
-- emit q->messageClicked();
-- QBalloonTip::hideBalloon();
-- }
--
-- if (ev->button() == Qt::LeftButton)
-- emit q->activated(QSystemTrayIcon::Trigger);
-- else if (ev->button() == Qt::RightButton)
-- emit q->activated(QSystemTrayIcon::Context);
-- else if (ev->button() == Qt::MidButton)
-- emit q->activated(QSystemTrayIcon::MiddleClick);
-+ trayIconPrivates.insert(trayIconPrivate);
- }
-
--void QSystemTrayIconSys::mouseDoubleClickEvent(QMouseEvent *ev)
-+void QSystemTrayIconSysFactory::unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate)
- {
-- if (ev->button() == Qt::LeftButton)
-- emit q->activated(QSystemTrayIcon::DoubleClick);
-+ trayIconPrivates.remove(trayIconPrivate);
- }
-
--#ifndef QT_NO_WHEELEVENT
--void QSystemTrayIconSys::wheelEvent(QWheelEvent *e)
-+QAbstractSystemTrayIconSys *QSystemTrayIconSysFactory::create(QSystemTrayIcon *trayIcon) const
- {
-- QApplication::sendEvent(q, e);
-+ QSystemTrayIconSysFactoryInterface *f = factory();
-+ if (!f) {
-+ qWarning("No systemtrayicon available");
-+ return 0;
-+ }
-+ return f->create(trayIcon);
- }
--#endif
-
--bool QSystemTrayIconSys::event(QEvent *e)
-+bool QSystemTrayIconSysFactory::isAvailable() const
- {
-- if (e->type() == QEvent::ToolTip) {
-- return QApplication::sendEvent(q, e);
-- }
-- return QWidget::event(e);
-+ return factory();
- }
-
--bool QSystemTrayIconSys::x11Event(XEvent *event)
-+////////////////////////////////////////////////
-+QSystemTrayIconPrivate::~QSystemTrayIconPrivate()
- {
-- if (event->type == ReparentNotify)
-- show();
-- return QWidget::x11Event(event);
-+ qt_guiSystemTrayIconSysFactory()->unregisterSystemTrayIconPrivate(this);
-+ delete sys;
- }
-
--////////////////////////////////////////////////////////////////////////////
- void QSystemTrayIconPrivate::install_sys()
- {
- Q_Q(QSystemTrayIcon);
-- if (!sys)
-- sys = new QSystemTrayIconSys(q);
-+ if (!sys) {
-+ // Register ourself even if create() fails: our "sys" will get created
-+ // later by refreshTrayIconPrivates() if a systemtray becomes
-+ // available. This situation can happen for applications which are
-+ // started at login time, while the desktop itself is starting up.
-+ qt_guiSystemTrayIconSysFactory()->registerSystemTrayIconPrivate(this);
-+ sys = qt_guiSystemTrayIconSysFactory()->create(q);
-+ if (!sys) {
-+ return;
-+ }
-+ }
-+ sys->updateVisibility();
- }
-
- QRect QSystemTrayIconPrivate::geometry_sys() const
- {
-- if (!sys)
-- return QRect();
-- return QRect(sys->mapToGlobal(QPoint(0, 0)), sys->size());
-+ if (!sys || !visible)
-+ return QRect();
-+ return sys->geometry();
- }
-
- void QSystemTrayIconPrivate::remove_sys()
-@@ -350,35 +161,35 @@ void QSystemTrayIconPrivate::remove_sys(
- if (!sys)
- return;
- QBalloonTip::hideBalloon();
-- sys->hide(); // this should do the trick, but...
-- delete sys; // wm may resize system tray only for DestroyEvents
-- sys = 0;
-+ sys->updateVisibility();
- }
-
- void QSystemTrayIconPrivate::updateIcon_sys()
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
- sys->updateIcon();
- }
-
- void QSystemTrayIconPrivate::updateMenu_sys()
- {
--
-+ if (!sys || !visible)
-+ return;
-+ sys->updateMenu();
- }
-
- void QSystemTrayIconPrivate::updateToolTip_sys()
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
- #ifndef QT_NO_TOOLTIP
-- sys->setToolTip(toolTip);
-+ sys->updateToolTip();
- #endif
- }
-
- bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys()
- {
-- return QSystemTrayIconSys::locateSystemTray() != XNone;
-+ return qt_guiSystemTrayIconSysFactory()->isAvailable();
- }
-
- bool QSystemTrayIconPrivate::supportsMessages_sys()
-@@ -389,12 +200,9 @@ bool QSystemTrayIconPrivate::supportsMes
- void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title,
- QSystemTrayIcon::MessageIcon icon, int msecs)
- {
-- if (!sys)
-+ if (!sys || !visible)
- return;
-- QPoint g = sys->mapToGlobal(QPoint(0, 0));
-- QBalloonTip::showBalloon(icon, message, title, sys->q,
-- QPoint(g.x() + sys->width()/2, g.y() + sys->height()/2),
-- msecs);
-+ sys->showMessage(message, title, icon, msecs);
- }
-
- QT_END_NAMESPACE
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp.systemtrayicon 2014-03-31 18:16:39.709974914 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp 2014-03-31 18:16:39.709974914 -0500
-@@ -0,0 +1,469 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+#include "qxembedsystemtrayicon_x11_p.h"
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "private/qt_x11_p.h"
-+#include "qapplication.h"
-+#include "qevent.h"
-+#include "qlist.h"
-+#include "qmenu.h"
-+#include "qpainter.h"
-+#include "qpaintengine.h"
-+#include "qsystemtrayicon_p.h"
-+#include "qx11info_x11.h"
-+
-+QT_BEGIN_INCLUDE_NAMESPACE
-+#include <QtCore/qcoreapplication.h>
-+#include <X11/Xlib.h>
-+#include <X11/Xatom.h>
-+#include <X11/Xutil.h>
-+QT_END_INCLUDE_NAMESPACE
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QSystemTrayIconWidget : public QWidget
-+{
-+public:
-+ QSystemTrayIconWidget(QSystemTrayIcon *q, QXEmbedSystemTrayIconSys *s);
-+ ~QSystemTrayIconWidget();
-+
-+ static Window locateSystemTray();
-+
-+protected:
-+ void paintEvent(QPaintEvent *pe);
-+ void resizeEvent(QResizeEvent *re);
-+ bool x11Event(XEvent *event);
-+ void mousePressEvent(QMouseEvent *event);
-+ void mouseDoubleClickEvent(QMouseEvent *event);
-+#ifndef QT_NO_WHEELEVENT
-+ void wheelEvent(QWheelEvent *event);
-+#endif
-+ bool event(QEvent *e);
-+
-+private:
-+ enum {
-+ SYSTEM_TRAY_REQUEST_DOCK = 0,
-+ SYSTEM_TRAY_BEGIN_MESSAGE = 1,
-+ SYSTEM_TRAY_CANCEL_MESSAGE =2
-+ };
-+
-+ void addToTray();
-+ static XVisualInfo* getSysTrayVisualInfo();
-+
-+ static Window sysTrayWindow;
-+ static QList<QSystemTrayIconWidget *> trayIcons;
-+ static QCoreApplication::EventFilter oldEventFilter;
-+ static bool sysTrayTracker(void *message, long *result);
-+ static Atom sysTraySelection;
-+ static XVisualInfo sysTrayVisual;
-+
-+ QSystemTrayIcon *q;
-+ QXEmbedSystemTrayIconSys *sys;
-+ Colormap colormap;
-+};
-+
-+Window QSystemTrayIconWidget::sysTrayWindow = XNone;
-+QList<QSystemTrayIconWidget *> QSystemTrayIconWidget::trayIcons;
-+QCoreApplication::EventFilter QSystemTrayIconWidget::oldEventFilter = 0;
-+Atom QSystemTrayIconWidget::sysTraySelection = XNone;
-+XVisualInfo QSystemTrayIconWidget::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-+
-+QSystemTrayIconWidget::QSystemTrayIconWidget(QSystemTrayIcon* q, QXEmbedSystemTrayIconSys* sys)
-+: QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint)
-+, q(q)
-+, sys(sys)
-+, colormap(0)
-+{
-+ setAttribute(Qt::WA_AlwaysShowToolTips);
-+ setAttribute(Qt::WA_QuitOnClose, false);
-+ setAttribute(Qt::WA_NoSystemBackground, true);
-+ setAttribute(Qt::WA_PaintOnScreen);
-+ setMouseTracking(true);
-+#ifndef QT_NO_TOOLTIP
-+ setToolTip(q->toolTip());
-+#endif
-+
-+ static bool eventFilterAdded = false;
-+ Display *display = QX11Info::display();
-+ if (!eventFilterAdded) {
-+ oldEventFilter = qApp->setEventFilter(sysTrayTracker);
-+ eventFilterAdded = true;
-+ Window root = QX11Info::appRootWindow();
-+ XWindowAttributes attr;
-+ XGetWindowAttributes(display, root, &attr);
-+ if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) {
-+ (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden
-+ XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection
-+ }
-+ }
-+ if (trayIcons.isEmpty()) {
-+ sysTrayWindow = locateSystemTray();
-+ if (sysTrayWindow != XNone)
-+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events
-+ }
-+ trayIcons.append(this);
-+ if (sysTrayWindow != XNone)
-+ addToTray();
-+}
-+
-+QSystemTrayIconWidget::~QSystemTrayIconWidget()
-+{
-+ trayIcons.removeAt(trayIcons.indexOf(this));
-+ Display *display = QX11Info::display();
-+ if (trayIcons.isEmpty()) {
-+ if (sysTrayWindow == XNone)
-+ return;
-+ if (display)
-+ XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray
-+ sysTrayWindow = XNone;
-+ }
-+ if (colormap)
-+ XFreeColormap(display, colormap);
-+}
-+
-+void QSystemTrayIconWidget::resizeEvent(QResizeEvent *re)
-+{
-+ QWidget::resizeEvent(re);
-+ update();
-+}
-+
-+void QSystemTrayIconWidget::paintEvent(QPaintEvent*)
-+{
-+ QPainter p(this);
-+ if (!getSysTrayVisualInfo()) {
-+ const QRegion oldSystemClip = p.paintEngine()->systemClip();
-+ const QRect clearedRect = oldSystemClip.boundingRect();
-+ XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(),
-+ clearedRect.width(), clearedRect.height(), False);
-+ QPaintEngine *pe = p.paintEngine();
-+ pe->setSystemClip(clearedRect);
-+ q->icon().paint(&p, rect());
-+ pe->setSystemClip(oldSystemClip);
-+ } else {
-+ p.setCompositionMode(QPainter::CompositionMode_Source);
-+ p.fillRect(rect(), Qt::transparent);
-+ p.setCompositionMode(QPainter::CompositionMode_SourceOver);
-+ q->icon().paint(&p, rect());
-+ }
-+}
-+
-+void QSystemTrayIconWidget::mousePressEvent(QMouseEvent *ev)
-+{
-+ QPoint globalPos = ev->globalPos();
-+ if (ev->button() == Qt::RightButton && q->contextMenu())
-+ q->contextMenu()->popup(globalPos);
-+
-+ if (QBalloonTip::isBalloonVisible()) {
-+ QMetaObject::invokeMethod(q, "messageClicked");
-+ QBalloonTip::hideBalloon();
-+ }
-+
-+ if (ev->button() == Qt::LeftButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::Trigger);
-+ else if (ev->button() == Qt::RightButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::Context);
-+ else if (ev->button() == Qt::MidButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::MiddleClick);
-+}
-+
-+void QSystemTrayIconWidget::mouseDoubleClickEvent(QMouseEvent *ev)
-+{
-+ if (ev->button() == Qt::LeftButton)
-+ qtsystray_sendActivated(q, QSystemTrayIcon::DoubleClick);
-+}
-+
-+#ifndef QT_NO_WHEELEVENT
-+void QSystemTrayIconWidget::wheelEvent(QWheelEvent *e)
-+{
-+ sys->sendWheelEventToTrayIcon(e->delta(), e->orientation());
-+}
-+#endif
-+
-+bool QSystemTrayIconWidget::event(QEvent *e)
-+{
-+ if (e->type() == QEvent::ToolTip) {
-+ sys->sendToolTipEventToTrayIcon();
-+ }
-+ return QWidget::event(e);
-+}
-+
-+bool QSystemTrayIconWidget::x11Event(XEvent *event)
-+{
-+ if (event->type == ReparentNotify)
-+ show();
-+ return QWidget::x11Event(event);
-+}
-+
-+// Locate the system tray
-+Window QSystemTrayIconWidget::locateSystemTray()
-+{
-+ Display *display = QX11Info::display();
-+ if (sysTraySelection == XNone) {
-+ int screen = QX11Info::appScreen();
-+ QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen);
-+ sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False);
-+ }
-+
-+ return XGetSelectionOwner(QX11Info::display(), sysTraySelection);
-+}
-+
-+XVisualInfo* QSystemTrayIconWidget::getSysTrayVisualInfo()
-+{
-+ Display *display = QX11Info::display();
-+
-+ if (!sysTrayVisual.visual) {
-+ Window win = locateSystemTray();
-+ if (win != XNone) {
-+ Atom actual_type;
-+ int actual_format;
-+ ulong nitems, bytes_remaining;
-+ uchar *data = 0;
-+ int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1,
-+ False, XA_VISUALID, &actual_type,
-+ &actual_format, &nitems, &bytes_remaining, &data);
-+ VisualID vid = 0;
-+ if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 &&
-+ nitems == 1 && bytes_remaining == 0)
-+ vid = *(VisualID*)data;
-+ if (data)
-+ XFree(data);
-+ if (vid == 0)
-+ return 0;
-+
-+ uint mask = VisualIDMask;
-+ XVisualInfo *vi, rvi;
-+ int count;
-+ rvi.visualid = vid;
-+ vi = XGetVisualInfo(display, mask, &rvi, &count);
-+ if (vi) {
-+ sysTrayVisual = vi[0];
-+ XFree((char*)vi);
-+ }
-+ if (sysTrayVisual.depth != 32)
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ }
-+ }
-+
-+ return sysTrayVisual.visual ? &sysTrayVisual : 0;
-+}
-+
-+bool QSystemTrayIconWidget::sysTrayTracker(void *message, long *result)
-+{
-+ bool retval = false;
-+ if (QSystemTrayIconWidget::oldEventFilter)
-+ retval = QSystemTrayIconWidget::oldEventFilter(message, result);
-+
-+ if (trayIcons.isEmpty())
-+ return retval;
-+
-+ Display *display = QX11Info::display();
-+ XEvent *ev = (XEvent *)message;
-+ if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) {
-+ sysTrayWindow = locateSystemTray();
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ if (sysTrayWindow == XNone) {
-+ QBalloonTip::hideBalloon();
-+ trayIcons[i]->hide(); // still no luck
-+ trayIcons[i]->destroy();
-+ trayIcons[i]->create();
-+ } else
-+ trayIcons[i]->addToTray(); // add it to the new tray
-+ }
-+ retval = true;
-+ } else if (ev->type == ClientMessage && sysTrayWindow == XNone) {
-+ static Atom manager_atom = XInternAtom(display, "MANAGER", False);
-+ XClientMessageEvent *cm = (XClientMessageEvent *)message;
-+ if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) {
-+ sysTrayWindow = cm->data.l[2];
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ XSelectInput(display, sysTrayWindow, StructureNotifyMask);
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ trayIcons[i]->addToTray();
-+ }
-+ retval = true;
-+ }
-+ } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) &&
-+ ev->xproperty.window == sysTrayWindow) {
-+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual));
-+ for (int i = 0; i < trayIcons.count(); i++) {
-+ trayIcons[i]->addToTray();
-+ }
-+ }
-+
-+ return retval;
-+}
-+
-+void QSystemTrayIconWidget::addToTray()
-+{
-+ Q_ASSERT(sysTrayWindow != XNone);
-+ Display *display = QX11Info::display();
-+
-+ XVisualInfo *vi = getSysTrayVisualInfo();
-+ if (vi && vi->visual) {
-+ Window root = RootWindow(display, vi->screen);
-+ Window p = root;
-+ if (QWidget *pw = parentWidget())
-+ p = pw->effectiveWinId();
-+ colormap = XCreateColormap(display, root, vi->visual, AllocNone);
-+ XSetWindowAttributes wsa;
-+ wsa.background_pixmap = 0;
-+ wsa.colormap = colormap;
-+ wsa.background_pixel = 0;
-+ wsa.border_pixel = 0;
-+ Window wid = XCreateWindow(display, p, -1, -1, 1, 1,
-+ 0, vi->depth, InputOutput, vi->visual,
-+ CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa);
-+ create(wid);
-+ } else {
-+ XSetWindowBackgroundPixmap(display, winId(), ParentRelative);
-+ }
-+
-+ // GNOME, NET WM Specification
-+ static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False);
-+ long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast<long>(winId()), 0, 0 };
-+ XEvent ev;
-+ memset(&ev, 0, sizeof(ev));
-+ ev.xclient.type = ClientMessage;
-+ ev.xclient.window = sysTrayWindow;
-+ ev.xclient.message_type = netwm_tray_atom;
-+ ev.xclient.format = 32;
-+ memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l));
-+ XSendEvent(display, sysTrayWindow, False, 0, &ev);
-+ setMinimumSize(22, 22); // required at least on GNOME
-+}
-+
-+////////////////////////////////////////////////////////////////////////////
-+QXEmbedSystemTrayIconSys::QXEmbedSystemTrayIconSys(QSystemTrayIcon *q)
-+: QAbstractSystemTrayIconSys(q)
-+, widget(0)
-+{
-+}
-+
-+QXEmbedSystemTrayIconSys::~QXEmbedSystemTrayIconSys()
-+{
-+ delete widget;
-+}
-+
-+QRect QXEmbedSystemTrayIconSys::geometry() const
-+{
-+ if (!widget)
-+ return QRect();
-+ return QRect(widget->mapToGlobal(QPoint(0, 0)), widget->size());
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateIcon()
-+{
-+ if (!widget)
-+ return;
-+ widget->update();
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateToolTip()
-+{
-+ if (!widget)
-+ return;
-+ widget->setToolTip(trayIcon->toolTip());
-+}
-+
-+void QXEmbedSystemTrayIconSys::showMessage(const QString &message, const QString &title,
-+ QSystemTrayIcon::MessageIcon icon, int msecs)
-+{
-+ if (!widget)
-+ return;
-+ QPoint point = geometry().center();
-+ QBalloonTip::showBalloon(icon, message, title, trayIcon, point, msecs);
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateVisibility()
-+{
-+ bool visible = trayIcon->isVisible();
-+ if (visible && !widget)
-+ widget = new QSystemTrayIconWidget(trayIcon, this);
-+ else if (!visible && widget) {
-+ delete widget;
-+ widget = 0;
-+ }
-+}
-+
-+void QXEmbedSystemTrayIconSys::sendToolTipEventToTrayIcon()
-+{
-+#ifndef QT_NO_TOOLTIP
-+ // Pass the event through QSystemTrayIcon so that it gets a chance to
-+ // update the tooltip, then asks widget to show the tooltip
-+ Q_ASSERT(widget);
-+ QPoint globalPos = QCursor::pos();
-+ QPoint pos = widget->mapFromGlobal(globalPos);
-+ QHelpEvent event(QEvent::ToolTip, pos, globalPos);
-+ QApplication::sendEvent(trayIcon, &event);
-+#endif
-+}
-+
-+void QXEmbedSystemTrayIconSys::sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation)
-+{
-+#ifndef QT_NO_WHEELEVENT
-+ Q_ASSERT(widget);
-+ QPoint globalPos = QCursor::pos();
-+ QPoint pos = widget->mapFromGlobal(globalPos);
-+ QWheelEvent event(pos, globalPos, delta, Qt::NoButton, Qt::NoModifier, orientation);
-+ QApplication::sendEvent(trayIcon, &event);
-+#endif
-+}
-+
-+void QXEmbedSystemTrayIconSys::updateMenu()
-+{
-+}
-+
-+/////////////////////////////////////////////////////////////
-+QAbstractSystemTrayIconSys * QXEmbedSystemTrayIconSysFactory::create(QSystemTrayIcon *icon)
-+{
-+ return new QXEmbedSystemTrayIconSys(icon);
-+}
-+
-+bool QXEmbedSystemTrayIconSysFactory::isAvailable() const
-+{
-+ return QSystemTrayIconWidget::locateSystemTray() != XNone;
-+}
-+
-+QT_END_NAMESPACE
-+#endif //QT_NO_SYSTEMTRAYICON
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h.systemtrayicon 2014-03-31 18:16:39.709974914 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h 2014-03-31 18:16:39.709974914 -0500
-@@ -0,0 +1,104 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** GNU Lesser General Public License Usage
-+** This file may be used under the terms of the GNU Lesser General Public
-+** License version 2.1 as published by the Free Software Foundation and
-+** appearing in the file LICENSE.LGPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU Lesser
-+** General Public License version 2.1 requirements will be met:
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU General
-+** Public License version 3.0 as published by the Free Software Foundation
-+** and appearing in the file LICENSE.GPL included in the packaging of this
-+** file. Please review the following information to ensure the GNU General
-+** Public License version 3.0 requirements will be met:
-+** http://www.gnu.org/copyleft/gpl.html.
-+**
-+** Other Usage
-+** Alternatively, this file may be used in accordance with the terms and
-+** conditions contained in a signed written agreement between you and Nokia.
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QXEMBEDSYSTEMTRAYICON_X11_P_H
-+#define QXEMBEDSYSTEMTRAYICON_X11_P_H
-+
-+//
-+// W A R N I N G
-+// -------------
-+//
-+// This file is not part of the Qt API. It exists for the convenience
-+// of a number of Qt sources files. This header file may change from
-+// version to version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+#ifndef QT_NO_SYSTEMTRAYICON
-+
-+#include "qabstractsystemtrayiconsys_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QSystemTrayIconWidget;
-+
-+class QXEmbedSystemTrayIconSys : public QAbstractSystemTrayIconSys
-+{
-+public:
-+ QXEmbedSystemTrayIconSys(QSystemTrayIcon *);
-+ ~QXEmbedSystemTrayIconSys();
-+
-+ QRect geometry() const;
-+
-+ void updateVisibility();
-+
-+ void updateIcon();
-+
-+ void updateToolTip();
-+
-+ void updateMenu();
-+
-+ void showMessage(const QString &message, const QString &title,
-+ QSystemTrayIcon::MessageIcon icon, int msecs);
-+
-+private:
-+ friend class QSystemTrayIconWidget;
-+ QSystemTrayIconWidget *widget;
-+
-+ void sendToolTipEventToTrayIcon();
-+
-+ void sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation);
-+};
-+
-+struct QXEmbedSystemTrayIconSysFactory : public QSystemTrayIconSysFactoryInterface
-+{
-+ QAbstractSystemTrayIconSys * create(QSystemTrayIcon *trayIcon);
-+ bool isAvailable() const;
-+};
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif // QT_NO_SYSTEMTRAYICON
-+
-+#endif // QXEMBEDSYSTEMTRAYICON_X11_P_H
-+
-diff -up qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri
---- qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri.systemtrayicon 2014-03-30 15:36:49.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri 2014-03-31 18:16:39.710974903 -0500
-@@ -29,8 +29,13 @@ wince* {
- }
-
- unix:x11 {
-+ HEADERS += \
-+ util/qabstractsystemtrayiconsys_p.h \
-+ util/qxembedsystemtrayicon_x11_p.h
- SOURCES += \
-- util/qsystemtrayicon_x11.cpp
-+ util/qabstractsystemtrayiconsys.cpp \
-+ util/qsystemtrayicon_x11.cpp \
-+ util/qxembedsystemtrayicon_x11.cpp
- }
-
- embedded|qpa {
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
deleted file mode 100644
index 9bce98ff8..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h
---- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600
-@@ -52,7 +52,7 @@
- /*
- can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
- */
--#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
-+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch))
-
- #define QT_PACKAGEDATE_STR "2015-05-07"
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
deleted file mode 100644
index 572a955dc..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.than 2016-02-10 16:31:02.450152334 +0100
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp 2016-02-10 16:31:51.495307579 +0100
-@@ -40,7 +40,7 @@
- ****************************************************************************/
-
- #include <alsa/asoundlib.h>
--#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
-+#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10)))
- #error "Alsa version found too old, require >= 1.0.10"
- #endif
-
-diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-index 973cbab..0b27e9d 100644
---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
-@@ -63,7 +63,7 @@ QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode
- device = QLatin1String(dev);
- this->mode = mode;
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- checkSurround();
- #endif
- }
-@@ -159,13 +159,13 @@ bool QAudioDeviceInfoInternal::open()
- QList<QByteArray> devices = availableDevices(mode);
-
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first().constData());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = device;
- #else
- int idx = 0;
-@@ -212,13 +212,13 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
-
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first().constData());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = device;
- #else
- int idx = 0;
-@@ -396,7 +396,7 @@ void QAudioDeviceInfoInternal::updateLists()
- }
- channelz.append(1);
- channelz.append(2);
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- if (surround40) channelz.append(4);
- if (surround51) channelz.append(6);
- if (surround71) channelz.append(8);
-@@ -419,7 +419,7 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
- QList<QByteArray> devices;
- QByteArray filter;
-
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- // Create a list of all current audio devices that support mode
- void **hints, **n;
- char *name, *descr, *io;
-@@ -498,7 +498,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
- return devices.first();
- }
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- void QAudioDeviceInfoInternal::checkSurround()
- {
- QList<QByteArray> devices;
-diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-index 96febf4..714bf60 100644
---- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
-@@ -98,7 +98,7 @@ private:
- bool open();
- void close();
-
--#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- void checkSurround();
- bool surround40;
- bool surround51;
-diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
-index 339fd9f..abfa4a1 100644
---- a/src/multimedia/audio/qaudioinput_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
-@@ -284,13 +284,13 @@ bool QAudioInputPrivate::open()
- QString dev = QString(QLatin1String(m_device.constData()));
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioInput);
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(m_device);
- #else
- int idx = 0;
-diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-index bf85de5..c29a89f 100644
---- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
-@@ -299,13 +299,13 @@ bool QAudioOutputPrivate::open()
- QString dev = QString(QLatin1String(m_device.constData()));
- QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
- if(dev.compare(QLatin1String("default")) == 0) {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(devices.first());
- #else
- dev = QLatin1String("hw:0,0");
- #endif
- } else {
--#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
- dev = QLatin1String(m_device);
- #else
- int idx = 0;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch
deleted file mode 100644
index eeed1b97c..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp
---- qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me 2019-03-22 10:22:16.213800109 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp 2019-03-22 10:22:40.721890281 +0100
-@@ -108,7 +108,7 @@ static bool read_pbm_header(QIODevice *d
- else
- mcc = read_pbm_int(device); // get max color component
-
-- if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0)
-+ if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 || mcc > 0xffff)
- return false; // weird P.M image
-
- return true;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch
deleted file mode 100644
index 456abceb3..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600
-@@ -39,7 +39,7 @@
- **
- ****************************************************************************/
-
--#include <ibase.h>
-+#include <firebird/ibase.h>
-
- int main(int, char **)
- {
-diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro
---- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600
-@@ -1,4 +1,4 @@
- SOURCES = ibase.cpp
- CONFIG -= qt dylib
- mac:CONFIG -= app_bundle
--LIBS += -lgds
-+LIBS += -lfbclient
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600
-@@ -45,7 +45,7 @@
- #include <QtSql/qsqlresult.h>
- #include <QtSql/qsqldriver.h>
- #include <QtSql/private/qsqlcachedresult_p.h>
--#include <ibase.h>
-+#include <firebird/ibase.h>
-
- QT_BEGIN_HEADER
-
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600
-@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_ibase.h
- SOURCES += $$PWD/qsql_ibase.cpp
-
- unix {
-- !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
-+ !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lfbclient
- } else {
- !contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
- win32-borland:LIBS += gds32.lib
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch
deleted file mode 100644
index 421292939..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
---- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
-+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
-@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
- *-g++*)
- # Check gcc's version
- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
-- 5*|4*|3.4*)
-+ 9*|8*|7*|6*|5*|4*|3.4*)
- ;;
- 3.3*)
- canBuildWebKit="no"
-@@ -8060,7 +8060,7 @@ g++*)
- 3.*)
- COMPILER_VERSION="3.*"
- ;;
-- 5*|4.*)
-+ 9*|8*|7*|6*|5*|4.*)
- COMPILER_VERSION="4"
- ;;
- *)
-diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
---- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
-@@ -70,8 +70,8 @@ namespace QPatternist
- ForegroundShift = 10,
- BackgroundShift = 20,
- SpecialShift = 20,
-- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
-- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
-+ ForegroundMask = 0x1f << ForegroundShift,
-+ BackgroundMask = 0x7 << BackgroundShift
- };
-
- public:
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
deleted file mode 100644
index 7e79d2174..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 qt-everywhere-opensource-src-4.8.7/src/script/script.pro
---- qt-everywhere-opensource-src-4.8.7/src/script/script.pro.gcc8 2015-05-07 09:14:43.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/script/script.pro 2018-05-19 16:01:24.699926959 -0500
-@@ -91,6 +91,9 @@ symbian {
- TARGET.UID3=0x2001B2E1
- }
-
-+# hack around gcc8 optimization bug with -O2
-+QMAKE_CXXFLAGS_RELEASE += -O1
-+
- symbian {
- symbian-abld|symbian-sbsv2 {
- MMP_RULES += ALWAYS_BUILD_AS_ARM
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch
deleted file mode 100644
index 3edcdef02..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Subject: Fix build with ICU >= 59
-
-ICU >= 59 requires C++11 for its header files.
-Qt can't be compiled with -std=c++11 as a whole, so only enable
-it for qlocale_icu.cpp.
-
-Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
-===================================================================
---- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri
-+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
-@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/
- else:include($$PWD/../../3rdparty/zlib_dependency.pri)
-
- contains(QT_CONFIG,icu) {
-- SOURCES += tools/qlocale_icu.cpp
-+ cpp11.name = cpp11
-+ cpp11.input = SOURCES_CPP11
-+ cpp11.dependency_type = TYPE_C
-+ cpp11.variable_out = OBJECTS
-+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
-+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
-+ QMAKE_EXTRA_COMPILERS += cpp11
-+
-+ SOURCES_CPP11 += tools/qlocale_icu.cpp
- DEFINES += QT_USE_ICU
- }
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch
deleted file mode 100644
index 7e480138b..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp
---- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500
-@@ -1105,11 +1105,16 @@ static void qLibraryInit()
- }
- # endif // MYSQL_VERSION_ID
- #endif // Q_NO_MYSQL_EMBEDDED
-+
-+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
-+ qAddPostRoutine(mysql_server_end);
-+#endif
- }
-
- static void qLibraryEnd()
- {
- #ifndef Q_NO_MYSQL_EMBEDDED
-+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
- # if MYSQL_VERSION_ID > 40000
- # if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
- mysql_library_end();
-@@ -1118,6 +1123,7 @@ static void qLibraryEnd()
- # endif
- # endif
- #endif
-+#endif
- }
-
- QMYSQLDriver::QMYSQLDriver(QObject * parent)
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch
deleted file mode 100644
index 6456f2c61..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urp qt-everywhere-opensource-src-4.8.7/configure q/configure
---- qt-everywhere-opensource-src-4.8.7/configure 2016-04-03 16:49:50.218644449 +0200
-+++ q/configure 2016-04-03 17:22:35.376405024 +0200
-@@ -3331,6 +3331,9 @@ arm*)
- CFG_ARCH=arm
- COMPAT_ARCH=armv6
- ;;
-+mips*)
-+ CFG_ARCH=mips
-+ ;;
- esac
-
- if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
deleted file mode 100644
index 6a9946030..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch
+++ /dev/null
@@ -1,694 +0,0 @@
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslcertificate.cpp 2018-01-05 17:44:16.997588265 +0100
-@@ -259,10 +259,10 @@
- QByteArray QSslCertificate::version() const
- {
- QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-- if (d->versionString.isEmpty() && d->x509)
-+ if (d->versionString.isEmpty() && d->x509) {
- d->versionString =
-- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
--
-+ QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
-+ }
- return d->versionString;
- }
-
-@@ -276,7 +276,7 @@
- {
- QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
- if (d->serialNumberString.isEmpty() && d->x509) {
-- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
- // if we cannot convert to a long, just output the hexadecimal number
- if (serialNumber->length > 4) {
- QByteArray hexString;
-@@ -489,24 +489,33 @@
- QSslKey key;
-
- key.d->type = QSsl::PublicKey;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- X509_PUBKEY *xkey = d->x509->cert_info->key;
-+#else
-+ X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
-+#endif
- EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
- Q_ASSERT(pkey);
-
-- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+ int key_id;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ key_id = q_EVP_PKEY_type(pkey->type);
-+#else
-+ key_id = q_EVP_PKEY_base_id(pkey);
-+#endif
-+ if (key_id == EVP_PKEY_RSA) {
- key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
- key.d->algorithm = QSsl::Rsa;
- key.d->isNull = false;
-- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+ } else if (key_id == EVP_PKEY_DSA) {
- key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
- key.d->algorithm = QSsl::Dsa;
- key.d->isNull = false;
-- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+ } else if (key_id == EVP_PKEY_DH) {
- // DH unsupported
- } else {
- // error?
- }
--
- q_EVP_PKEY_free(pkey);
- return key;
- }
-@@ -687,7 +696,11 @@
- unsigned char *data = 0;
- int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
- info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_free(data);
-+#else
-+ q_CRYPTO_free(data, __FILE__, __LINE__);
-+#endif
- }
- return info;
- }
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslkey.cpp 2018-01-05 18:00:27.453937599 +0100
-@@ -321,8 +321,19 @@
- {
- if (d->isNull)
- return -1;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- return (d->algorithm == QSsl::Rsa)
- ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
-+#else
-+ if (d->algorithm == QSsl::Rsa) {
-+ return q_RSA_bits(d->rsa);
-+ } else {
-+ const BIGNUM *p = (const BIGNUM *) NULL;
-+ q_DSA_get0_pqg(d->dsa, &p, (const BIGNUM **) NULL, (const BIGNUM **) NULL);
-+ return q_BN_num_bits(p);
-+ }
-+#endif
-+
- }
-
- /*!
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl.cpp 2018-01-05 12:06:06.336990956 +0100
-@@ -93,6 +93,7 @@
- bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
- bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- /* \internal
-
- From OpenSSL's thread(3) manual page:
-@@ -174,6 +175,8 @@
- }
- } // extern "C"
-
-+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
-+
- QSslSocketBackendPrivate::QSslSocketBackendPrivate()
- : ssl(0),
- ctx(0),
-@@ -222,9 +225,12 @@
- ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
- ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ciph.d->bits = cipher->strength_bits;
- ciph.d->supportedBits = cipher->alg_bits;
--
-+#else
-+ ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
-+#endif
- }
- return ciph;
- }
-@@ -363,7 +369,7 @@
- //
- // See also: QSslContext::fromConfiguration()
- if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
-- q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
-+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
- }
- }
-
-@@ -500,8 +506,10 @@
- */
- void QSslSocketPrivate::deinitialize()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_set_id_callback(0);
- q_CRYPTO_set_locking_callback(0);
-+#endif
- }
-
- /*!
-@@ -522,13 +530,17 @@
- return false;
-
- // Check if the library itself needs to be initialized.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- QMutexLocker locker(openssl_locks()->initLock());
-+#endif
- if (!s_libraryLoaded) {
- s_libraryLoaded = true;
-
- // Initialize OpenSSL.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- q_CRYPTO_set_id_callback(id_function);
- q_CRYPTO_set_locking_callback(locking_function);
-+#endif
- if (q_SSL_library_init() != 1)
- return false;
- q_SSL_load_error_strings();
-@@ -567,7 +579,9 @@
-
- void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
- {
-- QMutexLocker locker(openssl_locks()->initLock());
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ QMutexLocker locker(openssl_locks()->initLock());
-+#endif
- if (s_loadedCiphersAndCerts)
- return;
- s_loadedCiphersAndCerts = true;
-@@ -659,13 +673,18 @@
- STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
- for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
- if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
-- if (cipher->valid) {
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ if (cipher->valid) {
-+#endif
- QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
- if (!ciph.isNull()) {
- if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
- ciphers << ciph;
- }
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- }
-+#endif
- }
- }
-
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_p.h 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_p.h 2018-01-05 12:06:06.337990940 +0100
-@@ -84,6 +84,10 @@
- #include <openssl/tls1.h>
- #endif
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#define OPENSSL_NO_SSL2
-+#endif
-+
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
- typedef _STACK STACK;
- #endif
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-01-05 17:59:10.636973932 +0100
-@@ -111,16 +111,30 @@
- DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+#else
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
-+#endif
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
- DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
-+#endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+#else
-+DEFINEFUNC3(void, CRYPTO_free, void *a, a, const char *b, b, int c, c, return, DUMMYARG)
-+#endif
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- #if OPENSSL_VERSION_NUMBER < 0x00908000L
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
-@@ -157,6 +171,7 @@
- DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
- DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
- DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-@@ -166,6 +181,12 @@
- DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
- DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
- #endif
-+#else
-+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return)
-+#endif
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
- DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-@@ -213,8 +234,12 @@
- #else
- DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
- DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
-+#else
-+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
-+#endif
- DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
-@@ -229,13 +254,21 @@
- DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
- DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
- DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
- DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-@@ -274,7 +307,11 @@
- DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
-+#else
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
-+#endif
- DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
- #ifdef SSLEAY_MACROS
- DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
-@@ -282,10 +319,34 @@
- DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
- DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
-+#else
-+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return -1, return)
-+#endif
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+#else
-+DEFINEFUNC(unsigned long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
-+
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
-+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
-+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
-+DEFINEFUNC(int, RSA_bits, const RSA *rsa, rsa, return 0, return)
-+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *x, x, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *x, x, return 0, return)
-+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
-+#endif
-
- #ifdef Q_OS_SYMBIAN
- #define RESOLVEFUNC(func, ordinal, lib) \
-@@ -580,7 +641,11 @@
- static volatile bool symbolsResolved = false;
- static volatile bool triedToResolveSymbols = false;
- #ifndef QT_NO_THREAD
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
-+#else
-+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
-+#endif
- #endif
- if (symbolsResolved)
- return true;
-@@ -614,9 +679,11 @@
- RESOLVEFUNC(BIO_write, 269, libs.second )
- RESOLVEFUNC(BN_num_bits, 387, libs.second )
- RESOLVEFUNC(CRYPTO_free, 469, libs.second )
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second )
- RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second )
- RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second )
-+#endif
- RESOLVEFUNC(DSA_free, 594, libs.second )
- RESOLVEFUNC(ERR_error_string, 744, libs.second )
- RESOLVEFUNC(ERR_get_error, 749, libs.second )
-@@ -674,8 +741,10 @@
- RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first )
- RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first )
- RESOLVEFUNC(SSL_get_verify_result, 132, libs.first )
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSL_library_init, 137, libs.first )
- RESOLVEFUNC(SSL_load_error_strings, 139, libs.first )
-+#endif
- RESOLVEFUNC(SSL_new, 140, libs.first )
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- RESOLVEFUNC(SSL_ctrl, 95, libs.first )
-@@ -747,9 +816,11 @@
- RESOLVEFUNC(BIO_write)
- RESOLVEFUNC(BN_num_bits)
- RESOLVEFUNC(CRYPTO_free)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(CRYPTO_num_locks)
- RESOLVEFUNC(CRYPTO_set_id_callback)
- RESOLVEFUNC(CRYPTO_set_locking_callback)
-+#endif
- RESOLVEFUNC(DSA_free)
- RESOLVEFUNC(ERR_error_string)
- RESOLVEFUNC(ERR_get_error)
-@@ -779,10 +850,17 @@
- RESOLVEFUNC(RAND_seed)
- RESOLVEFUNC(RAND_status)
- RESOLVEFUNC(RSA_free)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(sk_free)
- RESOLVEFUNC(sk_num)
- RESOLVEFUNC(sk_pop_free)
- RESOLVEFUNC(sk_value)
-+#else
-+ RESOLVEFUNC(OPENSSL_sk_free)
-+ RESOLVEFUNC(OPENSSL_sk_num)
-+ RESOLVEFUNC(OPENSSL_sk_pop_free)
-+ RESOLVEFUNC(OPENSSL_sk_value)
-+#endif
- RESOLVEFUNC(SSL_CIPHER_description)
- RESOLVEFUNC(SSL_CTX_check_private_key)
- RESOLVEFUNC(SSL_CTX_ctrl)
-@@ -797,6 +875,7 @@
- RESOLVEFUNC(SSL_CTX_use_PrivateKey)
- RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
- RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
-+ RESOLVEFUNC(SSL_CTX_get_cert_store)
- RESOLVEFUNC(SSL_accept)
- RESOLVEFUNC(SSL_clear)
- RESOLVEFUNC(SSL_connect)
-@@ -807,8 +886,12 @@
- RESOLVEFUNC(SSL_get_peer_cert_chain)
- RESOLVEFUNC(SSL_get_peer_certificate)
- RESOLVEFUNC(SSL_get_verify_result)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSL_library_init)
- RESOLVEFUNC(SSL_load_error_strings)
-+#else
-+ RESOLVEFUNC(OPENSSL_init_ssl)
-+#endif
- RESOLVEFUNC(SSL_new)
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- RESOLVEFUNC(SSL_ctrl)
-@@ -819,17 +902,47 @@
- RESOLVEFUNC(SSL_set_connect_state)
- RESOLVEFUNC(SSL_shutdown)
- RESOLVEFUNC(SSL_write)
-+
-+ RESOLVEFUNC(X509_get_serialNumber)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ RESOLVEFUNC(SSL_CTX_ctrl)
-+ RESOLVEFUNC(EVP_PKEY_id)
-+ RESOLVEFUNC(EVP_PKEY_base_id)
-+ RESOLVEFUNC(SSL_CIPHER_get_bits)
-+ RESOLVEFUNC(SSL_CTX_set_options)
-+ RESOLVEFUNC(X509_get_version)
-+ RESOLVEFUNC(X509_get_X509_PUBKEY)
-+ RESOLVEFUNC(RSA_bits)
-+ RESOLVEFUNC(DSA_security_bits)
-+ RESOLVEFUNC(DSA_get0_pqg)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ RESOLVEFUNC(X509_get_notAfter)
-+ RESOLVEFUNC(X509_get_notBefore)
-+#else
-+ RESOLVEFUNC(X509_getm_notAfter)
-+ RESOLVEFUNC(X509_getm_notBefore)
-+#endif
-+#endif
-+
- #ifndef OPENSSL_NO_SSL2
- RESOLVEFUNC(SSLv2_client_method)
- #endif
- RESOLVEFUNC(SSLv3_client_method)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLv23_client_method)
-+#else
-+ RESOLVEFUNC(TLS_client_method)
-+#endif
- RESOLVEFUNC(TLSv1_client_method)
- #ifndef OPENSSL_NO_SSL2
- RESOLVEFUNC(SSLv2_server_method)
- #endif
- RESOLVEFUNC(SSLv3_server_method)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLv23_server_method)
-+#else
-+ RESOLVEFUNC(TLS_server_method)
-+#endif
- RESOLVEFUNC(TLSv1_server_method)
- RESOLVEFUNC(X509_NAME_entry_count)
- RESOLVEFUNC(X509_NAME_get_entry)
-@@ -846,7 +959,11 @@
- RESOLVEFUNC(X509_STORE_CTX_get_error)
- RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
- RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(X509_STORE_CTX_get_chain)
-+#else
-+ RESOLVEFUNC(X509_STORE_CTX_get0_chain)
-+#endif
- RESOLVEFUNC(X509_cmp)
- #ifndef SSLEAY_MACROS
- RESOLVEFUNC(X509_dup)
-@@ -867,10 +984,18 @@
- RESOLVEFUNC(d2i_DSAPrivateKey)
- RESOLVEFUNC(d2i_RSAPrivateKey)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
- RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-+#else
-+ RESOLVEFUNC(OPENSSL_init_crypto)
-+#endif
- RESOLVEFUNC(SSL_CTX_load_verify_locations)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- RESOLVEFUNC(SSLeay)
-+#else
-+ RESOLVEFUNC(OpenSSL_version_num)
-+#endif
- #endif // Q_OS_SYMBIAN
- symbolsResolved = true;
- delete libs.first;
-diff -ur qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h 2015-05-07 16:14:44.000000000 +0200
-+++ qt-everywhere-opensource-src-4.8.7-openssl-1.1/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-01-05 17:59:42.041550255 +0100
-@@ -207,16 +207,31 @@
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- int q_BIO_free(BIO *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- BIO *q_BIO_new(BIO_METHOD *a);
-+#else
-+BIO *q_BIO_new(const BIO_METHOD *a);
-+#endif
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- BIO_METHOD *q_BIO_s_mem();
-+#else
-+const BIO_METHOD *q_BIO_s_mem();
-+#endif
- int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_CRYPTO_num_locks();
- void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
- void q_CRYPTO_set_id_callback(unsigned long (*a)());
- void q_CRYPTO_free(void *a);
-+#else
-+#define q_CRYPTO_num_locks() 1
-+#define q_CRYPTO_set_locking_callback(a)
-+#define q_CRYPTO_set_id_callback(a)
-+void q_CRYPTO_free(void *a, const char *b, int c);
-+#endif
- void q_DSA_free(DSA *a);
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- // 0.9.8 broke SC and BC by changing this function's signature.
-@@ -258,6 +273,7 @@
- void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- void q_RSA_free(RSA *a);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_sk_num(STACK *a);
- void q_sk_pop_free(STACK *a, void (*b)(void *));
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-@@ -267,6 +283,16 @@
- void q_sk_free(STACK *a);
- char * q_sk_value(STACK *a, int b);
- #endif
-+#else
-+int q_OPENSSL_sk_num(STACK *a);
-+void q_OPENSSL_sk_pop_free(STACK *a, void (*b)(void *));
-+void q_OPENSSL_sk_free(_STACK *a);
-+void * q_OPENSSL_sk_value(STACK *a, int b);
-+#define q_sk_num q_OPENSSL_sk_num
-+#define q_sk_pop_free q_OPENSSL_sk_pop_free
-+#define q_sk_free q_OPENSSL_sk_free
-+#define q_sk_value q_OPENSSL_sk_value
-+#endif
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
- char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
-@@ -314,8 +340,14 @@
- #else
- long q_SSL_get_verify_result(SSL *a);
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- int q_SSL_library_init();
- void q_SSL_load_error_strings();
-+#else
-+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+#define q_SSL_library_init() q_OPENSSL_init_ssl(0, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#endif
- SSL *q_SSL_new(SSL_CTX *a);
- #if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
- long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
-@@ -328,11 +360,21 @@
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
- const SSL_METHOD *q_SSLv2_client_method();
- const SSL_METHOD *q_SSLv3_client_method();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- const SSL_METHOD *q_SSLv23_client_method();
-+#else
-+const SSL_METHOD *q_TLS_client_method();
-+#define q_SSLv23_client_method q_TLS_client_method
-+#endif
- const SSL_METHOD *q_TLSv1_client_method();
- const SSL_METHOD *q_SSLv2_server_method();
- const SSL_METHOD *q_SSLv3_server_method();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- const SSL_METHOD *q_SSLv23_server_method();
-+#else
-+const SSL_METHOD *q_TLS_server_method();
-+#define q_SSLv23_server_method q_TLS_server_method
-+#endif
- const SSL_METHOD *q_TLSv1_server_method();
- #else
- SSL_METHOD *q_SSLv2_client_method();
-@@ -377,7 +419,12 @@
- int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
- int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
- X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
-+#else
-+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
-+#define q_X509_STORE_CTX_get_chain q_X509_STORE_CTX_get0_chain
-+#endif
-
- #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
- #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
-@@ -399,7 +446,25 @@
- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
- bp,(char *)x,enc,kstr,klen,cb,u)
- #endif
-+
-+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
-+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
-+#define q_X509_get_version(x) X509_get_version(x)
-+#else
-+int q_EVP_PKEY_id(const EVP_PKEY *pkey);
-+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
-+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
-+long q_X509_get_version(X509 *x);
-+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
-+int q_RSA_bits(const RSA *rsa);
-+int q_DSA_security_bits(const DSA *dsa);
-+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
-+#endif
-+
- #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
- #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
-@@ -410,8 +475,17 @@
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
- q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_X509_get_notAfter(x) X509_get_notAfter(x)
- #define q_X509_get_notBefore(x) X509_get_notBefore(x)
-+#else
-+ASN1_TIME *q_X509_getm_notAfter(X509 *x);
-+ASN1_TIME *q_X509_getm_notBefore(X509 *x);
-+#define q_X509_get_notAfter(x) q_X509_getm_notAfter(x)
-+#define q_X509_get_notBefore(x) q_X509_getm_notBefore(x)
-+#endif
-+
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
- (char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
-@@ -421,10 +495,21 @@
- #else
- #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_noconf()
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- void q_OPENSSL_add_all_algorithms_noconf();
- void q_OPENSSL_add_all_algorithms_conf();
-+#else
-+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, (const OPENSSL_INIT_SETTINGS *) NULL)
-+# define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, (const OPENSSL_INIT_SETTINGS *) NULL)
-+#endif
- int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- long q_SSLeay();
-+#else
-+unsigned long q_OpenSSL_version_num();
-+#define q_SSLeay q_OpenSSL_version_num
-+#endif
-
- // Helper function
- class QDateTime;
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch
deleted file mode 100644
index 836dc13a4..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/corelib/global/qglobal.h
-+++ b/src/corelib/global/qglobal.h
-@@ -2482,22 +2482,32 @@ typedef uint Flags;
-
- #endif /* Q_NO_TYPESAFE_FLAGS */
-
--#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT)
-+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT))
- /* make use of typeof-extension */
- template <typename T>
- class QForeachContainer {
- public:
-- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { }
-+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { }
- const T c;
- int brk;
- typename T::const_iterator i, e;
-+ int control;
- };
-
-+// Explanation of the control word:
-+// - it's initialized to 1
-+// - that means both the inner and outer loops start
-+// - if there were no breaks, at the end of the inner loop, it's set to 0, which
-+// causes it to exit (the inner loop is run exactly once)
-+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing
-+// the outer loop to continue executing
-+// - if there was a break inside the inner loop, it will exit with control still
-+// set to 1; in that case, the outer loop will invert it to 0 and will exit too
- #define Q_FOREACH(variable, container) \
- for (QForeachContainer<__typeof__(container)> _container_(container); \
-- !_container_.brk && _container_.i != _container_.e; \
-- __extension__ ({ ++_container_.brk; ++_container_.i; })) \
-- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
-+ _container_.control && _container_.i != _container_.e; \
-+ ++_container_.i, _container_.control ^= 1) \
-+ for (variable = *_container_.i; _container_.control; _container_.control = 0)
-
- #else
-
diff --git a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch b/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
deleted file mode 100644
index f1a5a12e1..000000000
--- a/source/l/qt/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix
---- qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix.qmake_LFLAGS 2015-05-07 09:14:42.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/qmake/Makefile.unix 2018-02-15 08:25:13.168838577 -0600
-@@ -3,7 +3,7 @@ BUILD_PATH = @BUILD_PATH@
- QTOBJS = @QMAKE_QTOBJS@
- QTSRCS = @QMAKE_QTSRCS@
- QMAKESPEC = @QMAKESPEC@
--LFLAGS = @QMAKE_LFLAGS@
-+LFLAGS = @QMAKE_LFLAGS@ $(QMAKE_LFLAGS_RELEASE)
-
- #qmake code
- OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
diff --git a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch b/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch
deleted file mode 100644
index 71e30c4f9..000000000
--- a/source/l/qt/patches/qt-prefer_adwaita_on_gnome.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/gui/kernel/qguiplatformplugin.cpp.adwaita 2015-02-12 14:32:45.217935391 +0100
-+++ src/gui/kernel/qguiplatformplugin.cpp 2015-02-12 14:46:11.471866038 +0100
-@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName()
- case DE_GNOME: {
- QStringList availableStyles = QStyleFactory::keys();
- // Set QGtkStyle for GNOME if available
-+ QString adwaitaStyleKey = QString::fromLatin1("adwaita");
- QString gtkStyleKey = QString::fromLatin1("GTK+");
-- if (availableStyles.contains(gtkStyleKey)) {
-+ if (availableStyles.contains(adwaitaStyleKey)) {
-+ stylename = adwaitaStyleKey;
-+ break;
-+ }
-+ else if (availableStyles.contains(gtkStyleKey)) {
- stylename = gtkStyleKey;
- break;
- }
diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
deleted file mode 100644
index e5ab4bad9..000000000
--- a/source/l/qt/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h
---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h 2009-02-25 22:09:21.000000000 +0100
-+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h 2009-04-01 17:54:21.000000000 +0200
-@@ -115,8 +115,8 @@
- asm volatile("lock\n"
- "incl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-@@ -127,8 +127,8 @@
- asm volatile("lock\n"
- "decl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h
---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h 2009-02-25 22:09:21.000000000 +0100
-+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h 2009-04-01 17:54:32.000000000 +0200
-@@ -116,8 +116,8 @@
- asm volatile("lock\n"
- "incl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
-@@ -128,8 +128,8 @@
- asm volatile("lock\n"
- "decl %0\n"
- "setne %1"
-- : "=m" (_q_value), "=qm" (ret)
-- : "m" (_q_value)
-+ : "+m" (_q_value), "=qm" (ret)
-+ :
- : "memory");
- return ret != 0;
- }
diff --git a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch b/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
deleted file mode 100644
index 4ab3ea4b1..000000000
--- a/source/l/qt/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp
---- qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter 2009-04-21 18:57:41.000000000 -0500
-+++ qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp 2009-04-24 11:17:49.562695405 -0500
-@@ -72,7 +72,7 @@
- #include FT_CONFIG_OPTIONS_H
- #endif
-
--#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING)
-+#if defined(FT_LCD_FILTER_H)
- #define QT_USE_FREETYPE_LCDFILTER
- #endif
-
diff --git a/source/l/qt/profile.d/qt4.csh b/source/l/qt/profile.d/qt4.csh
deleted file mode 100644
index 6e2c726cb..000000000
--- a/source/l/qt/profile.d/qt4.csh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/csh
-# Environment path variables for the Qt package:
-if ( ! $?QT4DIR ) then
- # It's best to use the generic directory to avoid
- # compiling in a version-containing path:
- if ( -d /usr/lib/qt ) then
- setenv QT4DIR /usr/lib/qt
- else
- # Find the newest Qt directory and set $QT4DIR to that:
- foreach qtd ( /usr/lib/qt-* )
- if ( -d $qtd ) then
- setenv QT4DIR $qtd
- endif
- end
- endif
-endif
-set path = ( $path $QT4DIR/bin )
-if ( $?CPLUS_INCLUDE_PATH ) then
- setenv CPLUS_INCLUDE_PATH $QT4DIR/include:$CPLUS_INCLUDE_PATH
-else
- setenv CPLUS_INCLUDE_PATH $QT4DIR/include
-endif
diff --git a/source/l/qt/profile.d/qt4.sh b/source/l/qt/profile.d/qt4.sh
deleted file mode 100644
index 5b4b830aa..000000000
--- a/source/l/qt/profile.d/qt4.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Environment variables for the Qt package.
-#
-# It's best to use the generic directory to avoid
-# compiling in a version-containing path:
-if [ -d /usr/lib/qt ]; then
- QT4DIR=/usr/lib/qt
-else
- # Find the newest Qt directory and set $QT4DIR to that:
- for qtd in /usr/lib/qt-* ; do
- if [ -d $qtd ]; then
- QT4DIR=$qtd
- fi
- done
-fi
-if [ ! "$CPLUS_INCLUDE_PATH" = "" ]; then
- CPLUS_INCLUDE_PATH=$QT4DIR/include:$CPLUS_INCLUDE_PATH
-else
- CPLUS_INCLUDE_PATH=$QT4DIR/include
-fi
-PATH="$PATH:$QT4DIR/bin"
-export QT4DIR
-export CPLUS_INCLUDE_PATH
diff --git a/source/l/qt/qt-nowebkit.SlackBuild b/source/l/qt/qt-nowebkit.SlackBuild
deleted file mode 100755
index f9e08a396..000000000
--- a/source/l/qt/qt-nowebkit.SlackBuild
+++ /dev/null
@@ -1,362 +0,0 @@
-#!/bin/bash
-
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Merged some ideas from Alex Sarmardzic's script for qt4 at SlackBuilds.org
-# ^^ Modified by Robby Workman <rworkman@slackware.com> for QT4 & KDE4
-
-# We're using qt-copy instead of a released qt version, as this git release
-# has at least one bugfix strongly recommended by the kde developers.
-
-# Obtained from:
-# git clone git://gitorious.org/+kde-developers/qt/kde-qt.git
-# git checkout origin/4.5.3-patched
-# git checkout origin/4.6.0-stable-patched
-# git checkout origin/4.6.1-patched
-# git checkout origin/4.7.0-patched
-#
-# Alternate method (we don't use this):
-# wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched
-#
-# Modifications 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4, 4.8.5, 4.8.6 are built from original nokia sources.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qt
-VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-17}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- # To prevent "qatomic_armv6.h error: output number 2 not directly addressable"
- # More permanent solution is to patch gcc:
- # http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/revision/106731
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -fno-strict-volatile-bitfields"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf qt-everywhere-opensource-src-$VERSION
-tar xvf $CWD/qt-everywhere-opensource-src-$VERSION.tar.xz # For qt releases
-cd qt-everywhere-opensource-src-$VERSION || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-if [ $ARCH = "i486" -o $ARCH = "i586" ]; then
- sed -i -e "s/QMAKE_CFLAGS_RELEASE += -O2/QMAKE_CFLAGS_RELEASE += $SLKCFLAGS/" mkspecs/common/gcc-base.conf || exit 1
-fi
-
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-cupsEnumDests.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-prefer_adwaita_on_gnome.patch.gz | patch -p0 --verbose || exit 1
-#zcat $CWD/patches/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-qdbusconnection_no_debug.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.1-linguist_qmake-qt4.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-firebird.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-mysql_config.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.6.2-cups.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-mariadb.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-qmake_LFLAGS.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-s390.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-no_Werror.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.3-icu_no_debug.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.2--assistant-crash.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-4.8-poll.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch.gz | patch -p0 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch.gz | patch -p0 --verbose || exit 1
-#zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-system-clucene.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-mips64.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-gcc6.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-alsa-1.1.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-openssl-1.1.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-aarch64.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-qforeach.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch.gz | patch -p1 --verbose || exit 1
-#zcat $CWD/patches/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-everywhere-opensource-src-4.8.7-icu59.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/qt-4.8-disable-sslv3.patch.gz | patch -p1 --verbose || exit 1
-
-# All other distros I checked build with -no-webkit. But this has the downside of
-# breaking the build when QtWebKit is present on the build system and some things
-# (assistant for one) are built without support for QtWebKit. So let's go with
-# -webkit and remove the built files later from the package. -HW
-
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
-export OPENSOURCE_CXXFLAGS="$SLKCFLAGS -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
-./configure \
- -confirm-license \
- -opensource \
- -prefix /usr/lib${LIBDIRSUFFIX}/qt \
- -fast \
- -release \
- -system-libpng \
- -system-libjpeg \
- -system-zlib \
- -system-sqlite \
- -plugin-sql-sqlite \
- -dbus \
- -webkit \
- -no-phonon \
- -nomake examples \
- -nomake demos \
- -nomake docs \
- -no-separate-debug-info \
- -no-pch
- # No-precompiled-headers is ccache-friendly.
-
-# Sometimes a failure happens when parallelizing make. Try again if make fails,
-# but make a failure the second time around (single threaded) a fatal error:
-make $NUMJOBS || make || exit 1
-make install INSTALL_ROOT=$PKG || exit 1
-
-# dropping the just built WebKit since we replace it with an external one
-rm -f $PKG/usr/lib$LIBDIRSUFFIX/qt/lib/libQtWebKit*
-rm -f $PKG/usr/lib$LIBDIRSUFFIX/qt/lib/pkgconfig/QtWebKit.pc
-rm -rf $PKG/usr/lib$LIBDIRSUFFIX/qt/imports/QtWebKit
-rm -rf $PKG/usr/lib$LIBDIRSUFFIX/qt/include/QtWebKit
-
-# The infamous qt -> qt-${VERSION} link that keeps the full path out of .la files:
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf qt qt-${VERSION} )
-
-# Add a missing Qt.pc which is needed by KDE applications:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
-cat <<EOF > $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/Qt.pc
-prefix=/usr/lib${LIBDIRSUFFIX}/qt
-bindir=\${prefix}/bin
-datadir=\${prefix}
-docdir=\${prefix}/doc
-headerdir=\${prefix}/include
-importdir=\${prefix}/imports
-libdir=\${prefix}/lib
-moc=\${bindir}/moc
-plugindir=\${prefix}/plugins
-qmake=\${bindir}/qmake
-sysconfdir=\${prefix}/etc/settings
-translationdir=\${prefix}/translations
-
-Name: Qt
-Description: Qt Configuration
-Version: $VERSION
-EOF
-
-# libjscore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-
-# Make sure that .la, .pc, and .prl files use the correct $LIBDIRSUFFIX:
-sed -i "s,-L/usr/X11R6/lib ,-L/usr/X11R6/lib${LIBDIRSUFFIX} ,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.prl
-
-# Link the shared libraries into /usr/lib:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in qt/lib/*.so* ; do
- ln -sf $file .
- done
-)
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Add profile scripts
-mkdir -p $PKG/etc/profile.d
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.sh \
- > $PKG/etc/profile.d/qt4.sh
-sed -e "s#usr/lib/#usr/lib${LIBDIRSUFFIX}/#g" $CWD/profile.d/qt4.csh \
- > $PKG/etc/profile.d/qt4.csh
-chmod 0755 $PKG/etc/profile.d/*
-
-# Put a ton of links to more "normal" places. I'd just use a prefix of /usr, but it
-# creates a ton of new (and ambiguously named) /usr directories...
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin
- for file in * ; do
- ( cd $PKG/usr/bin ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/bin/$file . )
- done
-)
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
- for file in *.pc ; do
- ( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
- done
-)
-
-# Install Qt's private headers - at least Gentoo and Fedora are adding these
-# and some software has (inevitably) started depending on them:
-# We're using `rsync -R` as easy way to preserve relative path names:
-rsync -aR \
- include/Qt{Core,Declarative,Gui,Script}/private \
- src/{corelib,declarative,gui,script}/*/*_p.h \
- ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
-
-# Add menu entries for all those hidden but great Qt applications:
-# Assistant icons
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant.png $PKG/usr/share/icons/hicolor/32x32/apps/assistant.png
-install -p -m644 -D tools/assistant/tools/assistant/images/assistant-128.png $PKG/usr/share/icons/hicolor/128x128/apps/assistant.png
-# Designer icon
-install -p -m644 -D tools/designer/src/designer/images/designer.png $PKG/usr/share/icons/hicolor/128x128/apps/designer.png
-# Linguist icons
-for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
- size=$(echo $(basename ${icon}) | cut -d- -f2)
- install -p -m644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
-done
-# Qt logo:
-convert doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
-
-# And the .desktop files
-mkdir -p $PKG/usr/share/applications
-cat <<EOF > $PKG/usr/share/applications/designer.desktop
-[Desktop Entry]
-Name=Qt4 Designer
-GenericName=Interface Designer
-Comment=Design GUIs for Qt4 applications
-Exec=designer
-Icon=designer
-MimeType=application/x-designer;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
-EOF
-cat <<EOF > $PKG/usr/share/applications/assistant.desktop
-[Desktop Entry]
-Name=Qt4 Assistant
-Comment=Shows Qt4 documentation and examples
-Exec=assistant
-Icon=assistant
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Documentation;
-EOF
-cat <<EOF > $PKG/usr/share/applications/linguist.desktop
-[Desktop Entry]
-Name=Qt4 Linguist
-Comment=Add translations to Qt4 applications
-Exec=linguist
-Icon=linguist
-MimeType=text/vnd.trolltech.linguist;application/x-linguist;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
-EOF
-cat <<EOF > $PKG/usr/share/applications/qtconfig.desktop
-[Desktop Entry]
-Name=Qt4 Config
-Comment=Configure Qt4 behavior, styles, fonts
-Exec=qtconfig
-Icon=qt-logo
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Settings;
-EOF
-
-# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
- ( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
- )
-fi
-
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qt/qt.SlackBuild b/source/l/qt/qt.SlackBuild
deleted file mode 100755
index 01ddf720e..000000000
--- a/source/l/qt/qt.SlackBuild
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-
-# Copyright 2015 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This script builds Qt, packages it without WebKit, upgrades the machine to
-# a WebKit-less Qt, builds a WebKit package, merges the two packages, and
-# finally upgrades the machine to a combined package.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qt
-QTVERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-# Adjust the combined package $BUILD in qt-nowebkit.SlackBuild:
-QTBUILD=$(grep BUILD= qt-nowebkit.SlackBuild | cut -f 2 -d - | cut -f 1 -d \})
-WEBKITVERSION=$(ls qtwebkit/qtwebkit-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-# This $BUILD doesn't really need to change as long as these are combined:
-WEBKITBUILD=$(grep BUILD= qtwebkit/qtwebkit.SlackBuild | cut -f 2 -d - | cut -f 1 -d \})
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-${QTVERSION}-${ARCH}-${QTBUILD}.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "x86_64" ]; then
- LIBDIRSUFFIX="64"
-else
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-
-# Build Qt and package it without WebKit:
-rm -f $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-./qt-nowebkit.SlackBuild
-if [ ! -r $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz ]; then
- echo "FATAL: Failed to build Qt package without WebKit."
- exit 1
-fi
-
-# Upgrade system to Qt (without WebKit):
-/sbin/upgradepkg --reinstall --install-new $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-
-# Build standalone WebKit package (qtwebkit):
-rm -f $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
-( cd qtwebkit
- ./qtwebkit.SlackBuild )
-if [ ! -r $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz ]; then
- echo "FATAL: Failed to build QtWebKit standalone package."
- rm -f $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
- exit 1
-fi
-
-# Combine the packages:
-rm -rf $TMP/package-qt
-mkdir -p $TMP/package-qt
-( cd $TMP/package-qt
- /sbin/explodepkg $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
- /sbin/explodepkg $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
- cat $TMP/package-qtwebkit/install/doinst.sh | grep '^(' >> install/doinst.sh
- mv usr/doc/qtwebkit-* usr/doc/qt-*
- # Remove rpaths:
- for file in $(find . | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do
- if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then
- patchelf --remove-rpath $file
- fi
- done
- # Don't ship .la files:
- rm -f usr/lib${LIBDIRSUFFIX}/*.la
- rm -f usr/lib${LIBDIRSUFFIX}/qt/lib/*.la
- /sbin/makepkg -l y -c n ../qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-)
-
-# Remove intermediate qtwebkit package:
-rm -f $TMP/qtwebkit-${WEBKITVERSION}-${ARCH}-${WEBKITBUILD}.txz
-
-# Upgrade system to the combined Qt/WebKit package:
-/sbin/upgradepkg --reinstall --install-new $TMP/qt-${QTVERSION}-${ARCH}-${QTBUILD}.txz
-
-# Done.
-
diff --git a/source/l/qt/qtwebkit/doinst.sh b/source/l/qt/qtwebkit/doinst.sh
deleted file mode 100644
index 6f7c5df07..000000000
--- a/source/l/qt/qtwebkit/doinst.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-if [ -x sbin/ldconfig ]; then
- chroot . /sbin/ldconfig 2> /dev/null
-fi
-
diff --git a/source/l/qt/qtwebkit/qtwebkit.SlackBuild b/source/l/qt/qtwebkit/qtwebkit.SlackBuild
deleted file mode 100755
index e14e37656..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.SlackBuild
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/sh
-
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Patrick J. Volkerding, Sebeka, MN, USA
-# Copyright 2015 Heinz Wiesinger, Amsterdam, The Netherlands
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Derived from the main qt SlackBuild
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qtwebkit
-VERSION=$(ls qtwebkit-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-1}
-
-NUMJOBS=${NUMJOBS:--j7}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX="64"
- WEBKITFLAGS=""
-elif [ "$ARCH" = "armv7hl" ]; then
- # To prevent "qatomic_armv6.h error: output number 2 not directly addressable"
- # More permanent solution is to patch gcc:
- # http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/revision/106731
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -fno-strict-volatile-bitfields -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-else
- SLKCFLAGS="-O2 -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks"
- LIBDIRSUFFIX=""
- WEBKITFLAGS="--no-force-sse2"
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf qtwebkit-$VERSION
-tar xvf $CWD/qtwebkit-$VERSION.tar.xz
-cd qtwebkit-$VERSION || exit 1
-
-# Patch to fix compiling with gcc5:
-zcat $CWD/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff.gz | patch -p1 --verbose || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-QTDIR="/usr/lib$LIBDIRSUFFIX/qt" \
-Tools/Scripts/build-webkit \
- --qt \
- --prefix=/usr/lib${LIBDIRSUFFIX}/qt \
- --release \
- --no-webkit2 \
- --makeargs="$NUMJOBS" \
- --qmakearg="CONFIG+=production_build QMAKE_CFLAGS=\"$SLKCFLAGS\" QMAKE_CXXFLAGS=\"$SLKCFLAGS\"" \
- $WEBKITFLAGS || exit 1
-
-# To add support for WebP images add this to --qmakearg
-# DEFINES+=HAVE_LIBWEBP=1
-
-make INSTALL_ROOT=$PKG -C WebKitBuild/Release install || exit 1
-
-# libjscore is used internally. Prevent a false dependency on this in the .pc files:
-sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
-
-# libwebcore is used internally. Prevent a false dependency on this in the .pc files:
-sed -i \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
- -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WebKit/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WebCore/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/ThirdParty/ANGLE/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/JavaScriptCore/release##g" \
- -e "s#-L$TMP/qtwebkit-$VERSION/WebKitBuild/Release/Source/WTF/release##g" \
- -e "s# -lwebcore##g" \
- $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
-
-# Link the shared libraries into /usr/lib:
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- for file in qt/lib/*.so* ; do
- ln -sf $file .
- done
-)
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig
- for file in *.pc ; do
- ( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig ; ln -sf /usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/$file . )
- done
-)
-
-# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff b/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff
deleted file mode 100644
index 94696b769..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.putByIndexBeyondVectorLengthWithArrayStorage.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./Source/JavaScriptCore/runtime/JSObject.cpp.orig 2014-09-24 06:42:05.000000000 -0500
-+++ ./Source/JavaScriptCore/runtime/JSObject.cpp 2015-11-18 22:41:05.673463626 -0600
-@@ -1922,6 +1922,10 @@
- }
- }
-
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
-+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
-+
- void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
- {
- JSGlobalData& globalData = exec->globalData();
diff --git a/source/l/qt/qtwebkit/qtwebkit.url b/source/l/qt/qtwebkit/qtwebkit.url
deleted file mode 100644
index 4e832e125..000000000
--- a/source/l/qt/qtwebkit/qtwebkit.url
+++ /dev/null
@@ -1 +0,0 @@
-http://download.kde.org/stable/qtwebkit-2.3/2.3.4/src/qtwebkit-2.3.4.tar.gz
diff --git a/source/l/qt/qtwebkit/slack-desc b/source/l/qt/qtwebkit/slack-desc
deleted file mode 100644
index 2971354cf..000000000
--- a/source/l/qt/qtwebkit/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qtwebkit: QtWebKit (Qt bindings for the WebKit browser engine)
-qtwebkit:
-qtwebkit: WebKit is an open source web browser engine. WebKit's HTML and
-qtwebkit: JavaScript code began as a branch of the KHTML and KJS libraries from
-qtwebkit: KDE. As part of KDE framework KHTML was based on Qt but during their
-qtwebkit: porting efforts Apple's engineers made WebKit toolkit independent.
-qtwebkit: QtWebKit is a project aiming at porting this fabulous engine back
-qtwebkit: to Qt.
-qtwebkit:
-qtwebkit: Homepage: http://www.qt.io/
-qtwebkit:
diff --git a/source/l/qt/slack-desc b/source/l/qt/slack-desc
deleted file mode 100644
index f8051460f..000000000
--- a/source/l/qt/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qt: qt (a C++ graphical user interface toolkit)
-qt:
-qt: Qt is a complete and well-developed object-oriented framework for
-qt: developing graphical user interface (GUI) applications using C++.
-qt:
-qt: Homepage: http://www.qt.io/
-qt:
-qt:
-qt:
-qt:
-qt:
diff --git a/source/l/qt5/qt5.SlackBuild b/source/l/qt5/qt5.SlackBuild
index 66e072aa8..2f5382426 100755
--- a/source/l/qt5/qt5.SlackBuild
+++ b/source/l/qt5/qt5.SlackBuild
@@ -31,7 +31,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=qt5
VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
PKGSRC=$(echo $VERSION | cut -d - -f 1)
PKGVER=$(echo $VERSION | tr - _)
@@ -93,6 +93,7 @@ case "$ARCH" in
esac
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+export NINJAJOBS="$NUMJOBS"
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
diff --git a/source/l/qtkeychain/qtkeychain.SlackBuild b/source/l/qtkeychain/qtkeychain.SlackBuild
new file mode 100755
index 000000000..19df06f56
--- /dev/null
+++ b/source/l/qtkeychain/qtkeychain.SlackBuild
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qtkeychain
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* ChangeLog* ReadMe* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/qtkeychain/qtkeychain.url b/source/l/qtkeychain/qtkeychain.url
new file mode 100644
index 000000000..7fcebc24d
--- /dev/null
+++ b/source/l/qtkeychain/qtkeychain.url
@@ -0,0 +1 @@
+https://github.com/frankosterfeld/qtkeychain
diff --git a/source/l/qtkeychain/slack-desc b/source/l/qtkeychain/slack-desc
new file mode 100644
index 000000000..8bc91eca1
--- /dev/null
+++ b/source/l/qtkeychain/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qtkeychain: qtkeychain (Qt password storage API)
+qtkeychain:
+qtkeychain: QtKeychain is a Qt API to store passwords and other secret data
+qtkeychain: securely. If running, GNOME Keyring is used, otherwise qtkeychain
+qtkeychain: tries to use KWallet (via D-Bus), if available.
+qtkeychain:
+qtkeychain: Homepage: https://github.com/frankosterfeld/qtkeychain
+qtkeychain:
+qtkeychain:
+qtkeychain:
+qtkeychain:
diff --git a/source/l/qtscriptgenerator/include-everything.patch b/source/l/qtscriptgenerator/include-everything.patch
deleted file mode 100644
index cef0e1fa1..000000000
--- a/source/l/qtscriptgenerator/include-everything.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- b/generator/qtscript_masterinclude.h 2009-03-21 20:37:30.719523909 -0400
-+++ a/generator/qtscript_masterinclude.h 2009-03-21 21:00:25.108149339 -0400
-@@ -31,17 +31,41 @@
-
- #include <QtUiTools/QtUiTools>
-
--#ifndef QT_NO_XMLPATTERNS
--# include <QtXmlPatterns/QtXmlPatterns>
--#endif
--
--#ifndef QT_NO_WEBKIT
--# include <QtWebKit/QtWebKit>
--#endif
--
--#ifndef QT_NO_PHONON
--# include <phonon/phonon>
--#endif
-+#include <QtXmlPatterns/QtXmlPatterns>
-+
-+#include <QtWebKit/QtWebKit>
-+
-+#include "phonon/abstractaudiooutput.h"
-+#include "phonon/abstractmediastream.h"
-+#include "phonon/abstractvideooutput.h"
-+#include "phonon/addoninterface.h"
-+#include "phonon/audiooutput.h"
-+#include "phonon/audiooutputinterface.h"
-+#include "phonon/backendcapabilities.h"
-+#include "phonon/backendinterface.h"
-+#include "phonon/effect.h"
-+#include "phonon/effectinterface.h"
-+#include "phonon/effectparameter.h"
-+#include "phonon/effectwidget.h"
-+#include "phonon/mediacontroller.h"
-+#include "phonon/medianode.h"
-+#include "phonon/mediaobject.h"
-+#include "phonon/mediaobjectinterface.h"
-+#include "phonon/mediasource.h"
-+#include "phonon/objectdescription.h"
-+#include "phonon/objectdescriptionmodel.h"
-+#include "phonon/path.h"
-+#include "phonon/phonondefs.h"
-+#include "phonon/phononnamespace.h"
-+#include "phonon/platformplugin.h"
-+#include "phonon/seekslider.h"
-+#include "phonon/streaminterface.h"
-+#include "phonon/videoplayer.h"
-+#include "phonon/videowidget.h"
-+#include "phonon/videowidgetinterface.h"
-+#include "phonon/volumefadereffect.h"
-+#include "phonon/volumefaderinterface.h"
-+#include "phonon/volumeslider.h"
-
- #include "../qtbindings/qtscript_core/qtscriptconcurrent.h"
-
diff --git a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
deleted file mode 100755
index 713356ebf..000000000
--- a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for qtscriptgenerator
-
-# Copyright 2009 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2009, 2012, 2013, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=qtscriptgenerator
-VERSION=${VERSION:-0.2.0}
-BUILD=${BUILD:-3}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -fpermissive"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "arm" ]; then
- SLKCFLAGS="-O2 -march=armv4 -mtune=xscale -fpermissive"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "armel" ]; then
- SLKCFLAGS="-O2 -march=armv4t -fpermissive"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2 -fpermissive"
- LIBDIRSUFFIX=""
-fi
-
-# Avoid a version number in .la files:
-if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-src-$VERSION
-tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-src-$VERSION || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-zcat $CWD/include-everything.patch.gz | patch -p1 --verbose || exit 1
-
-cd generator
- echo "Building generator..."
- qmake || exit 1
- make $NUMJOBS || exit 1
- ./generator --include-paths=/usr/lib${LIBDIRSUFFIX}/qt/include:/usr/include || exit 1
-cd -
-
-# Leaving off the || exit 1 in two make statements below, or we get nowhere :/
-cd qtbindings
- echo "Building qtbindings..."
- sed -i "s|CONFIG += debug_and_release|CONFIG += release|" \
- qtbindingsbase.pri
- qmake || exit 1
- make $NUMJOBS qmake_all
- sed -i "s|-I/usr/lib${LIBDIRSUFFIX}/qt/include/phonon|-I/usr/include/phonon|" \
- qtscript_phonon/Makefile
- make $NUMJOBS all
-cd -
-
-cd tools/qsexec/src
- echo "Building tools/qsexec/src..."
- qmake || exit 1
- make $NUMJOBS || exit 1
-cd -
-
-cd qtbindings/qtscript_uitools
- echo "Building qtbindings/qtscript_uitools..."
- qmake || exit 1
- make $NUMJOBS all || exit 1
-cd -
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/{bin,plugins/script}
-
-install -m 755 tools/qsexec/qsexec $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin/qsexec || exit 1
-install -m 755 generator/generator $PKG/usr/lib${LIBDIRSUFFIX}/qt/bin/generator || exit 1
-cp -a plugins/script/libqtscript* $PKG/usr/lib${LIBDIRSUFFIX}/qt/plugins/script/
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a tools/qsexec/README.TXT README.qsexec
-cp -a \
- LICENSE.GPL README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/qtscriptgenerator/qtscriptgenerator.info b/source/l/qtscriptgenerator/qtscriptgenerator.info
deleted file mode 100644
index 684f5c6b5..000000000
--- a/source/l/qtscriptgenerator/qtscriptgenerator.info
+++ /dev/null
@@ -1,8 +0,0 @@
-PRGNAM="qtscriptgenerator"
-VERSION="0.1.0"
-HOMEPAGE="http://code.google.com/p/qtscriptgenerator/"
-DOWNLOAD="http://qtscriptgenerator.googlecode.com/files/qtscriptgenerator-src-0.1.0.tar.gz"
-MD5SUM="ca4046ad4bda36cd4e21649d4b98886d"
-MAINTAINER="ppr:kut"
-EMAIL="pprkut@liwjatan.at"
-APPROVED=""
diff --git a/source/l/qtscriptgenerator/slack-desc b/source/l/qtscriptgenerator/slack-desc
deleted file mode 100644
index c4f2e096a..000000000
--- a/source/l/qtscriptgenerator/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-qtscriptgenerator: qtscriptgenerator (Qt API Bindings for QtScript)
-qtscriptgenerator:
-qtscriptgenerator: Qt Script Generator is a tool that generates Qt bindings for Qt
-qtscriptgenerator: Script. With the generated bindings you get access to substantial
-qtscriptgenerator: portions of the Qt API from within QtScript.
-qtscriptgenerator:
-qtscriptgenerator: Homepage: http://code.google.com/p/qtscriptgenerator/
-qtscriptgenerator:
-qtscriptgenerator:
-qtscriptgenerator:
-qtscriptgenerator:
diff --git a/source/l/libbluedevil/libbluedevil.SlackBuild b/source/l/quazip/quazip.SlackBuild
index 863d58708..02d21a0f5 100755
--- a/source/l/libbluedevil/libbluedevil.SlackBuild
+++ b/source/l/quazip/quazip.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
-# Copyright 2011, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,22 +23,19 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=libbluedevil
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=quazip
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -49,9 +46,14 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -59,7 +61,7 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
@@ -67,51 +69,54 @@ else
fi
TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
+PKG=$TMP/package-$PKGNAM
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
-cd ${PKGNAM}-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
-# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Build and install:
-mkdir build
-cd build
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
cmake \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
- -DBUILD_tests:BOOL=OFF \
- ..
- make $NUMJOBS VERBOSE=1 || make || exit 1
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
+cd ..
+
+# Don't ship static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
# Strip binaries:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Add a documentation directory:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- AUTHORS COPYING* HACKING README* $PKG/usr/doc/$PKGNAM-$VERSION || true
+ CONTRIBUTING* COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/quazip/quazip.url b/source/l/quazip/quazip.url
new file mode 100644
index 000000000..11f0b1e63
--- /dev/null
+++ b/source/l/quazip/quazip.url
@@ -0,0 +1 @@
+https://github.com/stachenov/quazip
diff --git a/source/l/quazip/slack-desc b/source/l/quazip/slack-desc
new file mode 100644
index 000000000..cc51199fa
--- /dev/null
+++ b/source/l/quazip/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+quazip: quazip (C++ wrapper for Minizip)
+quazip:
+quazip: Minizip is a simple C library for creating, appending and reading
+quazip: ZIP archives. One thing Qt can't do out-of-the-box is write and read
+quazip: ZIP archives.
+quazip: QuaZIP is a simple C++ wrapper around Minizip. With QuaZIP, both
+quazip: ZIP files and files inside ZIP archives can be accessed with
+quazip: QIODevice API.
+quazip:
+quazip: See also: https://stachenov.github.io/quazip/
+quazip:
diff --git a/source/l/raptor2/slack-desc b/source/l/raptor2/slack-desc
deleted file mode 100644
index 8842687d0..000000000
--- a/source/l/raptor2/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-raptor2: raptor2 (RDF Parser & Serializer)
-raptor2:
-raptor2: Raptor is a free software/Open Source C library that provides a set of
-raptor2: parsers and serializers that generate Resource Description Framework
-raptor2: (RDF) triples by parsing syntaxes or serialize the triples into a
-raptor2: syntax. The supported parsing syntaxes are RDF/XML, N-Triples, TRiG,
-raptor2: Turtle, RSS tag soup including all versions of RSS, Atom 1.0 and 0.3,
-raptor2: GRDDL and microformats for HTML, XHTML and XML.
-raptor2:
-raptor2: Homepage: http://librdf.org/
-raptor2:
diff --git a/source/l/rasqal/rasqal.SlackBuild b/source/l/rasqal/rasqal.SlackBuild
deleted file mode 100755
index 846a37c9e..000000000
--- a/source/l/rasqal/rasqal.SlackBuild
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms or copyright claims
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=rasqal
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-static \
- --build=$TARGET || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* INSTALL INSTALL.html LICENSE* NEWS* NOTICE README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/rasqal/slack-desc b/source/l/rasqal/slack-desc
deleted file mode 100644
index e65a98f7d..000000000
--- a/source/l/rasqal/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-rasqal: rasqal (RDF parsing library)
-rasqal:
-rasqal: Rasqal is a library providing full support for querying Resource
-rasqal: Description Framework (RDF) including parsing query syntaxes,
-rasqal: constructing the queries, executing them and returning result formats.
-rasqal: It currently handles the RDF Data Query Language (RDQL) and SPARQL
-rasqal: Query language.
-rasqal:
-rasqal: Homepage: http://librdf.org/
-rasqal:
-rasqal:
diff --git a/source/l/readline/readline-8.0-patches/readline80-001 b/source/l/readline/readline-8.0-patches/readline80-001
deleted file mode 100644
index aa72a9dfa..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-001
+++ /dev/null
@@ -1,38 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-001
-
-Bug-Reported-by: chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- histfile.c 2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
- {
- free (input);
-+ close (file);
- return 0; /* don't waste time if we don't have to */
- }
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 0
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 1
diff --git a/source/l/readline/readline-8.0-patches/readline80-002 b/source/l/readline/readline-8.0-patches/readline80-002
deleted file mode 100644
index 7923d9d16..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-002
+++ /dev/null
@@ -1,60 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-002
-
-Bug-Reported-by: lessbug@qq.com
-Bug-Reference-ID: <tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/misc.c 2017-07-07 17:30:12.000000000 -0400
---- misc.c 2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
- {
- HIST_ENTRY *old_temp, *temp;
-+ int had_saved_line;
-
- if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-
- /* If we don't have a line saved, then save this one. */
-+ had_saved_line = _rl_saved_line_for_history != 0;
- rl_maybe_save_line ();
-
-***************
-*** 612,616 ****
- if (temp == 0)
- {
-! rl_maybe_unsave_line ();
- rl_ding ();
- }
---- 627,632 ----
- if (temp == 0)
- {
-! if (had_saved_line == 0)
-! _rl_free_saved_history_line ();
- rl_ding ();
- }
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 1
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 2
diff --git a/source/l/readline/readline-8.0-patches/readline80-003 b/source/l/readline/readline-8.0-patches/readline80-003
deleted file mode 100644
index b37145817..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-003
+++ /dev/null
@@ -1,69 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-003
-
-Bug-Reported-by: HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID: <CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
---- histfile.c 2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-
- has_timestamps = HIST_TIMESTAMP_START (buffer);
-! history_multiline_entries += has_timestamps && history_write_timestamps;
-
- /* Skip lines until we are at FROM. */
- for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
- if (*line_end == '\n')
---- 370,378 ----
-
- has_timestamps = HIST_TIMESTAMP_START (buffer);
-! history_multiline_entries += has_timestamps && history_write_timestamps;
-
- /* Skip lines until we are at FROM. */
-+ if (has_timestamps)
-+ last_ts = buffer;
- for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
- if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
- if (HIST_TIMESTAMP_START(p) == 0)
- current_line++;
-+ else
-+ last_ts = p;
- line_start = p;
-+ /* If we are at the last line (current_line == from) but we have
-+ timestamps (has_timestamps), then line_start points to the
-+ text of the last command, and we need to skip to its end. */
-+ if (current_line >= from && has_timestamps)
-+ {
-+ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ ;
-+ line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ }
- }
-
-
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 2
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 3
diff --git a/source/l/readline/readline-8.0-patches/readline80-004 b/source/l/readline/readline-8.0-patches/readline80-004
deleted file mode 100644
index 8a40ebe9a..000000000
--- a/source/l/readline/readline-8.0-patches/readline80-004
+++ /dev/null
@@ -1,47 +0,0 @@
- READLINE PATCH REPORT
- =====================
-
-Readline-Release: 8.0
-Patch-ID: readline80-004
-
-Bug-Reported-by: auroralanes@protonmail.ch
-Bug-Reference-ID: <WikEDKluAyoha9IDLp83rbN7_Uinr2rrpvSV_z4wmt9qur9piN-FNOn17P0cAizEVah1Fvc9d641vIIWX_7SC6EUTz0CatnOH-C-UK3rPYc=@protonmail.ch>
-Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2020-01/msg00008.html
-
-Bug-Description:
-
-If writing the history file fails, and renaming the backup history file fails,
-it's possible for readline's history code to return the wrong error to its
-caller.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20200124/lib/readline/histfile.c 2019-11-19 10:31:58.000000000 -0500
---- histfile.c 2020-02-01 16:28:29.000000000 -0500
-***************
-*** 621,624 ****
---- 621,625 ----
- if (rv != 0)
- {
-+ rv = errno;
- if (tempname)
- unlink (tempname);
-***************
-*** 768,771 ****
---- 769,773 ----
- if (rv != 0)
- {
-+ rv = errno;
- if (tempname)
- unlink (tempname);
-*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
---- patchlevel 2014-03-21 08:28:40.000000000 -0400
-***************
-*** 1,3 ****
- # Do not edit -- exists only for use by patch
-
-! 3
---- 1,3 ----
- # Do not edit -- exists only for use by patch
-
-! 4
diff --git a/source/l/redland/redland.SlackBuild b/source/l/redland/redland.SlackBuild
deleted file mode 100755
index 1be554313..000000000
--- a/source/l/redland/redland.SlackBuild
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms and no copyright claims
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=redland
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-6}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --disable-static \
- --with-included-ltdl=no \
- --with-bdb-lib=/usr/lib${LIBDIRSUFFIX} \
- --with-bdb-dbname=db-4.8 \
- --with-threads \
- --build=$TARGET
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* INSTALL INSTALL.html LICENSE* NEWS* NOTICE \
- README* RELEASE.html TODO* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/redland/slack-desc b/source/l/redland/slack-desc
deleted file mode 100644
index eff13c477..000000000
--- a/source/l/redland/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler----------------------------------------------------|
-redland: redland (RDF high-level interface library)
-redland:
-redland: Redland is a library that provides a high-level interface for the
-redland: Resource Description Framework (RDF) allowing the RDF graph to be
-redland: parsed from XML, stored, queried and manipulated. Redland
-redland: implements each of the RDF concepts in its own class via an object
-redland: based API, reflected into the language APIs, currently C#, Java,
-redland: Perl, PHP, Python, Ruby and Tcl.
-redland:
-redland: Homepage: http://librdf.org/
-redland:
diff --git a/source/l/rttr/rttr.SlackBuild b/source/l/rttr/rttr.SlackBuild
new file mode 100755
index 000000000..d5b8531e8
--- /dev/null
+++ b/source/l/rttr/rttr.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=rttr
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -f 2 -d -)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION-src.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Fix incorrect file permissions after install,
+# see https://github.com/rttrorg/rttr/pull/228:
+sed -e 's/PERMISSIONS OWNER_READ//' \
+ -i CMake/*.cmake doc/CMakeLists.txt
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_UNIT_TESTS=OFF \
+ -DBUILD_PACKAGE=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ *.md *.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog.txt, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog.txt ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog.txt | head -n 1000 > $DOCSDIR/ChangeLog.txt
+ touch -r ChangeLog.txt $DOCSDIR/ChangeLog.txt
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/rttr/rttr.url b/source/l/rttr/rttr.url
new file mode 100644
index 000000000..7d4f58631
--- /dev/null
+++ b/source/l/rttr/rttr.url
@@ -0,0 +1 @@
+https://www.rttr.org/download
diff --git a/source/l/rttr/slack-desc b/source/l/rttr/slack-desc
new file mode 100644
index 000000000..36154eb8e
--- /dev/null
+++ b/source/l/rttr/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rttr: rttr (C++ Reflection library)
+rttr:
+rttr: RTTR stands for Run Time Type Reflection. It describes the ability of
+rttr: a computer program to introspect and modify an object at runtime. The
+rttr: goal of this project is to provide an easy and intuitive way to use
+rttr: reflection in C++.
+rttr:
+rttr: Homepage: http://www.rttr.org/
+rttr:
+rttr:
+rttr:
diff --git a/source/l/soprano/slack-desc b/source/l/soprano/slack-desc
deleted file mode 100644
index 1b3dca07e..000000000
--- a/source/l/soprano/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-----------------------------------------------------|
-soprano: soprano (C++/Qt4 framework for RDF data)
-soprano:
-soprano: Soprano (formally known as QRDF) is a library which provides
-soprano: a nice Qt interface to RDF storage solutions. It has a modular
-soprano: structure which allows to replace the actual RDF storage
-soprano: implementation used.
-soprano:
-soprano: Homepage: http://soprano.sourceforge.net/
-soprano:
-soprano:
-soprano:
diff --git a/source/l/soprano/soprano.SlackBuild b/source/l/soprano/soprano.SlackBuild
deleted file mode 100755
index c3d1f0c45..000000000
--- a/source/l/soprano/soprano.SlackBuild
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=soprano
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-soprano
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf soprano-$VERSION
-tar xvf $CWD/soprano-$VERSION.tar.bz2 || exit 1
-cd soprano-${VERSION}* || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd ..
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/soprano-$VERSION
-cp -a \
- AUTHORS COPYING* ChangeLog INSTALL README TODO \
- $PKG/usr/doc/soprano-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/soprano-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/speech-dispatcher/slack-desc b/source/l/speech-dispatcher/slack-desc
new file mode 100644
index 000000000..2e837b065
--- /dev/null
+++ b/source/l/speech-dispatcher/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+speech-dispatcher: speech-dispatcher (device independent speech synthesizer)
+speech-dispatcher:
+speech-dispatcher: Speech Dispatcher project provides a high-level device independent
+speech-dispatcher: layer for access to speech synthesis through a simple, stable and well
+speech-dispatcher: documented interface.
+speech-dispatcher:
+speech-dispatcher: Homepage: http://devel.freebsoft.org/speechd/
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
+speech-dispatcher:
diff --git a/source/l/raptor2/raptor2.SlackBuild b/source/l/speech-dispatcher/speech-dispatcher.SlackBuild
index 1153263c3..57d1ce118 100755
--- a/source/l/raptor2/raptor2.SlackBuild
+++ b/source/l/speech-dispatcher/speech-dispatcher.SlackBuild
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/bin/sh
-# Copyright 2007, 2012, 2013 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2019, 2020 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,41 +21,36 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by Robby Workman <rworkman@slackware.com>
-# Modified by Eric Hameleers <alien@slackware.com>
-# No added terms or copyright claims
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=raptor2
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-10}
+PKGNAM=speech-dispatcher
+SRCNAM=speech-dispatcher
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -63,33 +58,39 @@ elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz"
+ exit 0
+fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
-cd $PKGNAM-$VERSION || exit 1
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+
+# Disabled due to bug: https://bugs.archlinux.org/task/35700
+sed -i "s/cicero //g" configure.ac
+sed -i "s/sd_cicero//g" src/modules/Makefile.am
+
+autoreconf -vif || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -97,10 +98,9 @@ CXXFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
- --localstatedir=/var \
--mandir=/usr/man \
+ --infodir=/usr/info \
--disable-static \
- --with-icu-config=/usr/bin/icu-config \
--build=$TARGET || exit 1
make $NUMJOBS || make || exit 1
@@ -109,34 +109,57 @@ make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \+
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
-
+# Add documentation:
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS COPYING* INSTALL* LICENSE* NEWS* \
- NOTICE README* RELEASE.html UPGRADING* \
+ ANNOUNCE AUTHORS BUGS COPYING* README* TODO \
$PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -s /usr/share/gtk-doc/html/$PKGNAM html
-)
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
+
+# Compress info pages and remove the package's dir file:
+if [ -d $PKG/usr/info ]; then
+ rm -f $PKG/usr/info/dir
+ gzip -9f $PKG/usr/info/*.info*
fi
+# Add this to the doinst.sh:
+mkdir -p $PKG/install
+cat <<EOT >> $PKG/install/doinst.sh
+# Install info files:
+for INFOFILE in usr/info/*.info.gz ; do
+ chroot . install-info /${INFOFILE} /usr/info/dir 2> /dev/null
+done
+EOT
+
+# Strip binaries (if any):
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Ensure that custom .conf files are not overwritten:
+mkdir -p $PKG/install
+cat << "EOT" > $PKG/install/doinst.sh
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+EOT
+
+cd $PKG
+ for CONFF in $(find etc/speech-dispatcher -type f) ; do
+ mv ${CONFF} ${CONFF}.new
+ echo "config ${CONFF}.new" >> $PKG/install/doinst.sh
+ done
+cd -
+
+# Add a package description:
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/speech-dispatcher/speech-dispatcher.url b/source/l/speech-dispatcher/speech-dispatcher.url
new file mode 100644
index 000000000..a3587a3c9
--- /dev/null
+++ b/source/l/speech-dispatcher/speech-dispatcher.url
@@ -0,0 +1 @@
+https://github.com/brailcom/speechd
diff --git a/source/l/strigi/README b/source/l/strigi/README
deleted file mode 100644
index 218e8ce2f..000000000
--- a/source/l/strigi/README
+++ /dev/null
@@ -1,17 +0,0 @@
-trueg's blog,
-http://trueg.wordpress.com/2011/09/22/about-strigi-soprano-virtuoso-clucene-and-libstreamanalyzer/
-
-recommends using a newer libstreamanalyzer (and friends) than what is currently formally released.
-
-I ran the script
-https://projects.kde.org/projects/kdesupport/strigi/strigi/repository/revisions/master/changes/createtararchive.sh
-to generate a tarball, and am hosting it at:
-
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2.md5sum
-http://rdieter.fedorapeople.org/strigi/strigi-0.7.6.tar.bz2.sha1sum
-
-for others' convenience.
-
--- rex
-
diff --git a/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch b/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
deleted file mode 100644
index 45201c8a7..000000000
--- a/source/l/strigi/libstreamanalyzer-0001-Fix-for-non-valid-values-in-Exif-field-ISOSpeedRatin.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b6dc8d4c14135c2fddb1143106d90cbb3acf94b7 Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Thu, 7 Feb 2013 06:11:22 +0100
-Subject: [PATCH 1/5] Fix for non valid values in Exif field ISOSpeedRatings
- reported in bug https://bugs.kde.org/show_bug.cgi?id=304439
-
-BUG: 304439
----
- plugins/endplugins/jpegendanalyzer.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/plugins/endplugins/jpegendanalyzer.cpp b/plugins/endplugins/jpegendanalyzer.cpp
-index 78ed36a..02b095b 100644
---- a/plugins/endplugins/jpegendanalyzer.cpp
-+++ b/plugins/endplugins/jpegendanalyzer.cpp
-@@ -322,6 +322,11 @@ JpegEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- ar.addValue(factory->exifFields.find("Exif.Image.DateTime")->second, uint32_t(mktime(&date)));
- }
- }
-+ else if (i->key() == "Exif.Photo.ISOSpeedRatings") {
-+ stringstream st;
-+ st << i->toLong();
-+ ar.addValue(factory->exifFields.find("Exif.Photo.ISOSpeedRatings")->second, st.str());
-+ }
- else if (i->key() != "Exif.Photo.PixelXDimension" && i->key() != "Exif.Photo.PixelYDimension") {
- map<string,const RegisteredField*>::const_iterator f
- = factory->exifFields.find(i->key());
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch b/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
deleted file mode 100644
index c940f6cf3..000000000
--- a/source/l/strigi/libstreamanalyzer-0002-order-matters-for-systems-that-have-things-already-i.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 22d1b9923a61e0f890a39c80f661aeffaaeb2cb5 Mon Sep 17 00:00:00 2001
-From: Aaron Seigo <aseigo@kde.org>
-Date: Wed, 13 Feb 2013 17:29:52 +0100
-Subject: [PATCH 2/5] order matters for systems that have things already
- installed
-
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7819ddf..6dee36b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -119,13 +119,13 @@ configure_file(${libstreamanalyzer_SOURCE_DIR}/strigi_thread.h.cmake
- ${libstreamanalyzer_BINARY_DIR}/include/strigi/strigi_thread.h)
-
- # every directory needs the headers that will be installed
--include_directories(${LIBSTREAMS_INCLUDE_DIRS}
-- ${libstreamanalyzer_SOURCE_DIR}/include
-+include_directories(${libstreamanalyzer_SOURCE_DIR}/include
- ${libstreamanalyzer_SOURCE_DIR}/include/strigi
- ${libstreamanalyzer_BINARY_DIR}/include
- ${libstreamanalyzer_BINARY_DIR}/include/strigi
- ${libstreamanalyzer_SOURCE_DIR}/lib
- ${libstreamanalyzer_BINARY_DIR}/lib
-+ ${LIBSTREAMS_INCLUDE_DIRS}
- ${ICONV_INCLUDE_DIR}
- ${LIBSTREAMS_LIBRARY_DIRS}
- ${EXIV2_INCLUDEDIR}
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch b/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
deleted file mode 100644
index fab488321..000000000
--- a/source/l/strigi/libstreamanalyzer-0003-Fix-Krazy-issues.patch
+++ /dev/null
@@ -1,1266 +0,0 @@
-From 8af24118fec3a0effee3a01ad37f4c4daddfe700 Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Fri, 12 Jul 2013 15:15:18 +0200
-Subject: [PATCH 3/5] Fix Krazy issues.
-
----
- .krazy | 2 +
- cmake/FindCLucene.cmake | 18 ++++++++
- cmake/FindCLucene1.cmake | 18 ++++++++
- cmake/FindExiv2.cmake | 2 +-
- cmake/FindFFmpeg.cmake | 2 +-
- cmake/FindIconv.cmake | 19 ++++++++
- cmake/FindXAttr.cmake | 19 ++++++++
- include/strigi/classproperties.h | 4 +-
- include/strigi/fieldproperties.h | 4 +-
- include/strigi/fieldtypes.h | 4 +-
- include/strigi/filelister.h | 4 +-
- include/strigi/streamanalyzer.h | 2 +-
- include/strigi/variant.h | 14 +++---
- lib/endanalyzers/arendanalyzer.h | 2 +-
- lib/endanalyzers/bmpendanalyzer.h | 2 +-
- lib/endanalyzers/bz2endanalyzer.h | 2 +-
- lib/endanalyzers/flacendanalyzer.h | 2 +-
- lib/endanalyzers/gzipendanalyzer.h | 2 +-
- lib/endanalyzers/id3endanalyzer.cpp | 6 +--
- lib/endanalyzers/id3endanalyzer.h | 2 +-
- lib/endanalyzers/lzmaendanalyzer.h | 2 +-
- lib/endanalyzers/mailendanalyzer.h | 2 +-
- lib/endanalyzers/mpegendanalyzer.h | 2 +-
- lib/endanalyzers/odfendanalyzer.h | 2 +-
- lib/endanalyzers/oleendanalyzer.h | 2 +-
- lib/endanalyzers/pdfendanalyzer.h | 2 +-
- lib/endanalyzers/pngendanalyzer.h | 2 +-
- lib/endanalyzers/rpmendanalyzer.h | 2 +-
- lib/endanalyzers/sdfendanalyzer.h | 2 +-
- lib/endanalyzers/tarendanalyzer.h | 2 +-
- lib/endanalyzers/zipendanalyzer.h | 2 +-
- lib/eventanalyzers/mimeeventanalyzer.h | 2 +-
- lib/eventthroughanalyzer.h | 2 +-
- lib/fieldpropertiesdb.cpp | 20 ++++----
- lib/helperanalyzers/odfcontenthelperanalyzer.cpp | 1 -
- lib/helperanalyzers/odfmetahelperanalyzer.cpp | 1 -
- lib/libstreamanalyzer.pc.cmake | 19 ++++++++
- lib/lineanalyzers/m3ustreamanalyzer.h | 2 +-
- lib/lineanalyzers/odfmimetypelineanalyzer.h | 2 +-
- lib/lineeventanalyzer.h | 2 +-
- lib/logging.h | 2 +-
- lib/rdfnamespaces.h | 4 +-
- lib/saxeventanalyzer.h | 2 +-
- lib/throughanalyzers/oggthroughanalyzer.h | 2 +-
- lib/xmlparser/xmlstream.h | 4 +-
- plugins/endplugins/ffmpegendanalyzer.cpp | 6 +--
- plugins/eventplugins/SHA1.h | 6 +--
- .../indexers/cluceneindexer/cluceneindexreader.cpp | 4 +-
- .../indexers/cluceneindexer/cluceneindexwriter.cpp | 54 +---------------------
- .../cluceneindexer/jsgzipcompressstream.cpp | 2 +-
- .../indexers/cluceneindexer/tests/CLuceneTest.cpp | 19 ++++++++
- plugins/indexers/cluceneindexer/timeofday.h | 39 ++++++++--------
- .../clucenengindexer/cluceneindexreader.cpp | 8 ++--
- .../clucenengindexer/cluceneindexwriter.cpp | 4 +-
- .../clucenengindexer/indexdump/indexdump.cpp | 5 +-
- .../clucenengindexer/tests/CLuceneTest.cpp | 19 ++++++++
- plugins/indexers/clucenengindexer/timeofday.h | 39 ++++++++--------
- plugins/lineplugins/deblineanalyzer.h | 2 +-
- plugins/throughplugins/authroughanalyzer.h | 2 +-
- plugins/throughplugins/dummy.cpp | 19 ++++++++
- plugins/throughplugins/pcxthroughanalyzer.h | 2 +-
- 61 files changed, 271 insertions(+), 176 deletions(-)
- create mode 100644 .krazy
-
-diff --git a/.krazy b/.krazy
-new file mode 100644
-index 0000000..b0e1177
---- /dev/null
-+++ b/.krazy
-@@ -0,0 +1,2 @@
-+# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
-+EXCLUDE syscalls,typedefs
-diff --git a/cmake/FindCLucene.cmake b/cmake/FindCLucene.cmake
-index 906afcc..31d1557 100644
---- a/cmake/FindCLucene.cmake
-+++ b/cmake/FindCLucene.cmake
-@@ -1,3 +1,21 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
- #
- # This module looks for clucene (http://clucene.sf.net) support
- # It will define the following values
-diff --git a/cmake/FindCLucene1.cmake b/cmake/FindCLucene1.cmake
-index ae431c8..d8ce7dd 100644
---- a/cmake/FindCLucene1.cmake
-+++ b/cmake/FindCLucene1.cmake
-@@ -1,3 +1,21 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
- #
- # This module looks for clucene (http://clucene.sf.net) support
- # It will define the pkgconfig values with a CLUCENE1_ prefix...
-diff --git a/cmake/FindExiv2.cmake b/cmake/FindExiv2.cmake
-index 5997c98..7ddb6ac 100644
---- a/cmake/FindExiv2.cmake
-+++ b/cmake/FindExiv2.cmake
-@@ -13,7 +13,7 @@
- # The minimum required version of Exiv2 can be specified using the
- # standard syntax, e.g. find_package(Exiv2 0.17)
- #
--# For compatiblity, also the variable EXIV2_MIN_VERSION can be set to the minimum version
-+# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the minimum version
- # you need before doing FIND_PACKAGE(Exiv2). The default is 0.12.
-
- # Copyright (c) 2010, Alexander Neundorf, <neundorf@kde.org>
-diff --git a/cmake/FindFFmpeg.cmake b/cmake/FindFFmpeg.cmake
-index 526be5f..4e1d50e 100644
---- a/cmake/FindFFmpeg.cmake
-+++ b/cmake/FindFFmpeg.cmake
-@@ -7,7 +7,7 @@
- # FFMPEG_LIBRARIES - Link these to use the required ffmpeg components.
- # FFMPEG_DEFINITIONS - Compiler switches required for using the required ffmpeg components.
- #
--# For each of the components it will additionaly set.
-+# For each of the components it will additionally set.
- # - AVCODEC
- # - AVDEVICE
- # - AVFORMAT
-diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
-index ce40ab2..fd5a3af 100644
---- a/cmake/FindIconv.cmake
-+++ b/cmake/FindIconv.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find Iconv
- # Once done this will define
- #
-diff --git a/cmake/FindXAttr.cmake b/cmake/FindXAttr.cmake
-index c285a46..c66884e 100644
---- a/cmake/FindXAttr.cmake
-+++ b/cmake/FindXAttr.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find the xattr header
- # Once done this will define
- #
-diff --git a/include/strigi/classproperties.h b/include/strigi/classproperties.h
-index 0a8d5d5..688bc6a 100644
---- a/include/strigi/classproperties.h
-+++ b/include/strigi/classproperties.h
-@@ -39,8 +39,8 @@ public:
- };
- ClassProperties();
- ClassProperties(const ClassProperties&);
-- ClassProperties(const Private&);
-- ClassProperties(const std::string& key);
-+ explicit ClassProperties(const Private&);
-+ explicit ClassProperties(const std::string& key);
- ~ClassProperties();
- const ClassProperties& operator=(const ClassProperties&);
- bool valid() const;
-diff --git a/include/strigi/fieldproperties.h b/include/strigi/fieldproperties.h
-index dc53703..f1a9f77 100644
---- a/include/strigi/fieldproperties.h
-+++ b/include/strigi/fieldproperties.h
-@@ -39,8 +39,8 @@ public:
- };
- FieldProperties();
- FieldProperties(const FieldProperties&);
-- FieldProperties(const Private&);
-- FieldProperties(const std::string& key);
-+ explicit FieldProperties(const Private&);
-+ explicit FieldProperties(const std::string& key);
- ~FieldProperties();
- const FieldProperties& operator=(const FieldProperties&);
- /**
-diff --git a/include/strigi/fieldtypes.h b/include/strigi/fieldtypes.h
-index e369ad4..8bc9669 100644
---- a/include/strigi/fieldtypes.h
-+++ b/include/strigi/fieldtypes.h
-@@ -69,7 +69,7 @@ private:
- * @param fieldname a (unique) name for what this field represents
- * the same name should be used in .fieldproperties files in [] brackets
- */
-- RegisteredField(const std::string& key);
-+ explicit RegisteredField(const std::string& key);
- public:
- /**
- * @brief Get the key for this field.
-@@ -101,7 +101,7 @@ public:
- * primitive type, an array or an object of some
- * description.
- *
-- * It is up the the caller to keep track of the type of
-+ * It is up the caller to keep track of the type of
- * the data that is pointed to. The RegisteredField does
- * not take ownership of the data, and it the caller's
- * responsibility to ensure that any data allocated with
-diff --git a/include/strigi/filelister.h b/include/strigi/filelister.h
-index 5fe7f3e..ab1b6ef 100644
---- a/include/strigi/filelister.h
-+++ b/include/strigi/filelister.h
-@@ -50,7 +50,7 @@ private:
- class Private;
- Private* p;
- public:
-- FileLister(const Strigi::AnalyzerConfiguration* ic=0);
-+ explicit FileLister(const Strigi::AnalyzerConfiguration* ic=0);
- ~FileLister();
-
- void startListing(const std::string& dir);
-@@ -76,7 +76,7 @@ private:
- class Private;
- Private* p;
- public:
-- DirLister(const Strigi::AnalyzerConfiguration* ic=0);
-+ explicit DirLister(const Strigi::AnalyzerConfiguration* ic=0);
- ~DirLister();
-
- void startListing(const std::string& dir);
-diff --git a/include/strigi/streamanalyzer.h b/include/strigi/streamanalyzer.h
-index 4074463..5a5ed0e 100644
---- a/include/strigi/streamanalyzer.h
-+++ b/include/strigi/streamanalyzer.h
-@@ -50,7 +50,7 @@ private:
- StreamAnalyzerPrivate* const p;
-
- public:
-- StreamAnalyzer(AnalyzerConfiguration& c);
-+ explicit StreamAnalyzer(AnalyzerConfiguration& c);
- ~StreamAnalyzer();
- void setIndexWriter(IndexWriter& writer);
- signed char indexFile(const char *filepath);
-diff --git a/include/strigi/variant.h b/include/strigi/variant.h
-index f81b604..bb2ccab 100644
---- a/include/strigi/variant.h
-+++ b/include/strigi/variant.h
-@@ -40,13 +40,13 @@ private:
- VariantPrivate* const p;
- public:
- Variant();
-- Variant(bool v);
-- Variant(int32_t v);
-- Variant(uint32_t v);
-- Variant(const char* v);
-- Variant(const std::string& v);
-- Variant(const std::vector<std::string>& v);
-- Variant(const std::vector<std::vector<std::string> >& v);
-+ explicit Variant(bool v);
-+ explicit Variant(int32_t v);
-+ explicit Variant(uint32_t v);
-+ explicit Variant(const char* v);
-+ explicit Variant(const std::string& v);
-+ explicit Variant(const std::vector<std::string>& v);
-+ explicit Variant(const std::vector<std::vector<std::string> >& v);
- Variant(const Variant& v);
- ~Variant();
- Type type() const;
-diff --git a/lib/endanalyzers/arendanalyzer.h b/lib/endanalyzers/arendanalyzer.h
-index 801964d..0a12f84 100644
---- a/lib/endanalyzers/arendanalyzer.h
-+++ b/lib/endanalyzers/arendanalyzer.h
-@@ -28,7 +28,7 @@ class ArEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const ArEndAnalyzerFactory* factory;
- public:
-- ArEndAnalyzer(const ArEndAnalyzerFactory* f)
-+ explicit ArEndAnalyzer(const ArEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/bmpendanalyzer.h b/lib/endanalyzers/bmpendanalyzer.h
-index c829a5c..38e1109 100644
---- a/lib/endanalyzers/bmpendanalyzer.h
-+++ b/lib/endanalyzers/bmpendanalyzer.h
-@@ -28,7 +28,7 @@ class BmpEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const BmpEndAnalyzerFactory* factory;
- public:
-- BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
-+ explicit BmpEndAnalyzer(const BmpEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "BmpEndAnalyzer"; }
-diff --git a/lib/endanalyzers/bz2endanalyzer.h b/lib/endanalyzers/bz2endanalyzer.h
-index e88c158..e7266b2 100644
---- a/lib/endanalyzers/bz2endanalyzer.h
-+++ b/lib/endanalyzers/bz2endanalyzer.h
-@@ -28,7 +28,7 @@ class Bz2EndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const Bz2EndAnalyzerFactory* factory;
- public:
-- Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
-+ explicit Bz2EndAnalyzer(const Bz2EndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/flacendanalyzer.h b/lib/endanalyzers/flacendanalyzer.h
-index 535940e..f1bcf1f 100644
---- a/lib/endanalyzers/flacendanalyzer.h
-+++ b/lib/endanalyzers/flacendanalyzer.h
-@@ -33,7 +33,7 @@ class FlacEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const FlacEndAnalyzerFactory* factory;
- public:
-- FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
-+ explicit FlacEndAnalyzer(const FlacEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "FlacEndAnalyzer"; }
-diff --git a/lib/endanalyzers/gzipendanalyzer.h b/lib/endanalyzers/gzipendanalyzer.h
-index 51b9008..2793721 100644
---- a/lib/endanalyzers/gzipendanalyzer.h
-+++ b/lib/endanalyzers/gzipendanalyzer.h
-@@ -28,7 +28,7 @@ class GZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const GZipEndAnalyzerFactory* factory;
- public:
-- GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
-+ explicit GZipEndAnalyzer(const GZipEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/id3endanalyzer.cpp b/lib/endanalyzers/id3endanalyzer.cpp
-index a453a39..c500715 100644
---- a/lib/endanalyzers/id3endanalyzer.cpp
-+++ b/lib/endanalyzers/id3endanalyzer.cpp
-@@ -342,7 +342,7 @@ ID3EndAnalyzer::checkHeader(const char* header, int32_t headersize) const {
- const unsigned char* usbuf = (const unsigned char*)header;
- int32_t i;
-
-- for(i=0; (header[i] == '\0') && (i<headersize); i++);
-+ for(i=0; (header[i] == '\0') && (i<headersize); ++i);
- return (headersize>=6+i)
- && (
- (strncmp("ID3", header+i, 3) == 0 // check that it's ID3
-@@ -411,7 +411,7 @@ class genre_number_parser {
- parse_string(genre);
- }
- /**
-- * wether or not parsing was successful
-+ * whether or not parsing was successful
- */
- operator bool() {
- return success;
-@@ -480,7 +480,7 @@ ID3EndAnalyzer::analyze(Strigi::AnalysisResult& indexable, Strigi::InputStream*
- string deunsyncbuf;
- if (unsync) {
- deunsyncbuf.reserve(size-1);
-- for(int32_t i = 0; i<size-1; i++)
-+ for(int32_t i = 0; i<size-1; ++i)
- if ( (i==0) || (p[11+i]!=0) || (p[10+i]!=0xff) )
- deunsyncbuf.push_back(p[11+i]);
- decoded_value = deunsyncbuf.c_str();
-diff --git a/lib/endanalyzers/id3endanalyzer.h b/lib/endanalyzers/id3endanalyzer.h
-index 293c993..337dcfd 100644
---- a/lib/endanalyzers/id3endanalyzer.h
-+++ b/lib/endanalyzers/id3endanalyzer.h
-@@ -30,7 +30,7 @@ class ID3EndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const ID3EndAnalyzerFactory* factory;
- public:
-- ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
-+ explicit ID3EndAnalyzer(const ID3EndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "ID3EndAnalyzer"; }
-diff --git a/lib/endanalyzers/lzmaendanalyzer.h b/lib/endanalyzers/lzmaendanalyzer.h
-index cad65aa..7fb118a 100644
---- a/lib/endanalyzers/lzmaendanalyzer.h
-+++ b/lib/endanalyzers/lzmaendanalyzer.h
-@@ -28,7 +28,7 @@ class LzmaEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const LzmaEndAnalyzerFactory* factory;
- public:
-- LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
-+ explicit LzmaEndAnalyzer(const LzmaEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/mailendanalyzer.h b/lib/endanalyzers/mailendanalyzer.h
-index 4c7d391..8d77420 100644
---- a/lib/endanalyzers/mailendanalyzer.h
-+++ b/lib/endanalyzers/mailendanalyzer.h
-@@ -28,7 +28,7 @@ class MailEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const MailEndAnalyzerFactory* factory;
- public:
-- MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
-+ explicit MailEndAnalyzer(const MailEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "MailEndAnalyzer"; }
-diff --git a/lib/endanalyzers/mpegendanalyzer.h b/lib/endanalyzers/mpegendanalyzer.h
-index 42b65e9..1d0a2f2 100644
---- a/lib/endanalyzers/mpegendanalyzer.h
-+++ b/lib/endanalyzers/mpegendanalyzer.h
-@@ -58,7 +58,7 @@ private:
-
-
- public:
-- MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
-+ explicit MpegEndAnalyzer(const MpegEndAnalyzerFactory* f) :factory(f)
- {
- this->frame_rate_table[0] = 0.0; /* Pad */
- //Official frame rates
-diff --git a/lib/endanalyzers/odfendanalyzer.h b/lib/endanalyzers/odfendanalyzer.h
-index f426c25..8da3137 100644
---- a/lib/endanalyzers/odfendanalyzer.h
-+++ b/lib/endanalyzers/odfendanalyzer.h
-@@ -36,7 +36,7 @@ public:
- Strigi::OdfMetaHelperAnalyzer metaHelper;
- Strigi::OdfContentHelperAnalyzer contentHelper;
-
-- OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
-+ explicit OdfEndAnalyzer(const OdfEndAnalyzerFactory* f) :factory(f){};
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "OdfEndAnalyzer"; }
-diff --git a/lib/endanalyzers/oleendanalyzer.h b/lib/endanalyzers/oleendanalyzer.h
-index df89ce4..b94bc40 100644
---- a/lib/endanalyzers/oleendanalyzer.h
-+++ b/lib/endanalyzers/oleendanalyzer.h
-@@ -64,7 +64,7 @@ private:
- std::string getStreamString(Strigi::InputStream*) const;
- bool tryFIB(Strigi::AnalysisResult& ar, Strigi::InputStream* in);
- public:
-- OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
-+ explicit OleEndAnalyzer(const OleEndAnalyzerFactory* const f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- bool tryPropertyStream(Strigi::AnalysisResult& idx, Strigi::InputStream* s);
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
-diff --git a/lib/endanalyzers/pdfendanalyzer.h b/lib/endanalyzers/pdfendanalyzer.h
-index b157bdb..c72fc71 100644
---- a/lib/endanalyzers/pdfendanalyzer.h
-+++ b/lib/endanalyzers/pdfendanalyzer.h
-@@ -40,7 +40,7 @@ private:
- Strigi::StreamStatus handle(Strigi::InputStream* s);
- Strigi::StreamStatus handle(const std::string& s);
- public:
-- PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
-+ explicit PdfEndAnalyzer(const PdfEndAnalyzerFactory* f);
- };
-
- class PdfEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
-diff --git a/lib/endanalyzers/pngendanalyzer.h b/lib/endanalyzers/pngendanalyzer.h
-index 9144758..066aaac 100644
---- a/lib/endanalyzers/pngendanalyzer.h
-+++ b/lib/endanalyzers/pngendanalyzer.h
-@@ -42,7 +42,7 @@ private:
- signed char addMetaData(const std::string& key, Strigi::AnalysisResult& as,
- Strigi::InputStream* in);
- public:
-- PngEndAnalyzer(const PngEndAnalyzerFactory* f);
-+ explicit PngEndAnalyzer(const PngEndAnalyzerFactory* f);
- };
-
- class PngEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory {
-diff --git a/lib/endanalyzers/rpmendanalyzer.h b/lib/endanalyzers/rpmendanalyzer.h
-index fdaf0f4..b5ccbd6 100644
---- a/lib/endanalyzers/rpmendanalyzer.h
-+++ b/lib/endanalyzers/rpmendanalyzer.h
-@@ -28,7 +28,7 @@ class RpmEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const RpmEndAnalyzerFactory* factory;
- public:
-- RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
-+ explicit RpmEndAnalyzer(const RpmEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/sdfendanalyzer.h b/lib/endanalyzers/sdfendanalyzer.h
-index f6ab67f..56b1d77 100644
---- a/lib/endanalyzers/sdfendanalyzer.h
-+++ b/lib/endanalyzers/sdfendanalyzer.h
-@@ -29,7 +29,7 @@ class SdfEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const SdfEndAnalyzerFactory* factory;
- public:
-- SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
-+ explicit SdfEndAnalyzer(const SdfEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "SdfEndAnalyzer"; }
-diff --git a/lib/endanalyzers/tarendanalyzer.h b/lib/endanalyzers/tarendanalyzer.h
-index 875d560..28bedf0 100644
---- a/lib/endanalyzers/tarendanalyzer.h
-+++ b/lib/endanalyzers/tarendanalyzer.h
-@@ -28,7 +28,7 @@ class TarEndAnalyzer : public Strigi::StreamEndAnalyzer {
- private:
- const TarEndAnalyzerFactory* factory;
- public:
-- TarEndAnalyzer(const TarEndAnalyzerFactory* f)
-+ explicit TarEndAnalyzer(const TarEndAnalyzerFactory* f)
- :factory(f) {}
-
- bool checkHeader(const char* header, int32_t headersize) const;
-diff --git a/lib/endanalyzers/zipendanalyzer.h b/lib/endanalyzers/zipendanalyzer.h
-index 3d87217..653645d 100644
---- a/lib/endanalyzers/zipendanalyzer.h
-+++ b/lib/endanalyzers/zipendanalyzer.h
-@@ -28,7 +28,7 @@ class ZipEndAnalyzer : public Strigi::StreamEndAnalyzer {
- public:
- const ZipEndAnalyzerFactory* const factory;
-
-- ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
-+ explicit ZipEndAnalyzer(const ZipEndAnalyzerFactory* f) :factory(f) {}
- bool checkHeader(const char* header, int32_t headersize) const;
- signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in);
- const char* name() const { return "ZipEndAnalyzer"; }
-diff --git a/lib/eventanalyzers/mimeeventanalyzer.h b/lib/eventanalyzers/mimeeventanalyzer.h
-index d0d2506..fd28b7b 100644
---- a/lib/eventanalyzers/mimeeventanalyzer.h
-+++ b/lib/eventanalyzers/mimeeventanalyzer.h
-@@ -39,7 +39,7 @@ private:
- void handleData(const char* data, uint32_t length);
- bool isReadyWithStream();
- public:
-- MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
-+ explicit MimeEventAnalyzer(const MimeEventAnalyzerFactory*);
- ~MimeEventAnalyzer();
- };
-
-diff --git a/lib/eventthroughanalyzer.h b/lib/eventthroughanalyzer.h
-index 1b45312..b866402 100644
---- a/lib/eventthroughanalyzer.h
-+++ b/lib/eventthroughanalyzer.h
-@@ -50,7 +50,7 @@ private:
- void handleEnd();
- const char* name() const { return "EventThroughAnalyzer"; }
- public:
-- EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
-+ explicit EventThroughAnalyzer(std::vector<StreamEventAnalyzer*>& e)
- : event(e), datastream(0), result(0), ready(true){}
- ~EventThroughAnalyzer();
- };
-diff --git a/lib/fieldpropertiesdb.cpp b/lib/fieldpropertiesdb.cpp
-index 79264ce..07d5204 100644
---- a/lib/fieldpropertiesdb.cpp
-+++ b/lib/fieldpropertiesdb.cpp
-@@ -291,30 +291,30 @@ FieldPropertiesDb::Private::addEssentialProperties() {
-
- props.typeuri = FieldRegister::datetimeType;
- props.uri = FieldRegister::mtimeFieldName;
-- properties[FieldRegister::mtimeFieldName] = props;
-+ properties[FieldRegister::mtimeFieldName] = FieldProperties(props);
-
- props.typeuri = FieldRegister::integerType;
- props.uri = FieldRegister::sizeFieldName;
-- properties[FieldRegister::sizeFieldName] = props;
-+ properties[FieldRegister::sizeFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::embeddepthFieldName;
-- properties[FieldRegister::embeddepthFieldName] = props;
-+ properties[FieldRegister::embeddepthFieldName] = FieldProperties(props);
-
- props.typeuri = FieldRegister::stringType;
- props.uri = FieldRegister::pathFieldName;
- props.tokenized = false; // should not be tokenized: needed for retrieval
-- properties[FieldRegister::pathFieldName] = props;
-+ properties[FieldRegister::pathFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::filenameFieldName;
- props.tokenized = true;
-- properties[FieldRegister::filenameFieldName] = props;
-+ properties[FieldRegister::filenameFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::mimetypeFieldName;
-- properties[FieldRegister::mimetypeFieldName] = props;
-+ properties[FieldRegister::mimetypeFieldName] = FieldProperties(props);
-
- props.uri = FieldRegister::parentLocationFieldName;
- props.tokenized = false; // should not be tokenized: needed for retrieval
-- properties[FieldRegister::parentLocationFieldName] = props;
-+ properties[FieldRegister::parentLocationFieldName] = FieldProperties(props);
- }
- void
- FieldPropertiesDb::Private::loadProperties(const string& dir) {
-@@ -751,7 +751,7 @@ FieldPropertiesDb::Private::endElementNsSAX2Func(void *ctx,
- void
- FieldPropertiesDb::Private::storeProperties(FieldProperties::Private& p) {
- if (p.uri.size()) {
-- properties[p.uri] = p;
-+ properties[p.uri] = FieldProperties(p);
- }
- p.clear();
- }
-@@ -773,14 +773,14 @@ FieldPropertiesDb::addField(const std::string& key, const std::string& type,
- if (parent.size()) {
- props.parentUris.push_back(parent);
- }
-- p->properties[key] = props;
-+ p->properties[key] = FieldProperties(props);
- }
- void
- FieldPropertiesDb::addField(const std::string& key) {
- FieldProperties::Private props;
- props.uri = key;
- props.typeuri = FieldRegister::stringType;
-- p->properties[key] = props;
-+ p->properties[key] = FieldProperties(props);
- }
- void
- FieldProperties::Private::clear() {
-diff --git a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-index d2a0a72..df3352a 100644
---- a/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-+++ b/lib/helperanalyzers/odfcontenthelperanalyzer.cpp
-@@ -25,7 +25,6 @@
- #include <cstring>
- #include <string>
-
--#include <strigi/analysisresult.h>
- #include <strigi/fieldtypes.h>
- #include "../rdfnamespaces.h"
-
-diff --git a/lib/helperanalyzers/odfmetahelperanalyzer.cpp b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-index 3409707..6b53be0 100644
---- a/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-+++ b/lib/helperanalyzers/odfmetahelperanalyzer.cpp
-@@ -27,7 +27,6 @@
- #include <string>
- #include <iostream>
-
--#include <strigi/analysisresult.h>
- #include <strigi/fieldtypes.h>
- #include "../rdfnamespaces.h"
-
-diff --git a/lib/libstreamanalyzer.pc.cmake b/lib/libstreamanalyzer.pc.cmake
-index bd13339..38c0ccb 100644
---- a/lib/libstreamanalyzer.pc.cmake
-+++ b/lib/libstreamanalyzer.pc.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- prefix=${CMAKE_INSTALL_PREFIX}
- exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
- libdir=${LIB_DESTINATION}
-diff --git a/lib/lineanalyzers/m3ustreamanalyzer.h b/lib/lineanalyzers/m3ustreamanalyzer.h
-index 9033f14..d3fe71d 100644
---- a/lib/lineanalyzers/m3ustreamanalyzer.h
-+++ b/lib/lineanalyzers/m3ustreamanalyzer.h
-@@ -42,7 +42,7 @@ private:
- std::string constructAbsolutePath(const std::string& relative) const;
-
- public:
-- M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
-+ explicit M3uLineAnalyzer(const M3uLineAnalyzerFactory* f) : factory(f) {}
- ~M3uLineAnalyzer() {}
-
- const char* name() const {
-diff --git a/lib/lineanalyzers/odfmimetypelineanalyzer.h b/lib/lineanalyzers/odfmimetypelineanalyzer.h
-index c53aa19..0bb81aa 100644
---- a/lib/lineanalyzers/odfmimetypelineanalyzer.h
-+++ b/lib/lineanalyzers/odfmimetypelineanalyzer.h
-@@ -40,7 +40,7 @@ public:
-
- class OdfMimeTypeLineAnalyzer : public Strigi::StreamLineAnalyzer {
- public:
-- OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
-+ explicit OdfMimeTypeLineAnalyzer(const OdfMimeTypeLineAnalyzerFactory *factory);
-
- const char* name() const {
- return "OdfMimeTypeLineAnalyzer";
-diff --git a/lib/lineeventanalyzer.h b/lib/lineeventanalyzer.h
-index 5c67eac..ccd9043 100644
---- a/lib/lineeventanalyzer.h
-+++ b/lib/lineeventanalyzer.h
-@@ -57,7 +57,7 @@ private:
- void emitData(const char* data, uint32_t length);
- void initEncoding(std::string encoding);
- public:
-- LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
-+ explicit LineEventAnalyzer(std::vector<StreamLineAnalyzer*>&s);
- ~LineEventAnalyzer();
- };
-
-diff --git a/lib/logging.h b/lib/logging.h
-index 8a42795..c9e34c6 100644
---- a/lib/logging.h
-+++ b/lib/logging.h
-@@ -44,4 +44,4 @@
- #define slog(x) (void)
- #endif
-
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/lib/rdfnamespaces.h b/lib/rdfnamespaces.h
-index 9aad41d..aa35714 100644
---- a/lib/rdfnamespaces.h
-+++ b/lib/rdfnamespaces.h
-@@ -18,8 +18,8 @@
- * Boston, MA 02110-1301, USA.
- */
-
--#ifndef RDFNAMESAPCES
--#define RDFNAMESPACES
-+#ifndef RDFNAMESPACES_H
-+#define RDFNAMESPACES_H
-
- // This is a list of the most often encountered rdf namespaces used by analyzers
- // For internal use ONLY and should not be installed
-diff --git a/lib/saxeventanalyzer.h b/lib/saxeventanalyzer.h
-index 3bb9101..b5eec45 100644
---- a/lib/saxeventanalyzer.h
-+++ b/lib/saxeventanalyzer.h
-@@ -40,7 +40,7 @@ private:
- void handleData(const char* data, uint32_t length);
- bool isReadyWithStream();
- public:
-- SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
-+ explicit SaxEventAnalyzer(std::vector<StreamSaxAnalyzer*>&s);
- ~SaxEventAnalyzer();
- };
-
-diff --git a/lib/throughanalyzers/oggthroughanalyzer.h b/lib/throughanalyzers/oggthroughanalyzer.h
-index c28853a..c3530a1 100644
---- a/lib/throughanalyzers/oggthroughanalyzer.h
-+++ b/lib/throughanalyzers/oggthroughanalyzer.h
-@@ -35,7 +35,7 @@ private:
- Strigi::AnalysisResult* indexable;
- const OggThroughAnalyzerFactory* factory;
- public:
-- OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit OggThroughAnalyzer(const OggThroughAnalyzerFactory* f) :factory(f) {}
- ~OggThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult*);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
-diff --git a/lib/xmlparser/xmlstream.h b/lib/xmlparser/xmlstream.h
-index 083e55e..6b48eb5 100644
---- a/lib/xmlparser/xmlstream.h
-+++ b/lib/xmlparser/xmlstream.h
-@@ -35,7 +35,7 @@ private:
- class Private;
- Private* p;
- public:
-- XMLStream(const std::string& xml);
-+ explicit XMLStream(const std::string& xml);
- ~XMLStream();
- void setFromAttribute(bool&, const char*);
- void setFromAttribute(int&, const char*);
-@@ -82,7 +82,7 @@ public:
- std::list<SimpleNode> nodes;
- std::string text;
-
-- SimpleNode(const std::string& xml);
-+ explicit SimpleNode(const std::string& xml);
- };
-
-
-diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
-index 25e2a9a..f219912 100644
---- a/plugins/endplugins/ffmpegendanalyzer.cpp
-+++ b/plugins/endplugins/ffmpegendanalyzer.cpp
-@@ -377,7 +377,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- ar.addValue(factory->typeProperty, NFO "Video");
- }
-
-- for(uint32_t i=0; i<fc->nb_streams; i++) {
-+ for(uint32_t i=0; i<fc->nb_streams; ++i) {
- const AVStream &stream = *fc->streams[i];
- const AVCodecContext &codec = *stream.codec;
-
-@@ -394,9 +394,9 @@ FFMPEGEndAnalyzer::analyze(AnalysisResult& ar, ::InputStream* in) {
- }
-
- #if (LIBAVUTIL_VERSION_MAJOR < 51)
-- //FIXME we must stop using the deprecated fuction av_metadata_get and use
-+ //FIXME we must stop using the deprecated function av_metadata_get and use
- // av_dict_get once we are able to detect the version of FFMpeg being used
-- // using version macros. same goes for all occurences of this function.
-+ // using version macros. same goes for all occurrences of this function.
- AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0);
- #else
- AVDictionaryEntry *entry = av_dict_get(stream.metadata, "language", NULL, 0);
-diff --git a/plugins/eventplugins/SHA1.h b/plugins/eventplugins/SHA1.h
-index 47c2558..d78bbfc 100644
---- a/plugins/eventplugins/SHA1.h
-+++ b/plugins/eventplugins/SHA1.h
-@@ -115,10 +115,7 @@
- #define SHA1_WIPE_VARIABLES
- #endif
-
--#if defined(SHA1_HAS_TCHAR)
--#include <tchar.h>
--#else
--#ifdef _MSC_VER
-+#if defined(SHA1_HAS_TCHAR) || defined(_MSC_VER)
- #include <tchar.h>
- #else
- #ifndef TCHAR
-@@ -136,7 +133,6 @@
- #define _sntprintf snprintf
- #endif
- #endif
--#endif
-
- // Fallback, if no 64-bit support
- #ifndef _fseeki64
-diff --git a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-index 6e0ea36..17738b2 100644
---- a/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-+++ b/plugins/indexers/cluceneindexer/cluceneindexreader.cpp
-@@ -310,11 +310,11 @@ CLuceneIndexReader::Private::createSingleFieldQuery(const string& field,
- q = _CLNEW TermQuery(t);
- break;
- case Strigi::Query::Contains:
-- t = createWildCardTerm(fieldname.c_str(), "*" + val + "*");
-+ t = createWildCardTerm(fieldname.c_str(), '*' + val + '*');
- q = _CLNEW WildcardQuery(t);
- break;
- case Strigi::Query::StartsWith:
-- t = createWildCardTerm(fieldname.c_str(), val + "*");
-+ t = createWildCardTerm(fieldname.c_str(), val + '*');
- q = _CLNEW WildcardQuery(t);
- break;
- case Strigi::Query::Equals:
-diff --git a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-index 8658180..b340db3 100644
---- a/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-+++ b/plugins/indexers/cluceneindexer/cluceneindexwriter.cpp
-@@ -270,7 +270,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry,
- }
- {
- // delete all deeper nested files
-- wstring v = utf8toucs2(entry+"/");
-+ wstring v = utf8toucs2(entry + '/');
- Term* t = _CLNEW Term(parentlocation(), v.c_str());
- PrefixFilter* filter = _CLNEW PrefixFilter(t);
- BitSet* b = filter->bits(reader);
-@@ -372,58 +372,6 @@ CLuceneIndexWriter::cleanUp() {
- if (!locked) {
- return;
- }
-- /*
-- //this is a hack and will not work with new versions of the index..
-- //furthermore, segmentinfos is a private class.
-- lucene::index::SegmentInfos infos;
-- try {
-- //Have SegmentInfos read the segments file in directory
-- infos.read(directory);
-- } catch(...) {
-- lock->release();
-- return; //todo: this may suggest an error...
-- }
-- lock->release();
--
-- int i;
-- set<string> segments;
-- for (i = 0; i < infos.size(); i++) {
-- lucene::index::SegmentInfo* info = infos.info(i);
-- segments.insert(info->name);
-- }
--
-- char** files = directory->list();
-- char tmp[CL_MAX_PATH];
-- for (i = 0; files[i] != NULL; ++i) {
-- char* file = files[i];
--
-- int fileLength = strlen(file);
-- if ( fileLength < 6 ) {
-- continue;
-- }
--
-- if (strncmp(file,"segments", 8) == 0
-- || strncmp(file, "deletable", 9) == 0) {
-- continue;
-- }
-- if (!isLuceneFile(file)) {
-- continue;
-- }
--
-- strcpy(tmp, file);
-- tmp[fileLength-4] = '\0';
--
-- if (segments.find(tmp) != segments.end()) {
-- continue;
-- }
--
-- directory->deleteFile(file, false);
-- }
-- for (i = 0; files[i] != NULL; i++) {
-- _CLDELETE_CaARRAY(files[i]);
-- }
-- _CLDELETE_ARRAY(files);
-- */
- }
-
- void
-diff --git a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-index 2e428a2..d39505f 100644
---- a/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-+++ b/plugins/indexers/cluceneindexer/jsgzipcompressstream.cpp
-@@ -17,8 +17,8 @@
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
--#include <CLucene/StdHeader.h>
- #include "jsgzipcompressstream.h"
-+#include <CLucene/StdHeader.h>
- #include <CLucene/util/jstreamsconfig.h>
- #include <zlib.h>
-
-diff --git a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-index 9b1ff75..836c653 100644
---- a/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-+++ b/plugins/indexers/cluceneindexer/tests/CLuceneTest.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/strigiconfig.h>
- #include "compat.h"
- #include "indexpluginloader.h"
-diff --git a/plugins/indexers/cluceneindexer/timeofday.h b/plugins/indexers/cluceneindexer/timeofday.h
-index 7c8bb7e..97a8c41 100644
---- a/plugins/indexers/cluceneindexer/timeofday.h
-+++ b/plugins/indexers/cluceneindexer/timeofday.h
-@@ -1,22 +1,23 @@
--/*
--* Defines gettimeofday
--*
--* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
--*
--* This library is free software; you can redistribute it and/or
--* modify it under the terms of the GNU Lesser General Public
--* License as published by the Free Software Foundation; either
--* version 2.1 of the License, or (at your option) any later version.
--*
--* This library is distributed in the hope that it will be useful,
--* but WITHOUT ANY WARRANTY; without even the implied warranty of
--* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--* Lesser General Public License for more details.
--*
--* You should have received a copy of the GNU Lesser General Public
--* License along with this library; if not, write to the Free Software
--* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--*/
-+/**
-+ * Defines gettimeofday
-+ *
-+ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; see the file COPYING. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
-
- #include "config.h"
- #include <errno.h>
-diff --git a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-index 0274329..8e20847 100644
---- a/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-+++ b/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
-@@ -476,8 +476,8 @@ CLuceneIndexReader::getDocuments(const std::vector<std::string>& fullFields,
- doc.resize(fullFields.size());
-
- const Document::FieldsType& fields = *d.getFields();
-- for ( Document::FieldsType::const_iterator itr = fields.begin();
-- itr != fields.end(); itr++ ) {
-+ for (Document::FieldsType::const_iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- Field* field = *itr;
- string name(wchartoutf8(field->name()));
- for (uint j = 0; j < fullFields.size(); ++j) {
-@@ -546,8 +546,8 @@ CLuceneIndexReader::getHits(const Strigi::Query& q,
- doc.resize(fields.size());
-
- const Document::FieldsType fields = *d->getFields();
-- for ( Document::FieldsType::const_iterator itr = fields.begin();
-- itr != fields.end(); itr++ ) {
-+ for (Document::FieldsType::const_iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- Field* field = *itr;
-
- string name(wchartoutf8(field->name()));
-diff --git a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-index 3ba6eeb..b0a9ff7 100644
---- a/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-+++ b/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
-@@ -229,7 +229,7 @@ CLuceneIndexWriter::deleteEntry(const string& entry, lucene::index::IndexWriter*
- }
- {
- // delete all deeper nested files
-- wstring v = utf8toucs2(entry+"/");
-+ wstring v = utf8toucs2(entry + '/');
- Term* t(_CLNEW Term(parentlocation(), v.c_str()));
- PrefixFilter* filter = _CLNEW PrefixFilter(t);
- BitSet* b = filter->bits(reader);
-@@ -248,7 +248,7 @@ void
- CLuceneIndexWriter::deleteAllEntries() {
- lucene::index::IndexReader* reader = manager->checkReader();
- if ( reader != NULL ){
-- for ( int32_t i=0;i<reader->maxDoc();i++ ){
-+ for ( int32_t i=0;i<reader->maxDoc(); ++i) {
- reader->deleteDocument(i);
- }
- reader->flush();
-diff --git a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-index e2b4e1c..5937d3c 100644
---- a/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-+++ b/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
-@@ -48,9 +48,8 @@ t2a(const TCHAR* t) {
- void
- docdump(Document* doc) {
- Document::FieldsType fields = doc->getFields();
-- for ( Document::FieldsType::iterator itr = fields.begin();
-- itr != fields.end();
-- itr++ ){
-+ for (Document::FieldsType::iterator itr = fields.begin();
-+ itr != fields.end(); ++itr) {
- TCHAR* s = (*itr)->toString();
- printf("%s\n", t2a(s).c_str());
- _CLDELETE_CARRAY(s);
-diff --git a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-index f5e1b7f..19d69b7 100644
---- a/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-+++ b/plugins/indexers/clucenengindexer/tests/CLuceneTest.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/strigiconfig.h>
- #include "indexpluginloader.h"
- #include "indexmanager.h"
-diff --git a/plugins/indexers/clucenengindexer/timeofday.h b/plugins/indexers/clucenengindexer/timeofday.h
-index 7c8bb7e..97a8c41 100644
---- a/plugins/indexers/clucenengindexer/timeofday.h
-+++ b/plugins/indexers/clucenengindexer/timeofday.h
-@@ -1,22 +1,23 @@
--/*
--* Defines gettimeofday
--*
--* Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
--*
--* This library is free software; you can redistribute it and/or
--* modify it under the terms of the GNU Lesser General Public
--* License as published by the Free Software Foundation; either
--* version 2.1 of the License, or (at your option) any later version.
--*
--* This library is distributed in the hope that it will be useful,
--* but WITHOUT ANY WARRANTY; without even the implied warranty of
--* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--* Lesser General Public License for more details.
--*
--* You should have received a copy of the GNU Lesser General Public
--* License along with this library; if not, write to the Free Software
--* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--*/
-+/**
-+ * Defines gettimeofday
-+ *
-+ * Based on timeval.h Copyright (c) by Wu Yongwei <wuyongwei@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; see the file COPYING. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
-
- #include "config.h"
- #include <errno.h>
-diff --git a/plugins/lineplugins/deblineanalyzer.h b/plugins/lineplugins/deblineanalyzer.h
-index 25b40b0..e2b3cd9 100644
---- a/plugins/lineplugins/deblineanalyzer.h
-+++ b/plugins/lineplugins/deblineanalyzer.h
-@@ -36,7 +36,7 @@ private:
- unsigned int finished;
- Strigi::AnalysisResult* result;
- public:
-- DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
-+ explicit DebLineAnalyzer(const DebLineAnalyzerFactory* f) : factory(f) {}
- };
-
- class DebLineAnalyzerFactory : public Strigi::StreamLineAnalyzerFactory {
-diff --git a/plugins/throughplugins/authroughanalyzer.h b/plugins/throughplugins/authroughanalyzer.h
-index 18ae6d6..75335d1 100644
---- a/plugins/throughplugins/authroughanalyzer.h
-+++ b/plugins/throughplugins/authroughanalyzer.h
-@@ -36,7 +36,7 @@ private:
- Strigi::AnalysisResult* analysisResult;
- const AuThroughAnalyzerFactory* factory;
- public:
-- AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit AuThroughAnalyzer(const AuThroughAnalyzerFactory* f) :factory(f) {}
- ~AuThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult* i);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
-diff --git a/plugins/throughplugins/dummy.cpp b/plugins/throughplugins/dummy.cpp
-index 2bfadc3..73d9ffb 100644
---- a/plugins/throughplugins/dummy.cpp
-+++ b/plugins/throughplugins/dummy.cpp
-@@ -1,3 +1,22 @@
-+/* This file is part of Strigi Desktop Search
-+ *
-+ * Copyright (C) 2008 Sebastian Trueg<sebastian@trueg.de>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Library General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Library General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Library General Public License
-+ * along with this library; see the file COPYING.LIB. If not, write to
-+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301, USA.
-+ */
- #include <strigi/streamthroughanalyzer.h>
- #include <strigi/analyzerplugin.h>
-
-diff --git a/plugins/throughplugins/pcxthroughanalyzer.h b/plugins/throughplugins/pcxthroughanalyzer.h
-index a16fb5e..cde824a 100644
---- a/plugins/throughplugins/pcxthroughanalyzer.h
-+++ b/plugins/throughplugins/pcxthroughanalyzer.h
-@@ -30,7 +30,7 @@ private:
- Strigi::AnalysisResult* indexable;
- const PcxThroughAnalyzerFactory* factory;
- public:
-- PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
-+ explicit PcxThroughAnalyzer(const PcxThroughAnalyzerFactory* f) :factory(f) {}
- ~PcxThroughAnalyzer() {}
- void setIndexable(Strigi::AnalysisResult*);
- Strigi::InputStream *connectInputStream(Strigi::InputStream *in);
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch b/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
deleted file mode 100644
index a114d029c..000000000
--- a/source/l/strigi/libstreamanalyzer-0004-ffmpeg-Rename-mutex-to-g_mutex.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From ae11c0b24fd3be995185ebdc5a5bbbb92ff30843 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Tue, 10 Sep 2013 17:50:56 +0300
-Subject: [PATCH 4/5] ffmpeg: Rename `mutex' to `g_mutex'.
-
-std::mutex is an actual type in C++11 and is implemented by libc++. The
-build was failing because references to `mutex' in lockmgr were ambiguous,
-as both the mutex variable defined above and std::mutex (because of the
-`using namespace std' statement) were found.
----
- plugins/endplugins/ffmpegendanalyzer.cpp | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/plugins/endplugins/ffmpegendanalyzer.cpp b/plugins/endplugins/ffmpegendanalyzer.cpp
-index f219912..eaed07f 100644
---- a/plugins/endplugins/ffmpegendanalyzer.cpp
-+++ b/plugins/endplugins/ffmpegendanalyzer.cpp
-@@ -56,22 +56,22 @@ public:
- signed char analyze(AnalysisResult& idx, ::InputStream* in);
- };
-
--STRIGI_MUTEX_DEFINE(mutex);
-+STRIGI_MUTEX_DEFINE(g_mutex);
-
- static int
- lockmgr(void **mtx, enum AVLockOp op) {
- // pre-allocating a single mutex is the only way to get it to work without changing strigi_thread.h
-- assert( (*mtx == &mutex) || (op == AV_LOCK_CREATE) );
-+ assert( (*mtx == &g_mutex) || (op == AV_LOCK_CREATE) );
- switch(op) {
- case AV_LOCK_CREATE:
-- *mtx = &mutex;
-- return !!STRIGI_MUTEX_INIT(&mutex);
-+ *mtx = &g_mutex;
-+ return !!STRIGI_MUTEX_INIT(&g_mutex);
- case AV_LOCK_OBTAIN:
-- return !!STRIGI_MUTEX_LOCK(&mutex);
-+ return !!STRIGI_MUTEX_LOCK(&g_mutex);
- case AV_LOCK_RELEASE:
-- return !!STRIGI_MUTEX_UNLOCK(&mutex);
-+ return !!STRIGI_MUTEX_UNLOCK(&g_mutex);
- case AV_LOCK_DESTROY:
-- STRIGI_MUTEX_DESTROY(&mutex);
-+ STRIGI_MUTEX_DESTROY(&g_mutex);
- return 0;
- }
- return 1;
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
deleted file mode 100644
index bcbf50bb3..000000000
--- a/source/l/strigi/libstreamanalyzer-0005-use-rpath-only-when-needed.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 82c277bc0264798b291417e675611d7e3bead176 Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Wed, 1 Jan 2014 09:55:46 -0600
-Subject: [PATCH 5/5] use rpath only when needed
-
-cmake code borrowed from soprano
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6dee36b..d5cd1eb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -57,8 +57,13 @@ set(DATA_DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
- # These two options below make it set the RPATH of the installed targets to all
- # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
- # install directory. Alex
-+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
-+list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
-+list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION} )
-+endif()
-
- if(NOT WIN32 AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
- add_definitions(-fPIC)
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch b/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
deleted file mode 100644
index 895c9f7e8..000000000
--- a/source/l/strigi/libstreams-0001-Generate-config.h-after-looking-for-dependencies.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From b82f954e71be45aef152bbf8925a3070b7e4c69a Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Fri, 5 Apr 2013 02:13:31 +0300
-Subject: [PATCH 1/5] Generate config.h after looking for dependencies.
-
-At least lib/config.h.cmake's ICONV_SECOND_ARGUMENT_IS_CONST depends
-on FindIconv.cmake having been called before, otherwise it is always
-undefined.
-
-This fixes a regression introduced in 61a7ffe.
-
-CCMAIL: cgiboudeaux@gmx.com
----
- CMakeLists.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cd95c92..b2d959c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -46,9 +46,6 @@ endif()
- # check for visibility support
- macro_check_gcc_visibility(__STRIGI_HAVE_GCC_VISIBILITY)
-
--# Generate include/strigi/strigiconfig.h and lib/config.h
--include(ConfigureChecks.cmake)
--
- # check for required packages
- find_package(ZLIB)
- set_package_properties(ZLIB PROPERTIES
-@@ -77,6 +74,9 @@ set_package_properties(Threads PROPERTIES
-
- feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
-
-+# Generate include/strigi/strigiconfig.h and lib/config.h
-+include(ConfigureChecks.cmake)
-+
- ##### building and testing #####
- # every directory needs the headers that will be installed
- include_directories(${libstreams_SOURCE_DIR}/include
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch b/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
deleted file mode 100644
index 7179526ff..000000000
--- a/source/l/strigi/libstreams-0002-Reduce-noise-in-analysis-tools-complain-about-resour.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 314f9d8f4fc50323e9f670ef54f0263cec08abc3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= <omerusta@gmail.com>
-Date: Tue, 9 Apr 2013 04:01:23 +0300
-Subject: [PATCH 2/5] Reduce noise in analysis tools complain about resource
- leak
-
-Cppcheck gives false alerts. This will stop it complaining about
-resource leakage.
-Thanks to mpyne for review of patch
-
-REVIEW: 109920
----
- lib/fileinputstream.cpp | 4 ++--
- lib/skippingfileinputstream.cpp | 4 ++--
- lib/skippingfileinputstream2.cpp | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/lib/fileinputstream.cpp b/lib/fileinputstream.cpp
-index 2801d1b..820b831 100644
---- a/lib/fileinputstream.cpp
-+++ b/lib/fileinputstream.cpp
-@@ -39,8 +39,8 @@ FileInputStream::FileInputStream(const char* filepath, int32_t buffersize) {
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath, buffersize);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath, buffersize);
- }
- FileInputStream::FileInputStream(FILE* file, const char* filepath,
- int32_t buffersize) {
-diff --git a/lib/skippingfileinputstream.cpp b/lib/skippingfileinputstream.cpp
-index dcb4d32..9759c54 100644
---- a/lib/skippingfileinputstream.cpp
-+++ b/lib/skippingfileinputstream.cpp
-@@ -38,8 +38,8 @@ SkippingFileInputStream::SkippingFileInputStream(const char* filepath) {
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath);
- }
- void
- SkippingFileInputStream::open(FILE* f, const char* path) {
-diff --git a/lib/skippingfileinputstream2.cpp b/lib/skippingfileinputstream2.cpp
-index dc618f4..dcfcef2 100644
---- a/lib/skippingfileinputstream2.cpp
-+++ b/lib/skippingfileinputstream2.cpp
-@@ -36,8 +36,8 @@ SkippingFileInputStream2::SkippingFileInputStream2(const char* filepath, int32_t
- m_status = Error;
- return;
- }
-- FILE* f = fopen(filepath, "rb");
-- open(f, filepath, buffersize);
-+ file = fopen(filepath, "rb");
-+ open(file, filepath, buffersize);
- }
- SkippingFileInputStream2::SkippingFileInputStream2(FILE* file, const char* filepath,
- int32_t buffersize) {
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch b/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
deleted file mode 100644
index 203286381..000000000
--- a/source/l/strigi/libstreams-0003-Build-fix-for-gcc-4.8.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6fedeb66cc3c59bce24146f079295a1d404c749c Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Sat, 1 Jun 2013 17:59:36 +0200
-Subject: [PATCH 3/5] Build fix for gcc 4.8.
-
----
- include/strigi/bufferedstream.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/strigi/bufferedstream.h b/include/strigi/bufferedstream.h
-index 563da8a..05f5500 100644
---- a/include/strigi/bufferedstream.h
-+++ b/include/strigi/bufferedstream.h
-@@ -34,7 +34,7 @@ namespace Strigi {
- * BufferedStream will do the rest.
- */
- template <class T>
--class BufferedStream : public StreamBase<T> {
-+class STREAMS_EXPORT BufferedStream : public StreamBase<T> {
- private:
- StreamBuffer<T> buffer;
- bool finishedWritingToBuffer;
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch b/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
deleted file mode 100644
index 57036e627..000000000
--- a/source/l/strigi/libstreams-0004-Fix-Krazy-issues.patch
+++ /dev/null
@@ -1,276 +0,0 @@
-From 8aa2b21fe596ddfe9de250190ede78ee34f19d2d Mon Sep 17 00:00:00 2001
-From: Jos van den Oever <jos@vandenoever.info>
-Date: Fri, 12 Jul 2013 13:04:44 +0200
-Subject: [PATCH 4/5] Fix Krazy issues.
-
----
- .krazy | 3 +++
- cmake/FindIconv.cmake | 19 +++++++++++++++++++
- include/strigi/archivereader.h | 6 +++---
- include/strigi/bz2inputstream.h | 2 +-
- include/strigi/dataeventinputstream.h | 2 +-
- include/strigi/kmpsearcher.h | 2 +-
- include/strigi/lzmainputstream.h | 2 +-
- include/strigi/stringterminatedsubstream.h | 2 +-
- include/strigi/substreamprovider.h | 2 +-
- lib/libstreams.pc.cmake | 19 +++++++++++++++++++
- lib/signatureinputstream.h | 2 +-
- lib/strigiconfig.cpp | 2 +-
- lib/stringreader.h | 2 --
- tests/api/ArchiveReaderTest.cpp | 4 ++--
- tests/sharedtestcode/unknownsizestream.h | 4 ++--
- 15 files changed, 56 insertions(+), 17 deletions(-)
- create mode 100644 .krazy
-
-diff --git a/.krazy b/.krazy
-new file mode 100644
-index 0000000..4822bdd
---- /dev/null
-+++ b/.krazy
-@@ -0,0 +1,3 @@
-+# see http://techbase.kde.org/Development/Tutorials/Code_Checking#Controlling_Krazy_on_the_EBN for an explanation of this file
-+EXCLUDE syscalls,typedefs
-+IGNORESUBS tests/data
-diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
-index ce40ab2..fd5a3af 100644
---- a/cmake/FindIconv.cmake
-+++ b/cmake/FindIconv.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2006 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- # - Try to find Iconv
- # Once done this will define
- #
-diff --git a/include/strigi/archivereader.h b/include/strigi/archivereader.h
-index 823a432..ffe3f22 100644
---- a/include/strigi/archivereader.h
-+++ b/include/strigi/archivereader.h
-@@ -38,7 +38,7 @@ public:
- * @brief Opens a stream for the given url.
- *
- * What is meant by @p url will depend on context. In the context of an
-- * archive with a file system-like directory stucture, it will be the path
-+ * archive with a file system-like directory structure, it will be the path
- * to the file relative the root of the archive (eg: /foo/bar).
- *
- * @param url unique name of or path to an item
-@@ -49,7 +49,7 @@ public:
- * @brief Gets information about a given url
- *
- * What is meant by @p url will depend on context. In the context of an
-- * archive with a file system-like directory stucture, it will be the path
-+ * archive with a file system-like directory structure, it will be the path
- * to the file relative the root of the archive (eg: /foo/bar).
- *
- * @param url unique name of or path to an item
-@@ -89,7 +89,7 @@ public:
- * @param e a vector containing information about each
- * item in the directory
- */
-- DirLister(Private* p);
-+ explicit DirLister(Private* p);
- /**
- * @brief Copy constructor
- */
-diff --git a/include/strigi/bz2inputstream.h b/include/strigi/bz2inputstream.h
-index aa40e88..09e566a 100644
---- a/include/strigi/bz2inputstream.h
-+++ b/include/strigi/bz2inputstream.h
-@@ -30,7 +30,7 @@ private:
- Private* const p;
- int32_t fillBuffer(char* start, int32_t space);
- public:
-- BZ2InputStream(InputStream* input);
-+ explicit BZ2InputStream(InputStream* input);
- ~BZ2InputStream();
- static bool checkHeader(const char* data, int32_t datasize);
- };
-diff --git a/include/strigi/dataeventinputstream.h b/include/strigi/dataeventinputstream.h
-index 05368e2..c8205c4 100644
---- a/include/strigi/dataeventinputstream.h
-+++ b/include/strigi/dataeventinputstream.h
-@@ -48,7 +48,7 @@ public:
- * When handleEnd is called, it is guaranteed that each
- * element in the input stream has been passed in exactly
- * one call to this function, and that the calls happened
-- * in the same order as the the data occurred in the
-+ * in the same order as the data occurred in the
- * InputStream.
- *
- * You should not call this function yourself. It forms
-diff --git a/include/strigi/kmpsearcher.h b/include/strigi/kmpsearcher.h
-index e3ec19d..28d049b 100644
---- a/include/strigi/kmpsearcher.h
-+++ b/include/strigi/kmpsearcher.h
-@@ -39,7 +39,7 @@ private:
- int32_t maxlen;
- public:
- KmpSearcher() :table(0) { }
-- KmpSearcher(const std::string& query);
-+ explicit KmpSearcher(const std::string& query);
- ~KmpSearcher() {
- if (table) {
- free(table);
-diff --git a/include/strigi/lzmainputstream.h b/include/strigi/lzmainputstream.h
-index fa7cf87..530edc3 100644
---- a/include/strigi/lzmainputstream.h
-+++ b/include/strigi/lzmainputstream.h
-@@ -30,7 +30,7 @@ private:
- Private* const p;
- int32_t fillBuffer(char* start, int32_t space);
- public:
-- LZMAInputStream(InputStream* input);
-+ explicit LZMAInputStream(InputStream* input);
- ~LZMAInputStream();
- static bool checkHeader(const char* data, int32_t datasize);
- };
-diff --git a/include/strigi/stringterminatedsubstream.h b/include/strigi/stringterminatedsubstream.h
-index 9f96bcc..fabb40d 100644
---- a/include/strigi/stringterminatedsubstream.h
-+++ b/include/strigi/stringterminatedsubstream.h
-@@ -30,7 +30,7 @@ namespace Strigi {
- *
- * This class stops reading data when either the end of the
- * underlying stream is reacher, or a given terminator is encountered
-- * in the the stream.
-+ * in the stream.
- */
- class STREAMS_EXPORT StringTerminatedSubStream : public InputStream {
- private:
-diff --git a/include/strigi/substreamprovider.h b/include/strigi/substreamprovider.h
-index 21ce324..3036d32 100644
---- a/include/strigi/substreamprovider.h
-+++ b/include/strigi/substreamprovider.h
-@@ -88,7 +88,7 @@ public:
- *
- * @param input the inputstream that will be split into substreams
- */
-- SubStreamProvider(InputStream *input)
-+ explicit SubStreamProvider(InputStream *input)
- : m_status(Ok)
- , m_input(input)
- , m_entrystream(0)
-diff --git a/lib/libstreams.pc.cmake b/lib/libstreams.pc.cmake
-index 8259b46..ce1205d 100644
---- a/lib/libstreams.pc.cmake
-+++ b/lib/libstreams.pc.cmake
-@@ -1,3 +1,22 @@
-+# This file is part of Strigi Desktop Search
-+#
-+# Copyright (C) 2007 Jos van den Oever <jos@vandenoever.info>
-+#
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Library General Public
-+# License as published by the Free Software Foundation; either
-+# version 2 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Library General Public License for more details.
-+#
-+# You should have received a copy of the GNU Library General Public License
-+# along with this library; see the file COPYING.LIB. If not, write to
-+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+# Boston, MA 02110-1301, USA.
-+
- prefix=${CMAKE_INSTALL_PREFIX}
- exec_prefix=${CMAKE_INSTALL_PREFIX}/bin
- libdir=${LIB_DESTINATION}
-diff --git a/lib/signatureinputstream.h b/lib/signatureinputstream.h
-index 7302c75..63a2f0d 100644
---- a/lib/signatureinputstream.h
-+++ b/lib/signatureinputstream.h
-@@ -30,7 +30,7 @@ namespace Strigi {
- *
- * This class stops reading data when either the end of the
- * underlying stream is reacher, or a given terminator is encountered
-- * in the the stream.
-+ * in the stream.
- */
- class SignatureInputStream : public InputStream {
- private:
-diff --git a/lib/strigiconfig.cpp b/lib/strigiconfig.cpp
-index 6607ebd..9d9d8f9 100644
---- a/lib/strigiconfig.cpp
-+++ b/lib/strigiconfig.cpp
-@@ -32,4 +32,4 @@ namespace Strigi {
- const char* versionString() {
- return STRIGI_VERSION_STRING;
- }
--}
-\ No newline at end of file
-+}
-diff --git a/lib/stringreader.h b/lib/stringreader.h
-index 4d60b67..1a57c5c 100644
---- a/lib/stringreader.h
-+++ b/lib/stringreader.h
-@@ -20,11 +20,9 @@
- #ifndef STRINGREADER_H
- #define STRINGREADER_H
-
--#ifdef __GNUC__
- #error stringreader.h is deprecated. Include stringstream.h instead.
- #error StringReader has been renamed to StringStream
- #error Use StringInputStream for StringStream<char>
- #error Use StringReader for StringStream<wchar_t>
--#endif
-
- #endif
-diff --git a/tests/api/ArchiveReaderTest.cpp b/tests/api/ArchiveReaderTest.cpp
-index ffb7cd7..6d38050 100644
---- a/tests/api/ArchiveReaderTest.cpp
-+++ b/tests/api/ArchiveReaderTest.cpp
-@@ -50,7 +50,7 @@ test2(const char* path) {
- EntryInfo e;
- while (dl.nextEntry(e)) {
- string filepath(path);
-- filepath += "/";
-+ filepath += '/';
- filepath += e.filename;
- if (e.type == EntryInfo::File) {
- test1(filepath.c_str());
-@@ -83,7 +83,7 @@ walkdirectories(const char* path, void (*callback)(const char*)) {
- if (S_ISREG(dirstat.st_mode)) {
- callback(filepath.c_str());
- } else if (S_ISDIR(dirstat.st_mode)) {
-- filepath += "/";
-+ filepath += '/';
- walkdirectories(filepath.c_str(), callback);
- }
- }
-diff --git a/tests/sharedtestcode/unknownsizestream.h b/tests/sharedtestcode/unknownsizestream.h
-index bde063e..73d3d49 100644
---- a/tests/sharedtestcode/unknownsizestream.h
-+++ b/tests/sharedtestcode/unknownsizestream.h
-@@ -17,8 +17,8 @@
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
--#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM
--#define STRIGI_UNKNOWNSIZEINPUTSTREAM
-+#ifndef STRIGI_UNKNOWNSIZEINPUTSTREAM_H
-+#define STRIGI_UNKNOWNSIZEINPUTSTREAM_H
-
- #include <strigi/strigiconfig.h>
- #include <strigi/streambase.h>
---
-1.8.4.2
-
diff --git a/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch b/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
deleted file mode 100644
index 9a79c13bb..000000000
--- a/source/l/strigi/libstreams-0005-use-rpath-only-when-needed.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f552becab291908030f8cc27de83155eb182c7ba Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Wed, 1 Jan 2014 09:53:44 -0600
-Subject: [PATCH 5/5] use rpath only when needed
-
-cmake code borrowed from soprano
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b2d959c..a3948c2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -34,8 +34,13 @@ set(INCLUDE_DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
- # These two options below make it set the RPATH of the installed targets to all
- # RPATH directories outside the current CMAKE_BINARY_DIR and also the library
- # install directory. Alex
-+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemPlatformLibDir)
-+list(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCLibDir)
-+list(FIND CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "${LIB_DESTINATION}" _isSystemCxxLibDir)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+if("${_isSystemPlatformLibDir}" STREQUAL "-1" AND "${_isSystemCLibDir}" STREQUAL "-1" AND "${_isSystemCxxLibDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH ${LIB_DESTINATION})
-+endif()
-
- if(NOT MSVC AND NOT MINGW AND NOT CMAKE_SYSTEM MATCHES "SunOS-5*.")
- add_definitions(-fPIC)
---
-1.8.4.2
-
diff --git a/source/l/strigi/slack-desc b/source/l/strigi/slack-desc
deleted file mode 100644
index adc25f5ff..000000000
--- a/source/l/strigi/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler-----------------------------------------------------|
-strigi: strigi (fast and light desktop search engine)
-strigi:
-strigi: Strigi is a fast and light desktop search engine. It can handle a
-strigi: large range of file formats such as emails, office documents, media
-strigi: files, and file archives. It can index files that are embedded in
-strigi: other files. This means email attachments and files in zip files
-strigi: are searchable as if they were normal files on your harddisk.
-strigi:
-strigi: Homepage: http://strigi.sourceforge.net/
-strigi:
-strigi:
diff --git a/source/l/strigi/strigi.SlackBuild b/source/l/strigi/strigi.SlackBuild
deleted file mode 100755
index 55c44421a..000000000
--- a/source/l/strigi/strigi.SlackBuild
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2018 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=strigi
-VERSION=${VERSION:-0.7.8}
-BUILD=${BUILD:-4}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
-if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=gnu++98"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2 -std=gnu++98"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC -std=gnu++98"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -std=gnu++98"
- LIBDIRSUFFIX=""
-else
- SLKCFLAGS="-O2 -std=gnu++98"
- LIBDIRSUFFIX=""
-fi
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-( cd libstreamanalyzer
-zcat $CWD/libstreamanalyzer*.patch.gz | patch -p1 --verbose || exit 1
-)
-( cd libstreams
-zcat $CWD/libstreams*.patch.gz | patch -p1 --verbose || exit 1
-)
-echo "target_link_libraries(index2dump streamanalyzer clucene-shared)" >> libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/CMakeLists.txt
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-mkdir -p build
-cd build
- QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
- PATH=$QTDIR/bin:$PATH \
- cmake \
- -DENABLE_INOTIFY:BOOL=ON \
- -DENABLE_DBUS:BOOL=ON \
- -DENABLE_EXPAT:BOOL=ON \
- -DENABLE_FFMPEG:BOOL=OFF \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_SUFFIX=${LIBDIRSUFFIX} \
- ..
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-cd -
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING NEWS README TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/l/strigi/strigi.info b/source/l/strigi/strigi.info
deleted file mode 100644
index 2301f49b5..000000000
--- a/source/l/strigi/strigi.info
+++ /dev/null
@@ -1,4 +0,0 @@
-PRGNAM="strigi"
-VERSION="0.5.9"
-HOMEPAGE="http://strigi.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/strigi/strigi-0.5.9.tar.bz2"
diff --git a/source/l/vid.stab/fetch-vid.stab.sh b/source/l/vid.stab/fetch-vid.stab.sh
new file mode 100755
index 000000000..04becb61f
--- /dev/null
+++ b/source/l/vid.stab/fetch-vid.stab.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=vid.stab
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/georgmartius/vid.stab.git
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/l/vid.stab/slack-desc b/source/l/vid.stab/slack-desc
new file mode 100644
index 000000000..54a2d04d9
--- /dev/null
+++ b/source/l/vid.stab/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+vid.stab: vid.stab (video stabilization library)
+vid.stab:
+vid.stab: Vidstab is a video stabilization library. A video acquired using a
+vid.stab: hand-held camera or a camera mounted on a vehicle typically suffers
+vid.stab: from undesirable shakes and jitters. Activities such as surfing,
+vid.stab: skiing, riding, and walking while shooting videos are especially prone
+vid.stab: to erratic camera shakes. Vidstab targets these video contents to help
+vid.stab: create smoother and more stable videos.
+vid.stab:
+vid.stab: Homepage: http://public.hronopik.de/vid.stab/
+vid.stab:
diff --git a/source/l/vid.stab/vid.stab.SlackBuild b/source/l/vid.stab/vid.stab.SlackBuild
new file mode 100755
index 000000000..12092282b
--- /dev/null
+++ b/source/l/vid.stab/vid.stab.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+# Copyright 2017 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=vid.stab
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DUSE_OMP=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ Changelog Install LICENSE* README* Todo* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/vid.stab/vid.stab.url b/source/l/vid.stab/vid.stab.url
new file mode 100644
index 000000000..b98ec60e9
--- /dev/null
+++ b/source/l/vid.stab/vid.stab.url
@@ -0,0 +1 @@
+https://github.com/georgmartius/vid.stab.git
diff --git a/source/l/xapian-core/xapian-core.SlackBuild b/source/l/xapian-core/xapian-core.SlackBuild
index c3bc72fea..9867e7c3f 100755
--- a/source/l/xapian-core/xapian-core.SlackBuild
+++ b/source/l/xapian-core/xapian-core.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xapian-core
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}