Merge lp:~barcc/ubuntu/saucy/pyicu/lp1200419 into lp:ubuntu/saucy/pyicu

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
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+176028@code.launchpad.net

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
Martin Pitt (pitti) wrote :

Thanks! Uploaded.

review: Approve
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.

  http://wiki.debian.org/Renaming_a_Package

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory '.pc'
=== added file '.pc/.quilt_patches'
--- .pc/.quilt_patches 1970-01-01 00:00:00 +0000
+++ .pc/.quilt_patches 2013-07-20 21:08:24 +0000
@@ -0,0 +1,1 @@
1debian/patches
02
=== added file '.pc/.quilt_series'
--- .pc/.quilt_series 1970-01-01 00:00:00 +0000
+++ .pc/.quilt_series 2013-07-20 21:08:24 +0000
@@ -0,0 +1,1 @@
1series
02
=== added file '.pc/.version'
--- .pc/.version 1970-01-01 00:00:00 +0000
+++ .pc/.version 2013-07-20 21:08:24 +0000
@@ -0,0 +1,1 @@
12
02
=== modified file 'CHANGES'
--- CHANGES 2012-05-10 22:59:17 +0000
+++ CHANGES 2013-07-20 21:08:24 +0000
@@ -1,6 +1,18 @@
11
2For bug <NUM>, see http://bugzilla.osafoundation.org/show_bug.cgi?id=<NUM>2For bug <NUM>, see http://bugzilla.osafoundation.org/show_bug.cgi?id=<NUM>
33
4Version 1.4 -> 1.5
5------------------
6 - added wrapper for MessageFormat::format(argumentNames, arguments, ...)
7 - fixed bug in t_transliterator_filteredTransliterate passing UBool for int
8 - added wrapper for DateFormat::format(Calendar)
9 - added wrapper for Calendar::set(UCalendarDateFields field, value)
10 - added wrappers for UnicodeString::toTitle() w/o iterator (Fredrik Roubert)
11 - added support for ICU 50.1
12 - improved test_Collator's testGetSortKey() (Markus Scherer)
13 - added pypi classifiers to PyICU project info, including Python 3 tag
14 - build tested with Python 2.7 and Python 3.3.0
15
4Version 1.3 -> 1.416Version 1.3 -> 1.4
5------------------17------------------
6 - fixed bug with default tzinfo set on ICUtzinfo type (bug 13038)18 - fixed bug with default tzinfo set on ICUtzinfo type (bug 13038)
719
=== modified file 'PKG-INFO'
--- PKG-INFO 2012-05-10 22:59:17 +0000
+++ PKG-INFO 2013-07-20 21:08:24 +0000
@@ -1,10 +1,10 @@
1Metadata-Version: 1.01Metadata-Version: 1.0
2Name: PyICU2Name: PyICU
3Version: 1.43Version: 1.5
4Summary: Python extension wrapping the ICU C++ API4Summary: Python extension wrapping the ICU C++ API
5Home-page: http://pyicu.osafoundation.org/5Home-page: http://pyicu.osafoundation.org/
6Author: Open Source Applications Foundation6Author: Open Source Applications Foundation
7Author-email: UNKNOWN7Author-email: vajda@osafoundation.org
8License: UNKNOWN8License: UNKNOWN
9Description: 9Description:
10 ---------------------10 ---------------------
@@ -238,3 +238,14 @@
238 str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji'238 str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji'
239 239
240Platform: UNKNOWN240Platform: UNKNOWN
241Classifier: Development Status :: 5 - Production/Stable
242Classifier: Environment :: Console
243Classifier: Intended Audience :: Developers
244Classifier: License :: OSI Approved
245Classifier: Operating System :: OS Independent
246Classifier: Programming Language :: C++
247Classifier: Programming Language :: Python
248Classifier: Programming Language :: Python :: 2
249Classifier: Programming Language :: Python :: 3
250Classifier: Topic :: Software Development :: Localization
251Classifier: Topic :: Software Development :: Internationalization
241252
=== modified file 'PyICU.egg-info/PKG-INFO'
--- PyICU.egg-info/PKG-INFO 2012-05-10 22:59:17 +0000
+++ PyICU.egg-info/PKG-INFO 2013-07-20 21:08:24 +0000
@@ -1,10 +1,10 @@
1Metadata-Version: 1.01Metadata-Version: 1.0
2Name: PyICU2Name: PyICU
3Version: 1.43Version: 1.5
4Summary: Python extension wrapping the ICU C++ API4Summary: Python extension wrapping the ICU C++ API
5Home-page: http://pyicu.osafoundation.org/5Home-page: http://pyicu.osafoundation.org/
6Author: Open Source Applications Foundation6Author: Open Source Applications Foundation
7Author-email: UNKNOWN7Author-email: vajda@osafoundation.org
8License: UNKNOWN8License: UNKNOWN
9Description: 9Description:
10 ---------------------10 ---------------------
@@ -238,3 +238,14 @@
238 str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji'238 str(ICUtzinfo.getInstance('Pacific/Fiji')) -> 'Pacific/Fiji'
239 239
240Platform: UNKNOWN240Platform: UNKNOWN
241Classifier: Development Status :: 5 - Production/Stable
242Classifier: Environment :: Console
243Classifier: Intended Audience :: Developers
244Classifier: License :: OSI Approved
245Classifier: Operating System :: OS Independent
246Classifier: Programming Language :: C++
247Classifier: Programming Language :: Python
248Classifier: Programming Language :: Python :: 2
249Classifier: Programming Language :: Python :: 3
250Classifier: Topic :: Software Development :: Localization
251Classifier: Topic :: Software Development :: Internationalization
241252
=== modified file 'bases.cpp'
--- bases.cpp 2012-05-10 22:59:17 +0000
+++ bases.cpp 2013-07-20 21:08:24 +0000
@@ -1275,7 +1275,15 @@
1275 Locale *locale;1275 Locale *locale;
12761276
1277 switch (PyTuple_Size(args)) {1277 switch (PyTuple_Size(args)) {
1278 case 0:
1279 self->object->toTitle(NULL);
1280 Py_RETURN_SELF();
1278 case 1:1281 case 1:
1282 if (!parseArgs(args, "P", TYPE_CLASSID(Locale), &locale))
1283 {
1284 self->object->toTitle(NULL, *locale);
1285 Py_RETURN_SELF();
1286 }
1279 if (!parseArg(args, "P", TYPE_ID(BreakIterator), &iterator))1287 if (!parseArg(args, "P", TYPE_ID(BreakIterator), &iterator))
1280 {1288 {
1281 self->object->toTitle(iterator);1289 self->object->toTitle(iterator);
12821290
=== modified file 'calendar.cpp'
--- calendar.cpp 2011-11-13 12:07:46 +0000
+++ calendar.cpp 2013-07-20 21:08:24 +0000
@@ -1136,8 +1136,15 @@
1136static PyObject *t_calendar_set(t_calendar *self, PyObject *args)1136static PyObject *t_calendar_set(t_calendar *self, PyObject *args)
1137{1137{
1138 int year, month, date, hour, minute, second;1138 int year, month, date, hour, minute, second;
11391139 int field, value;
1140 switch (PyTuple_Size(args)) {1140 switch (PyTuple_Size(args)) {
1141 case 2:
1142 if (!parseArgs(args, "ii", &field, &value))
1143 {
1144 self->object->set((UCalendarDateFields) field, value);
1145 Py_RETURN_NONE;
1146 }
1147 break;
1141 case 3:1148 case 3:
1142 if (!parseArgs(args, "iii", &year, &month, &date))1149 if (!parseArgs(args, "iii", &year, &month, &date))
1143 {1150 {
11441151
=== modified file 'common.h'
--- common.h 2011-11-13 12:07:46 +0000
+++ common.h 2013-07-20 21:08:24 +0000
@@ -131,6 +131,9 @@
131#include <unicode/search.h>131#include <unicode/search.h>
132#include <unicode/stsearch.h>132#include <unicode/stsearch.h>
133133
134#define VERSION_HEX(major, minor, patch) \
135 (((major) << 24) | ((minor) << 16) | ((patch) << 8))
136
134#define U_ICU_VERSION_HEX ((U_ICU_VERSION_MAJOR_NUM << 24) + \137#define U_ICU_VERSION_HEX ((U_ICU_VERSION_MAJOR_NUM << 24) + \
135 (U_ICU_VERSION_MINOR_NUM << 16) + \138 (U_ICU_VERSION_MINOR_NUM << 16) + \
136 (U_ICU_VERSION_PATCHLEVEL_NUM << 8))139 (U_ICU_VERSION_PATCHLEVEL_NUM << 8))
137140
=== modified file 'dateformat.cpp'
--- dateformat.cpp 2011-11-13 12:07:46 +0000
+++ dateformat.cpp 2013-07-20 21:08:24 +0000
@@ -609,6 +609,13 @@
609 self->object->format(date, _u);609 self->object->format(date, _u);
610 return PyUnicode_FromUnicodeString(&_u);610 return PyUnicode_FromUnicodeString(&_u);
611 }611 }
612 if (!parseArgs(args, "P", TYPE_ID(Calendar), &calendar))
613 {
614 FieldPosition fp0(0);
615
616 self->object->format(*calendar, _u, fp0);
617 return PyUnicode_FromUnicodeString(&_u);
618 }
612 break;619 break;
613 case 2:620 case 2:
614 if (!parseArgs(args, "DP", TYPE_CLASSID(FieldPosition),621 if (!parseArgs(args, "DP", TYPE_CLASSID(FieldPosition),
615622
=== modified file 'debian/changelog'
--- debian/changelog 2012-11-07 23:00:26 +0000
+++ debian/changelog 2013-07-20 21:08:24 +0000
@@ -1,3 +1,40 @@
1pyicu (1.5-2ubuntu1) saucy; urgency=low
2
3 * Resynchronise with Debian.
4 * Added transitional packages python3-pyicu[-dbg] to migrate
5 to python3-icu[-dbg]
6
7 -- B. Clausius <barcc@gmx.de> Sat, 20 Jul 2013 21:40:05 +0200
8
9pyicu (1.5-2) unstable; urgency=low
10
11 * Rename docs.py to icu_docs.py instead of removing it
12 as it's used in icu (closes: #714048)
13
14 -- Piotr Ożarowski <piotr@debian.org> Tue, 25 Jun 2013 19:22:34 +0200
15
16pyicu (1.5-1) unstable; urgency=low
17
18 * Team upload.
19
20 [ Jakub Wilk ]
21 * Use canonical URIs for Vcs-* fields.
22
23 [ Colin Watson ]
24 * Add Python 3 packages (closes: #671361).
25 * Drop manual cleaning of python-pyicu-dbg, since dh_python2 handles this.
26
27 [ Piotr Ożarowski ]
28 * New upstream release
29 * Convert patches from deprecated dpatch to quilt
30 * Debian source package format changed to 3.0 (quilt)
31 * Add fix_typo_in_deprecation_warning patch (closes: #589031)
32 * Remove docs.py file from binary packages (closes: #603717)
33 * Standards-Version bumped to 3.9.4:
34 - build-arch and build-indep targets added in debian/rules
35
36 -- Piotr Ożarowski <piotr@debian.org> Mon, 24 Jun 2013 22:20:56 +0200
37
1pyicu (1.4-1ubuntu3) raring; urgency=low38pyicu (1.4-1ubuntu3) raring; urgency=low
239
3 * Rebuild to drop python3.2 provides.40 * Rebuild to drop python3.2 provides.
441
=== modified file 'debian/control'
--- debian/control 2012-05-15 15:38:16 +0000
+++ debian/control 2013-07-20 21:08:24 +0000
@@ -4,12 +4,14 @@
4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>5XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
6Uploaders: Bernd Zeimetz <bzed@debian.org>6Uploaders: Bernd Zeimetz <bzed@debian.org>
7Build-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-dev7Build-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,
8# uncoment below line to run test_LayoutEngine at build time (once all Python versions will be supported by these packages)
9# fonttools, python-numpy-dbg, python3-numpy-dbg
8Build-Conflicts: python-pyicu10Build-Conflicts: python-pyicu
9Vcs-Svn: svn://svn.debian.org/python-modules/packages/pyicu/trunk/11Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/pyicu/trunk/
10Vcs-Browser: http://svn.debian.org/viewsvn/python-modules/packages/pyicu/trunk/12Vcs-Browser: http://anonscm.debian.org/viewvc/python-modules/packages/pyicu/trunk/
11Homepage: http://pyicu.osafoundation.org/13Homepage: http://pyicu.osafoundation.org/
12Standards-Version: 3.9.214Standards-Version: 3.9.4
1315
14Package: python-pyicu16Package: python-pyicu
15Architecture: any17Architecture: any
@@ -33,7 +35,7 @@
33 .35 .
34 This package contains the extension built for the Python debug interpreter.36 This package contains the extension built for the Python debug interpreter.
3537
36Package: python3-pyicu38Package: python3-icu
37Architecture: any39Architecture: any
38Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}40Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
39Provides: ${python3:Provides}41Provides: ${python3:Provides}
@@ -42,11 +44,11 @@
42 Unicode and locale support. This package provides an extension for44 Unicode and locale support. This package provides an extension for
43 Python 3 which wraps the ICU C++ API.45 Python 3 which wraps the ICU C++ API.
4446
45Package: python3-pyicu-dbg47Package: python3-icu-dbg
46Section: debug48Section: debug
47Architecture: any49Architecture: any
48Priority: extra50Priority: extra
49Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-pyicu (= ${binary:Version}), python3-dbg51Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, python3-icu (= ${binary:Version}), python3-dbg
50Provides: ${python3:Provides}52Provides: ${python3:Provides}
51Description: Python 3 extension wrapping the ICU C++ API (debug extension)53Description: Python 3 extension wrapping the ICU C++ API (debug extension)
52 ICU is a C++ and C library that provides robust and full-featured54 ICU is a C++ and C library that provides robust and full-featured
@@ -55,3 +57,20 @@
55 .57 .
56 This package contains the extension built for the Python 3 debug58 This package contains the extension built for the Python 3 debug
57 interpreter.59 interpreter.
60
61Package: python3-pyicu
62Section: oldlibs
63Architecture: any
64Depends: python3-icu (= ${binary:Version})
65Description: dummy transitional package for PyICU Python 3 extension
66 This is a transitional package to migrate to python3-icu.
67 Once no package depends on it, you may safely remove it.
68
69Package: python3-pyicu-dbg
70Section: oldlibs
71Architecture: any
72Priority: extra
73Depends: python3-icu-dbg (= ${binary:Version})
74Description: dummy transitional package for PyICU Python 3 debug extension
75 This is a transitional package to migrate to python3-icu-dbg.
76 Once no package depends on it, you may safely remove it.
5877
=== removed file 'debian/patches/00dpatch.conf'
--- debian/patches/00dpatch.conf 2007-12-06 22:45:38 +0000
+++ debian/patches/00dpatch.conf 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1conf_debianonly=1
2conf_origtargzpath=../tarballs
30
=== removed file 'debian/patches/00list'
--- debian/patches/00list 2012-06-21 11:32:38 +0000
+++ debian/patches/00list 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1no-setuptools-please
2platform-definitions-fix
30
=== added file 'debian/patches/fix_typo_in_deprecation_warning.patch'
--- debian/patches/fix_typo_in_deprecation_warning.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/fix_typo_in_deprecation_warning.patch 2013-07-20 21:08:24 +0000
@@ -0,0 +1,13 @@
1Index: PyICU-1.5/PyICU.py
2===================================================================
3--- PyICU-1.5.orig/PyICU.py
4+++ PyICU-1.5/PyICU.py
5@@ -23,7 +23,7 @@
6
7 import warnings as _warnings
8
9-_warnings.warn("Module 'PyICU' is deprecated, import 'icu' instead'",
10+_warnings.warn("Module 'PyICU' is deprecated, import 'icu' instead",
11 category=DeprecationWarning, stacklevel=2)
12
13 from icu import *
014
=== added file 'debian/patches/no-setuptools-please.diff'
--- debian/patches/no-setuptools-please.diff 1970-01-01 00:00:00 +0000
+++ debian/patches/no-setuptools-please.diff 2013-07-20 21:08:24 +0000
@@ -0,0 +1,22 @@
1#! /bin/sh /usr/share/dpatch/dpatch-run
2## no-setuptools-please.dpatch by Bernd Zeimetz <bzed@debian.org>
3##
4## DP: As usual - do not build with setuptools.
5
6@DPATCH@
7Index: PyICU-1.5/setup.py
8===================================================================
9--- PyICU-1.5.orig/setup.py
10+++ PyICU-1.5/setup.py
11@@ -1,10 +1,7 @@
12
13 import os, sys
14
15-try:
16- from setuptools import setup, Extension
17-except ImportError:
18- from distutils.core import setup, Extension
19+from distutils.core import setup, Extension
20
21
22 VERSION = '1.5'
023
=== removed file 'debian/patches/no-setuptools-please.dpatch'
--- debian/patches/no-setuptools-please.dpatch 2007-12-06 22:45:38 +0000
+++ debian/patches/no-setuptools-please.dpatch 1970-01-01 00:00:00 +0000
@@ -1,21 +0,0 @@
1#! /bin/sh /usr/share/dpatch/dpatch-run
2## no-setuptools-please.dpatch by Bernd Zeimetz <bzed@debian.org>
3##
4## DP: As usual - do not build with setuptools.
5
6@DPATCH@
7diff -urNad pyicu~/setup.py pyicu/setup.py
8--- pyicu~/setup.py 2007-11-28 19:37:57.000000000 +0100
9+++ pyicu/setup.py 2007-12-05 14:21:57.000000000 +0100
10@@ -1,10 +1,7 @@
11
12 import os, sys
13
14-try:
15- from setuptools import setup, Extension
16-except ImportError:
17- from distutils.core import setup, Extension
18+from distutils.core import setup, Extension
19
20
21 VERSION = '0.8'
220
=== added file 'debian/patches/platform-definitions-fix.diff'
--- debian/patches/platform-definitions-fix.diff 1970-01-01 00:00:00 +0000
+++ debian/patches/platform-definitions-fix.diff 2013-07-20 21:08:24 +0000
@@ -0,0 +1,20 @@
1#! /bin/sh /usr/share/dpatch/dpatch-run
2## platform-definitions-fix.dpatch by Jakub Wilk <jwilk@debian.org>
3##
4## DP: Fixing FTBFS due to new platform definitions. Setup.py doesn't need to
5## DP: take care of them in our case.
6
7@DPATCH@
8Index: PyICU-1.5/setup.py
9===================================================================
10--- PyICU-1.5.orig/setup.py
11+++ PyICU-1.5/setup.py
12@@ -48,7 +48,7 @@ LIBRARIES = {
13 }
14
15 platform = sys.platform
16-if platform.startswith('linux'):
17+if platform.startswith('linux') or platform.startswith('gnu'):
18 platform = 'linux'
19
20 if 'PYICU_INCLUDES' in os.environ:
021
=== removed file 'debian/patches/platform-definitions-fix.dpatch'
--- debian/patches/platform-definitions-fix.dpatch 2012-05-10 22:59:17 +0000
+++ debian/patches/platform-definitions-fix.dpatch 1970-01-01 00:00:00 +0000
@@ -1,18 +0,0 @@
1#! /bin/sh /usr/share/dpatch/dpatch-run
2## platform-definitions-fix.dpatch by Jakub Wilk <jwilk@debian.org>
3##
4## DP: Fixing FTBFS due to new platform definitions. Setup.py doesn't need to
5## DP: take care of them in our case.
6
7@DPATCH@
8--- pyicu-0.8.1/setup.py
9+++ pyicu-0.8.1+kbsd/setup.py
10@@ -42,7 +42,7 @@
11 }
12
13 platform = sys.platform
14-if platform.startswith('linux'):
15+if platform.startswith('linux') or platform.startswith('gnu'):
16 platform = 'linux'
17
18 if 'PYICU_INCLUDES' in os.environ:
190
=== added file 'debian/patches/rename_docs_module.patch'
--- debian/patches/rename_docs_module.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/rename_docs_module.patch 2013-07-20 21:08:24 +0000
@@ -0,0 +1,10 @@
1Index: PyICU-1.5/icu.py
2===================================================================
3--- PyICU-1.5.orig/icu.py
4+++ PyICU-1.5/icu.py
5@@ -34,4 +34,4 @@ class ICUError(Exception):
6 class InvalidArgsError(Exception):
7 pass
8
9-from docs import *
10+from icu_docs import *
011
=== added file 'debian/patches/series'
--- debian/patches/series 1970-01-01 00:00:00 +0000
+++ debian/patches/series 2013-07-20 21:08:24 +0000
@@ -0,0 +1,4 @@
1no-setuptools-please.diff
2platform-definitions-fix.diff
3fix_typo_in_deprecation_warning.patch
4rename_docs_module.patch
05
=== modified file 'debian/rules'
--- debian/rules 2012-05-15 15:38:16 +0000
+++ debian/rules 2013-07-20 21:08:24 +0000
@@ -4,44 +4,42 @@
4#export DH_VERBOSE=14#export DH_VERBOSE=1
55
6PKGNAME:=python-pyicu6PKGNAME:=python-pyicu
7PKG3NAME=python3-pyicu7PKG3NAME=python3-icu
8PYVERS:=$(shell pyversions -vr)8PYVERS:=$(shell pyversions -vr)
9PY3VERS:=$(shell py3versions -vr)9PY3VERS:=$(shell py3versions -vr)
1010
11-include /usr/share/python/python.mk11-include /usr/share/python/python.mk
12ifeq (,$(py_sitename))12
13 py_sitename = site-packages13
14 py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages14build: build-arch
15 py_sitename_sh = $(py_sitename)15build-indep:
16 py_libdir_sh = $(py_libdir)16# We have nothing to do by default.
17endif17build-arch: build-stamp
18
19
20include /usr/share/dpatch/dpatch.make
21
22build: patch build-stamp
23build-stamp:18build-stamp:
24 dh_testdir19 dh_testdir
2520
26 # setup.py modifies test source files when building for Python 3, so21 # setup.py modifies test source files when building for Python 3, so
27 # build out of tree.22 # build out of tree.
28 rm -rf build-py2 build-py323 rm -rf build/py2 build/py3
29 mkdir -p build-py2 build-py324 mkdir -p build/py2 build/py3
30 cp -a $(filter-out build-py2 build-py3 debian,$(wildcard *)) build-py2/25 cp -a $(filter-out build/py2 build/py3 debian,$(wildcard *)) build/py2/
31 cp -a $(filter-out build-py2 build-py3 debian,$(wildcard *)) build-py3/26 cp -a $(filter-out build/py2 build/py3 debian,$(wildcard *)) build/py3/
3227
33 set -e; \28 set -e; \
34 for py in $(PYVERS) $(PY3VERS); do \29 for py in $(PYVERS) $(PY3VERS); do \
35 (cd build-py$${py%%.*}; \30 (cd build/py$${py%%.*}; \
36 python$$py setup.py build; \31 python$$py setup.py build; \
37 python$$py-dbg setup.py build); \32 python$$py-dbg setup.py build); \
38 done33 done
34 set -e; \
35 for file in `find $(CURDIR)/build -type f -name docs.py`; do \
36 mv "$$file" "`dirname $$file`/icu_docs.py"; done
3937
40ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))38ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
41 set -ex ;\39 set -ex ;\
42 for test in `ls test/*.py`; do \40 for test in `ls test/*.py`; do \
43 for py in $(PYVERS) $(PY3VERS); do \41 for py in $(PYVERS) $(PY3VERS); do \
44 (cd build-py$${py%%.*}; \42 (cd build/py$${py%%.*}; \
45 PYTHONPATH=`ls -d $$(pwd)/build/lib.*-$$py` \43 PYTHONPATH=`ls -d $$(pwd)/build/lib.*-$$py` \
46 python$$py $$test ;\44 python$$py $$test ;\
47 PYTHONPATH=`ls -d $$(pwd)/build/lib_d.*-$$py || ls -d $$(pwd)/build/lib.*-$$py-pydebug` \45 PYTHONPATH=`ls -d $$(pwd)/build/lib_d.*-$$py || ls -d $$(pwd)/build/lib.*-$$py-pydebug` \
@@ -52,14 +50,13 @@
5250
53 touch $@51 touch $@
5452
55clean: clean-patched unpatch53clean:
56clean-patched: patch-stamp
57 dh_testdir54 dh_testdir
58 dh_testroot55 dh_testroot
59 rm -f install-stamp build-stamp56 rm -f install-stamp build-stamp
60 find . -name "*.pyc" -print0 | xargs -0 rm -f57 find . -name "*.pyc" -print0 | xargs -0 rm -f
61 find . -name __pycache__ -print0 | xargs -0 rm -rf58 find . -name __pycache__ -print0 | xargs -0 rm -rf
62 rm -rf build-py2 build-py359 rm -rf build
63 dh_clean 60 dh_clean
6461
65install: install-stamp62install: install-stamp
@@ -70,24 +67,25 @@
70 dh_installdirs67 dh_installdirs
71 set -e; \68 set -e; \
72 for py in $(PYVERS); do \69 for py in $(PYVERS); do \
73 (cd build-py2; \70 (cd build/py2; \
74 python$$py setup.py install --root=$(CURDIR)/debian/$(PKGNAME) --prefix=/usr $(py_setup_install_args) ;\71 python$$py setup.py install --root=$(CURDIR)/debian/$(PKGNAME) --prefix=/usr $(py_setup_install_args) ;\
75 python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKGNAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\72 python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKGNAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\
76 done73 done
74 set -e; \
77 for py in $(PY3VERS); do \75 for py in $(PY3VERS); do \
78 (cd build-py3; \76 (cd build/py3; \
79 python$$py setup.py install --root=$(CURDIR)/debian/$(PKG3NAME) --prefix=/usr $(py_setup_install_args) ;\77 python$$py setup.py install --root=$(CURDIR)/debian/$(PKG3NAME) --prefix=/usr $(py_setup_install_args) ;\
80 python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKG3NAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\78 python$$py-dbg setup.py install --root=$(CURDIR)/debian/$(PKG3NAME)-dbg --prefix=/usr $(py_setup_install_args)) ;\
81 done79 done
8280
83 dh_installdocs81 dh_installdocs
84 dh_installexamples82 dh_installexamples
85 touch install-stamp83 touch install-stamp
8684
87binary-indep: build install85binary-indep: build-indep install
88# We have nothing to do by default.86# We have nothing to do by default.
8987
90binary-arch: build install88binary-arch: build-arch install
91 dh_testdir89 dh_testdir
92 dh_testroot90 dh_testroot
93 dh_installchangelogs CHANGES91 dh_installchangelogs CHANGES
@@ -108,6 +106,4 @@
108 dh_builddeb106 dh_builddeb
109107
110binary: binary-indep binary-arch108binary: binary-indep binary-arch
111.PHONY: build clean binary-indep binary-arch binary install \109.PHONY: build clean binary-indep binary-arch binary install
112 clean-patched patch unpatch
113
114110
=== modified file 'debian/source/format'
--- debian/source/format 2010-06-22 20:59:32 +0000
+++ debian/source/format 2013-07-20 21:08:24 +0000
@@ -1,1 +1,1 @@
11.013.0 (quilt)
22
=== modified file 'format.cpp'
--- format.cpp 2011-11-13 12:07:46 +0000
+++ format.cpp 2013-07-20 21:08:24 +0000
@@ -971,7 +971,7 @@
971 Formattable *f;971 Formattable *f;
972 UnicodeString *u, _u;972 UnicodeString *u, _u;
973 FieldPosition *fp, _fp;973 FieldPosition *fp, _fp;
974 int len;974 int len, u_len;
975975
976 switch (PyTuple_Size(args)) {976 switch (PyTuple_Size(args)) {
977 case 1:977 case 1:
@@ -988,6 +988,7 @@
988 return PyUnicode_FromUnicodeString(&_u);988 return PyUnicode_FromUnicodeString(&_u);
989 }989 }
990 break;990 break;
991
991 case 2:992 case 2:
992 if (!parseArgs(args, "RP",993 if (!parseArgs(args, "RP",
993 TYPE_CLASSID(Formattable),994 TYPE_CLASSID(Formattable),
@@ -1003,7 +1004,6 @@
1003 1004
1004 return PyUnicode_FromUnicodeString(&_u);1005 return PyUnicode_FromUnicodeString(&_u);
1005 }1006 }
1006 break;
1007 if (!parseArgs(args, "RU", TYPE_CLASSID(Formattable),1007 if (!parseArgs(args, "RU", TYPE_CLASSID(Formattable),
1008 &f, &len, TYPE_CLASSID(Formattable),1008 &f, &len, TYPE_CLASSID(Formattable),
1009 toFormattableArray, &u))1009 toFormattableArray, &u))
@@ -1016,9 +1016,27 @@
10161016
1017 Py_RETURN_ARG(args, 1);1017 Py_RETURN_ARG(args, 1);
1018 }1018 }
1019#if U_ICU_VERSION_HEX >= VERSION_HEX(4, 0, 0)
1020 if (!parseArgs(args, "TR",
1021 TYPE_CLASSID(Formattable),
1022 &u, &u_len,
1023 &f, &len, TYPE_CLASSID(Formattable), toFormattableArray))
1024 {
1025 STATUS_CALL(
1026 {
1027 self->object->format(u, f, len < u_len ? len : u_len,
1028 _u, status);
1029 delete[] u;
1030 delete[] f;
1031 });
1032
1033 return PyUnicode_FromUnicodeString(&_u);
1034 }
1035#endif
1019 break;1036 break;
1037
1020 case 3:1038 case 3:
1021 if (!parseArgs(args, "RUP",1039 if (!parseArgs(args, "RUP",
1022 TYPE_CLASSID(Formattable),1040 TYPE_CLASSID(Formattable),
1023 TYPE_CLASSID(FieldPosition),1041 TYPE_CLASSID(FieldPosition),
1024 &f, &len, TYPE_CLASSID(Formattable),1042 &f, &len, TYPE_CLASSID(Formattable),
10251043
=== modified file 'layoutengine.cpp'
--- layoutengine.cpp 2012-05-10 22:59:17 +0000
+++ layoutengine.cpp 2013-07-20 21:08:24 +0000
@@ -218,6 +218,16 @@
218 return 0;218 return 0;
219 }219 }
220220
221 virtual LEGlyphID mapCharToGlyph(LEUnicode32 u,
222 const LECharMapper *mapper) const {
223 return LEFontInstance::mapCharToGlyph(u, mapper);
224 }
225
226 virtual LEGlyphID mapCharToGlyph(LEUnicode32 u, const LECharMapper *mapper,
227 le_bool filterZeroWidth) const {
228 return LEFontInstance::mapCharToGlyph(u, mapper, filterZeroWidth);
229 }
230
221 virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const231 virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const
222 {232 {
223 PyObject *name = PyString_FromString("getGlyphAdvance");233 PyObject *name = PyString_FromString("getGlyphAdvance");
@@ -706,7 +716,7 @@
706 INSTALL_ENUM(ScriptCode, "sind", sindScriptCode);716 INSTALL_ENUM(ScriptCode, "sind", sindScriptCode);
707 INSTALL_ENUM(ScriptCode, "wara", waraScriptCode);717 INSTALL_ENUM(ScriptCode, "wara", waraScriptCode);
708718
709#if U_ICU_VERSION_HEX >= 0x31000000719#if U_ICU_VERSION_HEX >= VERSION_HEX(49, 0, 0)
710 INSTALL_ENUM(ScriptCode, "afak", afakScriptCode);720 INSTALL_ENUM(ScriptCode, "afak", afakScriptCode);
711 INSTALL_ENUM(ScriptCode, "jurc", jurcScriptCode);721 INSTALL_ENUM(ScriptCode, "jurc", jurcScriptCode);
712 INSTALL_ENUM(ScriptCode, "khoj", khojScriptCode);722 INSTALL_ENUM(ScriptCode, "khoj", khojScriptCode);
713723
=== modified file 'numberformat.cpp'
--- numberformat.cpp 2012-05-10 22:59:17 +0000
+++ numberformat.cpp 2013-07-20 21:08:24 +0000
@@ -670,7 +670,7 @@
670 return PyErr_SetArgsError((PyObject *) self, "parse", args);670 return PyErr_SetArgsError((PyObject *) self, "parse", args);
671}671}
672672
673#if U_ICU_VERSION_HEX < 0x31000000 /* < 49.0 */673#if U_ICU_VERSION_HEX < VERSION_HEX(49, 0, 0)
674static PyObject *t_numberformat_parseCurrency(t_numberformat *self,674static PyObject *t_numberformat_parseCurrency(t_numberformat *self,
675 PyObject *args)675 PyObject *args)
676{676{
677677
=== modified file 'setup.py'
--- setup.py 2012-05-10 22:59:17 +0000
+++ setup.py 2013-07-20 21:08:24 +0000
@@ -7,7 +7,7 @@
7 from distutils.core import setup, Extension7 from distutils.core import setup, Extension
88
99
10VERSION = '1.4'10VERSION = '1.5'
1111
12INCLUDES = {12INCLUDES = {
13 'darwin': ['/usr/local/include'],13 'darwin': ['/usr/local/include'],
@@ -88,6 +88,18 @@
88 test_suite="test",88 test_suite="test",
89 url='http://pyicu.osafoundation.org/',89 url='http://pyicu.osafoundation.org/',
90 author='Open Source Applications Foundation',90 author='Open Source Applications Foundation',
91 author_email='vajda@osafoundation.org',
92 classifiers=['Development Status :: 5 - Production/Stable',
93 'Environment :: Console',
94 'Intended Audience :: Developers',
95 'License :: OSI Approved',
96 'Operating System :: OS Independent',
97 'Programming Language :: C++',
98 'Programming Language :: Python',
99 'Programming Language :: Python :: 2',
100 'Programming Language :: Python :: 3',
101 'Topic :: Software Development :: Localization',
102 'Topic :: Software Development :: Internationalization'],
91 ext_modules=[Extension('_icu',103 ext_modules=[Extension('_icu',
92 [filename for filename in os.listdir(os.curdir)104 [filename for filename in os.listdir(os.curdir)
93 if filename.endswith('.cpp')],105 if filename.endswith('.cpp')],
94106
=== removed file 'test/._lohit_hi.ttf'
95Binary files test/._lohit_hi.ttf 2011-11-13 12:07:46 +0000 and test/._lohit_hi.ttf 1970-01-01 00:00:00 +0000 differ107Binary 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
=== modified file 'test/test_Collator.py'
--- test/test_Collator.py 2012-05-10 22:59:17 +0000
+++ test/test_Collator.py 2013-07-20 21:08:24 +0000
@@ -65,31 +65,34 @@
6565
66 def testGetSortKey(self):66 def testGetSortKey(self):
6767
68 rules = UnicodeString("");68 # Do not test sort key byte sequences directly:
69 collator = RuleBasedCollator(rules)69 # They are unstable, that is, likely to change
70 # with every UCA/CLDR/ICU release.
71 # Instead, test that compare() is consistent with
72 # comparing the equivalent sort keys.
73 collator = Collator.createInstance(Locale.getJapanese())
70 collator.setAttribute(UCollAttribute.NORMALIZATION_MODE,74 collator.setAttribute(UCollAttribute.NORMALIZATION_MODE,
71 UCollAttributeValue.ON)75 UCollAttributeValue.ON)
72 collator.setAttribute(UCollAttribute.ALTERNATE_HANDLING,76 collator.setAttribute(UCollAttribute.ALTERNATE_HANDLING,
73 UCollAttributeValue.SHIFTED)77 UCollAttributeValue.SHIFTED)
74 collator.setAttribute(UCollAttribute.STRENGTH,78 collator.setAttribute(UCollAttribute.STRENGTH,
79 UCollAttributeValue.TERTIARY)
80
81 # In Japanese, the following characters should be different
82 # only on quaternary level.
83 hira_ge = u'\u3052' # Hiragana letter Ge
84 kana_ge = u'\u30B2' # Katakana letter Ge
85 self.assertEqual(0, collator.compare(hira_ge, kana_ge))
86 hira_ge_key = collator.getSortKey(hira_ge)
87 kana_ge_key = collator.getSortKey(kana_ge)
88 self.assertEqual(hira_ge_key, kana_ge_key)
89
90 collator.setAttribute(UCollAttribute.STRENGTH,
75 UCollAttributeValue.QUATERNARY)91 UCollAttributeValue.QUATERNARY)
76 collator.setAttribute(UCollAttribute.HIRAGANA_QUATERNARY_MODE,92 self.assertEqual(-1, collator.compare(hira_ge, kana_ge))
77 UCollAttributeValue.ON)93 hira_ge_key = collator.getSortKey(hira_ge)
78 s = u'\u3052'94 kana_ge_key = collator.getSortKey(kana_ge)
79 k = collator.getSortKey(s)95 self.assertLess(hira_ge_key, kana_ge_key)
80 if (sys.version_info >= (3,)):
81 byte2int = lambda c: c
82 else:
83 byte2int = ord
84
85 if ICU_VERSION < '4.6':
86 key = "AC300186DC9D019B0501282800"
87 elif ICU_VERSION < '49.0':
88 key = "791C0186DCFD019B05010D0D00"
89 else:
90 key = "791C0186DA95019B05010D0D00"
91
92 self.assertTrue(key == ''.join(['%02X' %(byte2int(c)) for c in k]))
9396
94 def setupCollator(self, collator):97 def setupCollator(self, collator):
9598
9699
=== modified file 'test/test_MessageFormat.py'
--- test/test_MessageFormat.py 2011-11-13 12:07:46 +0000
+++ test/test_MessageFormat.py 2013-07-20 21:08:24 +0000
@@ -88,6 +88,23 @@
8888
89 self.assertTrue(msgFormat.format(args) == u"Kirti est allée à Paris.")89 self.assertTrue(msgFormat.format(args) == u"Kirti est allée à Paris.")
9090
91 def testNamedArgs(self):
92
93 if ICU_VERSION >= '4.0':
94 msg = \
95 '{num_emails_to_send, plural, ' \
96 '=0 {unused plural form} ' \
97 '=1 {One email will be sent.} ' \
98 'other {# emails will be sent.}}'
99
100 messageFormat = MessageFormat(msg, Locale("en"))
101
102 name0 = "num_emails_to_send"
103 arg0 = Formattable(5)
104
105 result = messageFormat.format([name0], [arg0])
106 self.assertTrue(result == u'5 emails will be sent.')
107
91108
92if __name__ == "__main__":109if __name__ == "__main__":
93 main()110 main()
94111
=== modified file 'transliterator.cpp'
--- transliterator.cpp 2012-05-10 22:59:17 +0000
+++ transliterator.cpp 2013-07-20 21:08:24 +0000
@@ -472,7 +472,7 @@
472{472{
473 UnicodeString *u, _u;473 UnicodeString *u, _u;
474 t_utransposition *utransposition;474 t_utransposition *utransposition;
475 UBool incremental;475 int incremental;
476476
477 if (!parseArgs(args, "UOB", &UTransPositionType, &u, &utransposition,477 if (!parseArgs(args, "UOB", &UTransPositionType, &u, &utransposition,
478 &incremental))478 &incremental))

Subscribers

People subscribed via source and target branches

to all changes: