summaryrefslogtreecommitdiff
path: root/extra/python2
diff options
context:
space:
mode:
Diffstat (limited to 'extra/python2')
-rw-r--r--extra/python2/PKGBUILD14
-rw-r--r--extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch48
2 files changed, 58 insertions, 4 deletions
diff --git a/extra/python2/PKGBUILD b/extra/python2/PKGBUILD
index 01c0b197b..fa4cff51e 100644
--- a/extra/python2/PKGBUILD
+++ b/extra/python2/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 110650 2011-02-21 01:06:01Z stephane $
+# $Id: PKGBUILD 119684 2011-04-13 16:35:24Z stephane $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributer: Jason Chu <jason@archlinux.org>
pkgname=python2
pkgver=2.7.1
-pkgrel=7
+pkgrel=8
_pybasever=2.7
pkgdesc="A high-level scripting language"
arch=('i686' 'x86_64' 'mips64el')
@@ -17,15 +17,21 @@ optdepends=('tk: for IDLE')
conflicts=('python<3')
options=('!makeflags')
source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2
- python-2.7-db51.diff)
+ python-2.7-db51.diff
+ python-2.7.1-fix-decimal-in-turkish-locale.patch)
md5sums=('aa27bc25725137ba155910bd8e5ddc4f'
- 'd9b8161568ce17a305c1b71e61ccd4b5')
+ 'd9b8161568ce17a305c1b71e61ccd4b5'
+ '5032449f1ff2abfe18d14cc674165b23')
build() {
cd "${srcdir}/Python-${pkgver}"
patch -Np1 -i ../python-2.7-db51.diff
+ # Fix "import decimal" in the Turkish locale
+ # cf : https://bugzilla.redhat.com/show_bug.cgi?id=694928
+ patch -Np1 -i ../python-2.7.1-fix-decimal-in-turkish-locale.patch
+
# Temporary workaround for FS#22322
# See http://bugs.python.org/issue10835 for upstream report
sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
diff --git a/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch b/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch
new file mode 100644
index 000000000..57f527f40
--- /dev/null
+++ b/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch
@@ -0,0 +1,48 @@
+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().