diff --git a/Makefile.am b/Makefile.am
index 548e0f22..b836d805 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,95 +1,92 @@
# Makefile.am - Installer for GnuPG 4 Windows Makefile.
# Copyright (C) 2005, 2008, 2012 g10 Code GmbH
#
# This file is part of GPG4Win.
#
# GPG4Win is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# GPG4Win 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
DISTCHECK_CONFIGURE_FLAGS = --host=i686-w64-mingw32
SUBDIRS = po packages doc src
# find patches -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
EXTRA_DIST = autogen.sh README.GIT ONEWS \
doc/license-page doc/GPLv3 \
build-aux/git-log-footer build-aux/git-log-fix \
patches/glib-2.41.5/01-socket.patch \
patches/glib-2.41.5/02-formatsec.patch \
patches/qtbase/relative-paths.patch \
patches/qtbase/qtbase-mingw-fixes.patch \
patches/qtbase/config-standardpaths.patch \
- patches/qtbase/windowsxp-support.patch \
- patches/qtbase/windowsxp-support-revert.patch \
- patches/qtbase/windowsxp-support-revert-2.patch \
patches/qtwinextras/support-xp.patch \
patches/w32pth-2.0.5/workaround-broken-libtool.patch \
patches/qttools/disable-most-tools.patch \
patches/ki18n/no-tests.patch \
patches/kxmlgui/0002-Make-QDBus-dependency-optional.patch \
patches/kxmlgui/0003-Make-KTextWidgets-optional.patch \
patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch \
patches/kconfigwidgets/0001-Make-QDbus-optional.patch \
patches/kconfigwidgets/0002-Crudely-remove-KF5Auth-depedency.patch \
patches/kiconthemes/0001-Make-DBus-optional.patch \
patches/extra-cmake-modules/0001-Add-convert-utility-support-for-Windows-icons.patch \
patches/kleopatra/0005-Hack-generated-conf-files-for-Crosscompiling.patch \
patches/kleopatra/fix-qt5.6-build.patch \
patches/libgpg-error-1.21/0001-Add-FD_ISSET-replacement-for-Windows.patch \
patches/gpgex-1.0.4/0001-Prefer-kleowrapped-gpgwrapped-binaries.patch \
patches/gpgex-1.0.4/0002-Fix-loop-logic-error-in-new-server-name-detection.patch \
patches/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
patches/gpa-0.9.10/0001-w32-Make-location-of-locale-dir-more-flexible.patch
copy-news:
cp NEWS doc/website/NEWS.last
copy-release: gpg4win-$(VERSION).tar.bz2 installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe
@echo Copying $(VERSION) to $(RELEASEHOST) >&2
@set -e;\
if ssh "$$(echo $(RELEASEHOST)|cut -d: -f -1)" \
test -f "$$(echo $(RELEASEHOST)/gpg4win-$(VERSION).exe|cut -d: -f2-)";\
then echo "This release has already been copied to the server" >&2 ;\
else scp gpg4win-$(VERSION).tar.bz2 \
installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe \
installers/gpg4win-src-$(VERSION).exe $(RELEASEHOST)/ ;\
for f in en de ; do \
scp src/README.$$f.txt \
$(RELEASEHOST)/README-$(VERSION).$$f.txt; \
done;\
fi
dist-hook: gen-ChangeLog
gen_start_date = 2012-03-26T00:00:00
.PHONY: gen-ChangeLog
gen-ChangeLog:
set -e; \
if test -d $(top_srcdir)/.git; then \
(cd $(top_srcdir) && \
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
--amend=build-aux/git-log-fix \
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
diff --git a/packages/packages.current b/packages/packages.current
index 69a7b335..841b86da 100644
--- a/packages/packages.current
+++ b/packages/packages.current
@@ -1,559 +1,559 @@
# packages.current - list of current packages for use with gpg4win -*- sh -*-
#
# The download script processes the statements here to
# actually download the packages. The syntax is trivial:
#
# If the first non whitespace character of a line is #, the line is
# considered a comment. If the first word of a line is "server", the
# rest of the line will be taken as the base URL for following file
# commands. If the first word of a line is "file" the rest of the
# line will be appended to the current base URL (with a / as
# delimiter). The statement "chk" is followed by the SHA1 checksum of
# the last file.
#
# zlib
#
server http://zlib.net
# last-changed: 2017-01-23
# by: ah
# verified: Sig 5ED4 6A67 21D3 6558 7791 E2AA 783F CD8E 58BC AFBA
file zlib-1.2.11.tar.gz
chk c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
#
# GNU
#
server ftp://ftp.gnu.org/pub/gnu
# last-changed: 2017-02-15
# by: ah
# verified: Sig 68D9 4D8A AEEA D48A E7DC 5B90 4F49 4A94 2E46 16C2
file libiconv/libiconv-1.15.tar.gz
chk ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
# last-changed: 2017-02-15
# by: ah
# verified: Sig 4622 25C3 B46F 3487 9FC8 496C D605 848E D7E6 9871
file gettext/gettext-0.19.8.tar.xz
chk 9c1781328238caa1685d7bc7a2e1dcf1c6c134e86b42ed554066734b621bd12f
#
# GLIB
#
# The GTK boyz seem to think that sha256sum files on the server
# magically get them a lot of additional security karma.
#
# And it's plain to see
# You were meant for me
# Yeah I'm your .sig
# Your 21th Century sig
# 21th Century sig, I wanna be your file
#
server http://ftp.gnome.org/pub/gnome/sources/glib/2.41
# last-changed: 2015-06-05
# Latest minor release is 2.45 but 2.41 works for us.
# by: ah
# compared checksum with debian experimental version.
# https://lists.debian.org/debian-experimental-changes/2014/09/msg00182.html
# verified: Sig 3D0E FB95 E7B5 237F 16E8 2258 E352 D5C5 1C50 41D4
file glib-2.41.5.tar.xz
chk e76a6bd1456749bdd05db19a8f0f174e787e612ed443d30cc9cf02237dd58e16
#
# GDK-PIXBUF
#
server http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.30/
# checked: 2015-06-05
# by: ah
# There is a 2.31 series but afaik no security problems with 2.30
# verified: with linuxfromscratch and frugalware checksums
file gdk-pixbuf-2.30.8.tar.xz
chk 4853830616113db4435837992c0aebd94cbb993c44dc55063cee7f72a7bef8be
#
# ATK
#
server http://ftp.gnome.org/pub/gnome/sources/atk/1.32
# checked: 2013-04-29 wk (1.32.0 still the latest in 1.32)
file atk-1.32.0.tar.bz2
chk e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e
server http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32
# checked: 2013-04-29 wk
name atk-1.32.0.zip
file atk_1.32.0-2_win32.zip
chk cadc6d52f2af21996a6dcba7b1fac27ce66721e14d1c4ab21fde7bc9965f5037
# checked: 2013-04-29 wk
name atk-dev-1.32.0.zip
file atk-dev_1.32.0-2_win32.zip
chk 5021d64043d270350d6a8d50b91db691a7421a68ca0bfa4eeb0c8804a176ac44
#
# PANGO
#
server http://ftp.gnome.org/pub/gnome/sources/pango/1.29
# fixme: 2013-04-29 wk - There is a 1.29.5 but no 1.29.5 binaries
# What shall we do: Update to 1.32? There are no
# 1.32 binaries either.
file pango-1.29.4.tar.bz2
chk f15deecaecf1e9dcb7db0e4947d12b5bcff112586434f8d30a5afd750747ff2b
server http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.29
name pango-1.29.4.zip
file pango_1.29.4-1_win32.zip
chk e1b865ae2e4054388c598f92b34593b3d24d7fd15e6308c8926ee634717c21ce
name pango-dev-1.29.4.zip
file pango-dev_1.29.4-1_win32.zip
chk 0d7fb255e65ed4bd43acedab4405986e4877b87ba8227d5fa22b38330485e3cb
#
# CAIRO
#
server http://cairographics.org/releases
# checked: 2013-04-29 wk - 1.10.2 is the latest in the 1.10 series.
file cairo-1.10.2.tar.gz
chk 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-07-16 ah most recent package on that server is from
# 2012-09-27 TODO -> Move to another source / source build of those
# dependencies
# checked: 2013-04-29 wk
name cairo-1.10.2.zip
file cairo_1.10.2-2_win32.zip
chk e6c361ec1df4ccb23edbe5b68db16329d563a19eeee7fa70d583dda3d2358f4e
name cairo-dev-1.10.2.zip
file cairo-dev_1.10.2-2_win32.zip
chk b86f875bf776bbf578e3fa8c46866b84c93200b962b30d03cf795f82157e3167
# checked: 2013-04-29 wk
file freetype-2.4.2.tar.bz2
chk 9a987aef8c50d9bcfdfdc9f012f8bd0de6095cc1a5524e62c1a037deb8dacbfe
name freetype-2.4.2.zip
file freetype_2.4.2-1_win32.zip
chk bdf67e6573363fd2256a58295931cc1186382fd0ad1fe420059d6ffdb5fba7c0
name freetype-dev-2.4.2.zip
file freetype-dev_2.4.2-1_win32.zip
chk eed58c2807b65d5e0ec78031e89f1628577ad76bf47f02eaecde432c0b99eae9
server http://www.fontconfig.org/release
# checked: 2013-04-29 wk - 2.8.0 still the latest in 2.8
file fontconfig-2.8.0.tar.gz
chk fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-04-29 wk
name fontconfig-2.8.0.zip
file fontconfig_2.8.0-2_win32.zip
chk 9d6bcaeed0eced43a649953132d9f2b3e15b98c7bb9e4a207872dfeade818204
name fontconfig-dev-2.8.0.zip
file fontconfig-dev_2.8.0-2_win32.zip
chk 2f15af3d27ca507dad2a208e58409f484aa7e7c7eac10b49edca079b31ae7073
server ftp://ftp.g10code.com/g10code/misc
# checked: 2013-04-29 wk - 2.0.1 still the latest in 2.0
file expat-2.0.1.tar.gz
chk 847660b4df86e707c9150e33cd8c25bc5cd828f708c7418e765e3e983a2e5e93
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-04-29 wk
name expat-2.0.1.zip
file expat_2.0.1-1_win32.zip
chk 77b88ab780e698d6590426b26a877878584b9f8b6357909699674fb5045737bd
name expat-dev-2.0.1.zip
file expat-dev_2.0.1-1_win32.zip
chk 67b92b7f3441fee077bdc0094bf4dd673870acdf51899e32e199246801538162
#
# GTK+
#
server http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24
# last-changed: 2015-06-05
# by: ah
# verified: chk from https://download.gnome.org/core/3.17/3.17.2/sources/SHA256SUMS-for-xz
file gtk+-2.24.28.tar.xz
chk b2c6441e98bc5232e5f9bba6965075dcf580a8726398f7374d39f90b88ed4656
#
# GIMP stuff for W32
#
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2012-03-28 wk - Not updated - not a security problem
name pkgconfig-0.23.tar.gz
file pkg-config-0.23.tar.gz
chk 08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53
name pkgconfig-0.23.zip
file pkg-config_0.23-3_win32.zip
chk 677d6055494e24cad6c49eab33eee618ddc6ed65da827c8b5b7da761b4063278
# PNG
# last changed: 2017-08-28
# by: js
# verified: Sig 8048 643B A2C8 40F4 F92A 195F F549 84BF A16C 640F
server ftp://ftp.simplesystems.org/pub/png/src
file libpng14/libpng-1.4.22.tar.xz
chk 8d419a8b2a5edddda5cbcb897ded92205344a3249fa7a00d6384ea23ac3ccbd8
#
# LibFFI
#
server ftp://sourceware.org/pub/libffi
# checked: 2013-04-29 wk - updated from 3.0.10.
# checked: 2014-07-16 ah - only rc availble from 3.0.14
file libffi-3.0.13.tar.gz
chk 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c
#
# GpgOL
#
server http://files.gpg4win.org/src
# last-changed: 2018-01-12
# by: ah
# verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28
file gpgol/gpgol-2.0.6.tar.bz2
chk 6cb06f7c79f40d94c4b9da7123971e62767180a2f8d1ec99e7eacc3f241238a5
# for beta
#server http://files.gpg4win.org/Beta/gpgol
#file 2.0.6-beta9/gpgol-2.0.6-beta9.tar.bz2
#chk 1e956632633a708da46bdd932d34f76350c001d3b857efd75ccc55a0b7a28fb7
#
# GpgEX
#
# last-changed: 2017-09-12
# by: ah
# verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28
file gpgex/gpgex-1.0.5.tar.bz2
chk f2696a34f77f4afb4e9bef82ea73ebbed59e07c534c68b5c5afd976dddd86feb
#
# Pth emulation
#
server ftp://ftp.g10code.com/g10code/w32pth
# checked: 2014-07-16 ah
file w32pth-2.0.5.tar.bz2
chk 5e462d06ed50e9e961546ab5264258e606b101860a74c1e410d086432ec27a06
#
# Stripped down version of BZIP2
# (full source at http://bzip.org)
#
server ftp://ftp.g10code.com/g10code/bzip2
# checked: 2014-07-16 ah
file bzip2-1.0.6-g10.tar.gz
chk c2a9b3aec1a38d34b66106116a39f64b01d84f475fef75c40ea0bda0ea67ed07
#
# GnuPG et al.
#
# All tarballs from this server are verified with an openpgp
# signature made by "Werner Koch (dist sig)".
# D869 2123 C406 5DEA 5E0F 3AB5 249B 39D2 4F25 E3B6
server ftp://ftp.gnupg.org/gcrypt
# last-changed: 2016-11-14
# by: ah
file libgpg-error/libgpg-error-1.27.tar.bz2
chk 4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2
# last-changed: 2017-12-07
# by: ah
file libassuan/libassuan-2.5.1.tar.bz2
chk 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449
# last changed: 2018-01-11
# by: ah
name gnupg-w32-2.2.4-20171220-bin.exe
file binary/gnupg-w32-2.2.4_20171220.exe
chk 2030f00548ec175cac4996a8128ed71393c156429d95f3e6c2f53194b2f4d885
name gnupg-w32-2.2.4-20171220-src.tar.xz
file binary/gnupg-w32-2.2.4_20171220.tar.xz
chk b9707e1c761b6bfef9d9062f188e0c9fc41c1f98da67c71cb75984d46d019d72
# last changed: 2017-12-05
# by: ah
file pinentry/pinentry-1.1.0.tar.bz2
chk 68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570
# last changed: 2018-01-11
# by: ah
file gpgme/gpgme-1.10.0.tar.bz2
chk 1a8fed1197c3b99c35f403066bb344a26224d292afc048cfdfc4ccd5690a0693
# last changed: 2017-01-04
# by: ah
file gpa/gpa-0.9.10.tar.bz2
chk c3b9cc36fd9916e83524930f99df13b1d5f601f4c0168cb9f5d81422e282b727
#
# GnuPG utilities
#
server http://www.jabberwocky.com/software/paperkey
# last-changed: 2017-12-05
# by: ah
# verified: SIG 7D92 FD31 3AB6 F373 4CC5 9CA1 DB69 8D71 9924 2560
file paperkey-1.5.tar.gz
chk c4737943083ce92e41faf13c27a9d608105b6285c0840dfb684a7ee294142ddf
#
# Kleopatra and dependencies
#
# Boost
# last changes: 2016-01-21
# by: ah
# verified: Second source https://github.com/mxe/mxe/commit/fdd5b9f7aa8bf0e40c1f1f8119701af96e51457e
server http://downloads.sourceforge.net/project/boost/boost/
name boost-1.60.0.tar.bz2
file 1.60.0/boost_1_60_0.tar.bz2
chk 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b
# Qt base
-# last changed: 2016-07-22
+# last changed: 2018-02-27
# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtbase-opensource-src-5.8.0.tar.xz.sha256
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz.sha256
server http://download.qt.io/official_releases/qt/
-name qtbase-5.8.0.tar.xz
-file 5.8/5.8.0/submodules/qtbase-opensource-src-5.8.0.tar.xz
-chk c17111ae02a44dc7be1ec2cf979a47ee9e58edf4904041a525c21f4fa53fc005
+name qtbase-5.10.1.tar.xz
+file 5.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz
+chk d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969
# Qt Tools
-# last changed: 2016-07-22
+# last changed: 2018-02-27
# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qttools-opensource-src-5.8.0.tar.xz.sha256
-name qttools-5.8.0.tar.xz
-file 5.8/5.8.0/submodules/qttools-opensource-src-5.8.0.tar.xz
-chk 95ec8e76d393b6ba26ffff5041fce41946d2bf3aec1402c6533e24d9fc269d83
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qttools-everywhere-src-5.10.1.tar.xz.sha256
+name qttools-5.10.1.tar.xz
+file 5.10/5.10.1/submodules/qttools-everywhere-src-5.10.1.tar.xz
+chk f1ea441e5fe138756e6de3b60ab7d8d3051799eabe85a9408c995dfd4d048a53
# Qt Winextras
-# last changed: 2016-07-22
+# last changed: 2018-02-27
# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtwinextras-opensource-src-5.8.0.tar.xz.sha256
-name qtwinextras-5.8.0.tar.xz
-file 5.8/5.8.0/submodules/qtwinextras-opensource-src-5.8.0.tar.xz
-chk 27ff7b94bd465709d5f8409b3e02a3a393e908613357b1edbf18ebbcb0c2c19c
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtwinextras-everywhere-src-5.10.1.tar.xz.sha256
+name qtwinextras-5.10.1.tar.xz
+file 5.10/5.10.1/submodules/qtwinextras-everywhere-src-5.10.1.tar.xz
+chk 12401eea9abe87307b9aeba9d539ad403858ea43a99248421caf069f27b28917
# Qt svg
-# last changed: 2016-07-22
+# last changed: 2018-02-27
# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qtsvg-opensource-src-5.8.0.tar.xz.sha256
-name qtsvg-5.8.0.tar.xz
-file 5.8/5.8.0/submodules/qtsvg-opensource-src-5.8.0.tar.xz
-chk 9873191c211ab4da9c0bc47b1e3549f475db4d448bba3175e0f86b24eefadc89
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtsvg-everywhere-src-5.10.1.tar.xz.sha256
+name qtsvg-5.10.1.tar.xz
+file 5.10/5.10.1/submodules/qtsvg-everywhere-src-5.10.1.tar.xz
+chk 00e00c04abcc8363cf7d94ca8b16af61840995a4af23685d49fa4ccafa1c7f5a
-# Qt svg
-# last changed: 2017-08-22
+# Qt translations
+# last changed: 2018-02-27
# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/5.8/5.8.0/submodules/qttranslations-opensource-src-5.8.0.tar.xz.sha256
-name qttranslations-5.8.0.tar.xz
-file 5.8/5.8.0/submodules/qttranslations-opensource-src-5.8.0.tar.xz
-chk 3b7cf72ec50bc2a02bf4e4427b184febac909dba0e02e1861321ca1629c3fc2e
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qttranslations-everywhere-src-5.10.1.tar.xz.sha256
+name qttranslations-5.10.1.tar.xz
+file 5.10/5.10.1/submodules/qttranslations-everywhere-src-5.10.1.tar.xz
+chk 1f6d840e3d04b00b976bc1a86ea2be9d61051b7c3455dc2b891fae61772643fd
# KDE Frameworks generated by gen-frameworks.sh
server http://ftp.iij.ad.jp/pub/X11/KDE/Attic/frameworks
##### Paste Here #####
# extra-cmake-modules
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/extra-cmake-modules-5.30.0.tar.xz
chk 7da9647514e134db5054ab4848d4bfa6054537593a95720a7a9361f8cc71a96c
# kconfig
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kconfig-5.30.0.tar.xz
chk a29a3ccb6c9e8124eca488417d602e689dc7240f9b10510f4152e739fdc143dc
# ki18n
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/ki18n-5.30.0.tar.xz
chk 2dd2d0835570c5e9fcdabd124613131cb4042a4deb3a38e68ed05daf6fcd72f3
# kwidgetsaddons
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kwidgetsaddons-5.30.0.tar.xz
chk 34c322aa53a33ed883d8082e2435cd9464fb9d3f63e50c4a81d87166088fc24a
# kcompletion
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kcompletion-5.30.0.tar.xz
chk a667bd28575ba4462ed365ce3ea7d35e3f86b20e6fc034365914949205ee0588
# kwindowsystem
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kwindowsystem-5.30.0.tar.xz
chk 20ac7025f998f85e83f72609038b4bf7051f3c373dc039faf30340c595e7e16b
# kcoreaddons
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kcoreaddons-5.30.0.tar.xz
chk f62bcef0aa391362e8797eb03135ad9d9b9fd5f3741298241ffb59eb182da040
# kcodecs
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kcodecs-5.30.0.tar.xz
chk 6eb6935512e01a70d730938c28cb84852e73d4c023deebb5f2946b4c760f2aee
# kconfigwidgets
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kconfigwidgets-5.30.0.tar.xz
chk 021d85537faf01b9a88a9614edf9011a7e2dac752330f4928a287f4832263996
# kxmlgui
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kxmlgui-5.30.0.tar.xz
chk da3f6f59aed6d7970f78a040e387fcec6509a2bac3e6efaa965b6600c9b1ac00
# kguiaddons
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kguiaddons-5.30.0.tar.xz
chk f55f5b5ffe0e330ae3ee5971cf8d206040d82bd52d677a8478d6a9c88c8ac04e
# kitemviews
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kitemviews-5.30.0.tar.xz
chk 5e8466caa4d27cd78e37c3814e495590158a5a57cbb61e8d07505cea72d3a43b
# kitemmodels
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kitemmodels-5.30.0.tar.xz
chk aeb94534470bb581196a3e2eef158694c5b5727a7e9db8ca2d873fdcbf5bc2f9
# kiconthemes
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/kiconthemes-5.30.0.tar.xz
chk e969d2180f0d5b0802e7c57d63ff78314562cad4b50dbb3a0935d5edc4c33d6a
# breeze-icons
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/breeze-icons-5.30.0.tar.xz
chk 53e533d006e0289b969ee37534a71f02b2708cee28cfa829b95a144f75010759
# karchive
# last changed: 2017-02-02
# by: ah
# verified: https://www.kde.org/info/kde-frameworks-5.30.0.php (created by gen-frameworks.sh)
file 5.30/karchive-5.30.0.tar.xz
chk 18b35d437e7cbf6f00983d0f66372cbd6a0daedaa58e6c092838c20845571f38
##### End Paste #####
# KDE Applications
server https://download.kde.org/Attic/applications
# kmime
# last changed: 2017-02-02
# by: ah
# verified: https://download.kde.org/Attic/applications/16.12.3/src/kmime-16.12.3.tar.xz.mirrorlist
file 16.12.3/src/kmime-16.12.3.tar.xz
chk 40c874c98c0eb0c76e9a5015aab5d5ed791c1e0bed138f412fb496031e80eb3f
# Devel versions are needed until Kleopatra can be based on
# a stable branch.
server http://files.intevation.de/projects/gpg4all
# by: ah
#file gpgme/gpgme-1.10.0-beta90.tar.bz2
#chk d7b8f5456192349df14287f5e5222f1e44102b36a7558c98fa09a9251957e808
# Libkleo
# last changed: see package date.
# by: ah
# verified: Tarball created by ah.
file libkleo/libkleo-201802071408.tar.gz
chk e74fbccf7ac8766dd7bca29c43ce3f21be5f85e83903a9a6790c792f037fd547
# KDE-L10n
# last changed: see package date.
# by: ah
# verified: Tarball created by ah with script kde-l10n.sh
file kde-l10n/kde-l10n-201712080943-bin.tar.xz
chk 9c3da7c8b99c9f3eff5b0bd57fc5d100ebfcc3717516a5e2e7261481503943b8
file kde-l10n/kde-l10n-201712080943-src.tar.xz
chk 4e6993d5a28de4f4338d96de0edb5d7cb9243976d647162d0539b021a853bafb
# Gpg4win-tools package (experimental)
# last changed: see package date.
# by: ah
# verified: Tarball created by ah.
file gpg4win-tools/gpg4win-tools-201802071407.tar.gz
chk 4bfaad6ce235b0ee390d48df69764874317b7a6eb2433a8fec4120ce2ff9f6f5
# Kleopatra
# last changed: see package date.
# by: ah
# verified: Tarball created by ah.
file kleopatra/kleopatra-201801121054.tar.gz
chk 5b82c0bbb87b558e6d66a729eca8a5170af2c9787a528fe187a64cacd1d180b1
diff --git a/patches/qtbase/config-standardpaths.patch b/patches/qtbase/config-standardpaths.patch
index 9987aa7f..c1483e69 100755
--- a/patches/qtbase/config-standardpaths.patch
+++ b/patches/qtbase/config-standardpaths.patch
@@ -1,252 +1,139 @@
-#! /bin/sh
+i#! /bin/sh
patch -p1 -f -l $* < $0
exit $?
-diff -Nru qtbase-5.6.1.orig/src/corelib/global/global.pri qtbase-5.6.1/src/corelib/global/global.pri
---- qtbase-5.6.1.orig/src/corelib/global/global.pri 2016-07-22 15:11:23.303466531 +0200
-+++ qtbase-5.6.1/src/corelib/global/global.pri 2016-07-22 15:11:49.940044214 +0200
-@@ -10,6 +10,7 @@
- global/qnumeric_p.h \
- global/qnumeric.h \
- global/qglobalstatic.h \
-+ global/qlibraryinfo_p.h \
- global/qlibraryinfo.h \
- global/qlogging.h \
- global/qtypeinfo.h \
-diff -Nru qtbase-5.6.1.orig/src/corelib/global/qlibraryinfo.cpp qtbase-5.6.1/src/corelib/global/qlibraryinfo.cpp
---- qtbase-5.6.1.orig/src/corelib/global/qlibraryinfo.cpp 2016-07-22 15:11:23.303466531 +0200
-+++ qtbase-5.6.1/src/corelib/global/qlibraryinfo.cpp 2016-07-22 15:11:49.940044214 +0200
-@@ -38,6 +38,7 @@
- #include "qsettings.h"
- #include "qlibraryinfo.h"
- #include "qscopedpointer.h"
-+#include "qlibraryinfo_p.h"
-
- #ifdef QT_BUILD_QMAKE
- QT_BEGIN_NAMESPACE
-@@ -77,37 +78,33 @@
- };
- Q_GLOBAL_STATIC(QLibrarySettings, qt_library_settings)
-
--class QLibraryInfoPrivate
--{
--public:
-- static QSettings *findConfiguration();
- #ifdef QT_BUILD_QMAKE
-- static bool haveGroup(QLibraryInfo::PathGroup group)
-- {
-- QLibrarySettings *ls = qt_library_settings();
-- return ls ? (group == QLibraryInfo::EffectiveSourcePaths
-- ? ls->haveEffectiveSourcePaths
-- : group == QLibraryInfo::EffectivePaths
-- ? ls->haveEffectivePaths
-- : group == QLibraryInfo::DevicePaths
-- ? ls->haveDevicePaths
-- : ls->havePaths) : false;
-- }
-+bool QLibraryInfoPrivate::haveGroup(QLibraryInfo::PathGroup group)
-+{
-+ QLibrarySettings *ls = qt_library_settings();
-+ return ls ? (group == QLibraryInfo::EffectiveSourcePaths
-+ ? ls->haveEffectiveSourcePaths
-+ : group == QLibraryInfo::EffectivePaths
-+ ? ls->haveEffectivePaths
-+ : group == QLibraryInfo::DevicePaths
-+ ? ls->haveDevicePaths
-+ : ls->havePaths) : false;
-+}
- #endif
-- static QSettings *configuration()
-- {
-- QLibrarySettings *ls = qt_library_settings();
-- if (ls) {
-+QSettings *QLibraryInfoPrivate::configuration()
-+{
-+ QLibrarySettings *ls = qt_library_settings();
-+ if (ls) {
- #ifndef QT_BUILD_QMAKE
-- if (ls->reloadOnQAppAvailable && QCoreApplication::instance() != 0)
-- ls->load();
-+ if (ls->reloadOnQAppAvailable && QCoreApplication::instance() != 0)
-+ ls->load();
- #endif
-- return ls->settings.data();
-- } else {
-- return 0;
-- }
-+ return ls->settings.data();
-+ } else {
-+ return 0;
- }
--};
-+}
-+
-
- static const char platformsSection[] = "Platforms";
-
-diff -Nru qtbase-5.6.1.orig/src/corelib/global/qlibraryinfo_p.h qtbase-5.6.1/src/corelib/global/qlibraryinfo_p.h
---- qtbase-5.6.1.orig/src/corelib/global/qlibraryinfo_p.h 1970-01-01 01:00:00.000000000 +0100
-+++ qtbase-5.6.1/src/corelib/global/qlibraryinfo_p.h 2016-07-22 15:11:49.940044214 +0200
-@@ -0,0 +1,61 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 The Qt Company Ltd.
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL21$
-+** 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 The Qt Company. For licensing terms
-+** and conditions see http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/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 or version 3 as published by the Free
-+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-+** following information to ensure the GNU Lesser General Public License
-+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** As a special exception, The Qt Company gives you certain additional
-+** rights. These rights are described in The Qt Company LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QLIBRARYINFO_P_H
-+#define QLIBRARYINFO_P_H
-+
-+//
-+// W A R N I N G
-+// -------------
-+//
-+// This file is not part of the Qt API. It exists purely as an
-+// implementation detail. This header file may change from version to
-+// version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+#include "qsettings.h"
-+#include "qlibraryinfo.h"
-+
-+class QLibraryInfoPrivate
-+{
-+public:
-+ static QSettings *findConfiguration();
-+#ifdef QT_BUILD_QMAKE
-+ static bool haveGroup(QLibraryInfo::PathGroup group);
-+#endif
-+ static QSettings *configuration();
-+};
-+
-+#endif
-\ No newline at end of file
diff -Nru qtbase-5.6.1.orig/src/corelib/io/qstandardpaths.cpp qtbase-5.6.1/src/corelib/io/qstandardpaths.cpp
--- qtbase-5.6.1.orig/src/corelib/io/qstandardpaths.cpp 2016-07-22 15:11:23.307466618 +0200
+++ qtbase-5.6.1/src/corelib/io/qstandardpaths.cpp 2016-07-22 15:12:52.629403686 +0200
-@@ -41,6 +41,14 @@
- #include
+@@ -56,6 +56,14 @@
+ #include
#endif
-+#if !defined(QT_BUILD_QMAKE) && !defined(QT_NO_SETTINGS) && !defined(QT_BOOTSTRAPPED)
-+#include "../global/qlibraryinfo_p.h"
++#if !defined(QT_BUILD_QMAKE) && !defined(QT_NO_SETTINGS)
+#include
++#include
+#endif
+#ifdef Q_OS_WIN
+#include
+#endif
+
#ifndef QT_NO_STANDARDPATHS
QT_BEGIN_NAMESPACE
-@@ -655,6 +663,55 @@
+@@ -671,6 +679,90 @@
return qsp_testMode;
}
+static const char standardPathsSection[] = "StandardPaths";
+
++static QSettings *findConfiguration()
++{
++#ifdef QT_BUILD_QMAKE
++ QString qtconfig = qmake_libraryInfoFile();
++ if (QFile::exists(qtconfig))
++ return new QSettings(qtconfig, QSettings::IniFormat);
++#else
++ QString qtconfig = QStringLiteral(":/qt/etc/qt.conf");
++ if (QFile::exists(qtconfig))
++ return new QSettings(qtconfig, QSettings::IniFormat);
++#ifdef Q_OS_DARWIN
++ CFBundleRef bundleRef = CFBundleGetMainBundle();
++ if (bundleRef) {
++ QCFType urlRef = CFBundleCopyResourceURL(bundleRef,
++ QCFString(QLatin1String("qt.conf")),
++ 0,
++ 0);
++ if (urlRef) {
++ QCFString path = CFURLCopyFileSystemPath(urlRef, kCFURLPOSIXPathStyle);
++ qtconfig = QDir::cleanPath(path);
++ if (QFile::exists(qtconfig))
++ return new QSettings(qtconfig, QSettings::IniFormat);
++ }
++ }
++#endif
++ if (QCoreApplication::instance()) {
++ QDir pwd(QCoreApplication::applicationDirPath());
++ qtconfig = pwd.filePath(QLatin1String("qt.conf"));
++ if (QFile::exists(qtconfig))
++ return new QSettings(qtconfig, QSettings::IniFormat);
++ }
++#endif
++ return 0; //no luck
++}
++
+QString QStandardPaths::presetLocation(StandardLocation type)
+{
+#if !defined(QT_BUILD_QMAKE) && !defined(QT_NO_SETTINGS) && !defined(QT_BOOTSTRAPPED)
+ QStringList locations = QStringList() << QStringLiteral("DesktopLocation")
+ << QStringLiteral("DocumentsLocation")
+ << QStringLiteral("FontsLocation")
+ << QStringLiteral("ApplicationsLocation")
+ << QStringLiteral("MusicLocation")
+ << QStringLiteral("MoviesLocation")
+ << QStringLiteral("PicturesLocation")
+ << QStringLiteral("TempLocation")
+ << QStringLiteral("HomeLocation")
+ << QStringLiteral("DataLocation")
+ << QStringLiteral("CacheLocation")
+ << QStringLiteral("GenericDataLocation")
+ << QStringLiteral("RuntimeLocation")
+ << QStringLiteral("ConfigLocation")
+ << QStringLiteral("DownloadLocation")
+ << QStringLiteral("GenericCacheLocation")
+ << QStringLiteral("GenericConfigLocation")
+ << QStringLiteral("AppDataLocation")
+ << QStringLiteral("AppConfigLocation")
+ << QStringLiteral("AppLocalDataLocation");
+
-+ QScopedPointer settings(QLibraryInfoPrivate::findConfiguration());
++ QScopedPointer settings(findConfiguration());
+ if (!settings.isNull()) {
+ QString key = QLatin1String(standardPathsSection);
+ key += QLatin1Char('/');
+ key += locations[type];
+ const QString value = settings->value(key).toString();
+#ifdef Q_OS_WIN
+ if (value.isEmpty())
+#endif
+ return value;
+#ifdef Q_OS_WIN
+ wchar_t expandedPath[MAX_PATH] = {0};
+ if (ExpandEnvironmentStrings((wchar_t*)value.utf16(), expandedPath, MAX_PATH)) {
+ return QString::fromWCharArray(expandedPath).replace("\\", "//");
+ }
+ return value;
+#endif
+ }
+#endif // !QT_BUILD_QMAKE && !QT_NO_SETTINGS
+
+ return QString();
+}
+
QT_END_NAMESPACE
-diff -Nru qtbase-5.6.1.orig/src/corelib/io/qstandardpaths.h qtbase-5.6.1/src/corelib/io/qstandardpaths.h
+:diff -Nru qtbase-5.6.1.orig/src/corelib/io/qstandardpaths.h qtbase-5.6.1/src/corelib/io/qstandardpaths.h
--- qtbase-5.6.1.orig/src/corelib/io/qstandardpaths.h 2016-07-22 15:11:23.307466618 +0200
+++ qtbase-5.6.1/src/corelib/io/qstandardpaths.h 2016-07-22 15:11:49.940044214 +0200
@@ -92,6 +92,8 @@
static bool isTestModeEnabled();
private:
+ static QString presetLocation(StandardLocation type);
+
// prevent construction
QStandardPaths();
~QStandardPaths();
diff -Nru qtbase-5.6.1.orig/src/corelib/io/qstandardpaths_win.cpp qtbase-5.6.1/src/corelib/io/qstandardpaths_win.cpp
--- qtbase-5.6.1.orig/src/corelib/io/qstandardpaths_win.cpp 2016-07-22 15:11:23.307466618 +0200
+++ qtbase-5.6.1/src/corelib/io/qstandardpaths_win.cpp 2016-07-22 15:13:41.682467339 +0200
@@ -203,7 +203,9 @@
QString QStandardPaths::writableLocation(StandardLocation type)
{
- QString result;
+ QString result = QStandardPaths::presetLocation(type);
+ if (!result.isEmpty())
+ return result;
switch (type) {
case DownloadLocation:
result = sHGetKnownFolderPath(qCLSID_FOLDERID_Downloads, type);
diff --git a/patches/qtbase/qtbase-mingw-fixes.patch b/patches/qtbase/qtbase-mingw-fixes.patch
index 2c1d6153..ee19679c 100755
--- a/patches/qtbase/qtbase-mingw-fixes.patch
+++ b/patches/qtbase/qtbase-mingw-fixes.patch
@@ -1,197 +1,210 @@
#! /bin/sh
patch -p1 -f -l $* < $0
exit $?
Taken from MXE
From 12eed60ff166200c12d203d0daaa6c58c41df0ea Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Wed, 26 Aug 2015 12:45:43 +0100
Subject: [PATCH 1/5] cmake: Rearrange STATIC vs INTERFACE targets
Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
for header-only modules when building Qt5 statically.
Source: https://git.io/vzWJz
See also: https://github.com/mxe/mxe/issues/1185
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d2358ca..6b1dc95 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -222,13 +222,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
!!ENDIF
+!!IF equals(TEMPLATE, aux)
+ add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+!!ELSE
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
!!ELSE
-!!IF equals(TEMPLATE, aux)
- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
-!!ELSE
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
!!ENDIF
!!ENDIF
--
2.9.3
-From 9d8bca4d8c1d312cca4b161c93a091147dd7aa37 Mon Sep 17 00:00:00 2001
+From 68f406b40eb3708809c042dfaf41b5366b437308 Mon Sep 17 00:00:00 2001
From: Tony Theodore
Date: Sat, 16 Jul 2016 20:31:07 +1000
-Subject: [PATCH 2/5] Fix pkgconfig file and library naming
+Subject: [PATCH 2/6] Fix pkgconfig file and library naming
See: https://codereview.qt-project.org/#/c/165394/
https://bugreports.qt.io/browse/QTBUG-30898
Currently, *.pc files are generated with debug suffix `d` in `-release`
mode and without the suffix in `-debug` or `-debug-and-release`. This
can be worked around by `CONIFG-=debug_and_release`, however, a more
predictable and consistent naming approach would be preferable.
This change mimics the *.prl file and lib conventions:
-release: creates normal *.pc files and lib names
-release -force-debug-info: normal as above
-debug: creates *d.pc and *d lib names
-debug-and-release: creates both
-default: creates both (default link: debug)
and should be unsurprising to users of `pkg-config`. At very least,
it's deterministic and easily incorporated into build systems.
Task-number: 30898
Change-Id: If75336ec7d21a7ec0cb6d245fe87c64afcb5a644
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index 31d6285..8e24520 100644
+index e6a0d97f1a..5aefea28e5 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
-@@ -248,6 +248,10 @@ load(qt_installs)
+@@ -265,6 +265,10 @@ load(qt_installs)
load(qt_targets)
+# Set TARGET towards the end but before pkgconfig setup to keep naming
+# conventions consistent with *prl files
+TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX)
+
# this builds on top of qt_common
!internal_module:!lib_bundle:if(unix|mingw) {
CONFIG += create_pc
-@@ -258,12 +262,12 @@ load(qt_targets)
+@@ -275,12 +279,12 @@ load(qt_targets)
QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
- QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
+ QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
- QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
- QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
+ QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt$$QT_MAJOR_VERSION ")
+ QMAKE_PKGCONFIG_FILE = $$TARGET
for(i, MODULE_DEPENDS): \
-- QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))
-+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))$$qtPlatformTargetSuffix()
+- QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))
++ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
- QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
+ QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt ") module
pclib_replace.match = $$lib_replace.match
!isEmpty(lib_replace.replace): \
pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR
-@@ -297,5 +301,3 @@ win32 {
+@@ -314,5 +318,3 @@ win32 {
# On other platforms, Qt's own compilation goes needs to compile the Qt 5.0 API
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x050000
}
-
-TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end
--
-2.9.3
+2.14.1
-From e4da2904bcab29d15ad137508390bec0595c0e72 Mon Sep 17 00:00:00 2001
+From d0ccaee377241a6b661ccb9a6d57ebc694b50f76 Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Sun, 29 Jan 2017 13:02:16 +0100
-Subject: [PATCH 3/5] reenable fontconfig for win32 (MXE-specific)
+Subject: [PATCH 3/6] reenable fontconfig for win32 (MXE-specific)
Change-Id: I05b036366bd402e43309742412bcf8ca91fe125f
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index 1f50116..dd94429 100644
+index dab66fafb4..b90ce6e4d9 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
-@@ -471,7 +471,7 @@
+@@ -956,7 +956,7 @@
},
"fontconfig": {
"label": "Fontconfig",
- "condition": "!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig",
+ "condition": "!config.darwin && features.system-freetype && libs.fontconfig",
"output": [ "privateFeature", "feature" ]
},
"gbm": {
diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp
-index 03c7250..7d0ffbd 100644
+index ca33689cd7..194523eee0 100644
--- a/src/plugins/platforms/minimal/qminimalintegration.cpp
+++ b/src/plugins/platforms/minimal/qminimalintegration.cpp
-@@ -120,7 +120,11 @@ QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const
- if (m_options & EnableFonts) {
+@@ -130,7 +130,11 @@ QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const
+ {
+ if (!m_fontDatabase && (m_options & EnableFonts)) {
#if QT_CONFIG(fontconfig)
- if (!m_fontDatabase)
+#ifdef Q_OS_WIN
-+ m_fontDatabase = new QBasicFontDatabase;
++ m_fontDatabase = new QFreeTypeFontDatabase;
+#else
- m_fontDatabase = new QGenericUnixFontDatabase;
+ m_fontDatabase = new QGenericUnixFontDatabase;
+#endif
- #else
- return QPlatformIntegration::fontDatabase();
- #endif
+ #elif defined(Q_OS_WINRT)
+ m_fontDatabase = new QWinRTFontDatabase;
+ #elif defined(Q_OS_WIN)
--
-2.9.3
+2.14.1
-From db3c6f5fecb9b93f3553273576954d363d0630bc Mon Sep 17 00:00:00 2001
-From: Mark Brand
-Date: Sun, 29 Jan 2017 14:00:06 +0100
-Subject: [PATCH 4/5] fix included file name case
-
-Change-Id: I026787441aa43128aec001cfe1a7bc8d37799826
-
-diff --git a/src/plugins/platforms/windows/qwin10helpers.cpp b/src/plugins/platforms/windows/qwin10helpers.cpp
-index 977bbfd..12cccd1 100644
---- a/src/plugins/platforms/windows/qwin10helpers.cpp
-+++ b/src/plugins/platforms/windows/qwin10helpers.cpp
-@@ -57,7 +57,7 @@
- #endif
-
- #ifdef HAS_UI_VIEW_SETTINGS_INTEROP
--# include
-+# include
- #endif
-
- #ifndef HAS_UI_VIEW_SETTINGS_INTEROP
---
-2.9.3
-
-
-From ddf845adb0080016c2f69fcfa7e23edf70e5151a Mon Sep 17 00:00:00 2001
+From 35e8ce1f490f973045c77385f96acaa3736c8787 Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Sun, 29 Jan 2017 16:22:03 +0100
-Subject: [PATCH 5/5] fix treatment of SYBASE_LIBS
+Subject: [PATCH 4/6] fix treatment of SYBASE_LIBS
Change-Id: I4c9914cf7ef9d91feb0718a57f2551c1eeed47e0
-diff --git a/src/sql/configure.pri b/src/sql/configure.pri
-index 1d8847b..229b6a1 100644
---- a/src/sql/configure.pri
-+++ b/src/sql/configure.pri
-@@ -76,7 +76,7 @@ defineTest(qtConfLibrary_sybaseEnv) {
+diff --git a/src/plugins/sqldrivers/configure.pri b/src/plugins/sqldrivers/configure.pri
+index b69b51b679..d37423adbd 100644
+--- a/src/plugins/sqldrivers/configure.pri
++++ b/src/plugins/sqldrivers/configure.pri
+@@ -92,7 +92,7 @@ defineTest(qtConfLibrary_sybaseEnv) {
libs += "-L$${sybase}/lib"
libs += $$getenv(SYBASE_LIBS)
!isEmpty(libs) {
- $${1}.libs = "$$val_escape(libs)"
+ $${1}.libs = $$libs
export($${1}.libs)
}
return(true)
--
-2.9.3
+2.14.1
+
+
+From 8427c411a789c537b41d113d1f8f9ea7eb9d009a Mon Sep 17 00:00:00 2001
+From: Mark Brand
+Date: Thu, 23 Nov 2017 11:28:47 +0200
+Subject: [PATCH 6/6] disable qt_random_cpu for i686-w64-mingw32
+
+Workaround for gcc internal error compiling for mingw32:
+ global/qrandom.cpp: In function 'qsizetype qt_random_cpu(void*, qsizetype)':
+ global/qrandom.cpp:123:1: internal compiler error: in
+ ix86_compute_frame_layout, at config/i386/i386.c:10145
+ }
+ ^
+
+ global/qrandom.cpp:123:1: internal compiler error: Segmentation fault
+ i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault
+ (program cc1plus)
+
+Based on https://codereview.qt-project.org/#/c/212360/
+
+Change-Id: Ia1c902e7b147bdda2b8d7904b40a3b968b8d0369
+
+diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
+index 72ba299280..90a0f378ff 100644
+--- a/src/corelib/global/qrandom.cpp
++++ b/src/corelib/global/qrandom.cpp
+@@ -92,7 +92,7 @@ DECLSPEC_IMPORT BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG Rando
+
+ QT_BEGIN_NAMESPACE
+
+-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
++#if defined(Q_PROCESSOR_X86) && !defined(Q_PROCESSOR_X86_32) && QT_COMPILER_SUPPORTS_HERE(RDRND)
+ static qsizetype qt_random_cpu(void *buffer, qsizetype count) Q_DECL_NOTHROW;
+
+ # ifdef Q_PROCESSOR_X86_64
+--
+2.14.1
diff --git a/patches/qtbase/relative-paths.patch b/patches/qtbase/relative-paths.patch
index 9e38573f..1758f91a 100755
--- a/patches/qtbase/relative-paths.patch
+++ b/patches/qtbase/relative-paths.patch
@@ -1,62 +1,72 @@
#! /bin/sh
patch -p1 -f -l $* < $0
exit $?
Patch kindly provided by KDE Windows emerge. To
look for files relative to the install location.
--- a/src/corelib/io/qstandardpaths_win.cpp.orig 2017-05-02 12:09:46.110581259 +0200
+++ b/src/corelib/io/qstandardpaths_win.cpp 2017-05-02 12:11:15.540277570 +0200
@@ -223,6 +223,16 @@
dirs.append(QCoreApplication::applicationDirPath() + QLatin1String("/data"));
#endif // !QT_BOOTSTRAPPED
} // isConfigLocation()
+ dirs.append(QCoreApplication::applicationDirPath() + QLatin1String("/../share"));
+ if (type != GenericDataLocation && type != GenericConfigLocation) {
+ QString appData = QCoreApplication::applicationDirPath() + QLatin1String("/../share");
+ if (!QCoreApplication::organizationName().isEmpty())
+ appData += QLatin1Char('/') + QCoreApplication::organizationName();
+ if (!QCoreApplication::applicationName().isEmpty())
+ appData += QLatin1Char('/') + QCoreApplication::applicationName();
+ dirs.append(appData);
+ }
+ dirs.append(QCoreApplication::applicationDirPath() + QLatin1String("/../etc/xdg"));
return dirs;
}
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index 06491f1..ef9436f 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -157,6 +157,7 @@ QStringList QIconLoader::themeSearchPaths() const
{
if (m_iconDirs.isEmpty()) {
m_iconDirs = systemIconSearchPaths();
+ m_iconDirs.append(QCoreApplication::applicationDirPath() + QLatin1String("/../share/icons"));
// Always add resource directory as search path
m_iconDirs.append(QLatin1String(":/icons"));
}
diff --git a/src/plugins/platforms/windows/qwindowstheme.cpp b/src/plugins/platforms/windows/qwindowstheme.cpp
index 66735d8..5731560 100644
--- a/src/plugins/platforms/windows/qwindowstheme.cpp
+++ b/src/plugins/platforms/windows/qwindowstheme.cpp
-@@ -338,6 +338,8 @@
+@@ -414,12 +414,16 @@
+ static inline QStringList iconThemeSearchPaths()
+ {
+ const QFileInfo appDir(QCoreApplication::applicationDirPath() + QLatin1String("/icons"));
+- return appDir.isDir() ? QStringList(appDir.absoluteFilePath()) : QStringList();
++ QStringList ret;
++ ret << appDir.absoluteFilePath() << QCoreApplication::applicationDirPath() + QLatin1String("/../share/icons");
++
++ return ret;
+ }
+
static inline QStringList styleNames()
{
- QStringList result;
-+ result.append(QStringLiteral("breeze"));
-+ result.append(QStringLiteral("oxygen"));
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA)
- result.append(QStringLiteral("WindowsVista"));
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP)
-@@ -398,6 +400,10 @@
+- return { QStringLiteral("WindowsVista"), QStringLiteral("Windows") };
++ return {QStringLiteral("breeze"), QStringLiteral("oxygen"),
++ QStringLiteral("WindowsVista"), QStringLiteral("Windows") };
+ }
+
+ static inline int uiEffects()
+@@ -472,6 +476,10 @@
result = int(scrollLines);
return QVariant(result);
}
+ case QPlatformTheme::SystemIconThemeName:
+ return QVariant(QLatin1String("breeze"));
+ case QPlatformTheme::SystemIconFallbackThemeName:
+ return QVariant(QLatin1String("oxygen"));
default:
break;
}
diff --git a/patches/qtbase/windowsxp-support-revert-2.patch b/patches/qtbase/windowsxp-support-revert-2.patch
deleted file mode 100755
index a24a3e9d..00000000
--- a/patches/qtbase/windowsxp-support-revert-2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /bin/sh
-patch -p0 -R -f -l $* < $0
-exit $?
-
---- src/plugins/platforms/windows/qwindowstheme.cpp 2017-06-12 11:35:29.491363130 +0200
-+++ src/plugins/platforms/windows/qwindowstheme.cpp.orig 2017-06-12 11:35:24.223373397 +0200
-@@ -623,7 +623,7 @@
- memset(&iconInfo, 0, sizeof(iconInfo));
- iconInfo.cbSize = sizeof(iconInfo);
- stockFlags |= (pixmapSize.width() > 16 ? SHGFI_LARGEICON : SHGFI_SMALLICON);
-- if (QWindowsContext::shell32dll.sHGetStockIconInfo(stockId, SHGFI_ICON | stockFlags, &iconInfo) == S_OK) {
-+ if (SHGetStockIconInfo(stockId, SHGFI_ICON | stockFlags, &iconInfo) == S_OK) {
- pixmap = qt_pixmapFromWinHICON(iconInfo.hIcon);
- DestroyIcon(iconInfo.hIcon);
- return pixmap;
---- src/plugins/platforms/windows/qwindowswindow.cpp 2017-06-12 11:40:03.530833862 +0200
-+++ src/plugins/platforms/windows/qwindowswindow.cpp.orig 2017-06-12 11:37:38.367113636 +0200
-@@ -1599,7 +1599,8 @@
-
- static inline bool dwmIsCompositionEnabled()
- {
-- return false;
-+ BOOL dWmCompositionEnabled = FALSE;
-+ return SUCCEEDED(DwmIsCompositionEnabled(&dWmCompositionEnabled)) && dWmCompositionEnabled == TRUE;
- }
-
- bool QWindowsWindow::handleWmPaint(HWND hwnd, UINT message,
diff --git a/patches/qtbase/windowsxp-support-revert.patch b/patches/qtbase/windowsxp-support-revert.patch
deleted file mode 100755
index d4779a1c..00000000
--- a/patches/qtbase/windowsxp-support-revert.patch
+++ /dev/null
@@ -1,478 +0,0 @@
-#! /bin/sh
-patch -p1 -f -l -R $* < $0
-exit $?
-
-commit 5cbc4609906bbd0484344f96643840ffdc723d69
-Author: Friedemann Kleint
-Date: Wed Mar 9 09:14:23 2016 +0100
-
- Windows QPA: Increase API level to 0x600 (Windows Vista).
-
- - Directly link against dwmapi which should be present on
- Windows Vista and remove duplicated header constants.
- - Remove struct QWindowsShell32DL since all required functions
- are present on Windows Vista.
- - Remove functions that are no longer needed from QWindowsUser32DLL
- with exception of the clipboard functions which are not present
- in the MinGW stub libraries until v5.
-
- Task-number: QTBUG-51673
- Change-Id: Ia4a8a3f1db0f0d02322317d547e61ae39f9008b5
- Reviewed-by: Oliver Wolff
-
-diff --git a/src/plugins/platforms/windows/qwindowsbackingstore.cpp b/src/plugins/platforms/windows/qwindowsbackingstore.cpp
-index df6749ad25..2d5e4071bc 100644
---- a/src/plugins/platforms/windows/qwindowsbackingstore.cpp
-+++ b/src/plugins/platforms/windows/qwindowsbackingstore.cpp
-@@ -100,19 +100,15 @@ void QWindowsBackingStore::flush(QWindow *window, const QRegion ®ion,
- POINT ptDst = {r.x(), r.y()};
- POINT ptSrc = {0, 0};
- BLENDFUNCTION blend = {AC_SRC_OVER, 0, BYTE(qRound(255.0 * rw->opacity())), AC_SRC_ALPHA};
-- if (QWindowsContext::user32dll.updateLayeredWindowIndirect) {
-- RECT dirty = {dirtyRect.x(), dirtyRect.y(),
-- dirtyRect.x() + dirtyRect.width(), dirtyRect.y() + dirtyRect.height()};
-- UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA, &dirty};
-- const BOOL result = QWindowsContext::user32dll.updateLayeredWindowIndirect(rw->handle(), &info);
-- if (!result)
-- qErrnoWarning("UpdateLayeredWindowIndirect failed for ptDst=(%d, %d),"
-- " size=(%dx%d), dirty=(%dx%d %d, %d)", r.x(), r.y(),
-- r.width(), r.height(), dirtyRect.width(), dirtyRect.height(),
-- dirtyRect.x(), dirtyRect.y());
-- } else {
-- QWindowsContext::user32dll.updateLayeredWindow(rw->handle(), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA);
-- }
-+ RECT dirty = {dirtyRect.x(), dirtyRect.y(),
-+ dirtyRect.x() + dirtyRect.width(), dirtyRect.y() + dirtyRect.height()};
-+ UPDATELAYEREDWINDOWINFO info = {sizeof(info), NULL, &ptDst, &size, m_image->hdc(), &ptSrc, 0, &blend, ULW_ALPHA, &dirty};
-+ const BOOL result = UpdateLayeredWindowIndirect(rw->handle(), &info);
-+ if (!result)
-+ qErrnoWarning("UpdateLayeredWindowIndirect failed for ptDst=(%d, %d),"
-+ " size=(%dx%d), dirty=(%dx%d %d, %d)", r.x(), r.y(),
-+ r.width(), r.height(), dirtyRect.width(), dirtyRect.height(),
-+ dirtyRect.x(), dirtyRect.y());
- } else {
- const HDC dc = rw->getDC();
- if (!dc) {
-diff --git a/src/plugins/platforms/windows/qwindowsclipboard.cpp b/src/plugins/platforms/windows/qwindowsclipboard.cpp
-index d527e07308..21bc9d7377 100644
---- a/src/plugins/platforms/windows/qwindowsclipboard.cpp
-+++ b/src/plugins/platforms/windows/qwindowsclipboard.cpp
-@@ -237,8 +237,7 @@ void QWindowsClipboard::propagateClipboardMessage(UINT message, WPARAM wParam, L
- return;
- // In rare cases, a clipboard viewer can hang (application crashed,
- // suspended by a shell prompt 'Select' or debugger).
-- if (QWindowsContext::user32dll.isHungAppWindow
-- && QWindowsContext::user32dll.isHungAppWindow(m_nextClipboardViewer)) {
-+ if (IsHungAppWindow(m_nextClipboardViewer)) {
- qWarning("Cowardly refusing to send clipboard message to hung application...");
- return;
- }
-diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
-index 74dfa59988..ef0962c2ff 100644
---- a/src/plugins/platforms/windows/qwindowscontext.cpp
-+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
-@@ -97,35 +97,26 @@ int QWindowsContext::verbose = 0;
- # define LANG_SYRIAC 0x5a
- #endif
-
--static inline bool useRTL_Extensions(QSysInfo::WinVersion ver)
-+static inline bool useRTL_Extensions()
- {
-- if ((ver & QSysInfo::WV_NT_based) && (ver >= QSysInfo::WV_VISTA)) {
-- // Since the IsValidLanguageGroup/IsValidLocale functions always return true on
-- // Vista, check the Keyboard Layouts for enabling RTL.
-- if (const int nLayouts = GetKeyboardLayoutList(0, 0)) {
-- QScopedArrayPointer lpList(new HKL[nLayouts]);
-- GetKeyboardLayoutList(nLayouts, lpList.data());
-- for (int i = 0; i < nLayouts; ++i) {
-- switch (PRIMARYLANGID((quintptr)lpList[i])) {
-- case LANG_ARABIC:
-- case LANG_HEBREW:
-- case LANG_FARSI:
-- case LANG_SYRIAC:
-- return true;
-- default:
-- break;
-- }
-+ // Since the IsValidLanguageGroup/IsValidLocale functions always return true on
-+ // Vista, check the Keyboard Layouts for enabling RTL.
-+ if (const int nLayouts = GetKeyboardLayoutList(0, 0)) {
-+ QScopedArrayPointer lpList(new HKL[nLayouts]);
-+ GetKeyboardLayoutList(nLayouts, lpList.data());
-+ for (int i = 0; i < nLayouts; ++i) {
-+ switch (PRIMARYLANGID((quintptr)lpList[i])) {
-+ case LANG_ARABIC:
-+ case LANG_HEBREW:
-+ case LANG_FARSI:
-+ case LANG_SYRIAC:
-+ return true;
-+ default:
-+ break;
- }
- }
-- return false;
-- } // NT/Vista
-- // Pre-NT: figure out whether a RTL language is installed
-- return IsValidLanguageGroup(LGRPID_ARABIC, LGRPID_INSTALLED)
-- || IsValidLanguageGroup(LGRPID_HEBREW, LGRPID_INSTALLED)
-- || IsValidLocale(MAKELCID(MAKELANGID(LANG_ARABIC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
-- || IsValidLocale(MAKELCID(MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
-- || IsValidLocale(MAKELCID(MAKELANGID(LANG_SYRIAC, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED)
-- || IsValidLocale(MAKELCID(MAKELANGID(LANG_FARSI, SUBLANG_DEFAULT), SORT_DEFAULT), LCID_INSTALLED);
-+ }
-+ return false;
- }
-
- #if !defined(QT_NO_SESSIONMANAGER)
-@@ -152,9 +143,7 @@ static inline QWindowsSessionManager *platformSessionManager() {
- \ingroup qt-lighthouse-win
- */
- QWindowsUser32DLL::QWindowsUser32DLL() :
-- setLayeredWindowAttributes(0), updateLayeredWindow(0),
-- updateLayeredWindowIndirect(0),
-- isHungAppWindow(0), isTouchWindow(0),
-+ isTouchWindow(0),
- registerTouchWindow(0), unregisterTouchWindow(0),
- getTouchInputInfo(0), closeTouchInputHandle(0), setProcessDPIAware(0),
- addClipboardFormatListener(0), removeClipboardFormatListener(0),
-@@ -165,20 +154,11 @@ QWindowsUser32DLL::QWindowsUser32DLL() :
- void QWindowsUser32DLL::init()
- {
- QSystemLibrary library(QStringLiteral("user32"));
-- // MinGW (g++ 3.4.5) accepts only C casts.
-- setLayeredWindowAttributes = (SetLayeredWindowAttributes)(library.resolve("SetLayeredWindowAttributes"));
-- updateLayeredWindow = (UpdateLayeredWindow)(library.resolve("UpdateLayeredWindow"));
-- if (Q_UNLIKELY(!setLayeredWindowAttributes || !updateLayeredWindow))
-- qFatal("This version of Windows is not supported (User32.dll is missing the symbols 'SetLayeredWindowAttributes', 'UpdateLayeredWindow').");
--
-- updateLayeredWindowIndirect = (UpdateLayeredWindowIndirect)(library.resolve("UpdateLayeredWindowIndirect"));
-- isHungAppWindow = (IsHungAppWindow)library.resolve("IsHungAppWindow");
- setProcessDPIAware = (SetProcessDPIAware)library.resolve("SetProcessDPIAware");
-
-- if (QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA) {
-- addClipboardFormatListener = (AddClipboardFormatListener)library.resolve("AddClipboardFormatListener");
-- removeClipboardFormatListener = (RemoveClipboardFormatListener)library.resolve("RemoveClipboardFormatListener");
-- }
-+ addClipboardFormatListener = (AddClipboardFormatListener)library.resolve("AddClipboardFormatListener");
-+ removeClipboardFormatListener = (RemoveClipboardFormatListener)library.resolve("RemoveClipboardFormatListener");
-+
- getDisplayAutoRotationPreferences = (GetDisplayAutoRotationPreferences)library.resolve("GetDisplayAutoRotationPreferences");
- setDisplayAutoRotationPreferences = (SetDisplayAutoRotationPreferences)library.resolve("SetDisplayAutoRotationPreferences");
- }
-@@ -196,38 +176,6 @@ bool QWindowsUser32DLL::initTouch()
- return isTouchWindow && registerTouchWindow && unregisterTouchWindow && getTouchInputInfo && closeTouchInputHandle;
- }
-
--/*!
-- \class QWindowsShell32DLL
-- \brief Struct that contains dynamically resolved symbols of Shell32.dll.
--
-- The stub libraries shipped with the MinGW compiler miss some of the
-- functions. They need to be retrieved dynamically.
--
-- \sa QWindowsUser32DLL
--
-- \internal
-- \ingroup qt-lighthouse-win
--*/
--
--QWindowsShell32DLL::QWindowsShell32DLL()
-- : sHCreateItemFromParsingName(0)
-- , sHGetKnownFolderIDList(0)
-- , sHGetStockIconInfo(0)
-- , sHGetImageList(0)
-- , sHCreateItemFromIDList(0)
--{
--}
--
--void QWindowsShell32DLL::init()
--{
-- QSystemLibrary library(QStringLiteral("shell32"));
-- sHCreateItemFromParsingName = (SHCreateItemFromParsingName)(library.resolve("SHCreateItemFromParsingName"));
-- sHGetKnownFolderIDList = (SHGetKnownFolderIDList)(library.resolve("SHGetKnownFolderIDList"));
-- sHGetStockIconInfo = (SHGetStockIconInfo)library.resolve("SHGetStockIconInfo");
-- sHGetImageList = (SHGetImageList)library.resolve("SHGetImageList");
-- sHCreateItemFromIDList = (SHCreateItemFromIDList)library.resolve("SHCreateItemFromIDList");
--}
--
- QWindowsShcoreDLL::QWindowsShcoreDLL()
- : getProcessDpiAwareness(0)
- , setProcessDpiAwareness(0)
-@@ -246,7 +194,6 @@ void QWindowsShcoreDLL::init()
- }
-
- QWindowsUser32DLL QWindowsContext::user32dll;
--QWindowsShell32DLL QWindowsContext::shell32dll;
- QWindowsShcoreDLL QWindowsContext::shcoredll;
-
- QWindowsContext *QWindowsContext::m_instance = 0;
-@@ -292,16 +239,14 @@ QWindowsContextPrivate::QWindowsContextPrivate()
- , m_eventType(QByteArrayLiteral("windows_generic_MSG"))
- , m_lastActiveWindow(0), m_asyncExpose(0)
- {
-- const QSysInfo::WinVersion ver = QSysInfo::windowsVersion();
- QWindowsContext::user32dll.init();
-- QWindowsContext::shell32dll.init();
- QWindowsContext::shcoredll.init();
-
- if (m_mouseHandler.touchDevice() && QWindowsContext::user32dll.initTouch())
- m_systemInfo |= QWindowsContext::SI_SupportsTouch;
- m_displayContext = GetDC(0);
- m_defaultDPI = GetDeviceCaps(m_displayContext, LOGPIXELSY);
-- if (useRTL_Extensions(ver)) {
-+ if (useRTL_Extensions()) {
- m_systemInfo |= QWindowsContext::SI_RTL_Extensions;
- m_keyMapper.setUseRTLExtensions(true);
- }
-diff --git a/src/plugins/platforms/windows/qwindowscontext.h b/src/plugins/platforms/windows/qwindowscontext.h
-index df07f433ec..32d7800ef5 100644
---- a/src/plugins/platforms/windows/qwindowscontext.h
-+++ b/src/plugins/platforms/windows/qwindowscontext.h
-@@ -85,31 +85,17 @@ struct QWindowsUser32DLL
- inline void init();
- inline bool initTouch();
-
-- typedef BOOL (WINAPI *IsTouchWindow)(HWND, PULONG);
-+ typedef BOOL (WINAPI *IsTouchWindow)(HWND, PULONG); // Windows 7
- typedef BOOL (WINAPI *RegisterTouchWindow)(HWND, ULONG);
- typedef BOOL (WINAPI *UnregisterTouchWindow)(HWND);
- typedef BOOL (WINAPI *GetTouchInputInfo)(HANDLE, UINT, PVOID, int);
- typedef BOOL (WINAPI *CloseTouchInputHandle)(HANDLE);
-- typedef BOOL (WINAPI *SetLayeredWindowAttributes)(HWND, COLORREF, BYTE, DWORD);
-- typedef BOOL (WINAPI *UpdateLayeredWindow)(HWND, HDC , const POINT *,
-- const SIZE *, HDC, const POINT *, COLORREF,
-- const BLENDFUNCTION *, DWORD);
-- typedef BOOL (WINAPI *UpdateLayeredWindowIndirect)(HWND, const UPDATELAYEREDWINDOWINFO *);
-- typedef BOOL (WINAPI *IsHungAppWindow)(HWND);
- typedef BOOL (WINAPI *SetProcessDPIAware)();
- typedef BOOL (WINAPI *AddClipboardFormatListener)(HWND);
- typedef BOOL (WINAPI *RemoveClipboardFormatListener)(HWND);
- typedef BOOL (WINAPI *GetDisplayAutoRotationPreferences)(DWORD *);
- typedef BOOL (WINAPI *SetDisplayAutoRotationPreferences)(DWORD);
-
-- // Functions missing in Q_CC_GNU stub libraries.
-- SetLayeredWindowAttributes setLayeredWindowAttributes;
-- UpdateLayeredWindow updateLayeredWindow;
--
-- // Functions missing in older versions of Windows
-- UpdateLayeredWindowIndirect updateLayeredWindowIndirect;
-- IsHungAppWindow isHungAppWindow;
--
- // Touch functions from Windows 7 onwards (also for use with Q_CC_MSVC).
- IsTouchWindow isTouchWindow;
- RegisterTouchWindow registerTouchWindow;
-@@ -120,7 +106,8 @@ struct QWindowsUser32DLL
- // Windows Vista onwards
- SetProcessDPIAware setProcessDPIAware;
-
-- // Clipboard listeners, Windows Vista onwards
-+ // Clipboard listeners are present on Windows Vista onwards
-+ // but missing in MinGW 4.9 stub libs. Can be removed in MinGW 5.
- AddClipboardFormatListener addClipboardFormatListener;
- RemoveClipboardFormatListener removeClipboardFormatListener;
-
-@@ -129,24 +116,6 @@ struct QWindowsUser32DLL
- SetDisplayAutoRotationPreferences setDisplayAutoRotationPreferences;
- };
-
--struct QWindowsShell32DLL
--{
-- QWindowsShell32DLL();
-- inline void init();
--
-- typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **);
-- typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, PIDLIST_ABSOLUTE *);
-- typedef HRESULT (WINAPI *SHGetStockIconInfo)(int , int , _SHSTOCKICONINFO *);
-- typedef HRESULT (WINAPI *SHGetImageList)(int, REFIID , void **);
-- typedef HRESULT (WINAPI *SHCreateItemFromIDList)(PCIDLIST_ABSOLUTE, REFIID, void **);
--
-- SHCreateItemFromParsingName sHCreateItemFromParsingName;
-- SHGetKnownFolderIDList sHGetKnownFolderIDList;
-- SHGetStockIconInfo sHGetStockIconInfo;
-- SHGetImageList sHGetImageList;
-- SHCreateItemFromIDList sHCreateItemFromIDList;
--};
--
- // Shell scaling library (Windows 8.1 onwards)
- struct QWindowsShcoreDLL {
- QWindowsShcoreDLL();
-@@ -235,7 +204,6 @@ public:
- QWindowsTabletSupport *tabletSupport() const;
-
- static QWindowsUser32DLL user32dll;
-- static QWindowsShell32DLL shell32dll;
- static QWindowsShcoreDLL shcoredll;
-
- static QByteArray comErrorString(HRESULT hr);
-diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
-index f2beeb6f54..e1b0d36922 100644
---- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
-+++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
-@@ -988,22 +988,18 @@ void QWindowsNativeFileDialogBase::setWindowTitle(const QString &title)
- IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url)
- {
- if (url.isLocalFile()) {
-- if (!QWindowsContext::shell32dll.sHCreateItemFromParsingName)
-- return Q_NULLPTR;
- IShellItem *result = Q_NULLPTR;
- const QString native = QDir::toNativeSeparators(url.toLocalFile());
- const HRESULT hr =
-- QWindowsContext::shell32dll.sHCreateItemFromParsingName(reinterpret_cast(native.utf16()),
-- NULL, IID_IShellItem,
-- reinterpret_cast(&result));
-+ SHCreateItemFromParsingName(reinterpret_cast(native.utf16()),
-+ NULL, IID_IShellItem,
-+ reinterpret_cast(&result));
- if (FAILED(hr)) {
- qErrnoWarning("%s: SHCreateItemFromParsingName(%s)) failed", __FUNCTION__, qPrintable(url.toString()));
- return Q_NULLPTR;
- }
- return result;
- } else if (url.scheme() == QLatin1String("clsid")) {
-- if (!QWindowsContext::shell32dll.sHGetKnownFolderIDList || !QWindowsContext::shell32dll.sHCreateItemFromIDList)
-- return Q_NULLPTR;
- // Support for virtual folders via GUID
- // (see https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx)
- // specified as "clsid:" (without '{', '}').
-@@ -1014,12 +1010,12 @@ IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url)
- return Q_NULLPTR;
- }
- PIDLIST_ABSOLUTE idList;
-- HRESULT hr = QWindowsContext::shell32dll.sHGetKnownFolderIDList(uuid, 0, 0, &idList);
-+ HRESULT hr = SHGetKnownFolderIDList(uuid, 0, 0, &idList);
- if (FAILED(hr)) {
- qErrnoWarning("%s: SHGetKnownFolderIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString()));
- return Q_NULLPTR;
- }
-- hr = QWindowsContext::shell32dll.sHCreateItemFromIDList(idList, IID_IShellItem, reinterpret_cast(&result));
-+ hr = SHCreateItemFromIDList(idList, IID_IShellItem, reinterpret_cast(&result));
- CoTaskMemFree(idList);
- if (FAILED(hr)) {
- qErrnoWarning("%s: SHCreateItemFromIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString()));
-diff --git a/src/plugins/platforms/windows/qwindowstheme.cpp b/src/plugins/platforms/windows/qwindowstheme.cpp
-index f33267e5e3..046c32a80a 100644
---- a/src/plugins/platforms/windows/qwindowstheme.cpp
-+++ b/src/plugins/platforms/windows/qwindowstheme.cpp
-@@ -490,7 +490,7 @@ QPixmap QWindowsTheme::standardPixmap(StandardPixmap sp, const QSizeF &size) con
- const int scaleFactor = primaryScreen ? qRound(QHighDpiScaling::factor(primaryScreen)) : 1;
- const QSizeF pixmapSize = size * scaleFactor;
- int resourceId = -1;
-- int stockId = SIID_INVALID;
-+ SHSTOCKICONID stockId = SIID_INVALID;
- UINT stockFlags = 0;
- LPCTSTR iconName = 0;
- switch (sp) {
-@@ -669,14 +665,8 @@ static QPixmap pixmapFromShellImageList(int iImageList, const SHFILEINFO &info)
- // For MinGW:
- static const IID iID_IImageList = {0x46eb5926, 0x582e, 0x4017, {0x9f, 0xdf, 0xe8, 0x99, 0x8d, 0xaa, 0x9, 0x50}};
-
-- if (!QWindowsContext::shell32dll.sHGetImageList)
-- return result;
-- if (iImageList == sHIL_JUMBO && QSysInfo::WindowsVersion < QSysInfo::WV_VISTA)
-- return result;
--
- IImageList *imageList = 0;
-- HRESULT hr = QWindowsContext::shell32dll.sHGetImageList(iImageList, iID_IImageList,
-- reinterpret_cast(&imageList));
-+ HRESULT hr = SHGetImageList(iImageList, iID_IImageList, reinterpret_cast(&imageList));
- if (hr != S_OK)
- return result;
- HICON hIcon;
-diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
-index a60ab5a2ab..c369bafafc 100644
---- a/src/plugins/platforms/windows/qwindowswindow.cpp
-+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
-@@ -62,6 +62,8 @@
-
- #include
-
-+#include
-+
- QT_BEGIN_NAMESPACE
-
- enum {
-@@ -258,55 +260,22 @@ static inline bool windowIsOpenGL(const QWindow *w)
-
- static bool applyBlurBehindWindow(HWND hwnd)
- {
-- enum { dwmBbEnable = 0x1, dwmBbBlurRegion = 0x2 };
--
-- struct DwmBlurBehind {
-- DWORD dwFlags;
-- BOOL fEnable;
-- HRGN hRgnBlur;
-- BOOL fTransitionOnMaximized;
-- };
--
-- typedef HRESULT (WINAPI *PtrDwmEnableBlurBehindWindow)(HWND, const DwmBlurBehind*);
-- typedef HRESULT (WINAPI *PtrDwmIsCompositionEnabled)(BOOL *);
--
-- // DWM API is available only from Windows Vista
-- if (QSysInfo::windowsVersion() < QSysInfo::WV_VISTA)
-- return false;
--
-- static bool functionPointersResolved = false;
-- static PtrDwmEnableBlurBehindWindow dwmBlurBehind = 0;
-- static PtrDwmIsCompositionEnabled dwmIsCompositionEnabled = 0;
--
-- if (Q_UNLIKELY(!functionPointersResolved)) {
-- QSystemLibrary library(QStringLiteral("dwmapi"));
-- if (library.load()) {
-- dwmBlurBehind = (PtrDwmEnableBlurBehindWindow)(library.resolve("DwmEnableBlurBehindWindow"));
-- dwmIsCompositionEnabled = (PtrDwmIsCompositionEnabled)(library.resolve("DwmIsCompositionEnabled"));
-- }
--
-- functionPointersResolved = true;
-- }
--
-- if (Q_UNLIKELY(!dwmBlurBehind || !dwmIsCompositionEnabled))
-- return false;
--
- BOOL compositionEnabled;
-- if (dwmIsCompositionEnabled(&compositionEnabled) != S_OK)
-+ if (DwmIsCompositionEnabled(&compositionEnabled) != S_OK)
- return false;
-
-- DwmBlurBehind blurBehind = {0, 0, 0, 0};
-+ DWM_BLURBEHIND blurBehind = {0, 0, 0, 0};
-
- if (compositionEnabled) {
-- blurBehind.dwFlags = dwmBbEnable | dwmBbBlurRegion;
-+ blurBehind.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION;
- blurBehind.fEnable = TRUE;
- blurBehind.hRgnBlur = CreateRectRgn(0, 0, -1, -1);
- } else {
-- blurBehind.dwFlags = dwmBbEnable;
-+ blurBehind.dwFlags = DWM_BB_ENABLE;
- blurBehind.fEnable = FALSE;
- }
-
-- const bool result = dwmBlurBehind(hwnd, &blurBehind) == S_OK;
-+ const bool result = DwmEnableBlurBehindWindow(hwnd, &blurBehind) == S_OK;
-
- if (blurBehind.hRgnBlur)
- DeleteObject(blurBehind.hRgnBlur);
-@@ -351,9 +320,9 @@ static void setWindowOpacity(HWND hwnd, Qt::WindowFlags flags, bool hasAlpha, bo
- if (hasAlpha && !openGL && (flags & Qt::FramelessWindowHint)) {
- // Non-GL windows with alpha: Use blend function to update.
- BLENDFUNCTION blend = {AC_SRC_OVER, 0, alpha, AC_SRC_ALPHA};
-- QWindowsContext::user32dll.updateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL, 0, &blend, ULW_ALPHA);
-+ UpdateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL, 0, &blend, ULW_ALPHA);
- } else {
-- QWindowsContext::user32dll.setLayeredWindowAttributes(hwnd, 0, alpha, LWA_ALPHA);
-+ SetLayeredWindowAttributes(hwnd, 0, alpha, LWA_ALPHA);
- }
- } else if (IsWindowVisible(hwnd)) { // Repaint when switching from layered.
- InvalidateRect(hwnd, NULL, TRUE);
-diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro
-index aef9f5330c..adafa830d5 100644
---- a/src/plugins/platforms/windows/windows.pro
-+++ b/src/plugins/platforms/windows/windows.pro
-@@ -4,7 +4,7 @@ QT *= core-private
- QT *= gui-private
- QT *= platformsupport-private
-
--LIBS += -lgdi32
-+LIBS += -lgdi32 -ldwmapi
-
- include(windows.pri)
diff --git a/patches/qtbase/windowsxp-support.patch b/patches/qtbase/windowsxp-support.patch
deleted file mode 100755
index dcfbed4b..00000000
--- a/patches/qtbase/windowsxp-support.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /bin/sh
-patch -p1 -f -l $* < $0
-exit $?
-
-diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
-index e12da68671..c9d2a4b80f 100644
---- a/src/corelib/io/qsettings.cpp
-+++ b/src/corelib/io/qsettings.cpp
-@@ -54,6 +54,8 @@
- #include "qstandardpaths.h"
- #include
-
-+#include
-+
- #ifndef QT_NO_TEXTCODEC
- # include "qtextcodec.h"
- #endif
-@@ -951,15 +953,34 @@ void QConfFileSettingsPrivate::initAccess()
- }
-
- #if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
--static QString windowsConfigPath(const KNOWNFOLDERID &type)
-+static QString convertCharArray(const wchar_t *path)
-+{
-+ return QDir::fromNativeSeparators(QString::fromWCharArray(path));
-+}
-+
-+// Convenience for SHGetKnownFolderPath().
-+static QString sHGetKnownFolderPath(const GUID &clsid)
- {
- QString result;
-+ typedef HRESULT (WINAPI *GetKnownFolderPath)(const GUID&, DWORD, HANDLE, LPWSTR*);
-
-- PWSTR path = nullptr;
-- if (SHGetKnownFolderPath(type, KF_FLAG_DONT_VERIFY, NULL, &path) == S_OK) {
-- result = QString::fromWCharArray(path);
-+ static const GetKnownFolderPath sHGetKnownFolderPath = // Vista onwards.
-+ reinterpret_cast(QSystemLibrary::resolve(QLatin1String("shell32"), "SHGetKnownFolderPath"));
-+
-+ LPWSTR path;
-+ if (Q_LIKELY(sHGetKnownFolderPath && SUCCEEDED(sHGetKnownFolderPath(clsid, KF_FLAG_DONT_VERIFY, 0, &path)))) {
-+ result = convertCharArray(path);
- CoTaskMemFree(path);
- }
-+ return result;
-+}
-+
-+static QString windowsConfigPath(const KNOWNFOLDERID &type)
-+{
-+ QString result;
-+
-+ PWSTR path = nullptr;
-+ result = sHGetKnownFolderPath(type);
-
- if (result.isEmpty()) {
- if (type == FOLDERID_ProgramData) {
-diff --git a/src/plugins/platforms/windows/qwin10helpers.cpp b/src/plugins/platforms/windows/qwin10helpers.cpp
-index 12cccd124b..fe444c9420 100644
---- a/src/plugins/platforms/windows/qwin10helpers.cpp
-+++ b/src/plugins/platforms/windows/qwin10helpers.cpp
-@@ -42,10 +42,10 @@
- #include
- #include
-
--#if defined(Q_CC_MINGW)
-+#if 0
- # define HAS_UI_VIEW_SETTINGS_INTEROP
- // Present from MSVC2015 + SDK 10 onwards
--#elif (!defined(Q_CC_MSVC) || _MSC_VER >= 1900) && NTDDI_VERSION >= 0xa000000
-+#elif 0
- # define HAS_UI_VIEW_SETTINGS_INTEROP
- # define HAS_UI_VIEW_SETTINGS
- #endif