summaryrefslogtreecommitdiff
path: root/dev-util/sysprof
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/sysprof')
-rw-r--r--dev-util/sysprof/Manifest4
-rw-r--r--dev-util/sysprof/metadata.xml3
-rw-r--r--dev-util/sysprof/sysprof-3.36.0.ebuild78
3 files changed, 84 insertions, 1 deletions
diff --git a/dev-util/sysprof/Manifest b/dev-util/sysprof/Manifest
index 5d061adde5c1..dae844c5260e 100644
--- a/dev-util/sysprof/Manifest
+++ b/dev-util/sysprof/Manifest
@@ -1,3 +1,5 @@
DIST sysprof-3.34.1.tar.xz 372612 BLAKE2B 3a50a00f29866ae8bf03cc7a57b598e40a6a37ad88ac2159087e4f2a8a6a5cef09b345dc5332fb1df9036c4e159e98f19adda45588150b059af313878b9b554c SHA512 5f2d820935291a3b578222d5daa87b0a2f74cd16d14daca19065495be61cf7359f00f12f452a5c0b4e05dfeb94e2376017c2288cad92dc0c4bb9bca51b903d19
+DIST sysprof-3.36.0.tar.xz 435956 BLAKE2B 990a6c6c28339594df915ed1fb98f504bf6b080a5e3c31af0cc4bcfd208027361f02a9068291692d082787a6fd42ab414079122a63e4706aee2511040379f0c8 SHA512 41f99cc3446a6624ea74fcdecd7a29a2e5e2d4086383d59a9064c4a3df5d9b8d08f4903ff4dcc85ffa9c6d42bd84dec5c03f6010fffd4415cc8fecf4dc0b23f4
EBUILD sysprof-3.34.1-r1.ebuild 2178 BLAKE2B c7af4fa12f96de0aff7639364be3fd34574646a1345c27210b3ec6275a3fec64e002c43479dc290906983a673b319b68481469ccf954a270a74c0269290c43ca SHA512 3ef91c9ebe8d26f96bc0ecde85ca9c171c573c6c29a7050554301e4933ab5bb214a9069bb459129bbdc2b99c16b45197c69b4603ebf7270f648ff3d96dcd7681
-MISC metadata.xml 609 BLAKE2B 804eb6dc6f75b570561942eac147e34e4831e9993a4b40d474b75f87a5746c8ab7f3527021d872c69111a28b1837b5b069d11c9edcc7e21f6a2da18c84b4272a SHA512 358d3c0a3083bf578bd67404ff9e62d4c327e04bbaa88b28ac0cf18b8ff9939d0cb8b0d27a2179ede473c471d31e365b6112e809e8aa8c2d774cf710b6d54348
+EBUILD sysprof-3.36.0.ebuild 2247 BLAKE2B 1fa6898c75a04a64d7f364bcea689b856dd45700a6b95874517abf46e90bb5395d14c9e15132876b505852dc90064c80d938797ce5d756de96a46053f1842d8e SHA512 ffa65d2350b0f537b4cc0d3f61d3e59f289e78463afee3b490723e9db7e61407060cf6290b919a8b5eea85ab2903729f7651a80cd4efde60d9f53ae019280977
+MISC metadata.xml 704 BLAKE2B 0f16b3a4886ed687e5e889f9cacee3148f0ed4c80f5bc88c66217dcd7d411a0e900710d36e7e9a12995872f75b247f231fd1a085fe699a3b3d14d48e67e13dbd SHA512 247b92c056fe9b224ca5a096825223b883534af67bdd514dfa424460ee3b50cf7187bdd81fc70c64b1073477e7292f19d92d8d5112c1f27472f59e59bcae450d
diff --git a/dev-util/sysprof/metadata.xml b/dev-util/sysprof/metadata.xml
index 7b2b574988e8..dea417a2e622 100644
--- a/dev-util/sysprof/metadata.xml
+++ b/dev-util/sysprof/metadata.xml
@@ -5,6 +5,9 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+<use>
+ <flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> to unwind the stack</flag>
+</use>
<longdescription lang="en">
Sysprof is a sampling CPU profiler for Linux that profiles the entire system,
not just a single application.
diff --git a/dev-util/sysprof/sysprof-3.36.0.ebuild b/dev-util/sysprof/sysprof-3.36.0.ebuild
new file mode 100644
index 000000000000..f177e8ac8280
--- /dev/null
+++ b/dev-util/sysprof/sysprof-3.36.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2020 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="3"
+SLOT="0/${API_VERSION}"
+KEYWORDS="~amd64 ~x86"
+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-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-capture 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
+}