1 |
commit: 42814d8977fb588a6c7371398f22b0be3fa9b79d |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Sep 27 01:04:23 2011 +0000 |
4 |
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Sep 27 01:04:23 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=42814d89 |
7 |
|
8 |
dev-libs/glib: 2.29.92 → 2.30.0 |
9 |
|
10 |
Version bump with some incompatible API changes in GDBus. |
11 |
|
12 |
--- |
13 |
.../files/glib-2.29.92-close-stream-twice.patch | 149 -------------------- |
14 |
.../{glib-2.29.92.ebuild => glib-2.30.0.ebuild} | 5 +- |
15 |
dev-libs/glib/glib-9999.ebuild | 2 +- |
16 |
3 files changed, 2 insertions(+), 154 deletions(-) |
17 |
|
18 |
diff --git a/dev-libs/glib/files/glib-2.29.92-close-stream-twice.patch b/dev-libs/glib/files/glib-2.29.92-close-stream-twice.patch |
19 |
deleted file mode 100644 |
20 |
index 358bbb5..0000000 |
21 |
--- a/dev-libs/glib/files/glib-2.29.92-close-stream-twice.patch |
22 |
+++ /dev/null |
23 |
@@ -1,149 +0,0 @@ |
24 |
-commit 7b812c434388f0fc3cbbb67df5ab9f7db3a138ed |
25 |
-Author: Philip Withnall <philip@××××××××××××.uk> |
26 |
-Date: Mon Sep 19 10:13:52 2011 +0200 |
27 |
- |
28 |
- Don't close stream twice when splicing |
29 |
- |
30 |
- Ensure that the output/target stream in a g_output_stream_splice_async() |
31 |
- operation is marked as closed if G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET is |
32 |
- passed to g_output_stream_splice_async(). This removes the possibility of |
33 |
- local FDs being closed twice because the stream's not marked as closed. |
34 |
- |
35 |
- This is implemented by calling g_output_stream_close() from within |
36 |
- g_output_stream_splice_async() instead of calling the stream's close_fn() |
37 |
- directly. |
38 |
- |
39 |
- Closes: bgo#659324 |
40 |
- (cherry picked from commit fe27bf003764e453cd15cab67e8a99fcda84db1d) |
41 |
- |
42 |
-diff --git a/gio/goutputstream.c b/gio/goutputstream.c |
43 |
-index 8132caf..afe135c 100644 |
44 |
---- a/gio/goutputstream.c |
45 |
-+++ b/gio/goutputstream.c |
46 |
-@@ -95,6 +95,9 @@ static void g_output_stream_real_close_async (GOutputStream *s |
47 |
- static gboolean g_output_stream_real_close_finish (GOutputStream *stream, |
48 |
- GAsyncResult *result, |
49 |
- GError **error); |
50 |
-+static gboolean _g_output_stream_close_internal (GOutputStream *stream, |
51 |
-+ GCancellable *cancellable, |
52 |
-+ GError **error); |
53 |
- |
54 |
- static void |
55 |
- g_output_stream_finalize (GObject *object) |
56 |
-@@ -459,9 +462,7 @@ g_output_stream_real_splice (GOutputStream *stream, |
57 |
- if (flags & G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET) |
58 |
- { |
59 |
- /* But write errors on close are bad! */ |
60 |
-- if (class->close_fn && |
61 |
-- !class->close_fn (stream, cancellable, error)) |
62 |
-- res = FALSE; |
63 |
-+ res = _g_output_stream_close_internal (stream, cancellable, error); |
64 |
- } |
65 |
- |
66 |
- if (res) |
67 |
-@@ -470,6 +471,54 @@ g_output_stream_real_splice (GOutputStream *stream, |
68 |
- return -1; |
69 |
- } |
70 |
- |
71 |
-+/* Must always be called inside |
72 |
-+ * g_output_stream_set_pending()/g_output_stream_clear_pending(). */ |
73 |
-+static gboolean |
74 |
-+_g_output_stream_close_internal (GOutputStream *stream, |
75 |
-+ GCancellable *cancellable, |
76 |
-+ GError **error) |
77 |
-+{ |
78 |
-+ GOutputStreamClass *class; |
79 |
-+ gboolean res; |
80 |
-+ |
81 |
-+ if (stream->priv->closed) |
82 |
-+ return TRUE; |
83 |
-+ |
84 |
-+ class = G_OUTPUT_STREAM_GET_CLASS (stream); |
85 |
-+ |
86 |
-+ stream->priv->closing = TRUE; |
87 |
-+ |
88 |
-+ if (cancellable) |
89 |
-+ g_cancellable_push_current (cancellable); |
90 |
-+ |
91 |
-+ if (class->flush) |
92 |
-+ res = class->flush (stream, cancellable, error); |
93 |
-+ else |
94 |
-+ res = TRUE; |
95 |
-+ |
96 |
-+ if (!res) |
97 |
-+ { |
98 |
-+ /* flushing caused the error that we want to return, |
99 |
-+ * but we still want to close the underlying stream if possible |
100 |
-+ */ |
101 |
-+ if (class->close_fn) |
102 |
-+ class->close_fn (stream, cancellable, NULL); |
103 |
-+ } |
104 |
-+ else |
105 |
-+ { |
106 |
-+ res = TRUE; |
107 |
-+ if (class->close_fn) |
108 |
-+ res = class->close_fn (stream, cancellable, error); |
109 |
-+ } |
110 |
-+ |
111 |
-+ if (cancellable) |
112 |
-+ g_cancellable_pop_current (cancellable); |
113 |
-+ |
114 |
-+ stream->priv->closing = FALSE; |
115 |
-+ stream->priv->closed = TRUE; |
116 |
-+ |
117 |
-+ return res; |
118 |
-+} |
119 |
- |
120 |
- /** |
121 |
- * g_output_stream_close: |
122 |
-@@ -514,49 +563,18 @@ g_output_stream_close (GOutputStream *stream, |
123 |
- GCancellable *cancellable, |
124 |
- GError **error) |
125 |
- { |
126 |
-- GOutputStreamClass *class; |
127 |
- gboolean res; |
128 |
- |
129 |
- g_return_val_if_fail (G_IS_OUTPUT_STREAM (stream), FALSE); |
130 |
- |
131 |
-- class = G_OUTPUT_STREAM_GET_CLASS (stream); |
132 |
-- |
133 |
- if (stream->priv->closed) |
134 |
- return TRUE; |
135 |
- |
136 |
- if (!g_output_stream_set_pending (stream, error)) |
137 |
- return FALSE; |
138 |
- |
139 |
-- stream->priv->closing = TRUE; |
140 |
-- |
141 |
-- if (cancellable) |
142 |
-- g_cancellable_push_current (cancellable); |
143 |
-+ res = _g_output_stream_close_internal (stream, cancellable, error); |
144 |
- |
145 |
-- if (class->flush) |
146 |
-- res = class->flush (stream, cancellable, error); |
147 |
-- else |
148 |
-- res = TRUE; |
149 |
-- |
150 |
-- if (!res) |
151 |
-- { |
152 |
-- /* flushing caused the error that we want to return, |
153 |
-- * but we still want to close the underlying stream if possible |
154 |
-- */ |
155 |
-- if (class->close_fn) |
156 |
-- class->close_fn (stream, cancellable, NULL); |
157 |
-- } |
158 |
-- else |
159 |
-- { |
160 |
-- res = TRUE; |
161 |
-- if (class->close_fn) |
162 |
-- res = class->close_fn (stream, cancellable, error); |
163 |
-- } |
164 |
-- |
165 |
-- if (cancellable) |
166 |
-- g_cancellable_pop_current (cancellable); |
167 |
-- |
168 |
-- stream->priv->closing = FALSE; |
169 |
-- stream->priv->closed = TRUE; |
170 |
- g_output_stream_clear_pending (stream); |
171 |
- |
172 |
- return res; |
173 |
|
174 |
diff --git a/dev-libs/glib/glib-2.29.92.ebuild b/dev-libs/glib/glib-2.30.0.ebuild |
175 |
similarity index 97% |
176 |
rename from dev-libs/glib/glib-2.29.92.ebuild |
177 |
rename to dev-libs/glib/glib-2.30.0.ebuild |
178 |
index 169bc12..e089386 100644 |
179 |
--- a/dev-libs/glib/glib-2.29.92.ebuild |
180 |
+++ b/dev-libs/glib/glib-2.30.0.ebuild |
181 |
@@ -37,7 +37,7 @@ DEPEND="${RDEPEND} |
182 |
~app-text/docbook-xml-dtd-4.1.2 ) |
183 |
systemtap? ( >=dev-util/systemtap-1.3 ) |
184 |
test? ( |
185 |
- >=dev-util/gdbus-codegen-2.29.92 |
186 |
+ >=dev-util/gdbus-codegen-2.30.0 |
187 |
>=sys-apps/dbus-1.2.14 ) |
188 |
!<dev-util/gtk-doc-1.15-r2" |
189 |
PDEPEND="introspection? ( dev-libs/gobject-introspection ) |
190 |
@@ -58,9 +58,6 @@ src_prepare() { |
191 |
fi |
192 |
fi |
193 |
|
194 |
- # Don't close output stream twice; will be in next release |
195 |
- epatch "${FILESDIR}/${P}-close-stream-twice.patch" |
196 |
- |
197 |
# Don't fail gio tests when ran without userpriv, upstream bug 552912 |
198 |
# This is only a temporary workaround, remove as soon as possible |
199 |
epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch" |
200 |
|
201 |
diff --git a/dev-libs/glib/glib-9999.ebuild b/dev-libs/glib/glib-9999.ebuild |
202 |
index 49e5712..e089386 100644 |
203 |
--- a/dev-libs/glib/glib-9999.ebuild |
204 |
+++ b/dev-libs/glib/glib-9999.ebuild |
205 |
@@ -37,7 +37,7 @@ DEPEND="${RDEPEND} |
206 |
~app-text/docbook-xml-dtd-4.1.2 ) |
207 |
systemtap? ( >=dev-util/systemtap-1.3 ) |
208 |
test? ( |
209 |
- >=dev-util/gdbus-codegen-2.29.92 |
210 |
+ >=dev-util/gdbus-codegen-2.30.0 |
211 |
>=sys-apps/dbus-1.2.14 ) |
212 |
!<dev-util/gtk-doc-1.15-r2" |
213 |
PDEPEND="introspection? ( dev-libs/gobject-introspection ) |