--- /dev/null
+From b30057251d3f2b5860b36505fed440a6bebe0359 Mon Sep 17 00:00:00 2001
+From: Shiba <not@telling.you>
+Date: Wed, 19 Dec 2018 00:37:57 +0100
+Subject: [PATCH] elogind support
+
+---
+ daemon/meson.build | 11 ++++++++++-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/daemon/meson.build b/daemon/meson.build
+index d0cf87c..c7f85d7 100644
+--- a/daemon/meson.build
++++ b/daemon/meson.build
+@@ -11,8 +11,17 @@ sysprofd_sources = [
+ # NOTE: This is used in data/meson.build
+ pkglibexecdir = join_paths(get_option('prefix'), get_option('libexecdir'), 'sysprof')
+
++# Check for sd-bus support either by systemd or elogind
++sdbus_dep = dependency('libsystemd', version: '>=222', required: false)
++if not sdbus_dep.found()
++ sdbus_dep = dependency('libelogind', version: '>=239.3', required: false)
++ if not sdbus_dep.found()
++ error('sysprofd requires sd-bus but neither systemd nor elogind were found')
++ endif
++endif
++
+ sysprofd_deps = [
+- dependency('libsystemd', version: '>=222'),
++ sdbus_dep,
+ dependency('glib-2.0'),
+ ]
+
+--
+2.18.1
+
In fact they don't even have to be restarted.
</longdescription>
<use>
+ <flag name="elogind">Build the sysprofd daemon service, required to run the UI without root permissions.
+ Relies on <pkg>sys-auth/elogind</pkg> for sd-bus API.</flag>
<flag name="systemd">Build the sysprofd daemon service, required to run the UI without root permissions.
- Relies on <pkg>sys-apps/systemd</pkg> running as the init system.</flag>
+ Relies on <pkg>sys-apps/systemd</pkg> for sd-bus API.</flag>
</use>
</pkgmetadata>
--- /dev/null
+# 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
+}