···1-From 4e8c14f1af9c332826e0454f4fd63e541edbaf5c Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Tue, 21 Mar 2023 15:48:49 +0800
4-Subject: [PATCH 5/6] qtbase: deal with a font face at index 0 as Regular for
5 Variable fonts
67Reference: https://bugreports.qt.io/browse/QTBUG-111994
···22 FcObjectSetDestroy(os);
23 FcPatternDestroy(pattern);
24--
25-2.39.2
26
···1+From 880fe5653a86d8091f3f577977f8af93552c48fd Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Tue, 21 Mar 2023 15:48:49 +0800
4+Subject: [PATCH 05/11] qtbase: deal with a font face at index 0 as Regular for
5 Variable fonts
67Reference: https://bugreports.qt.io/browse/QTBUG-111994
···22 FcObjectSetDestroy(os);
23 FcPatternDestroy(pattern);
24--
25+2.42.0
26
···1-From 61ae6e04388dd40e11c214d56f22f8f2007bf35f Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Wed, 12 Apr 2023 10:13:50 +0800
4-Subject: [PATCH 6/6] qtbase: qt-cmake: always use cmake from path
56The generated qt-cmake scripts embeds the absolute path of cmake used
7during the build of qtbase, bloating the runtime closure of qtbase.
···28 toolchain_path="$script_dir_path/@__GlobalConfig_relative_path_from_bin_dir_to_cmake_config_dir@/qt.toolchain.cmake"
2930--
31-2.39.2
32
···1+From 7f573f00fb850a08017d9f1e3c73b4d7efeb84f2 Mon Sep 17 00:00:00 2001
2From: Nick Cao <nickcao@nichi.co>
3Date: Wed, 12 Apr 2023 10:13:50 +0800
4+Subject: [PATCH 06/11] qtbase: qt-cmake: always use cmake from path
56The generated qt-cmake scripts embeds the absolute path of cmake used
7during the build of qtbase, bloating the runtime closure of qtbase.
···28 toolchain_path="$script_dir_path/@__GlobalConfig_relative_path_from_bin_dir_to_cmake_config_dir@/qt.toolchain.cmake"
2930--
31+2.42.0
32
···1-From 31d808a7b0d52a01c3f2875202cd29410a94b39a Mon Sep 17 00:00:00 2001
2From: rewine <luhongxu@deepin.org>
3Date: Wed, 29 Mar 2023 11:51:33 +0800
4-Subject: [PATCH] qtbase-find-tools-in-PATH
561. find qt's tools in `QTTOOLSPATH` env
7 qt assumes that all components use the same install prefix
···14 We can guarantee the build order of qt components in nixpkgs
15 tools in qttools always build before qtdoc
16 qdoc_bin is not a build target now, since we find it in `QTTOOLSPATH`
17-18---
19 cmake/QtDocsHelpers.cmake | 11 ++++++++---
20 1 file changed, 8 insertions(+), 3 deletions(-)
2122diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake
23-index 48ed5a32..9409d22d 100644
24--- a/cmake/QtDocsHelpers.cmake
25+++ b/cmake/QtDocsHelpers.cmake
26@@ -47,9 +47,14 @@ function(qt_internal_add_docs)
···42 get_target_property(target_type ${target} TYPE)
43 if (NOT target_type STREQUAL "INTERFACE_LIBRARY")
44--
45-2.38.1
46
···1+From 95b6bc2a414d381fdeab0899a3b02499c43695e7 Mon Sep 17 00:00:00 2001
2From: rewine <luhongxu@deepin.org>
3Date: Wed, 29 Mar 2023 11:51:33 +0800
4+Subject: [PATCH 07/11] qtbase-find-tools-in-PATH
561. find qt's tools in `QTTOOLSPATH` env
7 qt assumes that all components use the same install prefix
···14 We can guarantee the build order of qt components in nixpkgs
15 tools in qttools always build before qtdoc
16 qdoc_bin is not a build target now, since we find it in `QTTOOLSPATH`
017---
18 cmake/QtDocsHelpers.cmake | 11 ++++++++---
19 1 file changed, 8 insertions(+), 3 deletions(-)
2021diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake
22+index 48ed5a324bf..91d8d41fb1f 100644
23--- a/cmake/QtDocsHelpers.cmake
24+++ b/cmake/QtDocsHelpers.cmake
25@@ -47,9 +47,14 @@ function(qt_internal_add_docs)
···41 get_target_property(target_type ${target} TYPE)
42 if (NOT target_type STREQUAL "INTERFACE_LIBRARY")
43--
44+2.42.0
45
···1-From 505391a31aa353b8f1cc5d3feb9861582554d9f1 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3Date: Wed, 9 Aug 2023 16:16:21 +0200
4-Subject: [PATCH 1/3] Find qmlimportscanner in macdeployqt via environment
056The qmlimportscanner tool is provided by qtdeclarative. Because of the
7modularized installation in Nix, it can not be found via the usual
···16 1 file changed, 4 insertions(+)
1718diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
19-index 643fe5390a..b8fcc9c9bd 100644
20--- a/src/tools/macdeployqt/shared/shared.cpp
21+++ b/src/tools/macdeployqt/shared/shared.cpp
22-@@ -1270,6 +1270,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
23 if (!QFile::exists(qmlImportScannerPath))
24 qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
25···31 if (!QFile::exists(qmlImportScannerPath)) {
32 LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
33--
34-2.26.2
35
···1+From bbd9cf61b686f68d5e5eb78fb0b96a74a8921cef Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3Date: Wed, 9 Aug 2023 16:16:21 +0200
4+Subject: [PATCH 10/11] qtbase: find qmlimportscanner in macdeployqt via
5+ environment
67The qmlimportscanner tool is provided by qtdeclarative. Because of the
8modularized installation in Nix, it can not be found via the usual
···17 1 file changed, 4 insertions(+)
1819diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
20+index 77749506ccb..48979195f40 100644
21--- a/src/tools/macdeployqt/shared/shared.cpp
22+++ b/src/tools/macdeployqt/shared/shared.cpp
23+@@ -1273,6 +1273,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
24 if (!QFile::exists(qmlImportScannerPath))
25 qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
26···32 if (!QFile::exists(qmlImportScannerPath)) {
33 LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
34--
35+2.42.0
36
···1-From 32df59bea18bebc18d6d308750e88be325522d2e Mon Sep 17 00:00:00 2001
2-From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3-Date: Thu, 10 Aug 2023 14:15:34 +0200
4-Subject: [PATCH 2/3] Check in the QML folder of this library does actually
5- exist
67In a modularized installation, this folder will be the location where
8`qtbase` itself is installed, but `qtbase` does not have any QML
···12 1 file changed, 5 insertions(+), 2 deletions(-)
1314diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
15-index b8fcc9c9bd..676d34d545 100644
16--- a/src/tools/macdeployqt/shared/shared.cpp
17+++ b/src/tools/macdeployqt/shared/shared.cpp
18-@@ -1290,9 +1290,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
19 }
20 for (const QString &importPath : qmlImportPaths)
21 argumentList << "-importPath" << importPath;
···28+ argumentList.append(qmlImportsPath);
29+ }
3031- // run qmlimportscanner
32- QProcess qmlImportScanner;
33--
34-2.26.2
35
···1+From 617d27ee91aaa59c59c4f3a2cca7bab8167d9f5f Mon Sep 17 00:00:00 2001
2+From: Nick Cao <nickcao@nichi.co>
3+Date: Tue, 10 Oct 2023 10:17:00 -0400
4+Subject: [PATCH 11/11] qtbase: check in the QML folder of this library does
5+ actually exist
67In a modularized installation, this folder will be the location where
8`qtbase` itself is installed, but `qtbase` does not have any QML
···12 1 file changed, 5 insertions(+), 2 deletions(-)
1314diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
15+index 48979195f40..8415680ecda 100644
16--- a/src/tools/macdeployqt/shared/shared.cpp
17+++ b/src/tools/macdeployqt/shared/shared.cpp
18+@@ -1293,9 +1293,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
19 }
20 for (const QString &importPath : qmlImportPaths)
21 argumentList << "-importPath" << importPath;
···28+ argumentList.append(qmlImportsPath);
29+ }
3031+ // In a modularized installation of qt as we have in Nix, instead, we will
32+ // read the paths from the environment, as they are spread in multiple
33--
34+2.42.0
35
···1-From 39eb99dcd66f8ffb632fed6308a49896fe5ad2d3 Mon Sep 17 00:00:00 2001
2-From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
3-Date: Thu, 10 Aug 2023 14:17:03 +0200
4-Subject: [PATCH 3/3] Pass to qmlimportscanner the QML2_IMPORT_PATH
56---
7 src/tools/macdeployqt/shared/shared.cpp | 7 +++++++
8 1 file changed, 7 insertions(+)
910diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
11-index 676d34d545..7908b07b3c 100644
12--- a/src/tools/macdeployqt/shared/shared.cpp
13+++ b/src/tools/macdeployqt/shared/shared.cpp
14-@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
15- argumentList.append(qmlImportsPath);
16- }
1718+ // In a modularized installation of qt as we have in Nix, instead, we will
19+ // read the paths from the environment, as they are spread in multiple
···26 QProcess qmlImportScanner;
27 qmlImportScanner.start(qmlImportScannerPath, argumentList);
28--
29-2.26.2
30
···1+From a5cbfb30fc53b3290578af4a87fe4c0463df4247 Mon Sep 17 00:00:00 2001
2+From: Nick Cao <nickcao@nichi.co>
3+Date: Tue, 10 Oct 2023 10:12:56 -0400
4+Subject: [PATCH 08/11] qtbase: pass to qmlimportscanner the QML2_IMPORT_PATH
56---
7 src/tools/macdeployqt/shared/shared.cpp | 7 +++++++
8 1 file changed, 7 insertions(+)
910diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
11+index f637416cf22..77749506ccb 100644
12--- a/src/tools/macdeployqt/shared/shared.cpp
13+++ b/src/tools/macdeployqt/shared/shared.cpp
14+@@ -1293,6 +1293,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
15+ argumentList.append( "-importPath");
16+ argumentList.append(qmlImportsPath);
1718+ // In a modularized installation of qt as we have in Nix, instead, we will
19+ // read the paths from the environment, as they are spread in multiple
···26 QProcess qmlImportScanner;
27 qmlImportScanner.start(qmlImportScannerPath, argumentList);
28--
29+2.42.0
30
···42 sha256 = "sha256-RArg60S91YKp1Mt97a5JNfBEOf2cmuX4pK3VAx2WfqM=";
43 };
4445- patches = lib.optionals stdenv.isDarwin [
0046 # https://github.com/PrismLauncher/PrismLauncher/pull/1452
47 # These patches allow us to disable the Sparkle updater and cmake bundling
48 # TODO: remove these when updating to 8.0
···42 sha256 = "sha256-RArg60S91YKp1Mt97a5JNfBEOf2cmuX4pK3VAx2WfqM=";
43 };
4445+ patches = [
46+ ./0001-launcher-translations-explicitly-convert-QVector-ite.patch
47+ ] ++ lib.optionals stdenv.isDarwin [
48 # https://github.com/PrismLauncher/PrismLauncher/pull/1452
49 # These patches allow us to disable the Sparkle updater and cmake bundling
50 # TODO: remove these when updating to 8.0