From 7d8980c40b00e1e174254a7c629e628bbe558e79 Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Fri, 26 Feb 2021 22:07:21 +0100 Subject: [PATCH] Added sysprof --- dev-util/sysprof/Manifest | 1 + dev-util/sysprof/sysprof-3.38.1.ebuild | 79 ++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 dev-util/sysprof/Manifest create mode 100644 dev-util/sysprof/sysprof-3.38.1.ebuild diff --git a/dev-util/sysprof/Manifest b/dev-util/sysprof/Manifest new file mode 100644 index 0000000..833ac96 --- /dev/null +++ b/dev-util/sysprof/Manifest @@ -0,0 +1 @@ +DIST sysprof-3.38.1.tar.xz 458572 BLAKE2B 68c219a6c80ed070314fc7718a2995c49821cc7c761b277fdd29c233da9d81b561b6c68cd0d0a42cc3e4c150e3de438322f7d418140ce19f3381f4ffac78aa1a SHA512 7ba3dd51bd4055dcdf4d46ff87e46537afe42ba009809fdee5ba0ebcdf70776d9e1ff812714096d33b09ac57d459707b92b1ca07682e2f3888b612ca74820442 diff --git a/dev-util/sysprof/sysprof-3.38.1.ebuild b/dev-util/sysprof/sysprof-3.38.1.ebuild new file mode 100644 index 0000000..fc15dfc --- /dev/null +++ b/dev-util/sysprof/sysprof-3.38.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit gnome.org gnome2-utils meson systemd xdg + +DESCRIPTION="System-wide Linux Profiler" +HOMEPAGE="http://sysprof.com/" + +LICENSE="GPL-3+ GPL-2+" +API_VERSION="4" +SLOT="0/${API_VERSION}" +KEYWORDS="~amd64 ~x86 ~arm64" +IUSE="gtk +unwind" + +RDEPEND=" + >=dev-libs/glib-2.61.3:2 + gtk? ( + >=x11-libs/gtk+-3.22.0:3 + >=dev-libs/libdazzle-3.30.0 + ) + >=sys-auth/polkit-0.114 + unwind? ( sys-libs/libunwind:= ) + >=dev-util/sysprof-common-${PV} + >=dev-util/sysprof-capture-${PV}:${API_VERSION} +" +DEPEND="${RDEPEND}" +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() { + xdg_src_prepare + # These are installed by dev-util/sysprof-capture + sed -i -e '/install/d' src/libsysprof-capture/meson.build || die + sed -i -e 's/pkgconfig\.generate/subdir_done()\npkgconfig\.generate/' src/libsysprof-capture/meson.build || die + # We want to ship org.gnome.Sysprof3.Profiler.xml in sysprof-common for the benefit of x11-wm/mutter + sed -i -e "s|if get_option('libsysprof')|if false|g" src/meson.build || die +} + +src_configure() { + # -Dwith_sysprofd=host currently unavailable from ebuild + local emesonargs=( + $(meson_use gtk enable_gtk) + -Dlibsysprof=true + -Dwith_sysprofd=bundled + -Dsystemdunitdir=$(systemd_get_systemunitdir) + # -Ddebugdir + -Dhelp=true + $(meson_use unwind libunwind) + ) + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + elog "On many systems, especially amd64, it is typical that with a modern" + elog "toolchain -fomit-frame-pointer for gcc is the default, because" + elog "debugging is still possible thanks to gcc4/gdb location list feature." + elog "However sysprof is not able to construct call trees if frame pointers" + elog "are not present. Therefore -fno-omit-frame-pointer CFLAGS is suggested" + elog "for the libraries and applications involved in the profiling. That" + elog "means a CPU register is used for the frame pointer instead of other" + elog "purposes, which means a very minimal performance loss when there is" + elog "register pressure." +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +}