M gnu/local.mk => gnu/local.mk +1 -0
@@ 2212,6 2212,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
+ %D%/packages/patches/qtbase-patch-libvulkan.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
A gnu/packages/patches/qtbase-patch-libvulkan.patch => gnu/packages/patches/qtbase-patch-libvulkan.patch +28 -0
@@ 0,0 1,28 @@
+Add the full name for libvulkan.so.1 so that we can patch it in the 'build phase.
+Not sent upstream.
+
+diff --git a/src/gui/vulkan/qbasicvulkanplatforminstance.cpp b/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
+index 47d9a7e9..80c929e5 100644
+--- a/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
++++ b/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
+@@ -45,7 +45,7 @@ QBasicPlatformVulkanInstance::~QBasicPlatformVulkanInstance()
+
+ void QBasicPlatformVulkanInstance::loadVulkanLibrary(const QString &defaultLibraryName, int defaultLibraryVersion)
+ {
+- QVarLengthArray<std::pair<QString, int>, 3> loadList;
++ QVarLengthArray<std::pair<QString, int>, 4> loadList;
+
+ // First in the list of libraries to try is the manual override, relevant on
+ // embedded systems without a Vulkan loader and possibly with custom vendor
+@@ -63,6 +63,11 @@ void QBasicPlatformVulkanInstance::loadVulkanLibrary(const QString &defaultLibra
+ if (defaultLibraryVersion >= 0)
+ loadList.append({ defaultLibraryName, -1 });
+
++#ifdef __linux__
++ // As a fallback we append to the list the full default name of libvulkan.
++ loadList.append({ QString::fromUtf8("libvulkan.so.1"), -1 });
++#endif
++
+ bool ok = false;
+ for (const auto &lib : loadList) {
+ m_vulkanLib.reset(new QLibrary);
M gnu/packages/qt.scm => gnu/packages/qt.scm +8 -1
@@ 786,7 786,8 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"qtbase-absolute-runpath.patch"
"qtbase-qmake-use-libname.patch"
"qtbase-qmlimportscanner-qml-import-path.patch"
- "qtbase-qmake-fix-includedir.patch"))))
+ "qtbase-qmake-fix-includedir.patch"
+ "qtbase-patch-libvulkan.patch"))))
(build-system cmake-build-system)
(arguments
(substitute-keyword-arguments (package-arguments qtbase-5)
@@ 897,6 898,11 @@ tst_qt_cmake_create.cpp"
(("/bin/ls")
(search-input-file inputs "bin/ls")))
+ ;; Patch the added reference for libvulkan.so
+ (substitute* "src/gui/vulkan/qbasicvulkanplatforminstance.cpp"
+ (("libvulkan\\.so\\.1")
+ (search-input-file inputs "lib/libvulkan.so.1")))
+
;; Use shared-mime-info as the default MIME type database.
(substitute* "src/corelib/mimetypes/qmimedatabase.cpp"
(("return dirs;" all)
@@ 1213,6 1219,7 @@ tst_qt_cmake_create.cpp"
libxcb
libxext
shared-mime-info
+ vulkan-loader
xcb-util-cursor
`(,zstd "lib"))))
(native-search-paths