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