From 94723519482fe34730362bf0eb99dfd59411d479 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Apr 12 2011 15:32:15 +0000 Subject: fix "import decimal" in the Turkish locale (patch 131; rhbz#694928) --- diff --git a/python-2.7.1-fix-decimal-in-turkish-locale.patch b/python-2.7.1-fix-decimal-in-turkish-locale.patch new file mode 100644 index 0000000..4645542 --- /dev/null +++ b/python-2.7.1-fix-decimal-in-turkish-locale.patch @@ -0,0 +1,50 @@ +diff -up Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale Python-2.7.1/Lib/decimal.py +--- Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale 2010-07-08 17:22:54.000000000 -0400 ++++ Python-2.7.1/Lib/decimal.py 2011-04-12 11:30:40.850350842 -0400 +@@ -1720,8 +1720,6 @@ class Decimal(object): + # here self was representable to begin with; return unchanged + return Decimal(self) + +- _pick_rounding_function = {} +- + # for each of the rounding functions below: + # self is a finite, nonzero Decimal + # prec is an integer satisfying 0 <= prec < len(self._int) +@@ -1788,6 +1786,17 @@ class Decimal(object): + else: + return -self._round_down(prec) + ++ _pick_rounding_function = dict( ++ ROUND_DOWN = '_round_down', ++ ROUND_UP = '_round_up', ++ ROUND_HALF_UP = '_round_half_up', ++ ROUND_HALF_DOWN = '_round_half_down', ++ ROUND_HALF_EVEN = '_round_half_even', ++ ROUND_CEILING = '_round_ceiling', ++ ROUND_FLOOR = '_round_floor', ++ ROUND_05UP = '_round_05up', ++ ) ++ + def fma(self, other, third, context=None): + """Fused multiply-add. + +@@ -3705,18 +3714,6 @@ _numbers.Number.register(Decimal) + + ##### Context class ####################################################### + +- +-# get rounding method function: +-rounding_functions = [name for name in Decimal.__dict__.keys() +- if name.startswith('_round_')] +-for name in rounding_functions: +- # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. +- globalname = name[1:].upper() +- val = globals()[globalname] +- Decimal._pick_rounding_function[val] = name +- +-del name, val, globalname, rounding_functions +- + class _ContextManager(object): + """Context manager class to support localcontext(). + +diff -up Python-2.7.1/Misc/NEWS.fix-decimal-in-turkish-locale Python-2.7.1/Misc/NEWS diff --git a/python.spec b/python.spec index efe0d3d..b88602f 100644 --- a/python.spec +++ b/python.spec @@ -94,7 +94,7 @@ Summary: An interpreted, interactive, object-oriented programming language Name: %{python} # Remember to also rebase python-docs when changing this: Version: 2.7.1 -Release: 6%{?dist} +Release: 7%{?dist} License: Python Group: Development/Languages Requires: %{python}-libs%{?_isa} = %{version}-%{release} @@ -425,6 +425,11 @@ Patch128: python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch # See http://bugs.python.org/issue10655 and rhbz#661510 Patch130: python-3.2b2-fix-ppc-debug-build.patch +# Fix "import decimal" in the Turkish locale (rhbz#694928) +# Based on upstream commit: +# http://hg.python.org/cpython/rev/b4b1f557d563/ +Patch131: python-2.7.1-fix-decimal-in-turkish-locale.patch + # This is the generated patch to "configure"; see the description of # %{regenerate_autotooling_patch} @@ -677,6 +682,7 @@ rm -r Modules/zlib || exit 1 %patch127 -p0 -b .fix-test_structmember-on-64bit-bigendian %patch128 -p1 %patch130 -p1 +%patch131 -p1 # This shouldn't be necesarry, but is right now (2.2a3) find -name "*~" |xargs rm -f @@ -1621,6 +1627,9 @@ rm -fr %{buildroot} # payload file would be unpackaged) %changelog +* Tue Apr 12 2011 David Malcolm - 2.7.1-7 +- fix "import decimal" in the Turkish locale (patch 131; rhbz#694928) + * Wed Feb 09 2011 Fedora Release Engineering - 2.7.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild