1 |
commit: 9b750cb11848c865e446d90d0bfa43ce5969ebd1 |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Aug 30 22:05:14 2011 +0000 |
4 |
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Aug 30 23:52:19 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=9b750cb1 |
7 |
|
8 |
dev-cpp/glibmm: 2.29.11 → 2.29.11-r1, glib-2.29.18 compatibility |
9 |
|
10 |
Backport an upstream patch for glib-2.29.18 compatibility. |
11 |
|
12 |
--- |
13 |
.../glibmm-2.29.11-timezonemonitor-generated.patch | 42 ++++++ |
14 |
.../files/glibmm-2.29.11-timezonemonitor.patch | 138 ++++++++++++++++++++ |
15 |
...bmm-2.29.11.ebuild => glibmm-2.29.11-r1.ebuild} | 9 +- |
16 |
3 files changed, 188 insertions(+), 1 deletions(-) |
17 |
|
18 |
diff --git a/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor-generated.patch b/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor-generated.patch |
19 |
new file mode 100644 |
20 |
index 0000000..649e296 |
21 |
--- /dev/null |
22 |
+++ b/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor-generated.patch |
23 |
@@ -0,0 +1,42 @@ |
24 |
+--- a/glib/glibmm/timezone.cc |
25 |
++++ b/glib/glibmm/timezone.cc |
26 |
+@@ -117,13 +117,6 @@ |
27 |
+ return Glib::wrap(g_time_zone_new_utc()); |
28 |
+ } |
29 |
+ |
30 |
+- |
31 |
+-void TimeZone::refresh_local() |
32 |
+-{ |
33 |
+-g_time_zone_refresh_local(); |
34 |
+-} |
35 |
+- |
36 |
+- |
37 |
+ int TimeZone::find_interval(TimeType type, gint64 time) const |
38 |
+ { |
39 |
+ return g_time_zone_find_interval(const_cast<GTimeZone*>(gobj()), ((GTimeType)(type)), time); |
40 |
+--- a/glib/glibmm/timezone.h |
41 |
++++ b/glib/glibmm/timezone.h |
42 |
+@@ -160,23 +160,6 @@ |
43 |
+ */ |
44 |
+ static TimeZone create_utc(); |
45 |
+ |
46 |
+- |
47 |
+- /** Notifies TimeZone that the local timezone may have changed. |
48 |
+- * |
49 |
+- * In response, TimeZone will drop its cache of the local time zone. |
50 |
+- * No existing TimeZone will be modified and no DateTime will change |
51 |
+- * its timezone but future calls to g_time_zone_new_local() will start |
52 |
+- * returning the new timezone. |
53 |
+- * |
54 |
+- * TimeZone does no monitoring of the local timezone on its own, which |
55 |
+- * is why you have to call this function to notify it of the change. |
56 |
+- * |
57 |
+- * If you use TimeZoneMonitor to watch for changes then this function |
58 |
+- * will automatically be called for you. |
59 |
+- */ |
60 |
+- static void refresh_local(); |
61 |
+- |
62 |
+- |
63 |
+ /** Finds an the interval within @a tz that corresponds to the given @a time. |
64 |
+ * The meaning of @a time depends on @a type. |
65 |
+ * |
66 |
|
67 |
diff --git a/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor.patch b/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor.patch |
68 |
new file mode 100644 |
69 |
index 0000000..47825ea |
70 |
--- /dev/null |
71 |
+++ b/dev-cpp/glibmm/files/glibmm-2.29.11-timezonemonitor.patch |
72 |
@@ -0,0 +1,138 @@ |
73 |
+From fb93262ca182aeb54632a3ddead4ed8e84b80ddc Mon Sep 17 00:00:00 2001 |
74 |
+From: José Alburquerque <jaalburqu@×××××××××.org> |
75 |
+Date: Mon, 22 Aug 2011 22:03:27 +0000 |
76 |
+Subject: TimeZoneMonitor: Remove as was done in glib. |
77 |
+ |
78 |
+ * gio/src/filelist.am: |
79 |
+ * gio/src/timezonemonitor.{ccg,hg}: Remove sources and the mention |
80 |
+ from the build. |
81 |
+ * glib/src/timezone.hg (refresh_local): Remove this method as the |
82 |
+ function that it wraps was also removed from glib. |
83 |
+ * tools/extra_defs_gen/generate_defs_gio.cc |
84 |
+ (G_TYPE_TIME_ZONE_MONITOR): Remove this GType from the list of types |
85 |
+ for which properties and signals are generated. |
86 |
+ |
87 |
+ See the glib commit: |
88 |
+ http://git.gnome.org/browse/glib/commit/?id=5b68b49b2072c371c72ee96175e3d6a727eb5e8b |
89 |
+ |
90 |
+[Alexandre Rostovtsev <tetromino@×××××.com>: backport to 2.29.11 tarball release] |
91 |
+--- |
92 |
+diff -ur a/gio/giomm/wrap_init.cc b/gio/giomm/wrap_init.cc |
93 |
+--- a/gio/giomm/wrap_init.cc |
94 |
++++ b/gio/giomm/wrap_init.cc |
95 |
+@@ -90,7 +90,6 @@ |
96 |
+ #include "tcpconnection.h" |
97 |
+ #include "themedicon.h" |
98 |
+ #include "threadedsocketservice.h" |
99 |
+-#include "timezonemonitor.h" |
100 |
+ #ifndef G_OS_WIN32 |
101 |
+ #include "unixconnection.h" |
102 |
+ #endif //G_OS_WIN32 |
103 |
+@@ -172,7 +171,6 @@ |
104 |
+ GType g_tcp_connection_get_type(void); |
105 |
+ GType g_themed_icon_get_type(void); |
106 |
+ GType g_threaded_socket_service_get_type(void); |
107 |
+-GType g_time_zone_monitor_get_type(void); |
108 |
+ #ifndef G_OS_WIN32 |
109 |
+ GType g_unix_connection_get_type(void); |
110 |
+ #endif //G_OS_WIN32 |
111 |
+@@ -258,7 +256,6 @@ |
112 |
+ namespace Gio { class TcpConnection_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } |
113 |
+ namespace Gio { class ThemedIcon_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } |
114 |
+ namespace Gio { class ThreadedSocketService_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } |
115 |
+-namespace Gio { class TimeZoneMonitor_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } |
116 |
+ #ifndef G_OS_WIN32 |
117 |
+ namespace Gio { class UnixConnection_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; } |
118 |
+ #endif //G_OS_WIN32 |
119 |
+@@ -344,7 +341,6 @@ |
120 |
+ Glib::wrap_register(g_tcp_connection_get_type(), &Gio::TcpConnection_Class::wrap_new); |
121 |
+ Glib::wrap_register(g_themed_icon_get_type(), &Gio::ThemedIcon_Class::wrap_new); |
122 |
+ Glib::wrap_register(g_threaded_socket_service_get_type(), &Gio::ThreadedSocketService_Class::wrap_new); |
123 |
+- Glib::wrap_register(g_time_zone_monitor_get_type(), &Gio::TimeZoneMonitor_Class::wrap_new); |
124 |
+ #ifndef G_OS_WIN32 |
125 |
+ Glib::wrap_register(g_unix_connection_get_type(), &Gio::UnixConnection_Class::wrap_new); |
126 |
+ #endif //G_OS_WIN32 |
127 |
+@@ -421,7 +417,6 @@ |
128 |
+ Gio::TcpConnection::get_type(); |
129 |
+ Gio::ThemedIcon::get_type(); |
130 |
+ Gio::ThreadedSocketService::get_type(); |
131 |
+- Gio::TimeZoneMonitor::get_type(); |
132 |
+ #ifndef G_OS_WIN32 |
133 |
+ Gio::UnixConnection::get_type(); |
134 |
+ #endif //G_OS_WIN32 |
135 |
+diff -ur a/gio/src/filelist.am b/gio/src/filelist.am |
136 |
+--- a/gio/src/filelist.am |
137 |
++++ b/gio/src/filelist.am |
138 |
+@@ -88,7 +88,6 @@ |
139 |
+ tcpconnection.hg \ |
140 |
+ threadedsocketservice.hg \ |
141 |
+ themedicon.hg \ |
142 |
+- timezonemonitor.hg \ |
143 |
+ volume.hg \ |
144 |
+ volumemonitor.hg |
145 |
+ |
146 |
+diff -ur a/glib/glibmm/timezone.cc b/glib/glibmm/timezone.cc |
147 |
+--- a/glib/glibmm/timezone.cc |
148 |
++++ b/glib/glibmm/timezone.cc |
149 |
+@@ -118,12 +118,6 @@ |
150 |
+ } |
151 |
+ |
152 |
+ |
153 |
+-void TimeZone::refresh_local() |
154 |
+-{ |
155 |
+-g_time_zone_refresh_local(); |
156 |
+-} |
157 |
+- |
158 |
+- |
159 |
+ int TimeZone::find_interval(TimeType type, gint64 time) const |
160 |
+ { |
161 |
+ return g_time_zone_find_interval(const_cast<GTimeZone*>(gobj()), ((GTimeType)(type)), time); |
162 |
+diff -ur a/glib/glibmm/timezone.h b/glib/glibmm/timezone.h |
163 |
+--- a/glib/glibmm/timezone.h |
164 |
++++ b/glib/glibmm/timezone.h |
165 |
+@@ -161,22 +161,6 @@ |
166 |
+ static TimeZone create_utc(); |
167 |
+ |
168 |
+ |
169 |
+- /** Notifies TimeZone that the local timezone may have changed. |
170 |
+- * |
171 |
+- * In response, TimeZone will drop its cache of the local time zone. |
172 |
+- * No existing TimeZone will be modified and no DateTime will change |
173 |
+- * its timezone but future calls to g_time_zone_new_local() will start |
174 |
+- * returning the new timezone. |
175 |
+- * |
176 |
+- * TimeZone does no monitoring of the local timezone on its own, which |
177 |
+- * is why you have to call this function to notify it of the change. |
178 |
+- * |
179 |
+- * If you use TimeZoneMonitor to watch for changes then this function |
180 |
+- * will automatically be called for you. |
181 |
+- */ |
182 |
+- static void refresh_local(); |
183 |
+- |
184 |
+- |
185 |
+ /** Finds an the interval within @a tz that corresponds to the given @a time. |
186 |
+ * The meaning of @a time depends on @a type. |
187 |
+ * |
188 |
+diff -ur a/glib/src/timezone.hg b/glib/src/timezone.hg |
189 |
+--- a/glib/src/timezone.hg |
190 |
++++ b/glib/src/timezone.hg |
191 |
+@@ -62,8 +62,6 @@ |
192 |
+ _WRAP_METHOD(static TimeZone create_local(), g_time_zone_new_local) |
193 |
+ _WRAP_METHOD(static TimeZone create_utc(), g_time_zone_new_utc) |
194 |
+ |
195 |
+- _WRAP_METHOD(static void refresh_local(), g_time_zone_refresh_local) |
196 |
+- |
197 |
+ _WRAP_METHOD(int find_interval(TimeType type, gint64 time) const, g_time_zone_find_interval) |
198 |
+ _WRAP_METHOD(int adjust_time(TimeType type, gint64& time) const, g_time_zone_adjust_time) |
199 |
+ _WRAP_METHOD(Glib::ustring get_abbreviation(int interval) const, g_time_zone_get_abbreviation) |
200 |
+diff -ur a/tools/extra_defs_gen/generate_defs_gio.cc b/tools/extra_defs_gen/generate_defs_gio.cc |
201 |
+--- a/tools/extra_defs_gen/generate_defs_gio.cc |
202 |
++++ b/tools/extra_defs_gen/generate_defs_gio.cc |
203 |
+@@ -82,7 +82,6 @@ |
204 |
+ << get_defs(G_TYPE_SETTINGS_BACKEND) |
205 |
+ << get_defs(G_TYPE_SIMPLE_ASYNC_RESULT) |
206 |
+ << get_defs(G_TYPE_THEMED_ICON) |
207 |
+- << get_defs(G_TYPE_TIME_ZONE_MONITOR) |
208 |
+ |
209 |
+ //TODO: This causes a g_warning: |
210 |
+ //GLib-GObject-CRITICAL **: g_param_spec_pool_list: assertion `pool != NULL' failed" |
211 |
|
212 |
diff --git a/dev-cpp/glibmm/glibmm-2.29.11.ebuild b/dev-cpp/glibmm/glibmm-2.29.11-r1.ebuild |
213 |
similarity index 84% |
214 |
rename from dev-cpp/glibmm/glibmm-2.29.11.ebuild |
215 |
rename to dev-cpp/glibmm/glibmm-2.29.11-r1.ebuild |
216 |
index cc54551..fab7e74 100644 |
217 |
--- a/dev-cpp/glibmm/glibmm-2.29.11.ebuild |
218 |
+++ b/dev-cpp/glibmm/glibmm-2.29.11-r1.ebuild |
219 |
@@ -6,7 +6,7 @@ EAPI="4" |
220 |
GCONF_DEBUG="no" |
221 |
GNOME2_LA_PUNT="yes" |
222 |
|
223 |
-inherit gnome2 |
224 |
+inherit autotools eutils gnome2 |
225 |
|
226 |
DESCRIPTION="C++ interface for glib2" |
227 |
HOMEPAGE="http://www.gtkmm.org" |
228 |
@@ -32,6 +32,13 @@ pkg_setup() { |
229 |
} |
230 |
|
231 |
src_prepare() { |
232 |
+ # Backport of upstream patch for glib-2.29.18 compatibility |
233 |
+ rm gio/src/timezonemonitor.{ccg,hg} \ |
234 |
+ gio/giomm/private/timezonemonitor_p.h \ |
235 |
+ gio/giomm/timezonemonitor.{cc,h} || die "rm failed" |
236 |
+ epatch "${FILESDIR}/${P}-timezonemonitor.patch" |
237 |
+ eautoreconf |
238 |
+ |
239 |
gnome2_src_prepare |
240 |
|
241 |
if ! use test; then |