diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-11 11:50:36 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-11 11:50:36 +0200 |
| commit | c198ff491baa6e62723dc2af3ecd5f8df2a2d593 (patch) | |
| tree | 84f583a03ab27bc9a8d322830ff00dd5f89f91c3 /quickshell | |
| parent | 2d399cc76359675983dc659e08d6efb463107387 (diff) | |
| download | my-slackbuilds-main.tar.gz my-slackbuilds-main.zip | |
quickshell: fix dbusmenu build failure from leaked DBUS_INTERFACESmain
src/dbus/CMakeLists.txt builds up DBUS_INTERFACES with its generated
qt_add_dbus_interface sources, then calls add_subdirectory(dbusmenu) at the
bottom. The subdirectory inherits the variable and qt_add_dbus_interface
appends to it, so quickshell-dbusmenu ends up listing src/dbus's generated
sources as well. Those entries are relative filenames, so make resolves them
against the dbusmenu binary dir and the build dies with:
No rule to make target 'src/dbus/dbus_objectmanager.cpp', needed by
'src/dbus/dbusmenu/CMakeFiles/quickshell-dbusmenu_autogen_timestamp_deps'
Unset DBUS_INTERFACES before the add_subdirectory so dbusmenu starts clean.
Still unfixed upstream as of master.
Verified with a containerized test build: SUCCESS, lint clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XLAYexNKJ4BKdyjiLiqdMz
Diffstat (limited to 'quickshell')
| -rw-r--r-- | quickshell/quickshell.SlackBuild | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/quickshell/quickshell.SlackBuild b/quickshell/quickshell.SlackBuild index 298cf9a..bd991fa 100644 --- a/quickshell/quickshell.SlackBuild +++ b/quickshell/quickshell.SlackBuild @@ -79,6 +79,13 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# src/dbus/CMakeLists.txt leaks DBUS_INTERFACES into the dbusmenu subdirectory, +# which appends to it, so dbusmenu tries to build src/dbus's generated sources +# from its own binary dir and make fails with "No rule to make target +# 'src/dbus/dbus_objectmanager.cpp'". Clear it before add_subdirectory(). +sed -i 's/^add_subdirectory(dbusmenu)$/unset(DBUS_INTERFACES)\nadd_subdirectory(dbusmenu)/' \ + src/dbus/CMakeLists.txt + mkdir -p build cd build cmake \ |
