Merge lp:~barcc/ubuntu/saucy/pyicu/lp1200419 into lp:ubuntu/saucy/pyicu
- Saucy (13.10)
- lp1200419
- Merge into saucy
Proposed by
B. Clausius
Status: | Merged | ||||
---|---|---|---|---|---|
Merge reported by: | Martin Pitt | ||||
Merged at revision: | not available | ||||
Proposed branch: | lp:~barcc/ubuntu/saucy/pyicu/lp1200419 | ||||
Merge into: | lp:ubuntu/saucy/pyicu | ||||
Diff against target: |
811 lines (+313/-113) 30 files modified
.pc/.quilt_patches (+1/-0) .pc/.quilt_series (+1/-0) .pc/.version (+1/-0) CHANGES (+12/-0) PKG-INFO (+13/-2) PyICU.egg-info/PKG-INFO (+13/-2) bases.cpp (+8/-0) calendar.cpp (+8/-1) common.h (+3/-0) dateformat.cpp (+7/-0) debian/changelog (+37/-0) debian/control (+26/-7) debian/patches/00dpatch.conf (+0/-2) debian/patches/00list (+0/-2) debian/patches/fix_typo_in_deprecation_warning.patch (+13/-0) debian/patches/no-setuptools-please.diff (+22/-0) debian/patches/no-setuptools-please.dpatch (+0/-21) debian/patches/platform-definitions-fix.diff (+20/-0) debian/patches/platform-definitions-fix.dpatch (+0/-18) debian/patches/rename_docs_module.patch (+10/-0) debian/patches/series (+4/-0) debian/rules (+27/-31) debian/source/format (+1/-1) format.cpp (+21/-3) layoutengine.cpp (+11/-1) numberformat.cpp (+1/-1) setup.py (+13/-1) test/test_Collator.py (+22/-19) test/test_MessageFormat.py (+17/-0) transliterator.cpp (+1/-1) |
||||
To merge this branch: | bzr merge lp:~barcc/ubuntu/saucy/pyicu/lp1200419 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Pitt | Approve | ||
Review via email: mp+176028@code.launchpad.net |
Commit message
Description of the change
* Merged from debian version 1.5-2
* Added transitional packages python3-pyicu[-dbg] to migrate to python3-icu[-dbg]
This solves: lp: #1200419, Please provide package python3-icu
To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote : | # |
BTW this merge missed Breaks/Replaces from the new package to the old transitional one and so causes upgrade failures. I'm uploading a fix for that now.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory '.pc' |
2 | === added file '.pc/.quilt_patches' |
3 | --- .pc/.quilt_patches 1970-01-01 00:00:00 +0000 |
4 | +++ .pc/.quilt_patches 2013-07-20 21:08:24 +0000 |
5 | @@ -0,0 +1,1 @@ |
6 | +debian/patches |
7 | |
8 | === added file '.pc/.quilt_series' |
9 | --- .pc/.quilt_series 1970-01-01 00:00:00 +0000 |
10 | +++ .pc/.quilt_series 2013-07-20 21:08:24 +0000 |
11 | @@ -0,0 +1,1 @@ |
12 | +series |
13 | |
14 | === added file '.pc/.version' |
15 | --- .pc/.version 1970-01-01 00:00:00 +0000 |
16 | +++ .pc/.version 2013-07-20 21:08:24 +0000 |
17 | @@ -0,0 +1,1 @@ |
18 | +2 |
19 | |
20 | === modified file 'CHANGES' |
21 | --- CHANGES 2012-05-10 22:59:17 +0000 |
22 | +++ CHANGES 2013-07-20 21:08:24 +0000 |
23 | @@ -1,6 +1,18 @@ |
24 | |
25 | For bug <NUM>, see http://bugzilla.osafoundation.org/show_bug.cgi?id=<NUM> |
26 | |
27 | +Version 1.4 -> 1.5 |
28 | +------------------ |
29 | + - added wrapper for MessageFormat::format(argumentNames, arguments, ...) |
30 | + - fixed bug in t_transliterator_filteredTransliterate passing UBool for int |
31 | + - added wrapper for DateFormat::format(Calendar) |
32 | + - added wrapper for Calendar::set(UCalendarDateFields field, value) |
33 | + - added wrappers for UnicodeString::toTitle() w/o iterator (Fredrik Roubert) |
34 | + - added support for ICU 50.1 |
35 | + - improved test_Collator's testGetSortKey() (Markus Scherer) |
36 | + - added pypi classifiers to PyICU project info, including Python 3 tag |
37 | + - build tested with Python 2.7 and Python 3.3.0 |
38 | + |
39 | Version 1.3 -> 1.4 |
40 | ------------------ |
41 | - fixed bug with default tzinfo set on ICUtzinfo type (bug 13038) |
42 | |
43 | === modified file 'PKG-INFO' |
44 | --- PKG-INFO 2012-05-10 22:59:17 +0000 |
45 | +++ PKG-INFO 2013-07-20 21:08:24 +0000 |
46 | @@ -1,10 +1,10 @@ |
47 | Metadata-Version: 1.0 |
48 | Name: PyICU |
49 | -Version: 1.4 |
50 | +Version: 1.5 |
51 | Summary: Python extension wrapping the ICU C++ API |
52 | Home-page: http://pyicu.osafoundation.org/ |
53 | Author: Open Source Applications Foundation |
54 | -Author-email: UNKNOWN |
55 | +Author-email: vajda@osafoundation.org |
56 | License: UNKNOWN |
57 | Description: |
58 | --------------------- |
59 | @@ -238,3 +238,14 @@ |
60 | str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji' |
61 | |
62 | Platform: UNKNOWN |
63 | +Classifier: Development Status :: 5 - Production/Stable |
64 | +Classifier: Environment :: Console |
65 | +Classifier: Intended Audience :: Developers |
66 | +Classifier: License :: OSI Approved |
67 | +Classifier: Operating System :: OS Independent |
68 | +Classifier: Programming Language :: C++ |
69 | +Classifier: Programming Language :: Python |
70 | +Classifier: Programming Language :: Python :: 2 |
71 | +Classifier: Programming Language :: Python :: 3 |
72 | +Classifier: Topic :: Software Development :: Localization |
73 | +Classifier: Topic :: Software Development :: Internationalization |
74 | |
75 | === modified file 'PyICU.egg-info/PKG-INFO' |
76 | --- PyICU.egg-info/PKG-INFO 2012-05-10 22:59:17 +0000 |
77 | +++ PyICU.egg-info/PKG-INFO 2013-07-20 21:08:24 +0000 |
78 | @@ -1,10 +1,10 @@ |
79 | Metadata-Version: 1.0 |
80 | Name: PyICU |
81 | -Version: 1.4 |
82 | +Version: 1.5 |
83 | Summary: Python extension wrapping the ICU C++ API |
84 | Home-page: http://pyicu.osafoundation.org/ |
85 | Author: Open Source Applications Foundation |
86 | -Author-email: UNKNOWN |
87 | +Author-email: vajda@osafoundation.org |
88 | License: UNKNOWN |
89 | Description: |
90 | --------------------- |
91 | @@ -238,3 +238,14 @@ |
92 | str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji' |
93 | |
94 | Platform: UNKNOWN |
95 | +Classifier: Development Status :: 5 - Production/Stable |
96 | +Classifier: Environment :: Console |
97 | +Classifier: Intended Audience :: Developers |
98 | +Classifier: License :: OSI Approved |
99 | +Classifier: Operating System :: OS Independent |
100 | +Classifier: Programming Language :: C++ |
101 | +Classifier: Programming Language :: Python |
102 | +Classifier: Programming Language :: Python :: 2 |
103 | +Classifier: Programming Language :: Python :: 3 |
104 | +Classifier: Topic :: Software Development :: Localization |
105 | +Classifier: Topic :: Software Development :: Internationalization |
106 | |
107 | === modified file 'bases.cpp' |
108 | --- bases.cpp 2012-05-10 22:59:17 +0000 |
109 | +++ bases.cpp 2013-07-20 21:08:24 +0000 |
110 | @@ -1275,7 +1275,15 @@ |
111 | Locale *locale; |
112 | |
113 | switch (PyTuple_Size(args)) { |
114 | + case 0: |
115 | + self->object->toTitle(NULL); |
116 | + Py_RETURN_SELF(); |
117 | case 1: |
118 | + if (!parseArgs(args, "P", TYPE_CLASSID(Locale), &locale)) |
119 | + { |
120 | + self->object->toTitle(NULL, *locale); |
121 | + Py_RETURN_SELF(); |
122 | + } |
123 | if (!parseArg(args, "P", TYPE_ID(BreakIterator), &iterator)) |
124 | { |
125 | self->object->toTitle(iterator); |
126 | |
127 | === modified file 'calendar.cpp' |
128 | --- calendar.cpp 2011-11-13 12:07:46 +0000 |
129 | +++ calendar.cpp 2013-07-20 21:08:24 +0000 |
130 | @@ -1136,8 +1136,15 @@ |
131 | static PyObject *t_calendar_set(t_calendar *self, PyObject *args) |
132 | { |
133 | int year, month, date, hour, minute, second; |
134 | - |
135 | + int field, value; |
136 | switch (PyTuple_Size(args)) { |
137 | + case 2: |
138 | + if (!parseArgs(args, "ii", &field, &value)) |
139 | + { |
140 | + self->object->set((UCalendarDateFields) field, value); |
141 | + Py_RETURN_NONE; |
142 | + } |
143 | + break; |
144 | case 3: |
145 | if (!parseArgs(args, "iii", &year, &month, &date)) |
146 | { |
147 | |
148 | === modified file 'common.h' |
149 | --- common.h 2011-11-13 12:07:46 +0000 |
150 | +++ common.h 2013-07-20 21:08:24 +0000 |
151 | @@ -131,6 +131,9 @@ |
152 | #include <unicode/search.h> |
153 | #include <unicode/stsearch.h> |
154 | |
155 | +#define VERSION_HEX(major, minor, patch) \ |
156 | + (((major) << 24) | ((minor) << 16) | ((patch) << 8)) |
157 | + |
158 | #define U_ICU_VERSION_HEX ((U_ICU_VERSION_MAJOR_NUM << 24) + \ |
159 | (U_ICU_VERSION_MINOR_NUM << 16) + \ |
160 | (U_ICU_VERSION_PATCHLEVEL_NUM << 8)) |
161 | |
162 | === modified file 'dateformat.cpp' |
163 | --- dateformat.cpp 2011-11-13 12:07:46 +0000 |
164 | +++ dateformat.cpp 2013-07-20 21:08:24 +0000 |
165 | @@ -609,6 +609,13 @@ |
166 | self->object->format(date, _u); |
167 | return PyUnicode_FromUnicodeString(&_u); |
168 | } |
169 | + if (!parseArgs(args, "P", TYPE_ID(Calendar), &calendar)) |
170 | + { |
171 | + FieldPosition fp0(0); |
172 | + |
173 | + self->object->format(*calendar, _u, fp0); |
174 | + return PyUnicode_FromUnicodeString(&_u); |
175 | + } |
176 | break; |
177 | case 2: |
178 | if (!parseArgs(args, "DP", TYPE_CLASSID(FieldPosition), |
179 | |
180 | === modified file 'debian/changelog' |
181 | --- debian/changelog 2012-11-07 23:00:26 +0000 |
182 | +++ debian/changelog 2013-07-20 21:08:24 +0000 |
183 | @@ -1,3 +1,40 @@ |
184 | +pyicu (1.5-2ubuntu1) saucy; urgency=low |
185 | + |
186 | + * Resynchronise with Debian. |
187 | + * Added transitional packages python3-pyicu[-dbg] to migrate |
188 | + to python3-icu[-dbg] |
189 | + |
190 | + -- B. Clausius <barcc@gmx.de> Sat, 20 Jul 2013 21:40:05 +0200 |
191 | + |
192 | +pyicu (1.5-2) unstable; urgency=low |
193 | + |
194 | + * Rename docs.py to icu_docs.py instead of removing it |
195 | + as it's used in icu (closes: #714048) |
196 | + |
197 | + -- Piotr Ożarowski <piotr@debian.org> Tue, 25 Jun 2013 19:22:34 +0200 |
198 | + |
199 | +pyicu (1.5-1) unstable; urgency=low |
200 | + |
201 | + * Team upload. |
202 | + |
203 | + [ Jakub Wilk ] |
204 | + * Use canonical URIs for Vcs-* fields. |
205 | + |
206 | + [ Colin Watson ] |
207 | + * Add Python 3 packages (closes: #671361). |
208 | + * Drop manual cleaning of python-pyicu-dbg, since dh_python2 handles this. |
209 | + |
210 | + [ Piotr Ożarowski ] |
211 | + * New upstream release |
212 | + * Convert patches from deprecated dpatch to quilt |
213 | + * Debian source package format changed to 3.0 (quilt) |
214 | + * Add fix_typo_in_deprecation_warning patch (closes: #589031) |
215 | + * Remove docs.py file from binary packages (closes: #603717) |
216 | + * Standards-Version bumped to 3.9.4: |
217 | + - build-arch and build-indep targets added in debian/rules |
218 | + |
219 | + -- Piotr Ożarowski <piotr@debian.org> Mon, 24 Jun 2013 22:20:56 +0200 |
220 | + |
221 | pyicu (1.4-1ubuntu3) raring; urgency=low |
222 | |
223 | * Rebuild to drop python3.2 provides. |
224 | |
225 | === modified file 'debian/control' |
226 | --- debian/control 2012-05-15 15:38:16 +0000 |
227 | +++ debian/control 2013-07-20 21:08:24 +0000 |
228 | @@ -4,12 +4,14 @@ |
229 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
230 | XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> |
231 | Uploaders: Bernd Zeimetz <bzed@debian.org> |
232 | -Build-Depends: dpatch, debhelper (>= 5.0.37.3), python-all-dev (>= 2.6.6-3~), python-all-dbg (>= 2.6.6-3~), python3-all-dev, python3-all-dbg, libicu-dev |
233 | +Build-Depends: debhelper (>= 5.0.37.3), python-all-dev (>= 2.6.6-3~), python-all-dbg (>= 2.6.6-3~), python3-all-dev, python3-all-dbg, libicu-dev, |
234 | +# uncoment below line to run test_LayoutEngine at build time (once all Python versions will be supported by these packages) |
235 | +# fonttools, python-numpy-dbg, python3-numpy-dbg |
236 | Build-Conflicts: python-pyicu |
237 | -Vcs-Svn: svn://svn.debian.org/python-modules/packages/pyicu/trunk/ |
238 | -Vcs-Browser: http://svn.debian.org/viewsvn/python-modules/packages/pyicu/trunk/ |
239 | +Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/pyicu/trunk/ |
240 | +Vcs-Browser: http://anonscm.debian.org/viewvc/python-modules/packages/pyicu/trunk/ |
241 | Homepage: http://pyicu.osafoundation.org/ |
242 | -Standards-Version: 3.9.2 |
243 | +Standards-Version: 3.9.4 |
244 | |
245 | Package: python-pyicu |
246 | Architecture: any |
247 | @@ -33,7 +35,7 @@ |
248 | . |
249 | This package contains the extension built for the Python debug interpreter. |
250 | |
251 | -Package: python3-pyicu |
252 | +Package: python3-icu |
253 | Architecture: any |
254 | Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends} |
255 | Provides: ${python3:Provides} |
256 | @@ -42,11 +44,11 @@ |
257 | Unicode and locale support. This package provides an extension for |
258 | Python 3 which wraps the ICU C++ API. |
259 | |
260 | -Package: python3-pyicu-dbg |
261 | +Package: python3-icu-dbg |
262 | Section: debug |
263 | Architecture: any |
264 | Priority: extra |
265 | -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-pyicu (= ${binary:Version}), python3-dbg |
266 | +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-icu (= ${binary:Version}), python3-dbg |
267 | Provides: ${python3:Provides} |
268 | Description: Python 3 extension wrapping the ICU C++ API (debug extension) |
269 | ICU is a C++ and C library that provides robust and full-featured |
270 | @@ -55,3 +57,20 @@ |
271 | . |
272 | This package contains the extension built for the Python 3 debug |
273 | interpreter. |
274 | + |
275 | +Package: python3-pyicu |
276 | +Section: oldlibs |
277 | +Architecture: any |
278 | +Depends: python3-icu (= ${binary:Version}) |
279 | +Description: dummy transitional package for PyICU Python 3 extension |
280 | + This is a transitional package to migrate to python3-icu. |
281 | + Once no package depends on it, you may safely remove it. |
282 | + |
283 | +Package: python3-pyicu-dbg |
284 | +Section: oldlibs |
285 | +Architecture: any |
286 | +Priority: extra |
287 | +Depends: python3-icu-dbg (= ${binary:Version}) |
288 | +Description: dummy transitional package for PyICU Python 3 debug extension |
289 | + This is a transitional package to migrate to python3-icu-dbg. |
290 | + Once no package depends on it, you may safely remove it. |
291 | |
292 | === removed file 'debian/patches/00dpatch.conf' |
293 | --- debian/patches/00dpatch.conf 2007-12-06 22:45:38 +0000 |
294 | +++ debian/patches/00dpatch.conf 1970-01-01 00:00:00 +0000 |
295 | @@ -1,2 +0,0 @@ |
296 | -conf_debianonly=1 |
297 | -conf_origtargzpath=../tarballs |
298 | |
299 | === removed file 'debian/patches/00list' |
300 | --- debian/patches/00list 2012-06-21 11:32:38 +0000 |
301 | +++ debian/patches/00list 1970-01-01 00:00:00 +0000 |
302 | @@ -1,2 +0,0 @@ |
303 | -no-setuptools-please |
304 | -platform-definitions-fix |
305 | |
306 | === added file 'debian/patches/fix_typo_in_deprecation_warning.patch' |
307 | --- debian/patches/fix_typo_in_deprecation_warning.patch 1970-01-01 00:00:00 +0000 |
308 | +++ debian/patches/fix_typo_in_deprecation_warning.patch 2013-07-20 21:08:24 +0000 |
309 | @@ -0,0 +1,13 @@ |
310 | +Index: PyICU-1.5/PyICU.py |
311 | +=================================================================== |
312 | +--- PyICU-1.5.orig/PyICU.py |
313 | ++++ PyICU-1.5/PyICU.py |
314 | +@@ -23,7 +23,7 @@ |
315 | + |
316 | + import warnings as _warnings |
317 | + |
318 | +-_warnings.warn("Module 'PyICU' is deprecated, import 'icu' instead'", |
319 | ++_warnings.warn("Module 'PyICU' is deprecated, import 'icu' instead", |
320 | + category=DeprecationWarning, stacklevel=2) |
321 | + |
322 | + from icu import * |
323 | |
324 | === added file 'debian/patches/no-setuptools-please.diff' |
325 | --- debian/patches/no-setuptools-please.diff 1970-01-01 00:00:00 +0000 |
326 | +++ debian/patches/no-setuptools-please.diff 2013-07-20 21:08:24 +0000 |
327 | @@ -0,0 +1,22 @@ |
328 | +#! /bin/sh /usr/share/dpatch/dpatch-run |
329 | +## no-setuptools-please.dpatch by Bernd Zeimetz <bzed@debian.org> |
330 | +## |
331 | +## DP: As usual - do not build with setuptools. |
332 | + |
333 | +@DPATCH@ |
334 | +Index: PyICU-1.5/setup.py |
335 | +=================================================================== |
336 | +--- PyICU-1.5.orig/setup.py |
337 | ++++ PyICU-1.5/setup.py |
338 | +@@ -1,10 +1,7 @@ |
339 | + |
340 | + import os, sys |
341 | + |
342 | +-try: |
343 | +- from setuptools import setup, Extension |
344 | +-except ImportError: |
345 | +- from distutils.core import setup, Extension |
346 | ++from distutils.core import setup, Extension |
347 | + |
348 | + |
349 | + VERSION = '1.5' |
350 | |
351 | === removed file 'debian/patches/no-setuptools-please.dpatch' |
352 | --- debian/patches/no-setuptools-please.dpatch 2007-12-06 22:45:38 +0000 |
353 | +++ debian/patches/no-setuptools-please.dpatch 1970-01-01 00:00:00 +0000 |
354 | @@ -1,21 +0,0 @@ |
355 | -#! /bin/sh /usr/share/dpatch/dpatch-run |
356 | -## no-setuptools-please.dpatch by Bernd Zeimetz <bzed@debian.org> |
357 | -## |
358 | -## DP: As usual - do not build with setuptools. |
359 | - |
360 | -@DPATCH@ |
361 | -diff -urNad pyicu~/setup.py pyicu/setup.py |
362 | ---- pyicu~/setup.py 2007-11-28 19:37:57.000000000 +0100 |
363 | -+++ pyicu/setup.py 2007-12-05 14:21:57.000000000 +0100 |
364 | -@@ -1,10 +1,7 @@ |
365 | - |
366 | - import os, sys |
367 | - |
368 | --try: |
369 | -- from setuptools import setup, Extension |
370 | --except ImportError: |
371 | -- from distutils.core import setup, Extension |
372 | -+from distutils.core import setup, Extension |
373 | - |
374 | - |
375 | - VERSION = '0.8' |
376 | |
377 | === added file 'debian/patches/platform-definitions-fix.diff' |
378 | --- debian/patches/platform-definitions-fix.diff 1970-01-01 00:00:00 +0000 |
379 | +++ debian/patches/platform-definitions-fix.diff 2013-07-20 21:08:24 +0000 |
380 | @@ -0,0 +1,20 @@ |
381 | +#! /bin/sh /usr/share/dpatch/dpatch-run |
382 | +## platform-definitions-fix.dpatch by Jakub Wilk <jwilk@debian.org> |
383 | +## |
384 | +## DP: Fixing FTBFS due to new platform definitions. Setup.py doesn't need to |
385 | +## DP: take care of them in our case. |
386 | + |
387 | +@DPATCH@ |
388 | +Index: PyICU-1.5/setup.py |
389 | +=================================================================== |
390 | +--- PyICU-1.5.orig/setup.py |
391 | ++++ PyICU-1.5/setup.py |
392 | +@@ -48,7 +48,7 @@ LIBRARIES = { |
393 | + } |
394 | + |
395 | + platform = sys.platform |
396 | +-if platform.startswith('linux'): |
397 | ++if platform.startswith('linux') or platform.startswith('gnu'): |
398 | + platform = 'linux' |
399 | + |
400 | + if 'PYICU_INCLUDES' in os.environ: |
401 | |
402 | === removed file 'debian/patches/platform-definitions-fix.dpatch' |
403 | --- debian/patches/platform-definitions-fix.dpatch 2012-05-10 22:59:17 +0000 |
404 | +++ debian/patches/platform-definitions-fix.dpatch 1970-01-01 00:00:00 +0000 |
405 | @@ -1,18 +0,0 @@ |
406 | -#! /bin/sh /usr/share/dpatch/dpatch-run |
407 | -## platform-definitions-fix.dpatch by Jakub Wilk <jwilk@debian.org> |
408 | -## |
409 | -## DP: Fixing FTBFS due to new platform definitions. Setup.py doesn't need to |
410 | -## DP: take care of them in our case. |
411 | - |
412 | -@DPATCH@ |
413 | ---- pyicu-0.8.1/setup.py |
414 | -+++ pyicu-0.8.1+kbsd/setup.py |
415 | -@@ -42,7 +42,7 @@ |
416 | - } |
417 | - |
418 | - platform = sys.platform |
419 | --if platform.startswith('linux'): |
420 | -+if platform.startswith('linux') or platform.startswith('gnu'): |
421 | - platform = 'linux' |
422 | - |
423 | - if 'PYICU_INCLUDES' in os.environ: |
424 | |
425 | === added file 'debian/patches/rename_docs_module.patch' |
426 | --- debian/patches/rename_docs_module.patch 1970-01-01 00:00:00 +0000 |
427 | +++ debian/patches/rename_docs_module.patch 2013-07-20 21:08:24 +0000 |
428 | @@ -0,0 +1,10 @@ |
429 | +Index: PyICU-1.5/icu.py |
430 | +=================================================================== |
431 | +--- PyICU-1.5.orig/icu.py |
432 | ++++ PyICU-1.5/icu.py |
433 | +@@ -34,4 +34,4 @@ class ICUError(Exception): |
434 | + class InvalidArgsError(Exception): |
435 | + pass |
436 | + |
437 | +-from docs import * |
438 | ++from icu_docs import * |
439 | |
440 | === added file 'debian/patches/series' |
441 | --- debian/patches/series 1970-01-01 00:00:00 +0000 |
442 | +++ debian/patches/series 2013-07-20 21:08:24 +0000 |
443 | @@ -0,0 +1,4 @@ |
444 | +no-setuptools-please.diff |
445 | +platform-definitions-fix.diff |
446 | +fix_typo_in_deprecation_warning.patch |
447 | +rename_docs_module.patch |
448 | |
449 | === modified file 'debian/rules' |
450 | --- debian/rules 2012-05-15 15:38:16 +0000 |
451 | +++ debian/rules 2013-07-20 21:08:24 +0000 |
452 | @@ -4,44 +4,42 @@ |
453 | #export DH_VERBOSE=1 |
454 | |
455 | PKGNAME:=python-pyicu |
456 | -PKG3NAME=python3-pyicu |
457 | +PKG3NAME=python3-icu |
458 | PYVERS:=$(shell pyversions -vr) |
459 | PY3VERS:=$(shell py3versions -vr) |
460 | |
461 | -include /usr/share/python/python.mk |
462 | -ifeq (,$(py_sitename)) |
463 | - py_sitename = site-packages |
464 | - py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages |
465 | - py_sitename_sh = $(py_sitename) |
466 | - py_libdir_sh = $(py_libdir) |
467 | -endif |
468 | - |
469 | - |
470 | -include /usr/share/dpatch/dpatch.make |
471 | - |
472 | -build: patch build-stamp |
473 | + |
474 | + |
475 | +build: build-arch |
476 | +build-indep: |
477 | +# We have nothing to do by default. |
478 | +build-arch: build-stamp |
479 | build-stamp: |
480 | dh_testdir |
481 | - |
482 | + |
483 | # setup.py modifies test source files when building for Python 3, so |
484 | # build out of tree. |
485 | - rm -rf build-py2 build-py3 |
486 | - mkdir -p build-py2 build-py3 |
487 | - cp -a $(filter-out build-py2 build-py3 debian,$(wildcard *)) build-py2/ |
488 | - cp -a $(filter-out build-py2 build-py3 debian,$(wildcard *)) build-py3/ |
489 | - |
490 | + rm -rf build/py2 build/py3 |
491 | + mkdir -p build/py2 build/py3 |
492 | + cp -a $(filter-out build/py2 build/py3 debian,$(wildcard *)) build/py2/ |
493 | + cp -a $(filter-out build/py2 build/py3 debian,$(wildcard *)) build/py3/ |
494 | + |
495 | set -e; \ |
496 | for py in $(PYVERS) $(PY3VERS); do \ |
497 | - (cd build-py$${py%%.*}; \ |
498 | + (cd build/py$${py%%.*}; \ |
499 | python$$py setup.py build; \ |
500 | python$$py-dbg setup.py build); \ |
501 | done |
502 | + set -e; \ |
503 | + for file in `find $(CURDIR)/build -type f -name docs.py`; do \ |
504 | + mv "$$file" "`dirname $$file`/icu_docs.py"; done |
505 | |
506 | ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) |
507 | set -ex ;\ |
508 | for test in `ls test/*.py`; do \ |
509 | for py in $(PYVERS) $(PY3VERS); do \ |
510 | - (cd build-py$${py%%.*}; \ |
511 | + (cd build/py$${py%%.*}; \ |
512 | PYTHONPATH=`ls -d $$(pwd)/build/lib.*-$$py` \ |
513 | python$$py $$test ;\ |
514 | PYTHONPATH=`ls -d $$(pwd)/build/lib_d.*-$$py || ls -d $$(pwd)/build/lib.*-$$py-pydebug` \ |
515 | @@ -52,14 +50,13 @@ |
516 | |
517 | touch $@ |
518 | |
519 | -clean: clean-patched unpatch |
520 | -clean-patched: patch-stamp |
521 | +clean: |
522 | dh_testdir |
523 | dh_testroot |
524 | rm -f install-stamp build-stamp |
525 | find . -name "*.pyc" -print0 | xargs -0 rm -f |
526 | find . -name __pycache__ -print0 | xargs -0 rm -rf |
527 | - rm -rf build-py2 build-py3 |
528 | + rm -rf build |
529 | dh_clean |
530 | |
531 | install: install-stamp |
532 | @@ -70,24 +67,25 @@ |
533 | dh_installdirs |
534 | set -e; \ |
535 | for py in $(PYVERS); do \ |
536 | - (cd build-py2; \ |
537 | + (cd build/py2; \ |
538 | python$$py setup.py install --root=$(CURDIR)/debian/$(PKGNAME) --prefix=/usr $(py_setup_install_args) ;\ |
539 | python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKGNAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\ |
540 | done |
541 | + set -e; \ |
542 | for py in $(PY3VERS); do \ |
543 | - (cd build-py3; \ |
544 | + (cd build/py3; \ |
545 | python$$py setup.py install --root=$(CURDIR)/debian/$(PKG3NAME) --prefix=/usr $(py_setup_install_args) ;\ |
546 | python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKG3NAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\ |
547 | done |
548 | - |
549 | + |
550 | dh_installdocs |
551 | dh_installexamples |
552 | touch install-stamp |
553 | |
554 | -binary-indep: build install |
555 | +binary-indep: build-indep install |
556 | # We have nothing to do by default. |
557 | |
558 | -binary-arch: build install |
559 | +binary-arch: build-arch install |
560 | dh_testdir |
561 | dh_testroot |
562 | dh_installchangelogs CHANGES |
563 | @@ -108,6 +106,4 @@ |
564 | dh_builddeb |
565 | |
566 | binary: binary-indep binary-arch |
567 | -.PHONY: build clean binary-indep binary-arch binary install \ |
568 | - clean-patched patch unpatch |
569 | - |
570 | +.PHONY: build clean binary-indep binary-arch binary install |
571 | |
572 | === modified file 'debian/source/format' |
573 | --- debian/source/format 2010-06-22 20:59:32 +0000 |
574 | +++ debian/source/format 2013-07-20 21:08:24 +0000 |
575 | @@ -1,1 +1,1 @@ |
576 | -1.0 |
577 | +3.0 (quilt) |
578 | |
579 | === modified file 'format.cpp' |
580 | --- format.cpp 2011-11-13 12:07:46 +0000 |
581 | +++ format.cpp 2013-07-20 21:08:24 +0000 |
582 | @@ -971,7 +971,7 @@ |
583 | Formattable *f; |
584 | UnicodeString *u, _u; |
585 | FieldPosition *fp, _fp; |
586 | - int len; |
587 | + int len, u_len; |
588 | |
589 | switch (PyTuple_Size(args)) { |
590 | case 1: |
591 | @@ -988,6 +988,7 @@ |
592 | return PyUnicode_FromUnicodeString(&_u); |
593 | } |
594 | break; |
595 | + |
596 | case 2: |
597 | if (!parseArgs(args, "RP", |
598 | TYPE_CLASSID(Formattable), |
599 | @@ -1003,7 +1004,6 @@ |
600 | |
601 | return PyUnicode_FromUnicodeString(&_u); |
602 | } |
603 | - break; |
604 | if (!parseArgs(args, "RU", TYPE_CLASSID(Formattable), |
605 | &f, &len, TYPE_CLASSID(Formattable), |
606 | toFormattableArray, &u)) |
607 | @@ -1016,9 +1016,27 @@ |
608 | |
609 | Py_RETURN_ARG(args, 1); |
610 | } |
611 | +#if U_ICU_VERSION_HEX >= VERSION_HEX(4, 0, 0) |
612 | + if (!parseArgs(args, "TR", |
613 | + TYPE_CLASSID(Formattable), |
614 | + &u, &u_len, |
615 | + &f, &len, TYPE_CLASSID(Formattable), toFormattableArray)) |
616 | + { |
617 | + STATUS_CALL( |
618 | + { |
619 | + self->object->format(u, f, len < u_len ? len : u_len, |
620 | + _u, status); |
621 | + delete[] u; |
622 | + delete[] f; |
623 | + }); |
624 | + |
625 | + return PyUnicode_FromUnicodeString(&_u); |
626 | + } |
627 | +#endif |
628 | break; |
629 | + |
630 | case 3: |
631 | - if (!parseArgs(args, "RUP", |
632 | + if (!parseArgs(args, "RUP", |
633 | TYPE_CLASSID(Formattable), |
634 | TYPE_CLASSID(FieldPosition), |
635 | &f, &len, TYPE_CLASSID(Formattable), |
636 | |
637 | === modified file 'layoutengine.cpp' |
638 | --- layoutengine.cpp 2012-05-10 22:59:17 +0000 |
639 | +++ layoutengine.cpp 2013-07-20 21:08:24 +0000 |
640 | @@ -218,6 +218,16 @@ |
641 | return 0; |
642 | } |
643 | |
644 | + virtual LEGlyphID mapCharToGlyph(LEUnicode32 u, |
645 | + const LECharMapper *mapper) const { |
646 | + return LEFontInstance::mapCharToGlyph(u, mapper); |
647 | + } |
648 | + |
649 | + virtual LEGlyphID mapCharToGlyph(LEUnicode32 u, const LECharMapper *mapper, |
650 | + le_bool filterZeroWidth) const { |
651 | + return LEFontInstance::mapCharToGlyph(u, mapper, filterZeroWidth); |
652 | + } |
653 | + |
654 | virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const |
655 | { |
656 | PyObject *name = PyString_FromString("getGlyphAdvance"); |
657 | @@ -706,7 +716,7 @@ |
658 | INSTALL_ENUM(ScriptCode, "sind", sindScriptCode); |
659 | INSTALL_ENUM(ScriptCode, "wara", waraScriptCode); |
660 | |
661 | -#if U_ICU_VERSION_HEX >= 0x31000000 |
662 | +#if U_ICU_VERSION_HEX >= VERSION_HEX(49, 0, 0) |
663 | INSTALL_ENUM(ScriptCode, "afak", afakScriptCode); |
664 | INSTALL_ENUM(ScriptCode, "jurc", jurcScriptCode); |
665 | INSTALL_ENUM(ScriptCode, "khoj", khojScriptCode); |
666 | |
667 | === modified file 'numberformat.cpp' |
668 | --- numberformat.cpp 2012-05-10 22:59:17 +0000 |
669 | +++ numberformat.cpp 2013-07-20 21:08:24 +0000 |
670 | @@ -670,7 +670,7 @@ |
671 | return PyErr_SetArgsError((PyObject *) self, "parse", args); |
672 | } |
673 | |
674 | -#if U_ICU_VERSION_HEX < 0x31000000 /* < 49.0 */ |
675 | +#if U_ICU_VERSION_HEX < VERSION_HEX(49, 0, 0) |
676 | static PyObject *t_numberformat_parseCurrency(t_numberformat *self, |
677 | PyObject *args) |
678 | { |
679 | |
680 | === modified file 'setup.py' |
681 | --- setup.py 2012-05-10 22:59:17 +0000 |
682 | +++ setup.py 2013-07-20 21:08:24 +0000 |
683 | @@ -7,7 +7,7 @@ |
684 | from distutils.core import setup, Extension |
685 | |
686 | |
687 | -VERSION = '1.4' |
688 | +VERSION = '1.5' |
689 | |
690 | INCLUDES = { |
691 | 'darwin': ['/usr/local/include'], |
692 | @@ -88,6 +88,18 @@ |
693 | test_suite="test", |
694 | url='http://pyicu.osafoundation.org/', |
695 | author='Open Source Applications Foundation', |
696 | + author_email='vajda@osafoundation.org', |
697 | + classifiers=['Development Status :: 5 - Production/Stable', |
698 | + 'Environment :: Console', |
699 | + 'Intended Audience :: Developers', |
700 | + 'License :: OSI Approved', |
701 | + 'Operating System :: OS Independent', |
702 | + 'Programming Language :: C++', |
703 | + 'Programming Language :: Python', |
704 | + 'Programming Language :: Python :: 2', |
705 | + 'Programming Language :: Python :: 3', |
706 | + 'Topic :: Software Development :: Localization', |
707 | + 'Topic :: Software Development :: Internationalization'], |
708 | ext_modules=[Extension('_icu', |
709 | [filename for filename in os.listdir(os.curdir) |
710 | if filename.endswith('.cpp')], |
711 | |
712 | === removed file 'test/._lohit_hi.ttf' |
713 | Binary files test/._lohit_hi.ttf 2011-11-13 12:07:46 +0000 and test/._lohit_hi.ttf 1970-01-01 00:00:00 +0000 differ |
714 | === modified file 'test/test_Collator.py' |
715 | --- test/test_Collator.py 2012-05-10 22:59:17 +0000 |
716 | +++ test/test_Collator.py 2013-07-20 21:08:24 +0000 |
717 | @@ -65,31 +65,34 @@ |
718 | |
719 | def testGetSortKey(self): |
720 | |
721 | - rules = UnicodeString(""); |
722 | - collator = RuleBasedCollator(rules) |
723 | + # Do not test sort key byte sequences directly: |
724 | + # They are unstable, that is, likely to change |
725 | + # with every UCA/CLDR/ICU release. |
726 | + # Instead, test that compare() is consistent with |
727 | + # comparing the equivalent sort keys. |
728 | + collator = Collator.createInstance(Locale.getJapanese()) |
729 | collator.setAttribute(UCollAttribute.NORMALIZATION_MODE, |
730 | UCollAttributeValue.ON) |
731 | collator.setAttribute(UCollAttribute.ALTERNATE_HANDLING, |
732 | UCollAttributeValue.SHIFTED) |
733 | collator.setAttribute(UCollAttribute.STRENGTH, |
734 | + UCollAttributeValue.TERTIARY) |
735 | + |
736 | + # In Japanese, the following characters should be different |
737 | + # only on quaternary level. |
738 | + hira_ge = u'\u3052' # Hiragana letter Ge |
739 | + kana_ge = u'\u30B2' # Katakana letter Ge |
740 | + self.assertEqual(0, collator.compare(hira_ge, kana_ge)) |
741 | + hira_ge_key = collator.getSortKey(hira_ge) |
742 | + kana_ge_key = collator.getSortKey(kana_ge) |
743 | + self.assertEqual(hira_ge_key, kana_ge_key) |
744 | + |
745 | + collator.setAttribute(UCollAttribute.STRENGTH, |
746 | UCollAttributeValue.QUATERNARY) |
747 | - collator.setAttribute(UCollAttribute.HIRAGANA_QUATERNARY_MODE, |
748 | - UCollAttributeValue.ON) |
749 | - s = u'\u3052' |
750 | - k = collator.getSortKey(s) |
751 | - if (sys.version_info >= (3,)): |
752 | - byte2int = lambda c: c |
753 | - else: |
754 | - byte2int = ord |
755 | - |
756 | - if ICU_VERSION < '4.6': |
757 | - key = "AC300186DC9D019B0501282800" |
758 | - elif ICU_VERSION < '49.0': |
759 | - key = "791C0186DCFD019B05010D0D00" |
760 | - else: |
761 | - key = "791C0186DA95019B05010D0D00" |
762 | - |
763 | - self.assertTrue(key == ''.join(['%02X' %(byte2int(c)) for c in k])) |
764 | + self.assertEqual(-1, collator.compare(hira_ge, kana_ge)) |
765 | + hira_ge_key = collator.getSortKey(hira_ge) |
766 | + kana_ge_key = collator.getSortKey(kana_ge) |
767 | + self.assertLess(hira_ge_key, kana_ge_key) |
768 | |
769 | def setupCollator(self, collator): |
770 | |
771 | |
772 | === modified file 'test/test_MessageFormat.py' |
773 | --- test/test_MessageFormat.py 2011-11-13 12:07:46 +0000 |
774 | +++ test/test_MessageFormat.py 2013-07-20 21:08:24 +0000 |
775 | @@ -88,6 +88,23 @@ |
776 | |
777 | self.assertTrue(msgFormat.format(args) == u"Kirti est allée à Paris.") |
778 | |
779 | + def testNamedArgs(self): |
780 | + |
781 | + if ICU_VERSION >= '4.0': |
782 | + msg = \ |
783 | + '{num_emails_to_send, plural, ' \ |
784 | + '=0 {unused plural form} ' \ |
785 | + '=1 {One email will be sent.} ' \ |
786 | + 'other {# emails will be sent.}}' |
787 | + |
788 | + messageFormat = MessageFormat(msg, Locale("en")) |
789 | + |
790 | + name0 = "num_emails_to_send" |
791 | + arg0 = Formattable(5) |
792 | + |
793 | + result = messageFormat.format([name0], [arg0]) |
794 | + self.assertTrue(result == u'5 emails will be sent.') |
795 | + |
796 | |
797 | if __name__ == "__main__": |
798 | main() |
799 | |
800 | === modified file 'transliterator.cpp' |
801 | --- transliterator.cpp 2012-05-10 22:59:17 +0000 |
802 | +++ transliterator.cpp 2013-07-20 21:08:24 +0000 |
803 | @@ -472,7 +472,7 @@ |
804 | { |
805 | UnicodeString *u, _u; |
806 | t_utransposition *utransposition; |
807 | - UBool incremental; |
808 | + int incremental; |
809 | |
810 | if (!parseArgs(args, "UOB", &UTransPositionType, &u, &utransposition, |
811 | &incremental)) |
Thanks! Uploaded.