Gentoo Archives: gentoo-commits

From: Alexandre Rostovtsev <tetromino@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/glib/, dev-libs/glib/files/
Date: Sat, 26 Mar 2016 21:26:08
Message-Id: 1459025476.64f08e0afb484687f48529d5f194244d882cc20b.tetromino@gentoo
1 commit: 64f08e0afb484687f48529d5f194244d882cc20b
2 Author: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 26 20:51:16 2016 +0000
4 Commit: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 26 20:51:16 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64f08e0a
7
8 dev-libs/glib: gobject.stp.in missing from tarball, bug #578238
9
10 Already fixed upstream: https://bugzilla.gnome.org/show_bug.cgi?id=763821
11
12 Package-Manager: portage-2.2.28
13
14 dev-libs/glib/files/glib-2.48.0-gobject.stp.in | 199 +++++++++++++++++++++++++
15 dev-libs/glib/glib-2.48.0.ebuild | 3 +
16 2 files changed, 202 insertions(+)
17
18 diff --git a/dev-libs/glib/files/glib-2.48.0-gobject.stp.in b/dev-libs/glib/files/glib-2.48.0-gobject.stp.in
19 new file mode 100644
20 index 0000000..edcdb50
21 --- /dev/null
22 +++ b/dev-libs/glib/files/glib-2.48.0-gobject.stp.in
23 @@ -0,0 +1,199 @@
24 +global gtypes
25 +global gtypenames
26 +global gsignalnames
27 +
28 +/* These are needed to keep track of gtype and signal names for the below
29 + * probes.
30 + */
31 +probe process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("type__new")
32 +{
33 + gtypes[pid(),user_string($arg1)] = $arg3;
34 + gtypenames[pid(),$arg3] = user_string($arg1);
35 +}
36 +probe process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__new")
37 +{
38 + gsignalnames[pid(),$arg1] = user_string($arg2);
39 +}
40 +
41 +/**
42 + * probe gobject.type_new - Called when any entity registered with the #GType system is created
43 + * @name: String name of type
44 + * @parent_gtype: The parent #GType of this type
45 + * @gtype: The #GType for this type
46 + */
47 +probe gobject.type_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("type__new")
48 +{
49 + name = user_string($arg1);
50 + parent_gtype = $arg2;
51 + gtype = $arg3;
52 + probestr = sprintf("gobject.type_new(%s, %d) -> %d", name, parent_gtype, gtype);
53 +}
54 +
55 +/**
56 + * probe gobject.object_new - Called when a #GObject is created
57 + * @object: Raw pointer to object
58 + * @gtype: #GType for this object
59 + * @type: String name of object type
60 + */
61 +probe gobject.object_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__new")
62 +{
63 + object = $arg1;
64 + gtype = $arg2;
65 + type = gtypenames[pid(),$arg2];
66 + probestr = sprintf("gobject.object_new(%s) -> %p", type, object);
67 +}
68 +
69 +/**
70 + * probe gobject.object_ref - Called when a new reference is added to a #GObject
71 + * @object: Raw pointer to object
72 + * @gtype: #GType for this object
73 + * @type: String name of object type
74 + * @old_refcount: Original value of the reference count
75 + * @refcount: New value of the reference count
76 + */
77 +probe gobject.object_ref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__ref")
78 +{
79 + object = $arg1;
80 + gtype = $arg2;
81 + type = gtypenames[pid(),gtype];
82 + old_refcount = $arg3;
83 + refcount = old_refcount+1;
84 + probestr = sprintf("gobject.object_ref(%p[%s]) -> %d", object, type, refcount);
85 +}
86 +
87 +/**
88 + * probe gobject.object_unref - Called when a reference is removed from a #GObject
89 + * @object: Raw pointer to object
90 + * @gtype: #GType for this object
91 + * @type: String name of object type
92 + * @old_refcount: Original value of the reference count
93 + */
94 +probe gobject.object_unref = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__unref")
95 +{
96 + object = $arg1;
97 + gtype = $arg2;
98 + type = gtypenames[pid(),gtype];
99 + old_refcount = $arg3;
100 + refcount = old_refcount-1;
101 + probestr = sprintf("gobject.object_unref(%p [%s]) -> %d", object, type, refcount);
102 +}
103 +
104 +/**
105 + * probe gobject.object_dispose - Called when a g_object_dispose() run for a #GObject is initiated
106 + * @object: Raw pointer to object
107 + * @gtype: #GType for this object
108 + * @type: String name of object type
109 + * @last_unref: FIXME
110 + */
111 +probe gobject.object_dispose = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__dispose")
112 +{
113 + object = $arg1;
114 + gtype = $arg2;
115 + type = gtypenames[pid(),$arg2];
116 + last_unref = $arg3;
117 + probestr = sprintf("gobject.object_dispose(%p[%s])", object, type);
118 +}
119 +
120 +/**
121 + * probe gobject.object_dispose_end - Called when a g_object_dispose() run for a #GObject is completed
122 + * @object: Raw pointer to object
123 + * @gtype: #GType for this object
124 + * @type: String name of object type
125 + * @last_unref: FIXME
126 + */
127 +probe gobject.object_dispose_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__dispose__end")
128 +{
129 + object = $arg1;
130 + gtype = $arg2;
131 + type = gtypenames[pid(),$arg2];
132 + last_unref = $arg3;
133 + probestr = sprintf("gobject.object_dispose_end(%p[%s])", object, type);
134 +}
135 +
136 +/**
137 + * probe gobject.object_finalize - Called when finalization for a #GObject is started
138 + * @object: Raw pointer to object
139 + * @gtype: #GType for this object
140 + * @type: String name of object type
141 + */
142 +probe gobject.object_finalize = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__finalize")
143 +{
144 + object = $arg1;
145 + gtype = $arg2;
146 + type = gtypenames[pid(),$arg2];
147 + probestr = sprintf("gobject.object_finalize(%p[%s])", object, type);
148 +}
149 +
150 +/**
151 + * probe gobject.object_finalize - Called when finalization for a #GObject is completed
152 + * @object: Raw pointer to object
153 + * @gtype: #GType for this object
154 + * @type: String name of object type
155 + */
156 +probe gobject.object_finalize_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("object__finalize__end")
157 +{
158 + object = $arg1;
159 + gtype = $arg2;
160 + type = gtypenames[pid(),$arg2];
161 + probestr = sprintf("gobject.object_finalize_end(%p[%s])", object, type);
162 +}
163 +
164 +/**
165 + * probe gobject.signal_new - Called when a new signal is registered for a #GObject
166 + * @gsignal: Integer value for this signal
167 + * @name: String name for this signal
168 + * @gtype: #GType for the type which will gain the new signal
169 + * @type: String name of the type which will gain the new signal
170 + */
171 +probe gobject.signal_new = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__new")
172 +{
173 + gsignal = $arg1;
174 + name = user_string($arg2);
175 + gtype = $arg3;
176 + type = gtypenames[pid(),$arg3];
177 + probestr = sprintf("gobject.signal_new(%s, %s) -> %d", name, type, gsignal);
178 +}
179 +
180 +/**
181 + * probe gobject.signal_emit - Called when a signal emission for a #GObject is started
182 + * @gsignal: Integer value for this signal
183 + * @detail: String containing signal "detail"
184 + * @signal: String name of the signal
185 + * @object: Raw pointer for object emitting signal
186 + * @gtype: #GType for the type emitting the signal
187 + * @type: String name of the type emitting the signal
188 + */
189 +probe gobject.signal_emit = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__emit")
190 +{
191 + gsignal = $arg1;
192 + detail = $arg2;
193 + signal = gsignalnames[pid(),$arg1];
194 + if (detail != 0)
195 + signal = signal . "::" . gquarks[pid(), detail]
196 + object = $arg3;
197 + gtype = $arg4;
198 + type = gtypenames[pid(),$arg4];
199 + probestr = sprintf("gobject.signal_emit(%p[%s], %s)", object, type, signal);
200 +}
201 +
202 +/**
203 + * probe gobject.signal_emit_end - Called when a signal emission for a #GObject is completed
204 + * @gsignal: Integer value for this signal
205 + * @detail: String containing signal "detail"
206 + * @signal: String name of the signal
207 + * @object: Raw pointer for object emitting signal
208 + * @gtype: #GType for the type emitting the signal
209 + * @type: String name of the type emitting the signal
210 + */
211 +probe gobject.signal_emit_end = process("@ABS_GLIB_RUNTIME_LIBDIR@/libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@").mark("signal__emit__end")
212 +{
213 + gsignal = $arg1;
214 + detail = $arg2;
215 + signal = gsignalnames[pid(),$arg1];
216 + if (detail != 0)
217 + signal = signal . "::" . gquarks[pid(), detail]
218 + object = $arg3;
219 + gtype = $arg4;
220 + type = gtypenames[pid(),$arg4];
221 + probestr = sprintf("gobject.signal_emit_end(%p[%s], %s)", object, type, signal);
222 +}
223
224 diff --git a/dev-libs/glib/glib-2.48.0.ebuild b/dev-libs/glib/glib-2.48.0.ebuild
225 index b1ce2b6..c1d5a50 100644
226 --- a/dev-libs/glib/glib-2.48.0.ebuild
227 +++ b/dev-libs/glib/glib-2.48.0.ebuild
228 @@ -125,6 +125,9 @@ src_prepare() {
229 # gdbus-codegen is a separate package
230 epatch "${FILESDIR}"/${PN}-2.40.0-external-gdbus-codegen.patch
231
232 + # missing from 2.48.0 tarball, should be fixed in 2.48.1; bug #578238
233 + cp "${FILESDIR}"/${P}-gobject.stp.in gobject/gobject.stp.in || die
234 +
235 # leave python shebang alone
236 # sed -e '/${PYTHON}/d' \
237 # -i glib/Makefile.{am,in} || die