commit: adfd03c64f7d1034027aaf5161fe578db06439ee Author: Lukas Schmelting <lschmelting <AT> posteo <DOT> com> AuthorDate: Sat Sep 20 14:49:30 2025 +0000 Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org> CommitDate: Sun Sep 28 11:01:19 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adfd03c6
dev-util/sysprof: add 48.1 Signed-off-by: Lukas Schmelting <lschmelting <AT> posteo.com> Part-of: https://github.com/gentoo/gentoo/pull/43874 Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org> dev-util/sysprof/Manifest | 1 + dev-util/sysprof/sysprof-48.1.ebuild | 112 +++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) diff --git a/dev-util/sysprof/Manifest b/dev-util/sysprof/Manifest index 3d984d9d2194..aa171e318cec 100644 --- a/dev-util/sysprof/Manifest +++ b/dev-util/sysprof/Manifest @@ -1,2 +1,3 @@ DIST sysprof-47.2.tar.xz 1192172 BLAKE2B c36c031811b0bc87c8d93ebc8fc4debb56995e4a43e486603c81742ab25093cfb958f255c5f0c9589aa70fed0796a6141923d82d69e12f677066b7a70a4d342d SHA512 3673b8035ba115f581c3d4d881a6ac99f15d96d461f5d0824d727cfb504ae41363c5b5e0fc117acd202b203c251bb514e53307799c1dbea1d2b0d320ed2fd104 DIST sysprof-48.0.tar.xz 1224264 BLAKE2B 165dabf5330e41cd9c2a8483430b4915a6a0ccadadae82840e64ca1216202013620fe1ac1190abc3ebd8724ec89680e311b4b1c0ddce9b24321ca133ae42c39a SHA512 f687907d616a7d67f605b7874f903714092e32937565206129ce43107205ad27d0e30d82c527e04e232e1420c3b2ff3f60618ba286e303ddd74d959b056be9bc +DIST sysprof-48.1.tar.xz 1231756 BLAKE2B b53ad866fcb1ad226a21311f91369305755fd0fa922fedd9238f4ca8e29604a118bda6fa21c8ac893f7f556c22777a89ff0b9205aa0616bc859725e3faf776d1 SHA512 0d3f77e2a28c0eddbd8ae0b13ffcd825eec3040de4cf2ea49236fcaae1efee85f7285390c72df9c80fb33b1fd03aa12741d4f9b7769736595f7e922c227ad863 diff --git a/dev-util/sysprof/sysprof-48.1.ebuild b/dev-util/sysprof/sysprof-48.1.ebuild new file mode 100644 index 000000000000..174e49156c43 --- /dev/null +++ b/dev-util/sysprof/sysprof-48.1.ebuild @@ -0,0 +1,112 @@ +# 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/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-libs/elfutils + >=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 +" + +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 +}
