Subject: bug#63159: closed (Re: bug#63159: [PATCH 1/2] gnu: slim: Fix build failure with GCC-11)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 30 Apr 2023 21:17:02 +0000

Your bug report

#63159: [PATCH 1/2] gnu: slim: Fix build failure with GCC-11

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63159: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63159
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#63159: [PATCH 1/2] gnu: slim: Fix build failure with GCC-11
From: Ludovic Courtès <[email-masked]>
To: Brian Cully <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sun, 30 Apr 2023 23:16:33 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Brian Cully <[email-masked]> skribis:

> 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.
>
> * gnu/packages/display-managers.scm (slim) [fix-0-pointer-comparison]: new
> phase

[...]

> Moved to github, according to https://www.berlios.de/software/slim/.
>
> * gnu/packages/display-managers.scm (slim) [home-page]:  update URL.

Applied, thanks!

Ludo’.

Subject: [PATCH 1/2] gnu: slim: Fix build failure with GCC-11
From: Brian Cully <[email-masked]>
To: [email-masked]
Cc: Brian Cully <[email-masked]>
Date: Fri, 28 Apr 2023 17:25:22 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

* gnu/packages/display-managers.scm (slim) [fix-0-pointer-comparison]: new
phase
---
 gnu/packages/display-managers.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index b0d388f1bc..c1a08e8553 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -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))
-- 
2.39.2