summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/gstreamer-buffer-reset-offset.patch59
-rw-r--r--gnu/packages/patches/kwindowsystem-qt-compat.patch97
-rw-r--r--gnu/packages/patches/mesa-timespec-test-32bit.patch17
-rw-r--r--gnu/packages/patches/orc-typedef-enum.patch17
-rw-r--r--gnu/packages/patches/pyqt-unbundled-qt.patch19
-rw-r--r--gnu/packages/patches/qtbase-old-kernel.patch25
-rw-r--r--gnu/packages/patches/sdl2-mesa-compat.patch21
7 files changed, 171 insertions, 84 deletions
diff --git a/gnu/packages/patches/gstreamer-buffer-reset-offset.patch b/gnu/packages/patches/gstreamer-buffer-reset-offset.patch
deleted file mode 100644
index 024892a60f..0000000000
--- a/gnu/packages/patches/gstreamer-buffer-reset-offset.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Fix a buffer offset problem in GStreamer 1.16. Initially reported by Mark H.
-Weaver in <https://lists.gnu.org/archive/html/guix-devel/2019-06/msg00140.html>.
-
-See also <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/316>.
-
-From 1734c9fc1a4f99b165383ae1eb02f04e0844a00c Mon Sep 17 00:00:00 2001
-From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-Date: Sat, 29 Jun 2019 09:22:05 -0400
-Subject: [PATCH] bufferpool: Fix the buffer size reset code
-
-The offset in gst_buffer_resize() is additive. So to move back the
-offset to zero, we need to pass the opposite of the current offset. This
-was raised through the related unit test failingon 32bit as on 64bit
-the alignment padding was enough to hide the issue. The test was
-modified to also fail on 64bit. This patch will remove spurious
-assertions like:
-
- assertion 'bufmax >= bufoffs + offset + size' failed
-
-Fixes #316
----
- gst/gstbufferpool.c | 7 +++++--
- tests/check/gst/gstbufferpool.c | 2 +-
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
-index e5c7a5872..619860e63 100644
---- a/gst/gstbufferpool.c
-+++ b/gst/gstbufferpool.c
-@@ -1222,8 +1222,11 @@ default_reset_buffer (GstBufferPool * pool, GstBuffer * buffer)
- GST_BUFFER_OFFSET_END (buffer) = GST_BUFFER_OFFSET_NONE;
-
- /* if the memory is intact reset the size to the full size */
-- if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY))
-- gst_buffer_resize (buffer, 0, pool->priv->size);
-+ if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_TAG_MEMORY)) {
-+ gsize offset;
-+ gst_buffer_get_sizes (buffer, &offset, NULL);
-+ gst_buffer_resize (buffer, -offset, pool->priv->size);
-+ }
-
- /* remove all metadata without the POOLED flag */
- gst_buffer_foreach_meta (buffer, remove_meta_unpooled, pool);
-diff --git a/tests/check/gst/gstbufferpool.c b/tests/check/gst/gstbufferpool.c
-index f0c3c8d8e..dd9b2dc03 100644
---- a/tests/check/gst/gstbufferpool.c
-+++ b/tests/check/gst/gstbufferpool.c
-@@ -190,7 +190,7 @@ GST_START_TEST (test_buffer_modify_discard)
- gst_buffer_pool_acquire_buffer (pool, &buf, NULL);
- buffer_track_destroy (buf, &dcount);
- /* do resize, as we didn't modify the memory, pool should reuse this buffer */
-- gst_buffer_resize (buf, 5, 2);
-+ gst_buffer_resize (buf, 8, 2);
- gst_buffer_unref (buf);
-
- /* buffer should've gone back into pool */
---
-2.22.0
-
diff --git a/gnu/packages/patches/kwindowsystem-qt-compat.patch b/gnu/packages/patches/kwindowsystem-qt-compat.patch
new file mode 100644
index 0000000000..ef31636917
--- /dev/null
+++ b/gnu/packages/patches/kwindowsystem-qt-compat.patch
@@ -0,0 +1,97 @@
+Fix test failure with Qt 5.12.
+
+Taken from upstream:
+https://cgit.kde.org/kwindowsystem.git/commit/?id=14998613603c7d8f91b011a2c9c20396067add0e
+
+diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
+index f8e67f0..c1121a7 100644
+--- a/autotests/CMakeLists.txt
++++ b/autotests/CMakeLists.txt
+@@ -12,12 +12,12 @@ add_subdirectory(helper)
+
+ if (NOT APPLE)
+ find_package(X11)
+- find_package(XCB COMPONENTS XCB KEYSYMS)
++ find_package(XCB COMPONENTS XCB ICCCM KEYSYMS)
+ endif()
+
+ macro(KWINDOWSYSTEM_UNIT_TESTS)
+ foreach(_testname ${ARGN})
+- set(libs KF5::WindowSystem Qt5::Test Qt5::Widgets Qt5::X11Extras XCB::KEYSYMS)
++ set(libs KF5::WindowSystem Qt5::Test Qt5::Widgets Qt5::X11Extras XCB::ICCCM XCB::KEYSYMS)
+ if(X11_FOUND)
+ list(APPEND libs ${XCB_XCB_LIBRARY})
+ endif()
+diff --git a/autotests/kwindowinfox11test.cpp b/autotests/kwindowinfox11test.cpp
+index 634c650..f483c46 100644
+--- a/autotests/kwindowinfox11test.cpp
++++ b/autotests/kwindowinfox11test.cpp
+@@ -25,8 +25,11 @@
+ #include <qtest_widgets.h>
+ #include <QScreen>
+ #include <QSignalSpy>
++#include <QSysInfo>
+ #include <QX11Info>
+
++#include <xcb/xcb_icccm.h>
++
+ #include <unistd.h>
+
+ Q_DECLARE_METATYPE(WId)
+@@ -598,19 +601,23 @@ void KWindowInfoX11Test::testWindowRole()
+
+ void KWindowInfoX11Test::testClientMachine()
+ {
++ const QByteArray oldHostName = QSysInfo::machineHostName().toLocal8Bit();
++
+ KWindowInfo info(window->winId(), NET::Properties(), NET::WM2ClientMachine);
+- QVERIFY(info.clientMachine().isNull());
++ QCOMPARE(info.clientMachine(), oldHostName);
+
+ // client machine needs to be set through xcb
++ const QByteArray newHostName = oldHostName + "2";
+ xcb_change_property(QX11Info::connection(), XCB_PROP_MODE_REPLACE, window->winId(),
+- XCB_ATOM_WM_CLIENT_MACHINE, XCB_ATOM_STRING, 8, 9, "localhost");
++ XCB_ATOM_WM_CLIENT_MACHINE, XCB_ATOM_STRING, 8, newHostName.count(),
++ newHostName.data());
+ xcb_flush(QX11Info::connection());
+
+ // it's just a property change so we can easily refresh
+ QX11Info::getTimestamp();
+
+ KWindowInfo info2(window->winId(), NET::Properties(), NET::WM2ClientMachine);
+- QCOMPARE(info2.clientMachine(), QByteArrayLiteral("localhost"));
++ QCOMPARE(info2.clientMachine(), newHostName);
+ }
+
+ void KWindowInfoX11Test::testName()
+@@ -680,11 +687,25 @@ void KWindowInfoX11Test::testTransientFor()
+
+ void KWindowInfoX11Test::testGroupLeader()
+ {
+- KWindowInfo info(window->winId(), NET::Properties(), NET::WM2GroupLeader);
+- QCOMPARE(info.groupLeader(), WId(0));
++ // WM_CLIENT_LEADER is set by default
++ KWindowInfo info1(window->winId(), NET::Properties(), NET::WM2GroupLeader);
++ QVERIFY(info1.groupLeader() != XCB_WINDOW_NONE);
++
++ xcb_connection_t *connection = QX11Info::connection();
++ xcb_window_t rootWindow = QX11Info::appRootWindow();
++
++ xcb_window_t leader = xcb_generate_id(connection);
++ xcb_create_window(connection, XCB_COPY_FROM_PARENT, leader, rootWindow, 0, 0, 1, 1,
++ 0, XCB_WINDOW_CLASS_INPUT_OUTPUT, XCB_COPY_FROM_PARENT, 0, nullptr);
++
++ xcb_icccm_wm_hints_t hints = {};
++ hints.flags = XCB_ICCCM_WM_HINT_WINDOW_GROUP;
++ hints.window_group = leader;
++ xcb_icccm_set_wm_hints(connection, leader, &hints);
++ xcb_icccm_set_wm_hints(connection, window->winId(), &hints);
+
+- // TODO: here we should try to set a group leader and re-read it
+- // this needs setting and parsing the WMHints
++ KWindowInfo info2(window->winId(), NET::Properties(), NET::WM2GroupLeader);
++ QCOMPARE(info2.groupLeader(), leader);
+ }
+
+ void KWindowInfoX11Test::testExtendedStrut()
diff --git a/gnu/packages/patches/mesa-timespec-test-32bit.patch b/gnu/packages/patches/mesa-timespec-test-32bit.patch
new file mode 100644
index 0000000000..3e4890f3a4
--- /dev/null
+++ b/gnu/packages/patches/mesa-timespec-test-32bit.patch
@@ -0,0 +1,17 @@
+Fix a test failure on 32-bit systems.
+
+Taken from upstream:
+https://gitlab.freedesktop.org/mesa/mesa/commit/dd1dba80b9ee74ec8b90761285a8262e374bf8ef
+
+diff --git a/src/util/tests/timespec/timespec_test.cpp b/src/util/tests/timespec/timespec_test.cpp
+--- a/src/util/tests/timespec/timespec_test.cpp
++++ b/src/util/tests/timespec/timespec_test.cpp
+@@ -206,7 +206,7 @@ TEST(timespec_test, timespec_from_nsec)
+
+ timespec_from_nsec(&a, UINT64_MAX);
+ EXPECT_EQ(a.tv_nsec, UINT64_MAX % NSEC_PER_SEC);
+- EXPECT_EQ(a.tv_sec, UINT64_MAX / NSEC_PER_SEC);
++ EXPECT_EQ(a.tv_sec, (time_t)(UINT64_MAX / NSEC_PER_SEC));
+ }
+
+ TEST(timespec_test, timespec_from_usec)
diff --git a/gnu/packages/patches/orc-typedef-enum.patch b/gnu/packages/patches/orc-typedef-enum.patch
new file mode 100644
index 0000000000..207bf32ba9
--- /dev/null
+++ b/gnu/packages/patches/orc-typedef-enum.patch
@@ -0,0 +1,17 @@
+Orc 0.4.30 has a bug that causes duplicate symbols due to a missing typedef.
+
+Taken from upstream:
+https://gitlab.freedesktop.org/gstreamer/orc/merge_requests/32
+
+diff --git a/orc/orctarget.h b/orc/orctarget.h
+--- a/orc/orctarget.h
++++ b/orc/orctarget.h
+@@ -19,7 +19,7 @@ enum {
+ ORC_TARGET_FAST_DENORMAL = (1<<31)
+ };
+
+-enum {
++typedef enum {
+ ORC_TARGET_POWERPC_64BIT = (1<<0),
+ ORC_TARGET_POWERPC_LE = (1<<1),
+ ORC_TARGET_POWERPC_ALTIVEC = (1<<2),
diff --git a/gnu/packages/patches/pyqt-unbundled-qt.patch b/gnu/packages/patches/pyqt-unbundled-qt.patch
new file mode 100644
index 0000000000..5c91ed031c
--- /dev/null
+++ b/gnu/packages/patches/pyqt-unbundled-qt.patch
@@ -0,0 +1,19 @@
+Remove test for bundled Qt which breaks dependent applications. This has
+been fixed in 5.13.
+
+Taken from Arch Linux:
+https://git.archlinux.org/svntogit/packages.git/tree/trunk/python2-pyqt5-crash-fix.patch?h=packages/pyqt5&id=3e56e11d1fd7b1eac8242ce64c58db2bd9acba20
+
+diff -ur PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in
+--- PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in 2019-06-25 14:41:02.000000000 +0200
++++ PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in 2019-07-01 17:06:34.882644535 +0200
+@@ -151,8 +151,4 @@
+ // initialised first (at least for Windows) and this is the only way to
+ // guarantee things are done in the right order.
+ PyQtSlotProxy::mutex = new QMutex(QMutex::Recursive);
+-
+- // Load the embedded qt.conf file if there is a bundled copy of Qt.
+- if (!qpycore_qt_conf())
+- Py_FatalError("PyQt5.QtCore: Unable to embed qt.conf");
+ }
+
diff --git a/gnu/packages/patches/qtbase-old-kernel.patch b/gnu/packages/patches/qtbase-old-kernel.patch
deleted file mode 100644
index aa26fb6c4f..0000000000
--- a/gnu/packages/patches/qtbase-old-kernel.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://672856.bugs.gentoo.org/attachment.cgi?id=557978
-https://bugs.gentoo.org/672856
-
-The patch fixes building qtbase with linux kernels < 4.11.
-See bug #34431.
-
-diff -Naurp a/src/corelib/global/minimum-linux_p.h b/src/corelib/global/minimum-linux_p.h
---- a/src/corelib/global/minimum-linux_p.h 2018-11-25 15:51:11.000000000 +0300
-+++ b/src/corelib/global/minimum-linux_p.h 2018-12-17 13:25:38.176823753 +0300
-@@ -75,14 +75,9 @@ QT_BEGIN_NAMESPACE
- * - accept4 2.6.28
- * - renameat2 3.16 QT_CONFIG(renameat2)
- * - getrandom 3.17 QT_CONFIG(getentropy)
-- * - statx 4.11 QT_CONFIG(statx)
- */
-
--#if QT_CONFIG(statx)
--# define MINLINUX_MAJOR 4
--# define MINLINUX_MINOR 11
--# define MINLINUX_PATCH 0
--#elif QT_CONFIG(getentropy)
-+#if QT_CONFIG(getentropy)
- # define MINLINUX_MAJOR 3
- # define MINLINUX_MINOR 17
- # define MINLINUX_PATCH 0
diff --git a/gnu/packages/patches/sdl2-mesa-compat.patch b/gnu/packages/patches/sdl2-mesa-compat.patch
new file mode 100644
index 0000000000..8182e582e7
--- /dev/null
+++ b/gnu/packages/patches/sdl2-mesa-compat.patch
@@ -0,0 +1,21 @@
+Do not include GLES header when OpenGL headers are already included.
+
+Taken from upstream:
+https://hg.libsdl.org/SDL/rev/369b01006eb2
+
+diff -r 4cbaffd0083b -r 369b01006eb2 src/video/SDL_video.c
+--- a/src/video/SDL_video.c Fri Oct 11 06:18:24 2019 +0200
++++ b/src/video/SDL_video.c Sat Oct 12 18:47:56 2019 +0200
+@@ -37,9 +37,9 @@
+ #include "SDL_opengl.h"
+ #endif /* SDL_VIDEO_OPENGL */
+
+-#if SDL_VIDEO_OPENGL_ES
++#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL
+ #include "SDL_opengles.h"
+-#endif /* SDL_VIDEO_OPENGL_ES */
++#endif /* SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL */
+
+ /* GL and GLES2 headers conflict on Linux 32 bits */
+ #if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL
+