diff --git a/srcpkgs/qt5/patches/0027-remove-glibc-check.patch b/srcpkgs/qt5/patches/0027-remove-glibc-check.patch new file mode 100644 index 00000000000..fd0ab849c01 --- /dev/null +++ b/srcpkgs/qt5/patches/0027-remove-glibc-check.patch @@ -0,0 +1,13 @@ +--- qtwebengine/config.tests/glibc/glibc.cpp ++++ qtwebengine/config.tests/glibc/glibc.cpp +@@ -28,10 +28,6 @@ + + #include + +-#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 17 +-#error glibc versions below 2.17 are not supported +-#endif +- + int main(int , char **) { + return 0; + } diff --git a/srcpkgs/qt5/patches/0048-qtbug-76742.patch b/srcpkgs/qt5/patches/0048-qtbug-76742.patch deleted file mode 100644 index 311ad55e4d4..00000000000 --- a/srcpkgs/qt5/patches/0048-qtbug-76742.patch +++ /dev/null @@ -1,25 +0,0 @@ -Source: https://codereview.qt-project.org/c/qt/qtbase/+/267242 -Upstream: yes -Reason: fix focus stealing in applications (e.g. VirtualBox) - ---- qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp 2019-06-13 06:18:18.000000000 +0200 -+++ qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp 2019-07-21 11:56:22.250127747 +0200 -@@ -133,6 +133,7 @@ - qunsetenv("DESKTOP_STARTUP_ID"); - - m_focusInTimer.setSingleShot(true); -+ m_focusInTimer.setInterval(100); - m_focusInTimer.callOnTimeout([]() { - // No FocusIn events for us, proceed with FocusOut normally. - QWindowSystemInterface::handleWindowActivated(nullptr, Qt::ActiveWindowFocusReason); ---- qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp 2019-06-13 06:18:18.000000000 +0200 -+++ qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp 2019-07-21 11:58:00.255122346 +0200 -@@ -848,7 +848,7 @@ - connection()->setFocusWindow(nullptr); - relayFocusToModalWindow(); - // Do not set the active window to nullptr if there is a FocusIn coming. -- connection()->focusInTimer().start(400); -+ connection()->focusInTimer().start(); - } - - struct QtMotifWmHints { diff --git a/srcpkgs/qt5/patches/0050-pulse-stubs.patch b/srcpkgs/qt5/patches/0050-pulse-stubs.patch new file mode 100644 index 00000000000..c4f0fae86ee --- /dev/null +++ b/srcpkgs/qt5/patches/0050-pulse-stubs.patch @@ -0,0 +1,49 @@ +Pulse changed API in a recent update and these need to be fixed +in order to avoid build errors. + +--- qtwebengine/src/3rdparty/chromium/media/audio/pulse/pulse.sigs ++++ qtwebengine/src/3rdparty/chromium/media/audio/pulse/pulse.sigs +@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p + pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); + pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); + pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); +-pa_context_state_t pa_context_get_state(pa_context* c); ++pa_context_state_t pa_context_get_state(const pa_context* c); + pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); + pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); + void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +-pa_operation_state_t pa_operation_get_state(pa_operation* o); ++pa_operation_state_t pa_operation_get_state(const pa_operation* o); + void pa_context_unref(pa_context* c); + void pa_operation_unref(pa_operation* o); + int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); +@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi + int pa_stream_disconnect(pa_stream* s); + int pa_stream_drop(pa_stream *p); + pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); +-uint32_t pa_stream_get_device_index(pa_stream* s); ++uint32_t pa_stream_get_device_index(const pa_stream* s); + int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); +-pa_stream_state_t pa_stream_get_state(pa_stream* p); ++pa_stream_state_t pa_stream_get_state(const pa_stream* p); + pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); + pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); + pa_proplist* pa_proplist_new(void); +-int pa_proplist_contains(pa_proplist* p, const char* key); ++int pa_proplist_contains(const pa_proplist* p, const char* key); + void pa_proplist_free(pa_proplist* p); +-const char* pa_proplist_gets(pa_proplist* p, const char* key); ++const char* pa_proplist_gets(const pa_proplist* p, const char* key); + int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); +-size_t pa_stream_readable_size(pa_stream *p); ++size_t pa_stream_readable_size(const pa_stream *p); + int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); + void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); + void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); + int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); + void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); + void pa_stream_unref(pa_stream* s); +-int pa_context_errno(pa_context *c); ++int pa_context_errno(const pa_context *c); + const char* pa_strerror(int error); + pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); diff --git a/srcpkgs/qt5/patches/0100-qtbug-77364.patch b/srcpkgs/qt5/patches/0100-qtbug-77364.patch new file mode 100644 index 00000000000..5a3629bf0b7 --- /dev/null +++ b/srcpkgs/qt5/patches/0100-qtbug-77364.patch @@ -0,0 +1,26 @@ +From c09cf578bd7267b867326101cd2d0f39e7c814fe Mon Sep 17 00:00:00 2001 +From: David Faure +Date: Mon, 09 Sep 2019 18:12:26 +0200 +Subject: [PATCH] QWidget::setFocusProxy: adjust focus widget properly + +My commit 3e7463411e adjusted the focus widget by setting +QApplicationPrivate::focus_widget directly, while there is a method for +doing this properly, including setFocus_sys() and emitting signals. + +Fixes: QTBUG-77364 +Change-Id: I218acf7a9de39173d282ced46def4f65594f80b4 +--- + +diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp +index cf5a81c..6889c2e 100644 +--- qtbase/src/widgets/kernel/qwidget.cpp ++++ qtbase/src/widgets/kernel/qwidget.cpp +@@ -6204,7 +6204,7 @@ + + if (changingAppFocusWidget) { + QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy(); +- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this; ++ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason); + } + } + diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template index 610b2a88b07..0b74add5101 100644 --- a/srcpkgs/qt5/template +++ b/srcpkgs/qt5/template @@ -1,7 +1,7 @@ # Template file for 'qt5' pkgname=qt5 -version=5.13.0 -revision=4 +version=5.13.1 +revision=1 wrksrc="qt-everywhere-src-${version}" build_style=gnu-configure hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config @@ -21,7 +21,7 @@ maintainer="Jürgen Buchmüller " license="GPL-3.0-or-later, LGPL-3.0-or-later" homepage="https://qt.io/" distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/single/qt-everywhere-src-${version}.tar.xz" -checksum=2cba31e410e169bd5cdae159f839640e672532a4687ea0f265f686421e0e86d6 +checksum=adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0 qt5-webkit-devel<5.6.0 qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1 qt5-canvas3d<5.13.0" @@ -412,6 +412,7 @@ do_configure() { } do_build() { + export NINJAJOBS=${makejobs} # Run make twice because sometimes a file "chrome/grit/generated_resources.h" # is not yet ready when it is to be included. Repeating make works around that # problem without having to resort to disable_parallel_build=yes