mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-09 00:07:57 +03:00
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@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@gentoo.org>
117 lines
2.7 KiB
Bash
117 lines
2.7 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit gnome.org gnome2-utils greadme meson systemd xdg
|
|
|
|
DESCRIPTION="System-wide Linux Profiler"
|
|
HOMEPAGE="https://www.sysprof.com/"
|
|
|
|
LICENSE="GPL-3+ GPL-2+"
|
|
API_VERSION="4"
|
|
SLOT="0/${API_VERSION}"
|
|
KEYWORDS="~amd64 ~arm64 ~loong ~x86"
|
|
IUSE="gtk systemd test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
RDEPEND="
|
|
dev-libs/elfutils
|
|
>=dev-libs/glib-2.76.0:2
|
|
gtk? (
|
|
>=gui-libs/gtk-4.15:4
|
|
>=gui-libs/libadwaita-1.6.0:1
|
|
x11-libs/cairo
|
|
x11-libs/pango
|
|
)
|
|
systemd? ( sys-apps/systemd )
|
|
dev-libs/json-glib
|
|
>=dev-libs/libdex-0.9
|
|
>=gui-libs/libpanel-1.4
|
|
sys-libs/libunwind:=
|
|
>=sys-auth/polkit-0.114[daemon(+)]
|
|
>=dev-util/sysprof-common-${PV}
|
|
>=dev-util/sysprof-capture-${PV}:${API_VERSION}
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
!systemd? ( !!sys-apps/systemd )
|
|
"
|
|
BDEPEND="
|
|
dev-libs/appstream-glib
|
|
dev-util/gdbus-codegen
|
|
dev-util/itstool
|
|
>=sys-devel/gettext-0.19.8
|
|
>=sys-kernel/linux-headers-2.6.32
|
|
virtual/pkgconfig
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-48.0-shadowed-variable.patch
|
|
)
|
|
|
|
src_prepare() {
|
|
default
|
|
xdg_environment_reset
|
|
|
|
# These are installed by dev-util/sysprof-capture
|
|
sed -i \
|
|
-e '/install: not meson.is_subproject/d' \
|
|
-e '/install.*sysprof_header_subdir/d' \
|
|
-e 's/pkgconfig\.generate/subdir_done()\npkgconfig\.generate/' \
|
|
src/libsysprof-capture/meson.build || die
|
|
}
|
|
|
|
src_configure() {
|
|
# -Dsysprofd=host currently unavailable from ebuild
|
|
local emesonargs=(
|
|
$(meson_use gtk)
|
|
-Dlibsysprof=true
|
|
-Dinstall-static=false
|
|
-Dsysprofd=bundled
|
|
-Dsystemdunitdir=$(systemd_get_systemunitdir)
|
|
# -Ddebugdir
|
|
-Dhelp=true
|
|
-Dtools=true
|
|
$(meson_use test tests)
|
|
-Dexamples=false
|
|
)
|
|
meson_src_configure
|
|
}
|
|
|
|
src_install() {
|
|
meson_src_install
|
|
|
|
# We want to ship org.gnome.Sysprof3.Profiler.xml in sysprof-common for the benefit of x11-wm/mutter
|
|
rm "${ED}"/usr/share/dbus-1/interfaces/org.gnome.Sysprof3.Profiler.xml || die
|
|
|
|
greadme_stdin <<-EOF
|
|
On many systems, especially amd64, it is typical that with a modern
|
|
toolchain -fomit-frame-pointer for gcc is the default, because
|
|
debugging is still possible thanks to gcc/gdb location list feature.
|
|
However sysprof is not able to construct call trees if frame pointers
|
|
are not present. Therefore -fno-omit-frame-pointer CFLAGS is suggested
|
|
for the libraries and applications involved in the profiling. That
|
|
means a CPU register is used for the frame pointer instead of other
|
|
purposes, which means a very minimal performance loss when there is
|
|
register pressure.
|
|
EOF
|
|
}
|
|
|
|
pkg_preinst() {
|
|
xdg_pkg_preinst
|
|
gnome2_schemas_savelist
|
|
greadme_pkg_preinst
|
|
}
|
|
|
|
pkg_postinst() {
|
|
xdg_pkg_postinst
|
|
gnome2_schemas_update
|
|
greadme_pkg_postinst
|
|
}
|
|
|
|
pkg_postrm() {
|
|
xdg_pkg_postrm
|
|
gnome2_schemas_update
|
|
}
|