summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2020-01-29 19:09:56 +0100
committerMartchus2020-01-29 19:09:56 +0100
commitd6879f0bc6b078ec05feb6c8228d3436028f5ac0 (patch)
tree201aa9915c2facb0fb2a802a9ee5dde2c6ccd539
parentddca990e3e6fd5d8f544691149eb1bb65edaef74 (diff)
downloadaur-d6879f0bc6b078ec05feb6c8228d3436028f5ac0.tar.gz
Update to 5.14.1
-rw-r--r--.SRCINFO8
-rw-r--r--0001-Revert-Directly-link-to-functions-available-from-Win.patch298
-rw-r--r--PKGBUILD21
-rw-r--r--PKGBUILD.sh.ep13
-rw-r--r--qtwinextras-sha256.txt1
5 files changed, 29 insertions, 312 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c962dd3a2190..255bdc78ecdb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-qt5-winextras
pkgdesc = Classes and functions that enable you to use Windows-specific functions (mingw-w64)
- pkgver = 5.14.0
+ pkgver = 5.14.1
pkgrel = 1
url = https://www.qt.io/
arch = any
@@ -19,10 +19,8 @@ pkgbase = mingw-w64-qt5-winextras
options = !strip
options = !buildflags
options = staticlibs
- source = https://download.qt.io/official_releases/qt/5.14/5.14.0/submodules/qtwinextras-everywhere-src-5.14.0.tar.xz
- source = 0001-Revert-Directly-link-to-functions-available-from-Win.patch
- sha256sums = cbe7d73f1972e99ea27c0e5f4fed2b713109167388814dcfe2932c19ae218a18
- sha256sums = 738ef04bc5d6932283b0525449d2090dcd63228459186815c0d907df25ed259e
+ source = https://download.qt.io/official_releases/qt/5.14/5.14.1/submodules/qtwinextras-everywhere-src-5.14.1.tar.xz
+ sha256sums = 222b888b89a8fb02948faf985e8614ac543603a000c1cf2e7489f8bf15ccc3cc
pkgname = mingw-w64-qt5-winextras
diff --git a/0001-Revert-Directly-link-to-functions-available-from-Win.patch b/0001-Revert-Directly-link-to-functions-available-from-Win.patch
deleted file mode 100644
index fe4472ca4e03..000000000000
--- a/0001-Revert-Directly-link-to-functions-available-from-Win.patch
+++ /dev/null
@@ -1,298 +0,0 @@
-From bc075232c06699402e18c257deb21b27645d39f3 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 27 May 2018 14:23:11 +0200
-Subject: [PATCH] Revert "Directly link to functions available from Windows 7
- onwards"
-
-This reverts commit 07f6d25a00af112d46e939992fb9cf42879fc7c1.
-
-Otherwise the x86_64 version doesn't compile with mingw-w64-crt 5.0.3.
-
-Apparently those functions are absent in the libdwmapi.a library provided
-by the CRT:
-```
-grep DwmSetIconicThumbnail /usr/x86_64-w64-mingw32/lib/libdwmapi.a
-[no further output]
-```
-
-This leads to the following linker error:
-```
-x86_64-w64-mingw32-g++ -g -shared -Wl,-subsystem,windows -Wl,--out-implib,/build/mingw-w64-qt5-winextras/src/qtwinextras-everywhere-src-5.11.0/build-x86_64-w64-mingw32-shared/lib/libQt5WinExtras.dll.a -o ../../lib/Qt5WinExtras.dll object_script.Qt5WinExtras.Release -lglu32 -lopengl32 -lgdi32 -luser32 -lQt5Gui -lQt5Core -lole32 -lshlwapi -lshell32 -ldwmapi
-./.obj/release/qwinthumbnailtoolbar.o: In function `QWinThumbnailToolBarPrivate::updateIconicPixmapsEnabled(bool)':
-/build/mingw-w64-qt5-winextras/src/qtwinextras-everywhere-src-5.11.0/src/winextras/qwinthumbnailtoolbar.cpp:246: undefined reference to `DwmInvalidateIconicBitmaps'
-./.obj/release/qwinthumbnailtoolbar.o: In function `QWinThumbnailToolBarPrivate::updateIconicLivePreview(tagMSG const*)':
-/build/mingw-w64-qt5-winextras/src/qtwinextras-everywhere-src-5.11.0/src/winextras/qwinthumbnailtoolbar.cpp:411: undefined reference to `DwmSetIconicLivePreviewBitmap'
-./.obj/release/qwinthumbnailtoolbar.o: In function `QWinThumbnailToolBarPrivate::updateIconicThumbnail(tagMSG const*)':
-/build/mingw-w64-qt5-winextras/src/qtwinextras-everywhere-src-5.11.0/src/winextras/qwinthumbnailtoolbar.cpp:396: undefined reference to `DwmSetIconicThumbnail'
-collect2: error: ld returned 1 exit status
-```
-
-Note that the i686 version has the required functions and links fine:
-```
-grep DwmSetIconicThumbnail /usr/i686-w64-mingw32/lib/libdwmapi.a
-Binary file /usr/i686-w64-mingw32/lib/libdwmapi.a matches
-```
----
- src/winextras/qwinfunctions.cpp | 14 ++---
- src/winextras/qwinfunctions_p.cpp | 74 ++++++++++++++++++++++++++
- src/winextras/qwinfunctions_p.h | 36 ++++++++++++-
- src/winextras/qwinthumbnailtoolbar.cpp | 22 ++++----
- src/winextras/winextras.pro | 1 +
- 5 files changed, 125 insertions(+), 22 deletions(-)
- create mode 100644 src/winextras/qwinfunctions_p.cpp
-
-diff --git a/src/winextras/qwinfunctions.cpp b/src/winextras/qwinfunctions.cpp
-index b237a50..7866140 100644
---- a/src/winextras/qwinfunctions.cpp
-+++ b/src/winextras/qwinfunctions.cpp
-@@ -38,13 +38,6 @@
- **
- ****************************************************************************/
-
--#if defined(NTDDI_VERSION) && NTDDI_VERSION < 0x06010000 // NTDDI_WIN7
--# undef NTDDI_VERSION
--#endif
--#if !defined(NTDDI_VERSION)
--# define NTDDI_VERSION 0x06010000 // Enable functions for MinGW
--#endif
--
- #include "qwinfunctions.h"
- #include "qwinfunctions_p.h"
- #include "qwineventfilter_p.h"
-@@ -1850,8 +1843,11 @@ bool QtWin::isCompositionOpaque()
- */
- void QtWin::setCurrentProcessExplicitAppUserModelID(const QString &id)
- {
-- QScopedArrayPointer<wchar_t> wid(qt_qstringToNullTerminated(id));
-- SetCurrentProcessExplicitAppUserModelID(wid.data());
-+ qtShell32Dll.init();
-+ if (qtShell32Dll.setCurrentProcessExplicitAppUserModelID) {
-+ QScopedArrayPointer<wchar_t> wid(qt_qstringToNullTerminated(id));
-+ qtShell32Dll.setCurrentProcessExplicitAppUserModelID(wid.data());
-+ }
- }
-
- /*!
-diff --git a/src/winextras/qwinfunctions_p.cpp b/src/winextras/qwinfunctions_p.cpp
-new file mode 100644
-index 0000000..ea9dcf9
---- /dev/null
-+++ b/src/winextras/qwinfunctions_p.cpp
-@@ -0,0 +1,74 @@
-+/****************************************************************************
-+ **
-+ ** Copyright (C) 2016 Ivan Vizir <define-true-false@yandex.com>
-+ ** Contact: https://www.qt.io/licensing/
-+ **
-+ ** This file is part of the QtWinExtras 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 The Qt Company. For licensing terms
-+ ** and conditions see https://www.qt.io/terms-conditions. For further
-+ ** information use the contact form at https://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 3 as published by the Free Software
-+ ** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+ ** packaging of this file. Please review the following information to
-+ ** ensure the GNU Lesser General Public License version 3 requirements
-+ ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+ **
-+ ** GNU General Public License Usage
-+ ** Alternatively, this file may be used under the terms of the GNU
-+ ** General Public License version 2.0 or (at your option) the GNU General
-+ ** Public license version 3 or any later version approved by the KDE Free
-+ ** Qt Foundation. The licenses are as published by the Free Software
-+ ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+ ** included in the packaging of this file. Please review the following
-+ ** information to ensure the GNU General Public License requirements will
-+ ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+ ** https://www.gnu.org/licenses/gpl-3.0.html.
-+ **
-+ ** $QT_END_LICENSE$
-+ **
-+ ****************************************************************************/
-+
-+#include "qwinfunctions_p.h"
-+
-+#include <qt_windows.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+// in order to allow binary to load on WinXP...
-+QtDwmApiDll qtDwmApiDll;
-+QtShell32Dll qtShell32Dll;
-+
-+void QtDwmApiDll::resolve()
-+{
-+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
-+ if (const HMODULE dwmapi = LoadLibraryW(L"dwmapi.dll")) {
-+ dwmSetIconicThumbnail =
-+ (DwmSetIconicThumbnail) GetProcAddress(dwmapi, "DwmSetIconicThumbnail");
-+ dwmSetIconicLivePreviewBitmap =
-+ (DwmSetIconicLivePreviewBitmap) GetProcAddress(dwmapi, "DwmSetIconicLivePreviewBitmap");
-+ dwmInvalidateIconicBitmaps =
-+ (DwmInvalidateIconicBitmaps) GetProcAddress(dwmapi, "DwmInvalidateIconicBitmaps");
-+ }
-+ }
-+}
-+
-+void QtShell32Dll::resolve()
-+{
-+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
-+ if (const HMODULE shell32 = LoadLibraryW(L"shell32.dll")) {
-+ setCurrentProcessExplicitAppUserModelID =
-+ (SetCurrentProcessExplicitAppUserModelID) GetProcAddress(shell32, "SetCurrentProcessExplicitAppUserModelID");
-+ }
-+ }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/winextras/qwinfunctions_p.h b/src/winextras/qwinfunctions_p.h
-index 0ee73cb..a5816fe 100644
---- a/src/winextras/qwinfunctions_p.h
-+++ b/src/winextras/qwinfunctions_p.h
-@@ -64,8 +64,20 @@ enum qt_DWMWINDOWATTRIBUTE // Not present in MinGW 4.9
- qt_DWMWA_EXCLUDED_FROM_PEEK = 12,
- };
-
--namespace QtDwmApiDll
-+struct QtDwmApiDll
- {
-+ typedef HRESULT (STDAPICALLTYPE *DwmSetIconicThumbnail)(HWND, HBITMAP, DWORD); // Windows 7
-+ typedef HRESULT (STDAPICALLTYPE *DwmSetIconicLivePreviewBitmap)(HWND, HBITMAP, POINT *, DWORD);
-+ typedef HRESULT (STDAPICALLTYPE *DwmInvalidateIconicBitmaps)(HWND);
-+
-+ void init()
-+ {
-+ if (!dwmSetIconicThumbnail)
-+ resolve();
-+ }
-+
-+ void resolve();
-+
- template <class T> static T windowAttribute(HWND hwnd, DWORD attribute, T defaultValue);
- template <class T> static void setWindowAttribute(HWND hwnd, DWORD attribute, T value);
-
-@@ -74,8 +86,30 @@ namespace QtDwmApiDll
-
- inline void setBooleanWindowAttribute(HWND hwnd, DWORD attribute, bool value)
- { setWindowAttribute<BOOL>(hwnd, attribute, BOOL(value ? TRUE : FALSE)); }
-+
-+ DwmSetIconicThumbnail dwmSetIconicThumbnail = nullptr;
-+ DwmSetIconicLivePreviewBitmap dwmSetIconicLivePreviewBitmap = nullptr;
-+ DwmInvalidateIconicBitmaps dwmInvalidateIconicBitmaps = nullptr;
- };
-
-+struct QtShell32Dll
-+{
-+ typedef HRESULT (STDAPICALLTYPE *SetCurrentProcessExplicitAppUserModelID)(PCWSTR);
-+
-+ void init()
-+ {
-+ if (!setCurrentProcessExplicitAppUserModelID)
-+ resolve();
-+ }
-+
-+ void resolve();
-+
-+ SetCurrentProcessExplicitAppUserModelID setCurrentProcessExplicitAppUserModelID = nullptr; // Windows 7
-+};
-+
-+extern QtDwmApiDll qtDwmApiDll;
-+extern QtShell32Dll qtShell32Dll;
-+
- inline void qt_qstringToNullTerminated(const QString &src, wchar_t *dst)
- {
- dst[src.toWCharArray(dst)] = 0;
-diff --git a/src/winextras/qwinthumbnailtoolbar.cpp b/src/winextras/qwinthumbnailtoolbar.cpp
-index fc8d76e..59880c7 100644
---- a/src/winextras/qwinthumbnailtoolbar.cpp
-+++ b/src/winextras/qwinthumbnailtoolbar.cpp
-@@ -38,13 +38,6 @@
- **
- ****************************************************************************/
-
--#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0601
--# undef _WIN32_WINNT
--#endif
--#if !defined(_WIN32_WINNT)
--# define _WIN32_WINNT 0x0601 // Enable functions for MinGW
--#endif
--
- #include "qwinthumbnailtoolbar.h"
- #include "qwinthumbnailtoolbar_p.h"
- #include "qwinthumbnailtoolbutton.h"
-@@ -232,15 +225,18 @@ int QWinThumbnailToolBar::count() const
- void QWinThumbnailToolBarPrivate::updateIconicPixmapsEnabled(bool invalidate)
- {
- Q_Q(QWinThumbnailToolBar);
-+ qtDwmApiDll.init();
- const HWND hwnd = handle();
- if (!hwnd) {
- qWarning() << Q_FUNC_INFO << "invoked with hwnd=0";
- return;
- }
-+ if (!qtDwmApiDll.dwmInvalidateIconicBitmaps)
-+ return;
- const bool enabled = iconicThumbnail || iconicLivePreview;
- q->setIconicPixmapNotificationsEnabled(enabled);
- if (enabled && invalidate) {
-- const HRESULT hr = DwmInvalidateIconicBitmaps(hwnd);
-+ const HRESULT hr = qtDwmApiDll.dwmInvalidateIconicBitmaps(hwnd);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmInvalidateIconicBitmaps", hr);
- }
-@@ -386,11 +382,12 @@ QPixmap QWinThumbnailToolBar::iconicLivePreviewPixmap() const
-
- inline void QWinThumbnailToolBarPrivate::updateIconicThumbnail(const MSG *message)
- {
-- if (!iconicThumbnail)
-+ qtDwmApiDll.init();
-+ if (!qtDwmApiDll.dwmSetIconicThumbnail || !iconicThumbnail)
- return;
- const QSize maxSize(HIWORD(message->lParam), LOWORD(message->lParam));
- if (const HBITMAP bitmap = iconicThumbnail.bitmap(maxSize)) {
-- const HRESULT hr = DwmSetIconicThumbnail(message->hwnd, bitmap, dWM_SIT_DISPLAYFRAME);
-+ const HRESULT hr = qtDwmApiDll.dwmSetIconicThumbnail(message->hwnd, bitmap, dWM_SIT_DISPLAYFRAME);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmSetIconicThumbnail", hr);
- }
-@@ -398,14 +395,15 @@ inline void QWinThumbnailToolBarPrivate::updateIconicThumbnail(const MSG *messag
-
- inline void QWinThumbnailToolBarPrivate::updateIconicLivePreview(const MSG *message)
- {
-- if (!iconicLivePreview)
-+ qtDwmApiDll.init();
-+ if (!qtDwmApiDll.dwmSetIconicLivePreviewBitmap || !iconicLivePreview)
- return;
- RECT rect;
- GetClientRect(message->hwnd, &rect);
- const QSize maxSize(rect.right, rect.bottom);
- POINT offset = {0, 0};
- if (const HBITMAP bitmap = iconicLivePreview.bitmap(maxSize)) {
-- const HRESULT hr = DwmSetIconicLivePreviewBitmap(message->hwnd, bitmap, &offset, dWM_SIT_DISPLAYFRAME);
-+ const HRESULT hr = qtDwmApiDll.dwmSetIconicLivePreviewBitmap(message->hwnd, bitmap, &offset, dWM_SIT_DISPLAYFRAME);
- if (FAILED(hr))
- qWarning() << QWinThumbnailToolBarPrivate::msgComFailed("DwmSetIconicLivePreviewBitmap", hr);
- }
-diff --git a/src/winextras/winextras.pro b/src/winextras/winextras.pro
-index 8f582a5..a899f6c 100644
---- a/src/winextras/winextras.pro
-+++ b/src/winextras/winextras.pro
-@@ -4,6 +4,7 @@ QT += gui-private core-private
-
- SOURCES += \
- qwinfunctions.cpp \
-+ qwinfunctions_p.cpp \
- qwintaskbarbutton.cpp \
- qwintaskbarprogress.cpp \
- windowsguidsdefs.cpp \
---
-2.24.1
-
diff --git a/PKGBUILD b/PKGBUILD
index 02b404edb454..6ee0d71d2951 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,32 +4,35 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
+# This file is created from PKGBUILD.sh.in contained by the mentioned repository.
+# Do not edit it manually! See README.md in the repository's root directory
+# for more information.
+
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwinextras
-pkgname="mingw-w64-qt5-winextras"
-pkgver=5.14.0
+pkgname=mingw-w64-qt5-winextras
+pkgver=5.14.1
pkgrel=1
arch=('any')
pkgdesc="Classes and functions that enable you to use Windows-specific functions (mingw-w64)"
depends=('mingw-w64-qt5-base' 'mingw-w64-qt5-declarative')
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config')
+license=('GPL3' 'LGPL3' 'LGPL2.1' 'FDL' 'custom')
options=('!strip' '!buildflags' 'staticlibs')
groups=('mingw-w64-qt5')
-license=('GPL3' 'LGPL3' 'LGPL2.1' 'FDL' 'custom')
url='https://www.qt.io/'
_pkgfqn="${_qt_module}-everywhere-src-${pkgver}"
-source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
- '0001-Revert-Directly-link-to-functions-available-from-Win.patch')
-sha256sums=('cbe7d73f1972e99ea27c0e5f4fed2b713109167388814dcfe2932c19ae218a18'
- '738ef04bc5d6932283b0525449d2090dcd63228459186815c0d907df25ed259e')
+source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('222b888b89a8fb02948faf985e8614ac543603a000c1cf2e7489f8bf15ccc3cc')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
+
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
- _configurations+=('CONFIG+=static')
+ _configurations+=('CONFIG+=no_smart_library_merge CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=actually_a_shared_build CONFIG+=shared')
@@ -40,7 +43,7 @@ build() {
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
- ${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
+ ${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config} ${_additional_qmake_args}
make
popd
done
diff --git a/PKGBUILD.sh.ep b/PKGBUILD.sh.ep
new file mode 100644
index 000000000000..82120ebd94e3
--- /dev/null
+++ b/PKGBUILD.sh.ep
@@ -0,0 +1,13 @@
+% layout 'mingw-w64-qt5-module';
+\
+% content_for additional_contributors => begin
+# Contributor: ant32 <antreimer@gmail.com>
+% end
+\
+pkgver=5.14.1
+pkgrel=1
+arch=('any')
+pkgdesc="Classes and functions that enable you to use Windows-specific functions (mingw-w64)"
+depends=('mingw-w64-qt5-base' 'mingw-w64-qt5-declarative')
+makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config')
+license=('GPL3' 'LGPL3' 'LGPL2.1' 'FDL' 'custom')
diff --git a/qtwinextras-sha256.txt b/qtwinextras-sha256.txt
new file mode 100644
index 000000000000..34c6ecebbd8f
--- /dev/null
+++ b/qtwinextras-sha256.txt
@@ -0,0 +1 @@
+222b888b89a8fb02948faf985e8614ac543603a000c1cf2e7489f8bf15ccc3cc