summaryrefslogtreecommitdiff
path: root/devel/py-pyicu/files/patch-icu68
diff options
context:
space:
mode:
Diffstat (limited to 'devel/py-pyicu/files/patch-icu68')
-rw-r--r--devel/py-pyicu/files/patch-icu6897
1 files changed, 97 insertions, 0 deletions
diff --git a/devel/py-pyicu/files/patch-icu68 b/devel/py-pyicu/files/patch-icu68
new file mode 100644
index 000000000000..d49d4a776b94
--- /dev/null
+++ b/devel/py-pyicu/files/patch-icu68
@@ -0,0 +1,97 @@
+Regressed by https://github.com/unicode-org/icu/commit/0101e2632c34
+Fixed by https://github.com/ovalhub/pyicu/commit/b42d6a754729
+
+measureunit.cpp:466:5: error: unknown type name 'NoUnit'
+ NoUnit *object;
+ ^
+measureunit.cpp:480:45: error: unexpected namespace name 'NoUnit': expected expression
+DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
+ ^
+measureunit.cpp:480:1: error: use of undeclared identifier 'object'
+DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
+^
+./macros.h:199:33: note: expanded from macro 'DECLARE_TYPE'
+PyObject *wrap_##name(icuClass *object, int flags) \
+ ^
+measureunit.cpp:480:1: error: expected '(' for function-style cast or type construction
+DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
+^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+./macros.h:199:45: note: expanded from macro 'DECLARE_TYPE'
+PyObject *wrap_##name(icuClass *object, int flags) \
+ ~~~ ^
+measureunit.cpp:480:1: error: expected ';' after top level declarator
+./macros.h:199:75: note: expanded from macro 'DECLARE_TYPE'
+PyObject *wrap_##name(icuClass *object, int flags) \
+ ^
+measureunit.cpp:956:23: error: unexpected namespace name 'NoUnit': expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
+ ^
+measureunit.cpp:956:31: error: expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
+ ^
+measureunit.cpp:961:25: error: unexpected namespace name 'NoUnit': expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
+ ^
+measureunit.cpp:961:33: error: expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
+ ^
+measureunit.cpp:966:25: error: unexpected namespace name 'NoUnit': expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
+ ^
+measureunit.cpp:966:33: error: expected expression
+ return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
+ ^
+measureunit.cpp:1193:19: error: unexpected namespace name 'NoUnit': expected expression
+ REGISTER_TYPE(NoUnit, m);
+ ^
+
+--- measureunit.cpp.orig 2019-10-03 17:11:03 UTC
++++ measureunit.cpp
+@@ -463,7 +463,7 @@ DECLARE_TYPE(Measure, t_measure, UObject, Measure, abs
+
+ class t_nounit : public _wrapper {
+ public:
+- NoUnit *object;
++ MeasureUnit *object;
+ };
+
+ static PyObject *t_nounit_base(PyTypeObject *type);
+@@ -477,7 +477,7 @@ static PyMethodDef t_nounit_methods[] = {
+ { NULL, NULL, 0, NULL }
+ };
+
+-DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
++DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, MeasureUnit,
+ abstract_init, NULL);
+
+ #endif
+@@ -953,17 +953,17 @@ DEFINE_RICHCMP(Measure, t_measure);
+
+ static PyObject *t_nounit_base(PyTypeObject *type)
+ {
+- return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
++ return wrap_NoUnit((MeasureUnit *) NoUnit::base().clone(), T_OWNED);
+ }
+
+ static PyObject *t_nounit_percent(PyTypeObject *type)
+ {
+- return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
++ return wrap_NoUnit((MeasureUnit *) NoUnit::percent().clone(), T_OWNED);
+ }
+
+ static PyObject *t_nounit_permille(PyTypeObject *type)
+ {
+- return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
++ return wrap_NoUnit((MeasureUnit *) NoUnit::permille().clone(), T_OWNED);
+ }
+
+ #endif
+@@ -1190,7 +1190,7 @@ void _init_measureunit(PyObject *m)
+ INSTALL_TYPE(MeasureUnit, m);
+ INSTALL_TYPE(Measure, m);
+ #if U_ICU_VERSION_HEX >= VERSION_HEX(60, 0, 0)
+- REGISTER_TYPE(NoUnit, m);
++ INSTALL_STRUCT(NoUnit, m);
+ #endif
+ REGISTER_TYPE(CurrencyUnit, m);
+ REGISTER_TYPE(CurrencyAmount, m);