gnu: slim: Fix build failure with GCC-11

GCC-11 sniffed out a long-standing bug where a pointer was being tested for a
negative value, which is impossible. Instead, check for NULL, which is how the
error result is actually returned.

See https://github.com/iwamatsu/slim/issues/14 for details.

Fixes <https://issues.guix.gnu.org/63155>.

* gnu/packages/display-managers.scm (slim) [fix-0-pointer-comparison]: new
phase

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Brian Cully 2023-04-28 17:25:22 -04:00 committed by Ludovic Courtès
parent 5cb04b570f
commit efce51a194
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -475,7 +475,11 @@ (define-public slim
;; The build system's logic here is: if "Linux", then
;; "systemd". Strip that.
""))
#t)))
#t))
(add-before 'configure 'fix-0-pointer-comparison
(lambda _
(substitute* "panel.cpp"
(("WinGC < 0") "WinGC == NULL")))))
#:configure-flags '("-DUSE_PAM=yes"
"-DUSE_CONSOLEKIT=no")
#:tests? #f))