From 13b02bb7a18ddb858e1fb88ef6e762eabd4fcafd Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Sat, 13 Nov 2010 02:18:30 +0000
Subject: python: up to latest

---
 abs/core/python/PKGBUILD                    | 80 +++++++++++------------------
 abs/core/python/python-internal-expat.patch | 33 ++++++++++++
 2 files changed, 64 insertions(+), 49 deletions(-)
 create mode 100644 abs/core/python/python-internal-expat.patch

diff --git a/abs/core/python/PKGBUILD b/abs/core/python/PKGBUILD
index 6de8863..18d3c8c 100644
--- a/abs/core/python/PKGBUILD
+++ b/abs/core/python/PKGBUILD
@@ -1,71 +1,53 @@
-# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $
+# $Id: PKGBUILD 94083 2010-10-04 12:47:13Z allan $
 # Maintainer: Allan McRae <allan@archlinux.org>
 # Contributer: Jason Chu <jason@archlinux.org>
 
 pkgname=python
-pkgver=2.6.5
-pkgrel=3
-_pybasever=2.6
-pkgdesc="A high-level scripting language"
+pkgver=3.1.2
+pkgrel=2
+_pybasever=3.1
+pkgdesc="Next generation of the python high-level scripting language"
 arch=('i686' 'x86_64')
-license=('PSF')
+license=('custom')
 url="http://www.python.org"
-depends=('db>=4.8' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3')
-makedepends=('tk>=8.5.0')
-optdepends=('tk: for IDLE, pynche and modulator')
-provides=('python2' 'python-elementtree' 'python-ctypes')
-replaces=('python-elementtree' 'python-ctypes')
+depends=('expat' 'bzip2' 'gdbm' 'openssl' 'zlib')
+makedepends=('tk' 'sqlite3')
+optdepends=('tk: for tkinter')
+provides=('python3')
+replaces=('python3')
+options=('!makeflags')
 source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2
-	python-2.6-internal-expat.patch
-	python-2.6-db-4.8.patch
-	modulator-launcher
-	pynche-launcher)
-md5sums=('6bef0417e71a1a1737ccf5750420fdb3'
-         '993800dbcc0c4f199c1ceee998a06e71'
-         '10eb5449ead95b9cb13eae9f9a65894e'
-         'b4a531570415280dc406c8d5c1fa8d83'
-         '9f731b9033db285132a3524fb36409e7')
+        python-internal-expat.patch)
+md5sums=('45350b51b58a46b029fb06c61257e350'
+         '993800dbcc0c4f199c1ceee998a06e71')
 
 build() {
   cd ${srcdir}/Python-${pkgver}
 
-  patch -Np0 -i ${srcdir}/python-2.6-internal-expat.patch
-
-  #http://bugs.python.org/issue6949
-  patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch
+  patch -Np0 -i ${srcdir}/python-internal-expat.patch
 
   export OPT="${CFLAGS}"
-  ./configure --prefix=/usr --enable-shared --with-threads --enable-unicode
+  ./configure --prefix=/usr --enable-shared --with-threads --with-computed-gotos \
+              --enable-unicode --with-wide-unicode
 
   make || return 1
-  make DESTDIR=${pkgdir} install
-
-  rm ${pkgdir}/usr/bin/python
-  ln -sf python${_pybasever} ${pkgdir}/usr/bin/python
-  ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2
-
-  ln -sf ../../libpython${_pybasever}.so \
-    ${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so
+}
 
-  # Install the tools
-  #modulator
-  sed -i "s#%%PYBASEVER%%#${_pybasever}#" ${srcdir}/modulator-launcher
-  install -m755 ${srcdir}/modulator-launcher ${pkgdir}/usr/bin/modulator
-  cp -r Tools/modulator ${pkgdir}/usr/lib/python${_pybasever}/site-packages/
+package() {
+  cd ${srcdir}/Python-${pkgver}
+  make DESTDIR=${pkgdir} install || return 1
 
-  #pynche
-  sed -i "s#%%PYBASEVER%%#${_pybasever}#" ${srcdir}/pynche-launcher
-  install -m755 ${srcdir}/pynche-launcher ${pkgdir}/usr/bin/pynche
-  rm -f Tools/pynche/*.pyw
-  cp -r Tools/pynche ${pkgdir}/usr/lib/python${_pybasever}/site-packages/
+  # why are these not done by default...
+  ln -sf python3 ${pkgdir}/usr/bin/python
+  ln -sf python3-config ${pkgdir}/usr/bin/python-config
+  ln -sf idle3 ${pkgdir}/usr/bin/idle
+  ln -sf pydoc3 ${pkgdir}/usr/bin/pydoc
 
-  #gettext
-  install -m755 Tools/i18n/pygettext.py ${pkgdir}/usr/bin/
-  install -m755 Tools/i18n/msgfmt.py ${pkgdir}/usr/bin/
+  # clean-up reference to build directory
+  sed -i "s#$srcdir/Python-${pkgver}:##" $pkgdir/usr/lib/python3.1/config/Makefile
 
-  mkdir -p ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts
-  install -m644 Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
-  install -m755 Tools/scripts/*py ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
+  # Fix conflicts with python2 - python2 version is newer...
+  rm ${pkgdir}/usr/bin/2to3
 
   # license
   install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
diff --git a/abs/core/python/python-internal-expat.patch b/abs/core/python/python-internal-expat.patch
new file mode 100644
index 0000000..86252ab
--- /dev/null
+++ b/abs/core/python/python-internal-expat.patch
@@ -0,0 +1,33 @@
+--- setup.py    2008-04-22 12:12:24.613554757 +0300
++++ setup.py    2008-04-22 12:13:09.276544063 +0300
+@@ -1035,18 +1035,15 @@
+         #
+         # More information on Expat can be found at www.libexpat.org.
+         #
+-        expatinc = os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')
+-        define_macros = [
+-            ('HAVE_EXPAT_CONFIG_H', '1'),
+-        ]
++        # Use system expat
++        expatinc = '/usr/include'
++        define_macros = []
+
+         exts.append(Extension('pyexpat',
+                               define_macros = define_macros,
+                               include_dirs = [expatinc],
++                              libraries = ['expat'],
+                               sources = ['pyexpat.c',
+-                                         'expat/xmlparse.c',
+-                                         'expat/xmlrole.c',
+-                                         'expat/xmltok.c',
+                                          ],
+                               ))
+
+@@ -1058,6 +1055,7 @@
+             exts.append(Extension('_elementtree',
+                                   define_macros = define_macros,
+                                   include_dirs = [expatinc],
++                                  libraries = ['expat'],
+                                   sources = ['_elementtree.c'],
+                                   ))
+
-- 
cgit v0.12