You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.2 KiB
75 lines
2.2 KiB
# Copyright 1999-2019 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+"
|
|
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= )
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
# libxml2 required for glib-compile-resources; appstream-glib for appdata.xml developer_name tag translation
|
|
BDEPEND="
|
|
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}"/3.30.2-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
|
|
}
|