834d12226b
kdbusaddons needs to know the location of the kdeinit5 executable, provided by kinit. kinit depends on kdbusaddons, so we add bootstrap versions of all packages in the dependency chain from kinit to kdbusaddons to avoid cyclic dependencies. * gnu/packages/kde-frameworks.scm (kinit-bootstrap, kdbusaddons-bootstrap): New variables. (kdbusaddons)[inputs]: Add kinit-bootstrap. [source,arguments]: Add patch and substitution to embed kinit-bootstrap's store directory in the code. * gnu/packages/patches/kdbusaddons-kinit-file-name.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
15 lines
898 B
Diff
15 lines
898 B
Diff
Add placeholder for kinit's store file name.
|
|
|
|
diff --git a/src/kdeinitinterface.cpp b/src/kdeinitinterface.cpp
|
|
index 22fa5e5..3d40937 100644
|
|
--- a/src/kdeinitinterface.cpp
|
|
+++ b/src/kdeinitinterface.cpp
|
|
@@ -52,7 +52,7 @@ void KDEInitInterface::ensureKdeinitRunning()
|
|
// If not found in system paths, search other paths
|
|
if (srv.isEmpty()) {
|
|
const QStringList searchPaths = QStringList()
|
|
- << QCoreApplication::applicationDirPath() // then look where our application binary is located
|
|
+ << QString::fromUtf8("@SUBSTITUTEME@/bin") // using QStringLiteral would be more efficient, but breaks guix store reference detection.
|
|
<< QLibraryInfo::location(QLibraryInfo::BinariesPath); // look where exec path is (can be set in qt.conf)
|
|
srv = QStandardPaths::findExecutable(QStringLiteral("kdeinit5"), searchPaths);
|
|
if (srv.isEmpty()) {
|