summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-03-23 13:31:14 +0200
committerMart Raudsepp <leio@gentoo.org>2019-03-23 13:34:23 +0200
commit6b3f9fd17401255bb22bc6b62e6607e2992f1e2f (patch)
tree3f07200bdbe82bfa9142dbdf11d567da4d4f32ca /dev-util/sysprof/sysprof-3.30.2-r1.ebuild
parentwww-client/opera: Version 58.0.3135.118 (diff)
downloadgentoo-6b3f9fd17401255bb22bc6b62e6607e2992f1e2f.tar.gz
gentoo-6b3f9fd17401255bb22bc6b62e6607e2992f1e2f.tar.bz2
gentoo-6b3f9fd17401255bb22bc6b62e6607e2992f1e2f.zip
dev-util/sysprof: add elogind support
Allows using sysprof launched more securely as normal user and wayland support on elogind systems. Also remove the double icon cache update, now that xdg.eclass does it too. Closes: https://bugs.gentoo.org/673406 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'dev-util/sysprof/sysprof-3.30.2-r1.ebuild')
-rw-r--r--dev-util/sysprof/sysprof-3.30.2-r1.ebuild73
1 files changed, 73 insertions, 0 deletions
diff --git a/dev-util/sysprof/sysprof-3.30.2-r1.ebuild b/dev-util/sysprof/sysprof-3.30.2-r1.ebuild
new file mode 100644
index 000000000000..11bffd1beddd
--- /dev/null
+++ b/dev-util/sysprof/sysprof-3.30.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome.org gnome2-utils meson systemd xdg
+
+DESCRIPTION="System-wide Linux Profiler"
+HOMEPAGE="http://sysprof.com/"
+
+LICENSE="GPL-3+ GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="elogind gtk systemd"
+REQUIRED_USE="?? ( elogind systemd )"
+
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ sys-auth/polkit
+ gtk? ( >=x11-libs/gtk+-3.22.0:3 )
+ elogind? ( >=sys-auth/elogind-239.3 )
+ systemd? ( >=sys-apps/systemd-222:0= )
+"
+# libxml2 required for glib-compile-resources; appstream-glib for appdata.xml developer_name tag translation
+DEPEND="${RDEPEND}
+ dev-libs/appstream-glib
+ dev-libs/libxml2:2
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ >=sys-kernel/linux-headers-2.6.32
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}"/${PV}-elogind.patch )
+
+src_configure() {
+ # -Dwith_sysprofd=host currently unavailable from ebuild
+ local emesonargs=(
+ $(meson_use gtk enable_gtk)
+ -Dwith_sysprofd=$(usex systemd bundled $(usex elogind bundled none))
+ -Dsystemdunitdir=$(systemd_get_systemunitdir)
+ # -Ddebugdir
+ )
+ 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."
+ if ! use systemd && ! use elogind; then
+ elog ""
+ elog "Without systemd or elogind, sysprof may not function when launched as a"
+ elog "regular user, thus suboptimal running from root account may be necessary."
+ if use gtk; then
+ elog "Under wayland, that limits the recording usage to sysprof-cli utility."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}