Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/sysprof/, dev-util/sysprof/files/
Date: Wed, 29 Aug 2018 21:57:29
Message-Id: 1535579802.6edc7e830f25eb9144b976e068c77fa52f829382.leio@gentoo
1 commit: 6edc7e830f25eb9144b976e068c77fa52f829382
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 26 10:33:15 2018 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 29 21:56:42 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6edc7e83
7
8 dev-util/sysprof: bump to 3.28.1
9
10 Package-Manager: Portage-2.3.48, Repoman-2.3.10
11
12 dev-util/sysprof/Manifest | 1 +
13 .../sysprof/files/3.28.1-fix-nosystemd-build.patch | 51 +++++++++++++++
14 dev-util/sysprof/sysprof-3.28.1.ebuild | 73 ++++++++++++++++++++++
15 3 files changed, 125 insertions(+)
16
17 diff --git a/dev-util/sysprof/Manifest b/dev-util/sysprof/Manifest
18 index 684b0f5ef58..75ff7d4efdf 100644
19 --- a/dev-util/sysprof/Manifest
20 +++ b/dev-util/sysprof/Manifest
21 @@ -1,2 +1,3 @@
22 DIST sysprof-3.24.1.tar.xz 595920 BLAKE2B 90582eab3fc12a0169c151ce0fad20b839841f77a31e5858f8d660f9b0f2630396bec3b239dd88baa3f6e3dd936bdd6d63a652e491a1d32f966a755f9099f160 SHA512 5d323bcb9923c511065132711963dc8856c4d837b4d7ccfae5cc5794be5ac8ad1dc42504025469199f4bfd6a6fad4d8f49b7b21cab6f0c9a954820182e75c7d0
23 DIST sysprof-3.26.1.tar.xz 609076 BLAKE2B fd10ce27b224100558ff5bb9c75cfffcb76b2331d2c4056bd73a9ace1ea155e61d705240acf6fefa805fba2333f6d439369d5b1cc16e0c537ab9fed408bf6d85 SHA512 ee03360e4971cd91129bac3cc9d2cf292d29aafe1cdacd078e404ee15c3ff02bcd0c0159502605c00eb2abd3a46917cf70458ad05e48b594eeb2835ead55c34c
24 +DIST sysprof-3.28.1.tar.xz 380720 BLAKE2B 0a3b93659e421b717230bff6e90d20b28f8abc8491fddb51bc3f106b6cd8b038254e1fd0260c6eee2c2b83d77765be43f394d49bd34c054c36d6427ef419fefa SHA512 ca75c279bcb8cb37bffdba51d5b3481c3ece104847b64c0b8cb534468c9350a96c7224bf261ef892817e53aff2cff90a2b808f5db5a9afd6230721664b83809b
25
26 diff --git a/dev-util/sysprof/files/3.28.1-fix-nosystemd-build.patch b/dev-util/sysprof/files/3.28.1-fix-nosystemd-build.patch
27 new file mode 100644
28 index 00000000000..c83a951d846
29 --- /dev/null
30 +++ b/dev-util/sysprof/files/3.28.1-fix-nosystemd-build.patch
31 @@ -0,0 +1,51 @@
32 +From 28c28eb11ac1696ce08c9c90e8a7a7759bc5c50b Mon Sep 17 00:00:00 2001
33 +From: Christian Hergert <chergert@××××××.com>
34 +Date: Tue, 28 Aug 2018 12:22:57 -0700
35 +Subject: [PATCH] kernel-symbol: respect ENABLE_POLKIT setting
36 +
37 +This fixes the compilation when we have sysprofd fully disabled.
38 +That is not an ideal configuration, but keeping it working
39 +ensures that some of the code is easy copy/paste'able in the
40 +future for some situations.
41 +---
42 + lib/symbols/sp-kernel-symbol.c | 9 ++++++++-
43 + 1 file changed, 8 insertions(+), 1 deletion(-)
44 +
45 +diff --git a/lib/symbols/sp-kernel-symbol.c b/lib/symbols/sp-kernel-symbol.c
46 +index 8eb8087..14e026f 100644
47 +--- a/lib/symbols/sp-kernel-symbol.c
48 ++++ b/lib/symbols/sp-kernel-symbol.c
49 +@@ -18,8 +18,13 @@
50 +
51 + #define G_LOG_DOMAIN "sp-kernel-symbol"
52 +
53 ++#include "config.h"
54 ++
55 + #include <gio/gio.h>
56 +-#include <polkit/polkit.h>
57 ++
58 ++#ifdef ENABLE_POLKIT
59 ++# include <polkit/polkit.h>
60 ++#endif
61 +
62 + #include "sp-kallsyms.h"
63 +
64 +@@ -87,6 +92,7 @@ type_is_ignored (guint8 type)
65 + static gboolean
66 + authorize_proxy (GDBusConnection *conn)
67 + {
68 ++#ifdef ENABLE_POLKIT
69 + PolkitSubject *subject = NULL;
70 + GPermission *permission = NULL;
71 + const gchar *name;
72 +@@ -113,6 +119,7 @@ authorize_proxy (GDBusConnection *conn)
73 + failure:
74 + g_clear_object (&subject);
75 + g_clear_object (&permission);
76 ++#endif
77 +
78 + return FALSE;
79 + }
80 +--
81 +2.17.0
82 +
83
84 diff --git a/dev-util/sysprof/sysprof-3.28.1.ebuild b/dev-util/sysprof/sysprof-3.28.1.ebuild
85 new file mode 100644
86 index 00000000000..f6664d0b9fb
87 --- /dev/null
88 +++ b/dev-util/sysprof/sysprof-3.28.1.ebuild
89 @@ -0,0 +1,73 @@
90 +# Copyright 1999-2018 Gentoo Foundation
91 +# Distributed under the terms of the GNU General Public License v2
92 +
93 +EAPI=6
94 +
95 +inherit gnome.org gnome2-utils meson systemd xdg
96 +
97 +DESCRIPTION="System-wide Linux Profiler"
98 +HOMEPAGE="http://sysprof.com/"
99 +
100 +LICENSE="GPL-3+ GPL-2+"
101 +SLOT="0"
102 +KEYWORDS="~amd64 ~x86"
103 +IUSE="gtk systemd"
104 +
105 +RDEPEND="
106 + >=dev-libs/glib-2.44:2
107 + sys-auth/polkit
108 + gtk? ( >=x11-libs/gtk+-3.22.0:3 )
109 + systemd? ( >=sys-apps/systemd-222 )
110 +"
111 +# libxml2 required for glib-compile-resources; appstream-glib for appdata.xml translations
112 +DEPEND="${RDEPEND}
113 + app-text/yelp-tools
114 + dev-libs/appstream-glib
115 + dev-libs/libxml2:2
116 + >=sys-devel/gettext-0.19.6
117 + >=sys-kernel/linux-headers-2.6.32
118 + virtual/pkgconfig
119 +"
120 +
121 +PATCHES=( "${FILESDIR}"/${PV}-fix-nosystemd-build.patch )
122 +
123 +src_configure() {
124 + # -Dwith_sysprofd=host currently unavailable from ebuild
125 + local emesonargs=(
126 + $(meson_use gtk enable_gtk)
127 + -Dwith_sysprofd=$(usex systemd bundled none)
128 + -Dsystemdunitdir=$(systemd_get_systemunitdir)
129 + # -Ddebugdir
130 + )
131 + meson_src_configure
132 +}
133 +
134 +pkg_postinst() {
135 + xdg_pkg_postinst
136 + gnome2_icon_cache_update
137 + gnome2_schemas_update
138 +
139 + elog "On many systems, especially amd64, it is typical that with a modern"
140 + elog "toolchain -fomit-frame-pointer for gcc is the default, because"
141 + elog "debugging is still possible thanks to gcc4/gdb location list feature."
142 + elog "However sysprof is not able to construct call trees if frame pointers"
143 + elog "are not present. Therefore -fno-omit-frame-pointer CFLAGS is suggested"
144 + elog "for the libraries and applications involved in the profiling. That"
145 + elog "means a CPU register is used for the frame pointer instead of other"
146 + elog "purposes, which means a very minimal performance loss when there is"
147 + elog "register pressure."
148 + if ! use systemd; then
149 + elog ""
150 + elog "Without systemd, sysprof may not function when launched as a regular user,"
151 + elog "thus suboptimal running from root account may be necessary."
152 + if use gtk; then
153 + elog "Under wayland, that limits the recording usage to sysprof-cli utility."
154 + fi
155 + fi
156 +}
157 +
158 +pkg_postrm() {
159 + xdg_pkg_postrm
160 + gnome2_icon_cache_update
161 + gnome2_schemas_update
162 +}