Commit dc7783ec authored by Peter Hoeg's avatar Peter Hoeg
Browse files

qt6Packages.qttools: fix tool path

parent 091e6d7c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3,9 +3,16 @@
, lib
, qtbase
, qtdeclarative
, substituteAll
}:

qtModule {
  pname = "qttools";
  qtInputs = [ qtbase qtdeclarative ];
  patches = [
    ../patches/qttools-paths.patch
  ];
  NIX_CFLAGS_COMPILE = [
    "-DNIX_OUTPUT_DEV=\"${placeholder "dev"}\""
  ];
}
+27 −0
Original line number Diff line number Diff line
diff --git a/src/linguist/shared/runqttool.cpp b/src/linguist/shared/runqttool.cpp
index d355b9dc..94fef33f 100644
--- a/src/linguist/shared/runqttool.cpp
+++ b/src/linguist/shared/runqttool.cpp
@@ -20,9 +20,21 @@ class FMT {
     Q_DECLARE_TR_FUNCTIONS(Linguist)
 };

+static QString qtBasePath(QLibraryInfo::LibraryPath location)
+{
+  switch (location) {
+    case QLibraryInfo::BinariesPath:
+      return QLatin1String(NIX_OUTPUT_DEV) + QLatin1String("/bin");
+    case QLibraryInfo::LibraryExecutablesPath:
+      return QLatin1String(NIX_OUTPUT_DEV) + QLatin1String("/libexec");
+    default:
+      return QLibraryInfo::path(location);
+  }
+}
+
 static QString qtToolFilePath(const QString &toolName, QLibraryInfo::LibraryPath location)
 {
-    QString filePath = QLibraryInfo::path(location) + QLatin1Char('/') + toolName;
+    QString filePath = qtBasePath(location) + QLatin1Char('/') + toolName;
 #ifdef Q_OS_WIN
     filePath.append(QLatin1String(".exe"));
 #endif