commit:     638799e8bdfe84b38c112f510e9cc9cabc0a9a53
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Sat Aug  9 14:31:01 2025 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Thu Aug 14 12:26:48 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=638799e8

dev-util/sysprof: fix compilation with Clang

Fixes the following build error:
```
/usr/lib/llvm/20/bin/clang -Isrc/sysprof/sysprof.p -Isrc/sysprof
-I../sysprof-48.0/src/sysprof -Isrc/libsysprof -I../sysprof-48.0/src/libsysprof
-Isrc/libsysprof-capture -I../sysprof-48.0/src/libsysprof-capture -Icontrib/egg
bitset -I../sysprof-48.0/contrib/eggbitset -Icontrib/elfparser -I../sysprof-48.
0/contrib/elfparser -Icontrib/linereader -I../sysprof-48.0/contrib/linereader -
I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/in
clude/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include
/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/pixman-1
-I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -I/usr/lib64/libf
fi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include
/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/libadwai
ta-1 -I/usr/include/appstream -I/usr/include/libpanel-1 -I/usr/include/gio-unix
-2.0 -I/usr/include/libdex-1 -I/usr/include/json-glib-1.0 -I/usr/include/polkit
-1 -I/var/tmp/portage/dev-util/sysprof-48.0-r1/work/sysprof-48.0-build -flto=th
in -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextr
a -std=gnu17 -DSYSPROF_COMPILATION -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -DGL
IB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_76 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSI
ON_2_76 -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_16 -DGDK_VERSION_MAX_ALLOWED=G
DK_VERSION_4_16 -Wcast-align -Wdeclaration-after-statement -Wformat-nonliteral
-Wformat-security -Wmissing-include-dirs -Wnested-externs -Wno-missing-field-in
itializers -Wno-sign-compare -Wno-unused-parameter -Wno-cast-function-type -Wpo
inter-arith -Wredundant-decls -Wswitch-default -Wswitch-enum -Wuninitialized -W
error=format-security -Werror=format=2 -Werror=empty-body -Werror=implicit-func
tion-declaration -Werror=pointer-arith -Werror=init-self -Werror=int-conversion
-Werror=misleading-indentation -Werror=missing-include-dirs -Werror=overflow -W
error=return-type -Werror=shadow -Werror=strict-prototypes -Werror=undef -march
=native -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -Werror=odr
-Werror=strict-aliasing -pthread -mfpmath=sse -msse -msse2 -mfpmath=sse -msse -
msse2 -mfpmath=sse -msse -msse2 -MD -MQ src/sysprof/sysprof.p/sysprof-greeter.c
.o -MF src/sysprof/sysprof.p/sysprof-greeter.c.o.d -o src/sysprof/sysprof.p/sys
prof-greeter.c.o -c ../sysprof-48.0/src/sysprof/sysprof-greeter.c
../sysprof-48.0/src/sysprof/sysprof-greeter.c:629:21: error: declaration shadows
 a variable in the global scope [-Werror,-Wshadow]
  629 |       g_auto(GStrv) environ = NULL;
      |                     ^
/usr/include/unistd.h:566:15: note: previous declaration is here
  566 | extern char **environ;
      |               ^
```

Bug: https://gitlab.gnome.org/GNOME/sysprof/-/issues/150
Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43398
Closes: https://github.com/gentoo/gentoo/pull/43398
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 .../files/sysprof-48.0-shadowed-variable.patch     | 25 ++++++++++++++++++++++
 dev-util/sysprof/sysprof-48.0-r1.ebuild            |  4 ++++
 2 files changed, 29 insertions(+)

diff --git a/dev-util/sysprof/files/sysprof-48.0-shadowed-variable.patch 
b/dev-util/sysprof/files/sysprof-48.0-shadowed-variable.patch
new file mode 100644
index 000000000000..94f6b4fb35a2
--- /dev/null
+++ b/dev-util/sysprof/files/sysprof-48.0-shadowed-variable.patch
@@ -0,0 +1,25 @@
+Compilation with Clang fails on -Werror=shadow: 'environ' shadows declaration 
from /usr/include/unistd.h
+
+Bug: https://gitlab.gnome.org/GNOME/sysprof/-/issues/150
+--- a/src/sysprof/sysprof-greeter.c
++++ b/src/sysprof/sysprof-greeter.c
+@@ -626,14 +626,14 @@ sysprof_greeter_init (SysprofGreeter *self)
+ 
+   if (self->recording_template)
+     {
+-      g_auto(GStrv) environ = NULL;
++      g_auto(GStrv) environ_ = NULL;
+       g_object_get (self->recording_template,
+-                    "environ", &environ,
++                    "environ", &environ_,
+                     NULL);
+-      if (environ)
++      if (environ_)
+         {
+-          for (guint i = 0; environ[i]; i++)
+-            gtk_string_list_append (self->envvars, environ[i]);            
++          for (guint i = 0; environ_[i]; i++)
++            gtk_string_list_append (self->envvars, environ_[i]);            
+         }
+     }
+ 

diff --git a/dev-util/sysprof/sysprof-48.0-r1.ebuild 
b/dev-util/sysprof/sysprof-48.0-r1.ebuild
index 416c439e0795..2819012048c7 100644
--- a/dev-util/sysprof/sysprof-48.0-r1.ebuild
+++ b/dev-util/sysprof/sysprof-48.0-r1.ebuild
@@ -46,6 +46,10 @@ BDEPEND="
        virtual/pkgconfig
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-48.0-shadowed-variable.patch
+)
+
 src_prepare() {
        default
        xdg_environment_reset

Reply via email to