summaryrefslogtreecommitdiffstats
path: root/abs/core/python_modules
diff options
context:
space:
mode:
authorJames Meyer <jams@linhes.org>2010-12-10 01:32:23 (GMT)
committerJames Meyer <jams@linhes.org>2010-12-10 01:32:23 (GMT)
commit5c40bb464357d486339e90f4118e4adaa8989e09 (patch)
tree8b5f680e7867c24eb5f3d1347eef9ea19c92beeb /abs/core/python_modules
parentf9b90df04a227fb2607482bed9a2f56678d95d30 (diff)
parent59771e9d114b75eafb316e94b7612dda202edd83 (diff)
downloadlinhes_pkgbuild-5c40bb464357d486339e90f4118e4adaa8989e09.zip
linhes_pkgbuild-5c40bb464357d486339e90f4118e4adaa8989e09.tar.gz
linhes_pkgbuild-5c40bb464357d486339e90f4118e4adaa8989e09.tar.bz2
Merge branch 'testing' of ssh://linhes.org/mount/repository/linhes_pkgbuild into testing
Diffstat (limited to 'abs/core/python_modules')
-rw-r--r--abs/core/python_modules/bluez-python/PKGBUILD20
-rwxr-xr-xabs/core/python_modules/cddb-py/PKGBUILD26
-rw-r--r--abs/core/python_modules/dbus-python/PKGBUILD26
-rw-r--r--abs/core/python_modules/gnome-python-extras/PKGBUILD26
-rw-r--r--abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-pkg-config.patch61
-rw-r--r--abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-xulrunner.patch22
-rw-r--r--abs/core/python_modules/gnome-python/PKGBUILD70
-rw-r--r--abs/core/python_modules/imdbpy/PKGBUILD37
-rw-r--r--abs/core/python_modules/mysql-python/PKGBUILD20
-rw-r--r--abs/core/python_modules/pycairo/PKGBUILD26
-rw-r--r--abs/core/python_modules/pycrypto/PKGBUILD23
-rw-r--r--abs/core/python_modules/pygobject/PKGBUILD29
-rw-r--r--abs/core/python_modules/pygtk/PKGBUILD34
-rw-r--r--abs/core/python_modules/pygtk/python27.patch50
-rw-r--r--abs/core/python_modules/pyopenssl/PKGBUILD21
-rw-r--r--abs/core/python_modules/pyorbit/PKGBUILD25
-rw-r--r--abs/core/python_modules/pyqt/ChangeLog21
-rw-r--r--abs/core/python_modules/pyqt/PKGBUILD43
-rw-r--r--abs/core/python_modules/pyrex/PKGBUILD22
-rw-r--r--abs/core/python_modules/python-beaker/PKGBUILD21
-rw-r--r--abs/core/python_modules/python-chardet/PKGBUILD20
-rw-r--r--abs/core/python_modules/python-decorator/LICENSE.txt26
-rw-r--r--abs/core/python_modules/python-decorator/PKGBUILD30
-rw-r--r--abs/core/python_modules/python-geoip/PKGBUILD21
-rw-r--r--abs/core/python_modules/python-imaging/PKGBUILD42
-rw-r--r--abs/core/python_modules/python-imaging/__changelog2
-rwxr-xr-xabs/core/python_modules/python-iplib/PKGBUILD25
-rw-r--r--abs/core/python_modules/python-lxml/PKGBUILD34
-rw-r--r--abs/core/python_modules/python-m2crypto/PKGBUILD31
-rw-r--r--abs/core/python_modules/python-m2crypto/openssl1.patch531
-rw-r--r--abs/core/python_modules/python-mako/PKGBUILD21
-rw-r--r--abs/core/python_modules/python-markupsafe/PKGBUILD23
-rw-r--r--abs/core/python_modules/python-netifaces/PKGBUILD24
-rw-r--r--abs/core/python_modules/python-nose/PKGBUILD26
-rw-r--r--abs/core/python_modules/python-numeric/PKGBUILD35
-rw-r--r--abs/core/python_modules/python-numpy/PKGBUILD36
-rw-r--r--abs/core/python_modules/python-oauth/PKGBUILD27
-rw-r--r--abs/core/python_modules/python-opengl/LICENSE30
-rw-r--r--abs/core/python_modules/python-opengl/PKGBUILD31
-rw-r--r--abs/core/python_modules/python-parted/PKGBUILD28
-rw-r--r--abs/core/python_modules/python-pexpect/PKGBUILD17
-rw-r--r--abs/core/python_modules/python-pybluez/PKGBUILD24
-rw-r--r--abs/core/python_modules/python-pycurl/PKGBUILD23
-rw-r--r--abs/core/python_modules/python-pymedia/PKGBUILD35
-rw-r--r--abs/core/python_modules/python-pymedia/pymedia-1.3.7.3-amd64-gentoo.diff64
-rw-r--r--abs/core/python_modules/python-pyserial/PKGBUILD21
-rw-r--r--abs/core/python_modules/python-pysqlite/ChangeLog13
-rw-r--r--abs/core/python_modules/python-pysqlite/PKGBUILD29
-rw-r--r--abs/core/python_modules/python-pysqlite/setup.cfg5
-rw-r--r--abs/core/python_modules/python-simplejson/ChangeLog5
-rw-r--r--abs/core/python_modules/python-simplejson/PKGBUILD26
-rw-r--r--abs/core/python_modules/pyusb/PKGBUILD18
-rw-r--r--abs/core/python_modules/pyxdg/PKGBUILD20
53 files changed, 1966 insertions, 0 deletions
diff --git a/abs/core/python_modules/bluez-python/PKGBUILD b/abs/core/python_modules/bluez-python/PKGBUILD
new file mode 100644
index 0000000..4314206
--- /dev/null
+++ b/abs/core/python_modules/bluez-python/PKGBUILD
@@ -0,0 +1,20 @@
+# Contributor: Li Dongyang<Jerry87905@gmail.com>
+
+pkgname=bluez-python
+pkgver=0.1.4
+pkgrel=3
+pkgdesc="A BlueZ python binding on top of dbus-python"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/bluez-python"
+license=('LGPL')
+depends=('bluez>=4.30' 'dbus-python')
+source=(http://bluez-python.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
+md5sums=('013f283d3c32765e67c89ebf7f5470ea')
+
+build() {
+ /bin/true
+}
+package() {
+ cd ${srcdir}/${pkgname}
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/abs/core/python_modules/cddb-py/PKGBUILD b/abs/core/python_modules/cddb-py/PKGBUILD
new file mode 100755
index 0000000..3facc20
--- /dev/null
+++ b/abs/core/python_modules/cddb-py/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 26144 2010-09-13 19:36:37Z schuay $
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Hugo Ideler <hugoideler@dse.nl>
+# Contributor: David Keogh <davekeogh@shaw.ca>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=cddb-py
+pkgver=1.4
+pkgrel=6
+pkgdesc="CDDB-Server access from Python"
+arch=('i686' 'x86_64')
+url="http://cddb-py.sourceforge.net"
+license=('GPL')
+depends=('python2')
+source=("http://downloads.sourceforge.net/sourceforge/cddb-py/CDDB-${pkgver}.tar.gz")
+md5sums=('254698082bafe3030d07d88fb7e13fe2')
+
+package() {
+ cd ${srcdir}/CDDB-${pkgver}
+
+ for file in CDDB.py DiscID.py; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+
+ python2 setup.py install --root=${pkgdir} --optimize=1
+}
diff --git a/abs/core/python_modules/dbus-python/PKGBUILD b/abs/core/python_modules/dbus-python/PKGBUILD
new file mode 100644
index 0000000..91b80d3
--- /dev/null
+++ b/abs/core/python_modules/dbus-python/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 87863 2010-08-18 14:30:02Z ibiru $
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=dbus-python
+pkgver=0.83.1
+pkgrel=3
+pkgdesc="Python bindings for DBUS"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+url="http://www.freedesktop.org/wiki/Software/DBusBindings"
+depends=('dbus-glib>=0.82' 'python2>=2.6.6')
+makedepends=('pkg-config' 'docutils')
+options=('!libtool')
+source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('5fdf3970aa0c00020289de7ba8f3be18')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make || return 1
+}
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
diff --git a/abs/core/python_modules/gnome-python-extras/PKGBUILD b/abs/core/python_modules/gnome-python-extras/PKGBUILD
new file mode 100644
index 0000000..690ec2e
--- /dev/null
+++ b/abs/core/python_modules/gnome-python-extras/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 35285 2009-04-11 20:46:50Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-python-extras
+pkgver=2.25.3
+pkgrel=2
+pkgdesc="Gnome Python interfaces for libraries not part of the core platform"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+depends=('gnome-python>=2.22.1')
+makedepends=('libgtkhtml' 'gtkspell' 'gdl' 'xulrunner>=1.9' 'libgksu' 'pkgconfig' 'libgnomeui' 'libgda')
+optdepends=('libgtkhtml' 'gtkspell' 'gdl' 'xulrunner' 'libgksu' 'libgnomeui' 'libgda')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/gnome-python-extras/2.25/gnome-python-extras-${pkgver}.tar.bz2)
+url="http://www.daa.com.au/~james/pygtk/"
+md5sums=('9f3b7ec5c57130b96061cb486b79c076')
+
+build() {
+ cd "${srcdir}/gnome-python-extras-${pkgver}"
+ ./configure --prefix=/usr || return 1
+ make MOZILLA_HOME=/usr/lib/xulrunner-1.9 || return 1
+}
+package() {
+ cd "${srcdir}/gnome-python-extras-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-pkg-config.patch b/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-pkg-config.patch
new file mode 100644
index 0000000..77fd0a4
--- /dev/null
+++ b/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-pkg-config.patch
@@ -0,0 +1,61 @@
+diff -up gnome-python-extras-2.19.1/configure.pkg-config gnome-python-extras-2.19.1/configure
+--- gnome-python-extras-2.19.1/configure.pkg-config 2008-01-12 21:07:56.000000000 -0500
++++ gnome-python-extras-2.19.1/configure 2008-01-12 21:09:49.000000000 -0500
+@@ -22096,14 +22096,14 @@ if test -n "$PKG_CONFIG"; then
+ pkg_cv_GTKMOZEMBED_CFLAGS="$GTKMOZEMBED_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$mozpackage-gtkmozembed >= \$mozpackage_required_version,
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\mozilla-gtkmozembed >= \$mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ ($PKG_CONFIG --exists --print-errors "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_GTKMOZEMBED_CFLAGS=`$PKG_CONFIG --cflags "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ pkg_cv_GTKMOZEMBED_CFLAGS=`$PKG_CONFIG --cflags "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0" 2>/dev/null`
+ else
+ pkg_failed=yes
+@@ -22117,14 +22117,14 @@ if test -n "$PKG_CONFIG"; then
+ pkg_cv_GTKMOZEMBED_LIBS="$GTKMOZEMBED_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$mozpackage-gtkmozembed >= \$mozpackage_required_version,
++ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\mozilla-gtkmozembed >= \$mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0\"") >&5
+- ($PKG_CONFIG --exists --print-errors "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ ($PKG_CONFIG --exists --print-errors "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_GTKMOZEMBED_LIBS=`$PKG_CONFIG --libs "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ pkg_cv_GTKMOZEMBED_LIBS=`$PKG_CONFIG --libs "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0" 2>/dev/null`
+ else
+ pkg_failed=yes
+@@ -22144,10 +22144,10 @@ else
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- GTKMOZEMBED_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ GTKMOZEMBED_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0"`
+ else
+- GTKMOZEMBED_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$mozpackage-gtkmozembed >= $mozpackage_required_version,
++ GTKMOZEMBED_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mozilla-gtkmozembed >= $mozpackage_required_version,
+ gtk+-2.0 >= 2.4.0"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+@@ -22179,7 +22179,7 @@ fi
+ if test -n "$export_dynamic"; then
+ GTKMOZEMBED_LIBS=`echo $GTKMOZEMBED_LIBS | sed -e "s/$export_dynamic//"`
+ fi
+-MOZILLA_HOME="`$PKG_CONFIG --variable=libdir $mozpackage-gtkmozembed`"
++MOZILLA_HOME="`$PKG_CONFIG --variable=libdir mozilla-gtkmozembed`"
+
+
+
diff --git a/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-xulrunner.patch b/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-xulrunner.patch
new file mode 100644
index 0000000..d2fa26e
--- /dev/null
+++ b/abs/core/python_modules/gnome-python-extras/gnome-python-extras-2.19.1-xulrunner.patch
@@ -0,0 +1,22 @@
+diff -up gnome-python-extras-2.19.1/docs/gtkmozembed/html/class-gtkmozembed.html.old gnome-python-extras-2.19.1/docs/gtkmozembed/html/class-gtkmozembed.html
+diff -up gnome-python-extras-2.19.1/docs/gtkmozembed/html/pygtkmozembed.devhelp.old gnome-python-extras-2.19.1/docs/gtkmozembed/html/pygtkmozembed.devhelp
+diff -up gnome-python-extras-2.19.1/docs/gtkmozembed/gtkmozembed-gtkmozembed.xml.old gnome-python-extras-2.19.1/docs/gtkmozembed/gtkmozembed-gtkmozembed.xml
+diff -up gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.override.old gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.override
+diff -up gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.defs.old gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.defs
+--- gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.defs.old 2007-06-05 16:52:30.000000000 +0200
++++ gnome-python-extras-2.19.1/gtkmozembed/gtkmozembed.defs 2007-11-27 12:54:42.000000000 +0100
+@@ -123,6 +123,14 @@
+ )
+ )
+
++(define-function set_path
++ (c-name "gtk_moz_embed_set_path")
++ (return-type "none")
++ (parameters
++ '("char*" "aPath")
++ )
++)
++
+ (define-function gtk_moz_embed_set_profile_path
+ (c-name "gtk_moz_embed_set_profile_path_deprecated")
+ (return-type "none")
diff --git a/abs/core/python_modules/gnome-python/PKGBUILD b/abs/core/python_modules/gnome-python/PKGBUILD
new file mode 100644
index 0000000..0c4a0b6
--- /dev/null
+++ b/abs/core/python_modules/gnome-python/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 99639 2010-11-15 22:50:30Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sarah Hay <sarah@archlinux.org>
+
+pkgbase=gnome-python
+pkgname=('python2-bonobo' 'python2-gconf' 'python2-libgnome' 'python2-gnomecanvas' 'python2-gnomevfs' 'gnome-python')
+pkgver=2.28.1
+pkgrel=5
+arch=('i686' 'x86_64')
+license=('LGPL')
+makedepends=('pygtk' 'pyorbit' 'libgnomeui')
+options=('!libtool')
+url="http://www.pygtk.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/gnome-python/2.28/gnome-python-${pkgver}.tar.bz2)
+sha256sums=('759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8')
+
+build() {
+ cd "${srcdir}/gnome-python-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package_python2-bonobo(){
+ pkgdesc="Python bindings for interacting with Bonobo"
+ depends=('pygtk' 'libbonoboui' 'pyorbit')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make -C bonobo install DESTDIR="${pkgdir}"
+}
+
+package_python2-gconf(){
+ pkgdesc="Python bindings for interacting with GConf"
+ depends=('pygtk' 'gconf')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make -C gconf install DESTDIR="${pkgdir}"
+}
+
+package_python2-libgnome() {
+ pkgdesc="Python bindings for libgnome"
+ depends=('pygtk' 'libgnomeui')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make -C gnome install DESTDIR="${pkgdir}"
+}
+
+package_python2-gnomecanvas() {
+ pkgdesc="Python bindings for the GNOME Canvas"
+ depends=('pygtk' 'libgnomecanvas')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make -C gnomecanvas install DESTDIR="${pkgdir}"
+}
+
+package_python2-gnomevfs() {
+ pkgdesc="Python bindings for interacting with gnome-vfs"
+ depends=('python2' 'libbonobo' 'gnome-vfs')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make -C gnomevfs install DESTDIR="${pkgdir}"
+}
+
+package_gnome-python() {
+ pkgdesc="PyGNOME Python extension module"
+ depends=('python2-bonobo' 'python2-gconf' 'python2-libgnome' 'python2-gnomecanvas' 'python2-gnomevfs')
+
+ cd "${srcdir}/gnome-python-${pkgver}"
+ make install-pkgconfigDATA DESTDIR="${pkgdir}"
+}
+
diff --git a/abs/core/python_modules/imdbpy/PKGBUILD b/abs/core/python_modules/imdbpy/PKGBUILD
new file mode 100644
index 0000000..22efa94
--- /dev/null
+++ b/abs/core/python_modules/imdbpy/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 27018 2010-09-16 17:37:18Z schuay $
+# Maintainer: Ray Rashif <schivmeister@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: lang2 <wenzhi.liang@gmail.com>
+
+pkgname=imdbpy
+_realname=IMDbPY
+pkgver=4.6
+pkgrel=3
+pkgdesc="Python bindings for imdb"
+url="http://imdbpy.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('python2')
+makedepends=('setuptools')
+optdepends=('python-lxml' 'python-sqlalchemy' 'python-sqlobject')
+source=(http://downloads.sourceforge.net/$pkgname/$_realname-$pkgver.tar.gz)
+
+build(){
+ cd "$srcdir/$_realname-$pkgver"
+
+ # python2 fix
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ python2 setup.py install --root="$pkgdir"
+
+ # fix directories path
+ mv "$pkgdir/usr/etc" "$pkgdir"
+ install -d "$pkgdir/usr/share"
+ mv "$pkgdir/usr/imdb" "$pkgdir/usr/share"
+ mv "$pkgdir/usr/doc" "$pkgdir/usr/share/imdb/"
+}
+md5sums=('876d4cd041fa23633e3637c22bf95622')
diff --git a/abs/core/python_modules/mysql-python/PKGBUILD b/abs/core/python_modules/mysql-python/PKGBUILD
new file mode 100644
index 0000000..590c2db
--- /dev/null
+++ b/abs/core/python_modules/mysql-python/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 89788 2010-09-04 05:19:02Z remy $
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=mysql-python
+pkgver=1.2.3c1
+pkgrel=4
+pkgdesc="MySQL support for Python"
+arch=("i686" "x86_64")
+url="http://sourceforge.net/projects/mysql-python"
+license=('GPL2')
+depends=('python2' 'libmysqlclient>=5.1.41-2')
+makedepends=('mysql>=5.1.41-2' 'setuptools')
+source=("http://downloads.sourceforge.net/${pkgname}/MySQL-python-${pkgver}.tar.gz")
+md5sums=('310dd856e439d070b59ece6dd7a0734d')
+
+build() {
+ cd ${srcdir}/MySQL-python-${pkgver}
+ python2 setup.py install --root=${pkgdir} || return 1
+}
+
diff --git a/abs/core/python_modules/pycairo/PKGBUILD b/abs/core/python_modules/pycairo/PKGBUILD
new file mode 100644
index 0000000..9adfcb5
--- /dev/null
+++ b/abs/core/python_modules/pycairo/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 96553 2010-10-22 08:47:59Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=pycairo
+pkgver=1.8.10
+pkgrel=4
+pkgdesc="Python bindings for the cairo graphics library"
+arch=('i686' 'x86_64')
+license=('LGPL' 'MPL')
+depends=('python2' 'cairo>=1.8.10')
+options=('!libtool')
+source=(http://cairographics.org/releases/py2cairo-${pkgver}.tar.gz)
+url="http://www.cairographics.org/pycairo"
+md5sums=('87421a6a70304120555ba7ba238f3dc3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ PYTHON=python2 ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+
diff --git a/abs/core/python_modules/pycrypto/PKGBUILD b/abs/core/python_modules/pycrypto/PKGBUILD
new file mode 100644
index 0000000..5ba87ac
--- /dev/null
+++ b/abs/core/python_modules/pycrypto/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 96778 2010-10-24 17:01:27Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Kritoke <kritoke@gamebox.net>
+
+pkgname=pycrypto
+pkgver=2.3
+pkgrel=2
+pkgdesc="Collection of cryptographic algorithms and protocols, implemented for use from Python."
+arch=('i686' 'x86_64')
+depends=('python2')
+url="http://www.dlitz.net/software/pycrypto/"
+license=(custom)
+source=(http://ftp.dlitz.net/pub/dlitz/crypto/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+sha256sums=('4f11e85fbcf13960373650fc2dae8f088f9b001f07fb6d3efb2fcb5334987182')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ python2 setup.py build
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/"
+ cp -r LEGAL "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/python_modules/pygobject/PKGBUILD b/abs/core/python_modules/pygobject/PKGBUILD
new file mode 100644
index 0000000..09e4e6d
--- /dev/null
+++ b/abs/core/python_modules/pygobject/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 92839 2010-10-01 13:19:30Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=pygobject
+pkgver=2.26.0
+pkgrel=3
+pkgdesc="Python bindings for GObject"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('python2' 'glib2>=2.26.0' 'pycairo>=1.8.10' 'gobject-introspection>=0.9.6')
+source=(http://ftp.gnome.org/pub/gnome/sources/pygobject/2.26/${pkgname}-${pkgver}.tar.bz2)
+options=('!libtool')
+url="http://www.pygtk.org/"
+sha256sums=('5554acff9c27b647144143b0459359864e4a6f2ff62c7ba21cf310ad755cf7c7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+
+ find "$pkgdir"/usr/share/pygobject -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+}
+
diff --git a/abs/core/python_modules/pygtk/PKGBUILD b/abs/core/python_modules/pygtk/PKGBUILD
new file mode 100644
index 0000000..73e9fd5
--- /dev/null
+++ b/abs/core/python_modules/pygtk/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 94310 2010-10-06 15:16:23Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=pygtk
+pkgver=2.22.0
+pkgrel=4
+pkgdesc="Python bindings for the GTK widget set"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('libglade>=2.6.4' 'pycairo>=1.8.10' 'pygobject>=2.21.5')
+makedepends=('python-numpy')
+optdepends=('python-numpy')
+options=('!libtool')
+url="http://www.pygtk.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/pygtk/2.22/${pkgname}-${pkgver}.tar.bz2
+ python27.patch)
+sha256sums=('4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8'
+ '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ #https://bugzilla.gnome.org/show_bug.cgi?id=623965
+ patch -Np1 -i "${srcdir}/python27.patch"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+ sed -i -e 's#env python$#env python2#' "${pkgdir}"/usr/lib/pygtk/2.0/{,demos/}*.py
+ install -m644 gtk/gtk-extrafuncs.defs "${pkgdir}/usr/share/pygtk/2.0/defs/"
+}
diff --git a/abs/core/python_modules/pygtk/python27.patch b/abs/core/python_modules/pygtk/python27.patch
new file mode 100644
index 0000000..9bbe2b5
--- /dev/null
+++ b/abs/core/python_modules/pygtk/python27.patch
@@ -0,0 +1,50 @@
+diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
+index c0e1493..aa8cf10 100644
+--- a/gtk/gtkmodule.c
++++ b/gtk/gtkmodule.c
+@@ -227,8 +227,12 @@ init_gtk(void)
+ pygtk_add_stock_items(d);
+
+ /* extension API */
+- PyDict_SetItemString(d, "_PyGtk_API",
+- o=PyCObject_FromVoidPtr(&functions, NULL));
++#if PY_VERSION_HEX >= 0x02070000
++ o = PyCapsule_New(&functions, "gtk._gtk._PyGtk_API", NULL);
++#else
++ o = PyCObject_FromVoidPtr(&functions, NULL);
++#endif
++ PyDict_SetItemString(d, "_PyGtk_API", o);
+ Py_DECREF(o);
+
+ PyGtkDeprecationWarning = PyErr_NewException("gtk.GtkDeprecationWarning",
+diff --git a/gtk/pygtk.h b/gtk/pygtk.h
+index 573c3b9..e4c680f 100644
+--- a/gtk/pygtk.h
++++ b/gtk/pygtk.h
+@@ -60,6 +60,18 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+
+
+ /* a function to initialise the pygtk functions */
++
++/* Python 2.7 introduced the PyCapsule API and deprecated the CObject API */
++#if PY_VERSION_HEX >= 0x02070000
++#define init_pygtk() G_STMT_START { \
++ void *capsule = PyCapsule_Import("gtk._gtk._PyGtk_API", 0); \
++ if (!capsule) { \
++ return; \
++ } \
++ _PyGtk_API = (struct _PyGtk_FunctionStruct*)capsule; \
++} G_STMT_END
++#else /* PY_VERSION_HEX */
++/* Python 2.6 and earlier use the CObject API */
+ #define init_pygtk() G_STMT_START { \
+ PyObject *pygtk = PyImport_ImportModule("gtk"); \
+ if (pygtk != NULL) { \
+@@ -79,6 +91,7 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+ return; \
+ } \
+ } G_STMT_END
++#endif /* PY_VERSION_HEX */
+
+ #endif
+
diff --git a/abs/core/python_modules/pyopenssl/PKGBUILD b/abs/core/python_modules/pyopenssl/PKGBUILD
new file mode 100644
index 0000000..a136830
--- /dev/null
+++ b/abs/core/python_modules/pyopenssl/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 87790 2010-08-18 10:10:07Z ibiru $
+# Maintainer : Ionut Biru<ibiru@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=pyopenssl
+pkgver=0.10
+pkgrel=4
+pkgdesc="pyOpenSSL is a Python interface to the OpenSSL library"
+arch=('i686' 'x86_64')
+url="http://pyopenssl.sourceforge.net"
+license=('LGPL')
+depends=('python2' 'openssl')
+source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${pkgver}.tar.gz)
+md5sums=('34db8056ec53ce80c7f5fc58bee9f093')
+
+build() {
+ cd "${srcdir}/pyOpenSSL-${pkgver}"
+ python2 setup.py build
+ python2 setup.py install --prefix="$pkgdir/usr" --optimize=1
+}
+
diff --git a/abs/core/python_modules/pyorbit/PKGBUILD b/abs/core/python_modules/pyorbit/PKGBUILD
new file mode 100644
index 0000000..4c94fb8
--- /dev/null
+++ b/abs/core/python_modules/pyorbit/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 89716 2010-09-03 12:01:46Z remy $
+# Mantainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=pyorbit
+pkgver=2.24.0
+pkgrel=5
+pkgdesc="Python bindings for ORBit2"
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="http://www.pygtk.org"
+depends=('python2' 'orbit2>=2.14.16')
+makedepends=('pkgconfig')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/pyorbit/2.24/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('574593815e75ee6e98062c75d6d1581f')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/core/python_modules/pyqt/ChangeLog b/abs/core/python_modules/pyqt/ChangeLog
new file mode 100644
index 0000000..e20b55a
--- /dev/null
+++ b/abs/core/python_modules/pyqt/ChangeLog
@@ -0,0 +1,21 @@
+
+2009-04-11 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Fixing the rpath issue, thanks Gerardo
+
+2008-11-22 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 4.4.4
+
+2008-10-22 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Rebuilt for python 2.6
+
+2008-08-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 4.4.3
+
+2008-07-06 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 4.4.2
+
diff --git a/abs/core/python_modules/pyqt/PKGBUILD b/abs/core/python_modules/pyqt/PKGBUILD
new file mode 100644
index 0000000..b4083cd
--- /dev/null
+++ b/abs/core/python_modules/pyqt/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 97705 2010-11-01 13:35:29Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
+
+pkgname=pyqt
+pkgver=4.8.1
+pkgrel=2
+pkgdesc="A set of Python bindings for the Qt toolkit"
+arch=('i686' 'x86_64')
+url="http://riverbankcomputing.co.uk/software/pyqt/intro"
+license=('GPL')
+depends=('sip' 'qt' 'dbus-python')
+makedepends=('phonon' 'python-opengl' 'qt-assistant-compat')
+optdepends=('phonon: enable audio and video in PyQt applications'
+ 'python-opengl: enable OpenGL 3D graphics in PyQt applications'
+ 'qscintilla: QScintilla API'
+ 'qt-assistant-compat: add PyQt online help in Qt Assistant')
+provides=('pyqt4')
+replaces=('pyqt4')
+conflicts=('pyqt4')
+source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz")
+md5sums=('1cac8f5d715c414f9cb2751b0e84cc07')
+
+build() {
+ cd ${srcdir}/PyQt-x11-gpl-${pkgver}
+
+ python2 configure.py \
+ --confirm-license \
+ -v /usr/share/sip \
+ --qsci-api
+
+ # Thanks Gerardo for the rpath fix
+ find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
+
+ make
+}
+
+package(){
+ cd ${srcdir}/PyQt-x11-gpl-${pkgver}
+ # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
+ make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
+}
diff --git a/abs/core/python_modules/pyrex/PKGBUILD b/abs/core/python_modules/pyrex/PKGBUILD
new file mode 100644
index 0000000..11a7344
--- /dev/null
+++ b/abs/core/python_modules/pyrex/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 89621 2010-09-02 16:28:29Z remy $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: Arjan timmerman <arjan@soulfly.nl>
+# Contributor: Link Dupont <link@subpop.net>
+
+pkgname=pyrex
+pkgver=0.9.9
+pkgrel=3
+pkgdesc="Language for writing Python extension modules"
+arch=(any)
+url="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/"
+license=('APACHE')
+depends=('python2')
+source=(http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/Pyrex-${pkgver}.tar.gz)
+md5sums=('515dee67d15d4393841e2d60e8341947')
+
+build() {
+ cd "${srcdir}/Pyrex-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --prefix=/usr || return 1
+}
+
diff --git a/abs/core/python_modules/python-beaker/PKGBUILD b/abs/core/python_modules/python-beaker/PKGBUILD
new file mode 100644
index 0000000..8780497
--- /dev/null
+++ b/abs/core/python_modules/python-beaker/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 87715 2010-08-18 03:37:40Z allan $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Massimiliano Torromeo < massimiliano DOT torromeo AT gmail DOT com >
+pkgname=python-beaker
+pkgver=1.5.4
+pkgrel=3
+arch=('any')
+license=('custom')
+pkgdesc="Caching and sessions WSGI middleware for use with web applications and stand-alone Python scripts and applications"
+url="http://beaker.groovie.org/"
+depends=('python2')
+makedepends=('setuptools')
+source=("http://cheeseshop.python.org/packages/source/B/Beaker/Beaker-$pkgver.tar.gz")
+md5sums=('de84e7511119dc0b8eb4ac177d3e2512')
+
+build() {
+ cd ${srcdir}/Beaker-${pkgver}
+ sed -i "s#/usr/bin/python#/usr/bin/python2#" beaker/crypto/pbkdf2.py
+ python2 setup.py install --root=${pkgdir} --optimize=1
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-chardet/PKGBUILD b/abs/core/python_modules/python-chardet/PKGBUILD
new file mode 100644
index 0000000..d3e67d0
--- /dev/null
+++ b/abs/core/python_modules/python-chardet/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 87872 2010-08-18 15:26:20Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+pkgname=python-chardet
+_pkgnamebase=python2-chardet
+pkgver=2.0.1
+pkgrel=3
+pkgdesc="Python module for character encoding auto-detection"
+arch=('any')
+url="http://chardet.feedparser.org"
+license=('LGPL')
+depends=('python2')
+source=(http://chardet.feedparser.org/download/${_pkgnamebase}-${pkgver}.tgz)
+sha256sums=('56fa0c37189b0a5f082d064dec59d69a044aaa3eeb7acb9b3081e2ba306deaa4')
+
+build() {
+ cd "${srcdir}/${_pkgnamebase}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+}
+
diff --git a/abs/core/python_modules/python-decorator/LICENSE.txt b/abs/core/python_modules/python-decorator/LICENSE.txt
new file mode 100644
index 0000000..a6a4929
--- /dev/null
+++ b/abs/core/python_modules/python-decorator/LICENSE.txt
@@ -0,0 +1,26 @@
+Copyright (c) 2007, Michele Simionato
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ Redistributions in bytecode form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
diff --git a/abs/core/python_modules/python-decorator/PKGBUILD b/abs/core/python_modules/python-decorator/PKGBUILD
new file mode 100644
index 0000000..5e2e8f5
--- /dev/null
+++ b/abs/core/python_modules/python-decorator/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Pierre Chapuis <catwell at archlinux dot us>
+
+pkgname=python-decorator
+pkgver=3.2.0
+pkgrel=3
+pkgdesc='Python Decorator module'
+arch=('any')
+url='http://pypi.python.org/pypi/decorator'
+license=('BSD')
+depends=('python2')
+source=("http://pypi.python.org/packages/source/d/decorator/decorator-${pkgver}.tar.gz"
+ 'LICENSE.txt')
+md5sums=('6208cd51365083c168ab3a04426a646b'
+ '0ca76d2c707f09dbb04acc425ea1a08b')
+
+build() {
+ cd decorator-${pkgver}
+
+ python2 setup.py build
+}
+
+package() {
+ cd decorator-${pkgver}
+
+ python2 setup.py install --root=${pkgdir} --optimize=1
+
+ install -D -m644 ${srcdir}/LICENSE.txt \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/core/python_modules/python-geoip/PKGBUILD b/abs/core/python_modules/python-geoip/PKGBUILD
new file mode 100644
index 0000000..7d69154
--- /dev/null
+++ b/abs/core/python_modules/python-geoip/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 89623 2010-09-02 16:32:29Z remy $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=python-geoip
+pkgver=1.2.4
+pkgrel=3
+pkgdesc="Python bindings for the GeoIP IP-to-country resolver library."
+arch=(i686 x86_64)
+url="http://www.maxmind.com/app/python"
+license=('LGPL')
+depends=('python2' 'geoip')
+source=(http://www.maxmind.com/download/geoip/api/python/GeoIP-Python-${pkgver}.tar.gz)
+replaces=('geoip-python')
+provides=('geoip-python')
+
+build() {
+ cd ${startdir}/src/GeoIP-Python-${pkgver}
+ python2 setup.py build install --root=${startdir}/pkg
+}
+md5sums=('50f820d854476efaf3b7af733ffe4236')
+
diff --git a/abs/core/python_modules/python-imaging/PKGBUILD b/abs/core/python_modules/python-imaging/PKGBUILD
new file mode 100644
index 0000000..f0b5f3a
--- /dev/null
+++ b/abs/core/python_modules/python-imaging/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 87626 2010-08-17 13:21:07Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: simo <simo@archlinux.org>
+
+pkgname=python-imaging
+pkgver=1.1.7
+pkgrel=5
+pkgdesc="PIL. Provides image processing capabilities for python"
+arch=('i686' 'x86_64')
+url="http://www.pythonware.com/products/pil/index.htm"
+license=('custom:"pil"')
+depends=('python2' 'libjpeg' 'freetype2')
+makedepends=('tk')
+optdepends=('tk')
+provides=("pil=$pkgver")
+conflicts=('pil')
+replaces=('pil')
+source=(http://effbot.org/downloads/Imaging-$pkgver.tar.gz)
+md5sums=('fc14a54e1ce02a0225be8854bfba478e')
+
+build() {
+ cd $srcdir/Imaging-$pkgver
+ sed -i "s#JPEG_ROOT\ =\ None#JPEG_ROOT\ =\ \"/opt/libjpeg6/lib\",\ \"/opt/libjpeg6/include\"#" setup.py
+ python2 setup.py build_ext
+}
+
+package() {
+ cd $srcdir/Imaging-$pkgver
+ python2 setup.py install --root=$pkgdir
+ install -dm755 $pkgdir/usr/include/python2.7/
+ install -m644 -t $pkgdir/usr/include/python2.7/ libImaging/*.h
+
+ # do not have files ending in .py in /usr/bin
+ for f in pildriver pilprint pilconvert pilfile pilfont; do
+ mv $pkgdir/usr/bin/$f{.py,}
+ done
+
+ # Install license
+ install -Dm644 $srcdir/Imaging-$pkgver/README \
+ $pkgdir/usr/share/licenses/$pkgname/README
+}
+
diff --git a/abs/core/python_modules/python-imaging/__changelog b/abs/core/python_modules/python-imaging/__changelog
new file mode 100644
index 0000000..91214ed
--- /dev/null
+++ b/abs/core/python_modules/python-imaging/__changelog
@@ -0,0 +1,2 @@
+__change so that it builds against libjpeg6 and not libjpeg7
+ sed -i "s#JPEG_ROOT\ =\ None#JPEG_ROOT\ =\ \"/opt/libjpeg6\"#" setup.py
diff --git a/abs/core/python_modules/python-iplib/PKGBUILD b/abs/core/python_modules/python-iplib/PKGBUILD
new file mode 100755
index 0000000..39d0b55
--- /dev/null
+++ b/abs/core/python_modules/python-iplib/PKGBUILD
@@ -0,0 +1,25 @@
+pkgname=python-iplib
+_libname=iplib
+pkgver=1.1
+pkgrel=3
+pkgdesc="IPlib is a Python module useful to convert amongst many different notations and to manage couples of address/netmask in the CIDR notation."
+url="http://www.pymedia.org"
+arch=('i686')
+license=('GPL')
+depends=('python2')
+#makedepends=('python2>=2.3')
+source=(http://erlug.linux.it/~da/soft/iplib/iplib-1.1.tar.gz)
+md5sums=('3437ddbfc1986b2d06e7f4a0724ac5a0')
+
+build() {
+ cd ${srcdir}/${_libname}-${pkgver}
+
+ find "$srcdir/${_libname}-${pkgver}" -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ yes "" | python2 setup.py install --root=${pkgdir} --prefix=/usr
+
+ find "$pkgdir/" -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+
+}
diff --git a/abs/core/python_modules/python-lxml/PKGBUILD b/abs/core/python_modules/python-lxml/PKGBUILD
new file mode 100644
index 0000000..606ec54
--- /dev/null
+++ b/abs/core/python_modules/python-lxml/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Guillem Rieu <guillemr@gmx.net>
+
+pkgname=python-lxml
+pkgver=2.2.6
+pkgrel=4
+pkgdesc="Python binding for the libxml2 and libxslt libraries"
+arch=('i686' 'x86_64')
+license=('BSD' 'GPL' 'custom')
+url="http://codespeak.net/lxml"
+depends=('python2' 'libxslt')
+optdepends=("beautiful-soup: support for parsing not well formed HTML")
+conflicts=('lxml')
+replaces=('lxml')
+source=(http://codespeak.net/lxml/lxml-$pkgver.tgz)
+md5sums=('b1f700fb22d7ee9b977ee3eceb65b20c')
+
+build() {
+ /bin/true
+}
+
+package() {
+ cd ${srcdir}/lxml-$pkgver
+
+ python2 setup.py install --root=${pkgdir} || return 1
+
+ install -D -m644 LICENSES.txt ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1
+ install -D -m644 doc/licenses/BSD.txt ${pkgdir}/usr/share/licenses/$pkgname/BSD.txt || return 1
+ install -D -m644 doc/licenses/elementtree.txt ${pkgdir}/usr/share/licenses/$pkgname/elementtree.txt || return 1
+}
diff --git a/abs/core/python_modules/python-m2crypto/PKGBUILD b/abs/core/python_modules/python-m2crypto/PKGBUILD
new file mode 100644
index 0000000..8d74cbe
--- /dev/null
+++ b/abs/core/python_modules/python-m2crypto/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 87898 2010-08-18 16:12:44Z ibiru $
+# Maintainer:
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=python-m2crypto
+pkgver=0.20.2
+pkgrel=4
+pkgdesc="A crypto and SSL toolkit for Python"
+arch=('i686' 'x86_64')
+url="http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto"
+license=('BSD')
+depends=('python2' 'openssl')
+makedepends=('swig')
+source=("http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${pkgver}.tar.gz"
+ 'openssl1.patch')
+md5sums=('6c24410410d6eb1920ea43f77a93613a'
+ '80a707ad6610f2871efdf40658e30364')
+
+build() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ patch -Np0 -i ${srcdir}/openssl1.patch
+ python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+
+ install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-m2crypto/openssl1.patch b/abs/core/python_modules/python-m2crypto/openssl1.patch
new file mode 100644
index 0000000..59dba55
--- /dev/null
+++ b/abs/core/python_modules/python-m2crypto/openssl1.patch
@@ -0,0 +1,531 @@
+Index: tests/test_ssl.py
+===================================================================
+--- tests/test_ssl.py (revision 698)
++++ tests/test_ssl.py (working copy)
+@@ -405,8 +405,11 @@
+ try:
+ ctx = SSL.Context('sslv23', weak_crypto=1)
+ s = SSL.Connection(ctx)
+- s.connect(self.srv_addr)
+- self.failUnlessEqual(s.get_version(), 'SSLv2')
++ if m2.OPENSSL_VERSION_NUMBER < 0x10000000: # SSLv2 ciphers disabled by default in newer OpenSSL
++ s.connect(self.srv_addr)
++ self.failUnlessEqual(s.get_version(), 'SSLv2')
++ else:
++ self.assertRaises(SSL.SSLError, s.connect, self.srv_addr)
+ s.close()
+ finally:
+ self.stop_server(pid)
+Index: tests/test_x509.py
+===================================================================
+--- tests/test_x509.py (revision 698)
++++ tests/test_x509.py (working copy)
+@@ -142,7 +142,7 @@
+ cn.set_data("Hello There!")
+ assert cn.get_data().as_text() == "Hello There!", cn.get_data().as_text()
+
+- assert n.as_hash() == 1697185131
++ self.assertEquals(n.as_hash(), 1697185131)
+
+ self.assertRaises(IndexError, lambda: n[100])
+ self.assert_(n[10])
+Index: tests/test_smime.py
+===================================================================
+--- tests/test_smime.py (revision 698)
++++ tests/test_smime.py (working copy)
+@@ -6,7 +6,7 @@
+ """
+
+ import unittest
+-from M2Crypto import SMIME, BIO, Rand, X509, EVP
++from M2Crypto import SMIME, BIO, Rand, X509, EVP, Err
+
+ class SMIMETestCase(unittest.TestCase):
+ cleartext = 'some text to manipulate'
+@@ -213,7 +213,7 @@
+
+ self.filenameSmime = 'tests/sig.p7s'
+ f = BIO.openfile(self.filenameSmime, 'wb')
+- assert s.write(f, p7, BIO.MemoryBuffer('some text')) == 1
++ assert s.write(f, p7, BIO.MemoryBuffer('some text')) == 1, Err.get_error()
+ f.close()
+
+ def test_write_pkcs7_der(self):
+Index: SWIG/_evp.i
+===================================================================
+--- SWIG/_evp.i (revision 695)
++++ SWIG/_evp.i (working copy)
+@@ -180,7 +180,7 @@
+
+ PKCS5_PBKDF2_HMAC_SHA1(passbuf, passlen, saltbuf, saltlen, iter,
+ keylen, key);
+- ret = PyString_FromStringAndSize(key, keylen);
++ ret = PyString_FromStringAndSize((char*)key, keylen);
+ OPENSSL_cleanse(key, keylen);
+ return ret;
+ }
+@@ -339,7 +339,7 @@
+ klen = EVP_BytesToKey(cipher, md, (unsigned char *)sbuf,
+ (unsigned char *)dbuf, dlen, iter,
+ key, NULL); /* Since we are not returning IV no need to derive it */
+- ret = PyString_FromStringAndSize(key, klen);
++ ret = PyString_FromStringAndSize((char*)key, klen);
+ return ret;
+ }
+
+@@ -435,7 +435,7 @@
+ PyErr_SetString(_evp_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+ }
+- ret = PyString_FromStringAndSize(sigbuf, siglen);
++ ret = PyString_FromStringAndSize((char*)sigbuf, siglen);
+ OPENSSL_cleanse(sigbuf, siglen);
+ OPENSSL_free(sigbuf);
+ return ret;
+@@ -513,7 +513,7 @@
+ PyErr_SetString(PyExc_ValueError, "EVP_PKEY as DER failed");
+ return NULL;
+ }
+- der = PyString_FromStringAndSize(pp, len);
++ der = PyString_FromStringAndSize((char*)pp, len);
+ OPENSSL_free(pp);
+ return der;
+ }
+Index: SWIG/_ssl.i
+===================================================================
+--- SWIG/_ssl.i (revision 695)
++++ SWIG/_ssl.i (working copy)
+@@ -17,13 +17,17 @@
+ %apply Pointer NONNULL { SSL_CTX * };
+ %apply Pointer NONNULL { SSL * };
+ %apply Pointer NONNULL { SSL_CIPHER * };
+-%apply Pointer NONNULL { STACK * };
++%apply Pointer NONNULL { STACK_OF(SSL_CIPHER) * };
++%apply Pointer NONNULL { STACK_OF(X509) * };
+ %apply Pointer NONNULL { BIO * };
+ %apply Pointer NONNULL { DH * };
+ %apply Pointer NONNULL { RSA * };
+ %apply Pointer NONNULL { EVP_PKEY *};
+ %apply Pointer NONNULL { PyObject *pyfunc };
+
++%rename(ssl_get_ciphers) SSL_get_ciphers;
++extern STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *ssl);
++
+ %rename(ssl_get_version) SSL_get_version;
+ extern const char *SSL_get_version(CONST SSL *);
+ %rename(ssl_get_error) SSL_get_error;
+@@ -668,29 +672,25 @@
+ return SSL_CIPHER_get_bits(c, NULL);
+ }
+
+-STACK *ssl_get_ciphers(SSL *ssl) {
+- return (STACK *)SSL_get_ciphers(ssl);
++int sk_ssl_cipher_num(STACK_OF(SSL_CIPHER) *stack) {
++ return sk_SSL_CIPHER_num(stack);
+ }
+
+-int sk_ssl_cipher_num(STACK *stack) {
+- return sk_num(stack);
++SSL_CIPHER *sk_ssl_cipher_value(STACK_OF(SSL_CIPHER) *stack, int idx) {
++ return sk_SSL_CIPHER_value(stack, idx);
+ }
+
+-SSL_CIPHER *sk_ssl_cipher_value(STACK *stack, int idx) {
+- return (SSL_CIPHER *)sk_value(stack, idx);
++STACK_OF(X509) *ssl_get_peer_cert_chain(SSL *ssl) {
++ return SSL_get_peer_cert_chain(ssl);
+ }
+
+-STACK *ssl_get_peer_cert_chain(SSL *ssl) {
+- return (STACK *)SSL_get_peer_cert_chain(ssl);
++int sk_x509_num(STACK_OF(X509) *stack) {
++ return sk_X509_num(stack);
+ }
+
+-int sk_x509_num(STACK *stack) {
+- return sk_num(stack);
++X509 *sk_x509_value(STACK_OF(X509) *stack, int idx) {
++ return sk_X509_value(stack, idx);
+ }
+-
+-X509 *sk_x509_value(STACK *stack, int idx) {
+- return (X509 *)sk_value(stack, idx);
+-}
+ %}
+
+ %threadallow i2d_ssl_session;
+Index: SWIG/_x509.i
+===================================================================
+--- SWIG/_x509.i (revision 695)
++++ SWIG/_x509.i (working copy)
+@@ -148,8 +148,15 @@
+ extern int X509_NAME_print_ex(BIO *, X509_NAME *, int, unsigned long);
+ %rename(x509_name_print_ex_fp) X509_NAME_print_ex_fp;
+ extern int X509_NAME_print_ex_fp(FILE *, X509_NAME *, int, unsigned long);
++
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++%rename(x509_name_hash) X509_NAME_hash_old;
++extern unsigned long X509_NAME_hash_old(X509_NAME *);
++#else
+ %rename(x509_name_hash) X509_NAME_hash;
+ extern unsigned long X509_NAME_hash(X509_NAME *);
++#endif
++
+ %rename(x509_name_get_index_by_nid) X509_NAME_get_index_by_NID;
+ extern int X509_NAME_get_index_by_NID(X509_NAME *, int, int);
+
+@@ -171,7 +178,7 @@
+ if (PyString_Check($input)) {
+ Py_ssize_t len;
+
+- $1 = PyString_AsString($input);
++ $1 = (unsigned char *)PyString_AsString($input);
+ len = PyString_Size($input);
+ if (len > INT_MAX) {
+ PyErr_SetString(PyExc_ValueError, "object too large");
+@@ -184,7 +191,7 @@
+ }
+ }
+ %rename(x509_name_entry_set_data) X509_NAME_ENTRY_set_data;
+-extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, CONST unsigned char *, int);
++extern int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *, int, CONST unsigned char *, int);
+ %typemap(in) (CONST unsigned char *, int);
+
+ %rename(x509_req_new) X509_REQ_new;
+@@ -230,7 +237,7 @@
+ %rename(x509_store_ctx_free) X509_STORE_CTX_free;
+ extern void X509_STORE_CTX_free(X509_STORE_CTX *);
+ %rename(x509_store_ctx_get1_chain) X509_STORE_CTX_get1_chain;
+-extern STACK *X509_STORE_CTX_get1_chain(X509_STORE_CTX *);
++extern STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *);
+
+ %rename(x509_extension_get_critical) X509_EXTENSION_get_critical;
+ extern int X509_EXTENSION_get_critical(X509_EXTENSION *);
+@@ -348,7 +355,7 @@
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ }
+ else {
+- ret = PyString_FromStringAndSize(buf, len);
++ ret = PyString_FromStringAndSize((char*)buf, len);
+ OPENSSL_free(buf);
+ }
+ return ret;
+@@ -435,12 +442,12 @@
+ }
+
+ int x509_name_set_by_nid(X509_NAME *name, int nid, PyObject *obj) {
+- return X509_NAME_add_entry_by_NID(name, nid, MBSTRING_ASC, PyString_AsString(obj), -1, -1, 0);
++ return X509_NAME_add_entry_by_NID(name, nid, MBSTRING_ASC, (unsigned char *)PyString_AsString(obj), -1, -1, 0);
+ }
+
+ /* x509_name_add_entry_by_txt */
+ int x509_name_add_entry_by_txt(X509_NAME *name, char *field, int type, char *bytes, int len, int loc, int set) {
+- return X509_NAME_add_entry_by_txt(name, field, type, bytes, len, loc, set);
++ return X509_NAME_add_entry_by_txt(name, field, type, (unsigned char *)bytes, len, loc, set);
+ }
+
+ PyObject *x509_name_get_der(X509_NAME *name)
+@@ -450,23 +457,23 @@
+ }
+
+ /* sk_X509_new_null() is a macro returning "STACK_OF(X509) *". */
+-STACK *sk_x509_new_null(void) {
+- return (STACK *)sk_X509_new_null();
++STACK_OF(X509) *sk_x509_new_null(void) {
++ return sk_X509_new_null();
+ }
+
+ /* sk_X509_free() is a macro. */
+-void sk_x509_free(STACK *stack) {
+- sk_X509_free((STACK_OF(X509) *)stack);
++void sk_x509_free(STACK_OF(X509) *stack) {
++ sk_X509_free(stack);
+ }
+
+ /* sk_X509_push() is a macro. */
+-int sk_x509_push(STACK *stack, X509 *x509) {
+- return sk_X509_push((STACK_OF(X509) *)stack, x509);
++int sk_x509_push(STACK_OF(X509) *stack, X509 *x509) {
++ return sk_X509_push(stack, x509);
+ }
+
+ /* sk_X509_pop() is a macro. */
+-X509 *sk_x509_pop(STACK *stack) {
+- return sk_X509_pop((STACK_OF(X509) *)stack);
++X509 *sk_x509_pop(STACK_OF(X509) *stack) {
++ return sk_X509_pop(stack);
+ }
+
+ int x509_store_load_locations(X509_STORE *store, const char *file) {
+@@ -493,21 +500,29 @@
+ return X509_REQ_set_version(x, version);
+ }
+
+-int x509_req_add_extensions(X509_REQ *req, STACK *exts) {
+- return X509_REQ_add_extensions(req, (STACK_OF(X509_EXTENSION) *)exts);
++int x509_req_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts) {
++ return X509_REQ_add_extensions(req, exts);
+ }
+
+-X509_NAME_ENTRY *x509_name_entry_create_by_txt( X509_NAME_ENTRY **ne, char *field, int type, char *bytes, int len) {
+- return X509_NAME_ENTRY_create_by_txt( ne, field, type, bytes, len);
++X509_NAME_ENTRY *x509_name_entry_create_by_txt(X509_NAME_ENTRY **ne, char *field, int type, char *bytes, int len) {
++ return X509_NAME_ENTRY_create_by_txt( ne, field, type, (unsigned char *)bytes, len);
+ }
+
+-LHASH *
+-x509v3_lhash(){
+- return lh_new(NULL,NULL);
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++LHASH_OF(CONF_VALUE)
++#else
++LHASH
++#endif
++*x509v3_lhash() {
++ return lh_new(NULL, NULL); /* Should probably be lh_CONF_VALUE_new but won't compile. */
+ }
+
+ X509V3_CTX *
+-x509v3_set_conf_lhash(LHASH * lhash){
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++x509v3_set_conf_lhash(LHASH_OF(CONF_VALUE) * lhash) {
++#else
++x509v3_set_conf_lhash(LHASH * lhash) {
++#endif
+ X509V3_CTX * ctx;
+ if (!(ctx=(X509V3_CTX *)PyMem_Malloc(sizeof(X509V3_CTX)))) {
+ PyErr_SetString(PyExc_MemoryError, "x509v3_set_conf_lhash");
+@@ -517,11 +532,20 @@
+ return ctx;
+ }
+
+-X509_EXTENSION *x509v3_ext_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value) {
++X509_EXTENSION *
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++x509v3_ext_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, char *name, char *value) {
++#else
++x509v3_ext_conf(LHASH *conf, X509V3_CTX *ctx, char *name, char *value) {
++#endif
+ X509_EXTENSION * ext = NULL;
+ ext = X509V3_EXT_conf(conf, ctx, name, value);
+ PyMem_Free(ctx);
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ lh_CONF_VALUE_free(conf);
++#else
+ lh_free(conf);
++#endif
+ return ext;
+ }
+
+@@ -543,33 +567,33 @@
+ }
+
+ /* sk_X509_EXTENSION_new_null is a macro. */
+-STACK *sk_x509_extension_new_null(void) {
+- return (STACK *)sk_X509_EXTENSION_new_null();
++STACK_OF(X509_EXTENSION) *sk_x509_extension_new_null(void) {
++ return sk_X509_EXTENSION_new_null();
+ }
+
+ /* sk_X509_EXTENSION_free() is a macro. */
+-void sk_x509_extension_free(STACK *stack) {
+- sk_X509_EXTENSION_free((STACK_OF(X509_EXTENSION) *)stack);
++void sk_x509_extension_free(STACK_OF(X509_EXTENSION) *stack) {
++ sk_X509_EXTENSION_free(stack);
+ }
+
+ /* sk_X509_EXTENSION_push() is a macro. */
+-int sk_x509_extension_push(STACK *stack, X509_EXTENSION *x509_ext) {
+- return sk_X509_EXTENSION_push((STACK_OF(X509_EXTENSION) *)stack, x509_ext);
++int sk_x509_extension_push(STACK_OF(X509_EXTENSION) *stack, X509_EXTENSION *x509_ext) {
++ return sk_X509_EXTENSION_push(stack, x509_ext);
+ }
+
+ /* sk_X509_EXTENSION_pop() is a macro. */
+-X509_EXTENSION *sk_x509_extension_pop(STACK *stack) {
+- return sk_X509_EXTENSION_pop((STACK_OF(X509_EXTENSION) *)stack);
++X509_EXTENSION *sk_x509_extension_pop(STACK_OF(X509_EXTENSION) *stack) {
++ return sk_X509_EXTENSION_pop(stack);
+ }
+
+ /* sk_X509_EXTENSION_num() is a macro. */
+-int sk_x509_extension_num(STACK *stack) {
+- return sk_X509_EXTENSION_num((STACK_OF(X509_EXTENSION) *)stack);
++int sk_x509_extension_num(STACK_OF(X509_EXTENSION) *stack) {
++ return sk_X509_EXTENSION_num(stack);
+ }
+
+ /* sk_X509_EXTENSION_value() is a macro. */
+-X509_EXTENSION *sk_x509_extension_value(STACK *stack, int i) {
+- return sk_X509_EXTENSION_value((STACK_OF(X509_EXTENSION) *)stack, i);
++X509_EXTENSION *sk_x509_extension_value(STACK_OF(X509_EXTENSION) *stack, int i) {
++ return sk_X509_EXTENSION_value(stack, i);
+ }
+
+ /* X509_STORE_CTX_get_app_data is a macro. */
+@@ -590,7 +614,7 @@
+ #define I2DTYPE int (*)()
+ #endif
+
+-STACK *
++STACK_OF(X509) *
+ make_stack_from_der_sequence(PyObject * pyEncodedString){
+ STACK_OF(X509) *certs;
+ Py_ssize_t encoded_string_len;
+@@ -606,7 +630,7 @@
+ return NULL;
+ }
+
+- certs = ASN1_seq_unpack((unsigned char *)encoded_string, encoded_string_len, (D2ITYPE)d2i_X509, (void(*)())X509_free );
++ certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
+ if (!certs) {
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+@@ -616,13 +640,13 @@
+ }
+
+ PyObject *
+-get_der_encoding_stack(STACK * stack){
++get_der_encoding_stack(STACK_OF(X509) *stack){
+ PyObject * encodedString;
+
+ unsigned char * encoding;
+ int len;
+
+- encoding = ASN1_seq_pack((STACK_OF(X509)*) stack, (I2DTYPE)i2d_X509, NULL, &len);
++ encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
+ if (!encoding) {
+ PyErr_SetString(_x509_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+Index: SWIG/_aes.i
+===================================================================
+--- SWIG/_aes.i (revision 695)
++++ SWIG/_aes.i (working copy)
+@@ -76,7 +76,7 @@
+ AES_encrypt((const unsigned char *)in, out, key);
+ else
+ AES_decrypt((const unsigned char *)in, out, key);
+- return PyString_FromStringAndSize(out, outlen);
++ return PyString_FromStringAndSize((char*)out, outlen);
+ }
+
+ int AES_type_check(AES_KEY *key) {
+Index: SWIG/_util.i
+===================================================================
+--- SWIG/_util.i (revision 695)
++++ SWIG/_util.i (working copy)
+@@ -48,7 +48,7 @@
+ PyErr_SetString(_util_err, ERR_reason_error_string(ERR_get_error()));
+ return NULL;
+ }
+- obj = PyString_FromStringAndSize(ret, len);
++ obj = PyString_FromStringAndSize((char*)ret, len);
+ OPENSSL_free(ret);
+ return obj;
+ }
+Index: SWIG/_m2crypto.i
+===================================================================
+--- SWIG/_m2crypto.i (revision 695)
++++ SWIG/_m2crypto.i (working copy)
+@@ -38,6 +38,19 @@
+ #define CONST098
+ #endif
+
++/* Bring in STACK_OF macro definition */
++%include <openssl/safestack.h>
++
++/* Bring in LHASH_OF macro definition */
++/* XXX Can't include lhash.h where LHASH_OF is defined, because it includes
++ XXX stdio.h etc. which we fail to include. So we have to (re)define
++ XXX LHASH_OF here instead.
++%include <openssl/lhash.h>
++*/
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++#define LHASH_OF(type) struct lhash_st_##type
++#endif
++
+ %include constraints.i
+ %include _threads.i
+ %include _lib.i
+Index: SWIG/_rand.i
+===================================================================
+--- SWIG/_rand.i (revision 695)
++++ SWIG/_rand.i (working copy)
+@@ -87,7 +87,7 @@
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+- PyTuple_SET_ITEM(tuple, 0, PyString_FromStringAndSize(blob, n));
++ PyTuple_SET_ITEM(tuple, 0, PyString_FromStringAndSize((char*)blob, n));
+ PyMem_Free(blob);
+ PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong((long)ret));
+ return tuple;
+Index: SWIG/_pkcs7.i
+===================================================================
+--- SWIG/_pkcs7.i (revision 695)
++++ SWIG/_pkcs7.i (working copy)
+@@ -12,7 +12,7 @@
+ %apply Pointer NONNULL { EVP_CIPHER * };
+ %apply Pointer NONNULL { EVP_PKEY * };
+ %apply Pointer NONNULL { PKCS7 * };
+-%apply Pointer NONNULL { STACK * };
++%apply Pointer NONNULL { STACK_OF(X509) * };
+ %apply Pointer NONNULL { X509 * };
+
+ %rename(pkcs7_new) PKCS7_new;
+@@ -54,8 +54,8 @@
+
+ %threadallow pkcs7_encrypt;
+ %inline %{
+-PKCS7 *pkcs7_encrypt(STACK *stack, BIO *bio, EVP_CIPHER *cipher, int flags) {
+- return PKCS7_encrypt((STACK_OF(X509) *)stack, bio, cipher, flags);
++PKCS7 *pkcs7_encrypt(STACK_OF(X509) *stack, BIO *bio, EVP_CIPHER *cipher, int flags) {
++ return PKCS7_encrypt(stack, bio, cipher, flags);
+ }
+
+ PyObject *pkcs7_decrypt(PKCS7 *pkcs7, EVP_PKEY *pkey, X509 *cert, int flags) {
+@@ -96,14 +96,14 @@
+
+ %threadallow pkcs7_sign1;
+ %inline %{
+-PKCS7 *pkcs7_sign1(X509 *x509, EVP_PKEY *pkey, STACK *stack, BIO *bio, int flags) {
+- return PKCS7_sign(x509, pkey, (STACK_OF(X509) *)stack, bio, flags);
++PKCS7 *pkcs7_sign1(X509 *x509, EVP_PKEY *pkey, STACK_OF(X509) *stack, BIO *bio, int flags) {
++ return PKCS7_sign(x509, pkey, stack, bio, flags);
+ }
+ %}
+
+ %threadallow pkcs7_verify1;
+ %inline %{
+-PyObject *pkcs7_verify1(PKCS7 *pkcs7, STACK *stack, X509_STORE *store, BIO *data, int flags) {
++PyObject *pkcs7_verify1(PKCS7 *pkcs7, STACK_OF(X509) *stack, X509_STORE *store, BIO *data, int flags) {
+ int outlen;
+ char *outbuf;
+ BIO *bio;
+@@ -113,7 +113,7 @@
+ PyErr_SetString(PyExc_MemoryError, "pkcs7_verify1");
+ return NULL;
+ }
+- if (!PKCS7_verify(pkcs7, (STACK_OF(X509) *)stack, store, data, bio, flags)) {
++ if (!PKCS7_verify(pkcs7, stack, store, data, bio, flags)) {
+ PyErr_SetString(_pkcs7_err, ERR_reason_error_string(ERR_get_error()));
+ BIO_free(bio);
+ return NULL;
+@@ -131,7 +131,7 @@
+ return ret;
+ }
+
+-PyObject *pkcs7_verify0(PKCS7 *pkcs7, STACK *stack, X509_STORE *store, int flags) {
++PyObject *pkcs7_verify0(PKCS7 *pkcs7, STACK_OF(X509) *stack, X509_STORE *store, int flags) {
+ return pkcs7_verify1(pkcs7, stack, store, NULL, flags);
+ }
+ %}
+@@ -229,7 +229,7 @@
+ }
+
+ /* return STACK_OF(X509)* */
+-STACK *pkcs7_get0_signers(PKCS7 *p7, STACK *certs, int flags) {
++STACK_OF(X509) *pkcs7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags) {
+ return PKCS7_get0_signers(p7, certs, flags);
+ }
+
diff --git a/abs/core/python_modules/python-mako/PKGBUILD b/abs/core/python_modules/python-mako/PKGBUILD
new file mode 100644
index 0000000..987116a
--- /dev/null
+++ b/abs/core/python_modules/python-mako/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 87883 2010-08-18 15:32:33Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+pkgname=python-mako
+pkgver=0.3.4
+pkgrel=5
+pkgdesc="Hyperfast and lightweight templating for the Python platform."
+arch=('any')
+url="http://www.makotemplates.org/"
+license=('custom')
+depends=('python2' 'python-markupsafe>=0.9.2' 'python-beaker>=1.5.4')
+makedepends=('setuptools')
+source=(http://www.makotemplates.org/downloads/Mako-$pkgver.tar.gz)
+md5sums=('2ae56ccc6c9b5c4e2e67f42b69475009')
+
+build() {
+ cd "$srcdir/Mako-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1 || return 1
+ install -D LICENSE "$pkgdir/usr/share/licenses/python-mako/COPYING" || return 1
+}
+
diff --git a/abs/core/python_modules/python-markupsafe/PKGBUILD b/abs/core/python_modules/python-markupsafe/PKGBUILD
new file mode 100644
index 0000000..f3563c9
--- /dev/null
+++ b/abs/core/python_modules/python-markupsafe/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 87877 2010-08-18 15:28:18Z ibiru $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Alex Anthony <alex.anthony28991@gmail.com>
+
+pkgname=python-markupsafe
+pkgver=0.9.2
+pkgrel=3
+pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python"
+arch=('i686' 'x86_64')
+url="http://pypi.python.org/pypi/MarkupSafe"
+license=('custom')
+depends=('python2')
+makedepends=('setuptools')
+source=(http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz)
+md5sums=('69b72d1afdd9e808f9c1ef65f819c7a6')
+
+build() {
+ cd ${srcdir}/MarkupSafe-${pkgver}
+ python2 setup.py install --root=${pkgdir} --optimize=1
+
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/abs/core/python_modules/python-netifaces/PKGBUILD b/abs/core/python_modules/python-netifaces/PKGBUILD
new file mode 100644
index 0000000..258a9c2
--- /dev/null
+++ b/abs/core/python_modules/python-netifaces/PKGBUILD
@@ -0,0 +1,24 @@
+#Maintainer: Gergely Imreh <imrehg(at)gmail(dot)com>
+#Contributor: Gergely Imreh <imrehg(at)gmail(dot)com>
+pkgname=python-netifaces
+_orig_name=netifaces
+pkgver=0.5
+pkgrel=3
+pkgdesc="Portable module to access network interface information in Python."
+depends=('python2')
+makedepend=('gcc')
+arch=('i686' 'x86_64')
+url="http://alastairs-place.net/netifaces/"
+license=('MIT')
+provides=('netifaces' 'python-netifaces')
+source=("http://alastairs-place.net/2007/03/netifaces/${_orig_name}-${pkgver}.tar.gz")
+build() {
+ cd "${srcdir}/${_orig_name}-${pkgver}"
+ python2 setup.py install --root "${pkgdir}" || return 1
+
+ # Install license, that is inside the readme file
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 README "${pkgdir}/usr/share/licenses/${pkgname}/README" || return 1
+}
+md5sums=('ea662a4b4c7db5d1631cc33bf68eb030')
+
diff --git a/abs/core/python_modules/python-nose/PKGBUILD b/abs/core/python_modules/python-nose/PKGBUILD
new file mode 100644
index 0000000..e48c434
--- /dev/null
+++ b/abs/core/python_modules/python-nose/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: $
+# Maintainer:
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: Cilyan Olowen <gaknar@gmail.com>
+
+pkgname=python-nose
+pkgver=0.11.3
+pkgrel=3
+pkgdesc="A discovery-based unittest extension"
+arch=('any')
+url="http://www.somethingaboutorange.com/mrl/projects/nose/"
+license=('LGPL2')
+depends=('setuptools')
+source=("http://www.somethingaboutorange.com/mrl/projects/nose/nose-${pkgver}.tar.gz")
+md5sums=('7f1dc53750811f78bedef9e14a4bc5a5')
+
+build() {
+ cd "${srcdir}/nose-${pkgver}"
+ sed -i -e "s:man/man1:share/man/man1:g" setup.py
+}
+
+package() {
+ cd "${srcdir}/nose-${pkgver}"
+ python2 setup.py install --prefix=/usr --root=${pkgdir} || return 1
+}
+
diff --git a/abs/core/python_modules/python-numeric/PKGBUILD b/abs/core/python_modules/python-numeric/PKGBUILD
new file mode 100644
index 0000000..2c8ea21
--- /dev/null
+++ b/abs/core/python_modules/python-numeric/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: SpepS <dreamspepser at yahoo dot it>
+# Contributor: arjan <arjan@archlinux.org>
+# Contributor orelien <aurelien.foret@wanadoo.fr>
+
+pkgname=python-numeric
+pkgver=24.2
+pkgrel=6
+pkgdesc="Numerical Python adds a fast array facility to the Python language"
+arch=('i686' 'x86_64')
+url="http://numeric.scipy.org/"
+license=('custom')
+depends=('python2')
+source=(http://downloads.sourceforge.net/sourceforge/numpy/Numeric-$pkgver.tar.gz)
+md5sums=('2ae672656e06716a149acb048cca3093')
+
+build() {
+
+ cd "$srcdir/Numeric-$pkgver"
+
+ # Python2 fix
+ sed \
+ -e "s_\(env python\).*_\12_" \
+ -e "s_\(bin/python\).*_\12_" \
+ -i `grep -rlE "(env python|bin/python)" .`
+}
+
+package() {
+
+ cd "$srcdir/Numeric-$pkgver"
+
+ # Install
+ python2 setup.py install --prefix=/usr --root="$pkgdir/"
+ install -D -m644 Legal.htm "$pkgdir/usr/share/licenses/$pkgname/Legal.htm"
+}
+
diff --git a/abs/core/python_modules/python-numpy/PKGBUILD b/abs/core/python_modules/python-numpy/PKGBUILD
new file mode 100644
index 0000000..57b41f5
--- /dev/null
+++ b/abs/core/python_modules/python-numpy/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 95257 2010-10-17 20:17:04Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+
+pkgname=python-numpy
+pkgver=1.5.0
+pkgrel=3
+pkgdesc="Scientific tools for Python"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://numpy.scipy.org/"
+depends=('lapack' 'python2')
+makedepends=('python-nose' 'gcc-fortran')
+optdepends=('python-nose: test suite')
+source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz)
+md5sums=('3a8bfdc434df782d647161c48943ee09')
+
+build() {
+ cd "${srcdir}/numpy-${pkgver}"
+
+ export Atlas=None
+ export LDFLAGS="$LDFLAGS -shared"
+ python2 setup.py config_fc --fcompiler=gnu95 build
+}
+
+package() {
+ cd "${srcdir}/numpy-${pkgver}"
+ python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}"
+
+ install -D -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find $pkgdir -name '*.py')
+}
diff --git a/abs/core/python_modules/python-oauth/PKGBUILD b/abs/core/python_modules/python-oauth/PKGBUILD
new file mode 100644
index 0000000..1404fec
--- /dev/null
+++ b/abs/core/python_modules/python-oauth/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Snowknight (hopkinsth@gmail.com)
+pkgname=python-oauth
+pkgver=1.0.1
+pkgrel=6
+pkgdesc="An open protocol to allow API authentication in a simple and standard method from desktop and web applications."
+arch=('any')
+url="http://code.google.com/p/oauth/"
+license=('MIT')
+depends=('python2')
+#makedepends=('python2-distribute')
+makedepends=('setuptools')
+source=(http://pypi.python.org/packages/source/o/oauth/oauth-${pkgver}.tar.gz)
+md5sums=('30ed3cc8c11d7841a89feab437aabf81')
+sha1sums=('b2d7609e4852b33d0d33f0bc6ae5cab8fadca014')
+
+build() {
+ cd ${srcdir}/oauth-${pkgver}
+
+ python2 setup.py build || return 1
+}
+package() {
+ cd ${srcdir}/oauth-${pkgver}
+ python2 setup.py install --root=${pkgdir} || return 1
+
+ install -Dm644 LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/abs/core/python_modules/python-opengl/LICENSE b/abs/core/python_modules/python-opengl/LICENSE
new file mode 100644
index 0000000..11d88fb
--- /dev/null
+++ b/abs/core/python_modules/python-opengl/LICENSE
@@ -0,0 +1,30 @@
+# Copyright (c) 2006-2008 Alex Holkner
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of pyglet nor the names of its
+# contributors may be used to endorse or promote products
+# derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
diff --git a/abs/core/python_modules/python-opengl/PKGBUILD b/abs/core/python_modules/python-opengl/PKGBUILD
new file mode 100644
index 0000000..e4ff382
--- /dev/null
+++ b/abs/core/python_modules/python-opengl/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 89543 2010-09-01 17:18:01Z remy $
+# Contributor: Josh Taylor <joshtaylor.mail@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=python-opengl
+pkgver=3.0.1
+pkgrel=3
+pkgdesc="The cross platform Python binding to OpenGL and related APIs"
+url="http://pyopengl.sourceforge.net"
+license=('BSD')
+arch=('any')
+depends=('python2' 'tk' 'freeglut' 'setuptools')
+provides=('pyopengl' 'python-pyopengl')
+conflicts=('pyopengl' 'python-pyopengl')
+source=(http://downloads.sourceforge.net/pyopengl/PyOpenGL-${pkgver}.tar.gz
+ 'LICENSE')
+md5sums=('221d4a6a0928fcfeef26751370ec5f52'
+ '0b53c508a63e5dbaf44cdfb0fa103b3a')
+
+build() {
+ /bin/true
+}
+
+package() {
+ cd ${srcdir}/PyOpenGL-${pkgver}
+ python2 setup.py install --root=${pkgdir} || return 1
+ install -Dm644 ${srcdir}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/core/python_modules/python-parted/PKGBUILD b/abs/core/python_modules/python-parted/PKGBUILD
new file mode 100644
index 0000000..862405c
--- /dev/null
+++ b/abs/core/python_modules/python-parted/PKGBUILD
@@ -0,0 +1,28 @@
+pkgname=python-parted
+__pkgname=pyparted
+pkgver=2.0.12
+pkgver=3.4
+pkgrel=4
+pkgdesc="Python bindings for libparted"
+arch=('i686' 'x86_64')
+license=('LGPL' 'MPL')
+depends=('python2' 'parted' 'python-decorator')
+options=('!libtool')
+source=(https://fedorahosted.org/releases/p/y/pyparted/pyparted-${pkgver}.tar.gz)
+url="https://fedorahosted.org/pyparted/"
+
+build() {
+ cd "${srcdir}/${__pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
+ make || return 1
+}
+package(){
+ cd "${srcdir}/${__pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+}
+md5sums=('8fc485db0b88e59bbdfc4be8ba4068fa')
+md5sums=('cc064f12110a6f0d0c236ee7b18fee88')
+md5sums=('f244958142c9fd3ff5ee95f578e2f76d')
+md5sums=('7f5d06bd6336f3a699840d8639ab8a0d')
+md5sums=('f244958142c9fd3ff5ee95f578e2f76d')
+md5sums=('cc064f12110a6f0d0c236ee7b18fee88')
diff --git a/abs/core/python_modules/python-pexpect/PKGBUILD b/abs/core/python_modules/python-pexpect/PKGBUILD
new file mode 100644
index 0000000..938e3cb
--- /dev/null
+++ b/abs/core/python_modules/python-pexpect/PKGBUILD
@@ -0,0 +1,17 @@
+# Maintainer: Aaron Schaefer <aaron@elasticdog.com>
+pkgname=python-pexpect
+pkgver=2.3
+pkgrel=3
+pkgdesc='A pure Python Expect-like module'
+arch=('i686' 'x86_64')
+url='http://pexpect.sourceforge.net/'
+license=('MIT')
+depends=('python2')
+source=("http://downloads.sourceforge.net/sourceforge/pexpect/pexpect-$pkgver.tar.gz")
+md5sums=('bf107cf54e67bc6dec5bea1f3e6a65c3')
+
+build() {
+ cd $startdir/src/pexpect-$pkgver
+ python2 setup.py install --root=$startdir/pkg || return 1
+ install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-pybluez/PKGBUILD b/abs/core/python_modules/python-pybluez/PKGBUILD
new file mode 100644
index 0000000..f667d66
--- /dev/null
+++ b/abs/core/python_modules/python-pybluez/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 26298 2010-09-14 17:18:19Z schuay $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: cs-cam - me.at.camdaniel.com
+
+pkgname=python-pybluez
+pkgver=0.18
+pkgrel=3
+pkgdesc="Python wrapper for the BlueZ Bluetooth stack"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pybluez/"
+license=('GPL')
+provides=('pybluez')
+conflicts=('pybluez')
+replaces=('pybluez')
+depends=('python2' 'bluez')
+source=(http://pybluez.googlecode.com/files/PyBluez-$pkgver.tar.gz)
+md5sums=('be8c8ce615c3189fda1aaf3d568314b2')
+
+build() {
+ cd $srcdir/PyBluez-$pkgver
+ python2 setup.py install --root=$pkgdir
+ ln -s bluetooth/_bluetooth.so $pkgdir/usr/lib/python2.6/site-packages/_bluetooth.so
+}
+
diff --git a/abs/core/python_modules/python-pycurl/PKGBUILD b/abs/core/python_modules/python-pycurl/PKGBUILD
new file mode 100644
index 0000000..84da9ef
--- /dev/null
+++ b/abs/core/python_modules/python-pycurl/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 25898 2010-09-11 12:22:23Z andrea $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: kontrast <kontr4st@gmail.com>
+
+pkgname=python-pycurl
+pkgver=7.19.0
+pkgrel=7
+pkgdesc="A Python interface to libcurl"
+arch=('i686' 'x86_64')
+url="http://pycurl.sourceforge.net"
+license=('GPL')
+depends=('python2' 'curl')
+replaces=('pycurl')
+provides=('pycurl')
+source=("http://pycurl.sourceforge.net/download/pycurl-${pkgver}.tar.gz")
+md5sums=('919d58fe37e69fe87ce4534d8b6a1c7b')
+
+package() {
+ cd ${srcdir}/pycurl-${pkgver}
+ python2 setup.py install --curl-config=/usr/bin/curl-config --prefix ${pkgdir}/usr
+}
+
diff --git a/abs/core/python_modules/python-pymedia/PKGBUILD b/abs/core/python_modules/python-pymedia/PKGBUILD
new file mode 100644
index 0000000..5433471
--- /dev/null
+++ b/abs/core/python_modules/python-pymedia/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: TDY <tdy@gmx.com>
+
+pkgname=python-pymedia
+pkgver=1.3.7.3
+pkgrel=2
+pkgdesc="A Python library for accessing and manipulating multimedia files"
+arch=('i686' 'x86_64')
+url="http://pymedia.org/"
+license=('LGPL')
+depends=('alsa-lib' 'ffmpeg-svn' 'python2')
+optdepends=('faad2: AAC support'
+ 'lame: MP3 support'
+ 'libogg: Ogg support'
+ 'libvorbis: Vorbis support')
+source=(http://downloads.sourceforge.net/${pkgname/*-}/${pkgname/*-}-$pkgver.tar.gz
+ ${pkgname/*-}-$pkgver-amd64-gentoo.diff)
+md5sums=('2f4930c63866c97af5090b176e2a118a'
+ '3137e65e1208db98e404ee894fcd744a')
+
+build() {
+ cd "$srcdir/${pkgname/*-}-$pkgver"
+ patch -Np1 -i ../${pkgname/*-}-$pkgver-amd64-gentoo.diff || return 1
+
+ find "$srcdir/${pkgname/*-}-$pkgver" -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" || return 1
+ find "$srcdir/${pkgname/*-}-$pkgver" -name '*.py' | \
+ xargs sed -i "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" || return 1
+
+ python2 setup.py build || return 1
+}
+
+package() {
+ cd "$srcdir/${pkgname/*-}-$pkgver"
+ python2 setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
diff --git a/abs/core/python_modules/python-pymedia/pymedia-1.3.7.3-amd64-gentoo.diff b/abs/core/python_modules/python-pymedia/pymedia-1.3.7.3-amd64-gentoo.diff
new file mode 100644
index 0000000..801eccf
--- /dev/null
+++ b/abs/core/python_modules/python-pymedia/pymedia-1.3.7.3-amd64-gentoo.diff
@@ -0,0 +1,64 @@
+diff -ru pymedia-1.3.7.3/audio/inttypes.h pymedia-1.3.7.3-amd64/audio/inttypes.h
+--- pymedia-1.3.7.3/audio/inttypes.h 2006-06-13 13:32:22.000000000 -0700
++++ pymedia-1.3.7.3-amd64/audio/inttypes.h 2008-03-26 08:05:57.000000000 -0700
+@@ -2,6 +2,7 @@
+ #if !defined( __INTTYPES_H__ )
+ #define __INTTYPES_H__
+
++#include <stdint.h>
+ #if defined( _STDINT_H )
+
+ typedef unsigned short UINT16;
+diff -ru pymedia-1.3.7.3/setup.py pymedia-1.3.7.3-amd64/setup.py
+--- pymedia-1.3.7.3/setup.py 2006-06-19 23:04:43.000000000 -0700
++++ pymedia-1.3.7.3-amd64/setup.py 2008-03-26 08:16:04.000000000 -0700
+@@ -216,7 +216,7 @@
+ FILES[ 'video.vcodec' ][ 'libavcodec' ]+= NONMMX_FILES
+ else:
+ print 'Using UNIX configuration...\n'
+- disable_fPIC()
++ #disable_fPIC()
+ dep= config.Dependency_unix
+ inc_hunt = [
+ '/usr/include',
+@@ -224,13 +224,13 @@
+ '/usr/local/include',
+ '/usr/local/include/lame',]
+ lib_hunt = [ '/usr/lib64', '/usr/lib', '/usr/local/lib64', '/usr/local/lib' ]
+- LIBS= []
++ LIBS= ['avcodec', 'avformat']
+ DEFINES+= [
+ ('PATH_DEV_DSP', '"/dev/dsp"' ),
+ ('PATH_DEV_MIXER','"/dev/mixer"' ),
+ ('_FILE_OFFSET_BITS',64),
+ ('ACCEL_DETECT',1),
+- ('HAVE_MMX', '1' ),
++ ('HAVE_LRINTF', '1' ),
+ ]
+ if sys.platform== 'cygwin':
+ DEFINES+= [
+@@ -243,13 +243,13 @@
+ ('DVD_STRUCT_IN_LINUX_CDROM_H', '1' ),
+ ]
+
+- FILES[ 'video.vcodec' ][ 'libavcodec' ]+= MMX_FILES
++ FILES[ 'video.vcodec' ][ 'libavcodec' ]#+= MMX_FILES
+
+ DEPS = [
+ dep('OGG', 'libogg-[1-9].*', 'ogg/ogg.h', 'libogg', 'CONFIG_VORBIS').configure(inc_hunt,lib_hunt),
+ dep('VORBIS', 'libvorbis-[1-9].*', 'vorbis/codec.h', 'libvorbis', 'CONFIG_VORBIS' ).configure(inc_hunt,lib_hunt),
+ dep('FAAD', 'libfaad2', 'faad.h', 'libfaad', 'CONFIG_FAAD').configure(inc_hunt,lib_hunt),
+- dep('MP3LAME', 'lame-3.95.*', 'lame.h', 'libmp3lame', 'CONFIG_MP3LAME').configure(inc_hunt,lib_hunt),
++ dep('MP3LAME', 'lame-3.96.*', 'lame.h', 'libmp3lame', 'CONFIG_MP3LAME').configure(inc_hunt,lib_hunt),
+ dep('VORBISENC', 'libvorbis-[1-9].*','vorbis/vorbisenc.h','libvorbisenc', 'CONFIG_VORBIS').configure(inc_hunt,lib_hunt),
+ dep('ALSA', 'libasound','alsa/asoundlib.h','libasound', 'CONFIG_ALSA').configure(inc_hunt,lib_hunt),
+ ]
+@@ -260,7 +260,7 @@
+ DEFINES+= [ ( x.define, None ) for x in DEPS ]+ [ ( 'HAVE_AV_CONFIG_H', None ), ( 'UDF_CACHE', 1 ) ]
+ LIBS+= [ x.lib for x in DEPS ]
+
+-choice = raw_input('Continue building '+MODULE_NAME+' ? [Y,n]:')
++choice = 'Y'
+ if choice== 'n':
+ print 'To start installation please run: \n\tsetup.py install and press Enter when prompted\n'
+ sys.exit()
diff --git a/abs/core/python_modules/python-pyserial/PKGBUILD b/abs/core/python_modules/python-pyserial/PKGBUILD
new file mode 100644
index 0000000..43c5b87
--- /dev/null
+++ b/abs/core/python_modules/python-pyserial/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 29428 2010-10-14 09:13:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Douglas Soares de Andrade <dsandrade@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
+
+pkgname=python-pyserial
+pkgver=2.5
+pkgrel=3
+pkgdesc="Multiplatform Serial Port Module for Python"
+arch=('any')
+url="http://pyserial.sf.net"
+license=('custom:PYTHON')
+depends=('python2')
+source=(http://downloads.sourceforge.net/sourceforge/pyserial/pyserial-$pkgver.tar.gz)
+md5sums=('34340820710239bea2ceca7f43ef8cab')
+
+build() {
+ cd $srcdir/pyserial-$pkgver
+ python2 setup.py install --root=$pkgdir
+ install -D -m644 LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python-pysqlite/ChangeLog b/abs/core/python_modules/python-pysqlite/ChangeLog
new file mode 100644
index 0000000..12c0ad0
--- /dev/null
+++ b/abs/core/python_modules/python-pysqlite/ChangeLog
@@ -0,0 +1,13 @@
+
+2009-08-06 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to: 2.5.5
+
+2009-07-19 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.5.5
+
+2008-07-15 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.4.1
+
diff --git a/abs/core/python_modules/python-pysqlite/PKGBUILD b/abs/core/python_modules/python-pysqlite/PKGBUILD
new file mode 100644
index 0000000..4a45ba5
--- /dev/null
+++ b/abs/core/python_modules/python-pysqlite/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 89652 2010-09-02 20:47:02Z remy $
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=python-pysqlite
+pkgver=2.6.0
+pkgrel=3
+pkgdesc="A Python DB-API 2.0 interface for the SQLite embedded relational database engine"
+license=('custom')
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/pysqlite/"
+depends=('python2' 'sqlite3')
+replaces=('pysqlite2')
+source=(http://pysqlite.googlecode.com/files/pysqlite-${pkgver}.tar.gz \
+ setup.cfg)
+md5sums=('fc92618b3b39d02e6ff10dc467c36640'
+ '86dd356c65afd14a22f2f8f64a26441e')
+build() {
+ cd ${srcdir}/pysqlite-${pkgver}
+ cp ${srcdir}/setup.cfg .
+ python2 setup.py install --root=${pkgdir}
+}
+
+package() {
+ cd ${srcdir}/pysqlite-${pkgver}
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rm -r ${pkgdir}/usr/pysqlite2-doc
+}
diff --git a/abs/core/python_modules/python-pysqlite/setup.cfg b/abs/core/python_modules/python-pysqlite/setup.cfg
new file mode 100644
index 0000000..ba6c770
--- /dev/null
+++ b/abs/core/python_modules/python-pysqlite/setup.cfg
@@ -0,0 +1,5 @@
+[build_ext]
+define=
+include_dirs=/usr/include
+library_dirs=/usr/lib
+libraries=sqlite3
diff --git a/abs/core/python_modules/python-simplejson/ChangeLog b/abs/core/python_modules/python-simplejson/ChangeLog
new file mode 100644
index 0000000..4a5d1d9
--- /dev/null
+++ b/abs/core/python_modules/python-simplejson/ChangeLog
@@ -0,0 +1,5 @@
+2010-05-15 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.1.1
+
+2010-03-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release 2.1.0
diff --git a/abs/core/python_modules/python-simplejson/PKGBUILD b/abs/core/python_modules/python-simplejson/PKGBUILD
new file mode 100644
index 0000000..05e2b1b
--- /dev/null
+++ b/abs/core/python_modules/python-simplejson/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 26298 2010-09-14 17:18:19Z schuay $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: David Moore <davidm@sjsoft.com>
+
+pkgname=python-simplejson
+pkgver=2.1.1
+pkgrel=3
+pkgdesc="Simple, fast, extensible JSON encoder/decoder for Python"
+license=('MIT')
+arch=('any')
+url="http://undefined.org/python/#simplejson"
+depends=('python2')
+makedepends=('setuptools')
+source=(http://pypi.python.org/packages/source/s/simplejson/simplejson-${pkgver}.tar.gz)
+md5sums=('0bbe3a2e5e4cac040013733aca159d89')
+
+build() {
+ cd ${srcdir}/simplejson-${pkgver}
+
+ python2 setup.py install --root=${pkgdir}
+
+# License
+ install -Dm644 ${srcdir}/simplejson-${pkgver}/LICENSE.txt \
+ ${pkgdir}/usr/share/licenses/python-simplejson/LICENSE
+}
diff --git a/abs/core/python_modules/pyusb/PKGBUILD b/abs/core/python_modules/pyusb/PKGBUILD
new file mode 100644
index 0000000..d9349ec
--- /dev/null
+++ b/abs/core/python_modules/pyusb/PKGBUILD
@@ -0,0 +1,18 @@
+# Contributor: Jason Giangrande <jgiangrande@clarku.edu>
+pkgname=pyusb
+pkgver=0.4.3
+pkgrel=4
+pkgdesc="A native Python module written in C which provides USB access."
+arch=('i686' 'x86_64')
+url="http://pyusb.berlios.de/"
+license=('GPL')
+depends=('python2' 'libusb')
+makedepends=('setuptools')
+source=(http://downloads.sourceforge.net/project/pyusb/PyUSB%200.x/$pkgver/pyusb-$pkgver.tar.gz)
+md5sums=('a1a43bc6407caccbc22073c56439aa06')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ python2 setup.py install -f --root="${pkgdir}" || return 1
+}
+
diff --git a/abs/core/python_modules/pyxdg/PKGBUILD b/abs/core/python_modules/pyxdg/PKGBUILD
new file mode 100644
index 0000000..a3aca49
--- /dev/null
+++ b/abs/core/python_modules/pyxdg/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 89531 2010-09-01 15:23:06Z remy $
+# Maintainer: Hugo Doria <hugo@archlinux.org>
+# Contributor: Mario A. Vazquez <mario_vazq@hotmail.com>
+
+pkgname=pyxdg
+pkgver=0.19
+pkgrel=3
+pkgdesc="Python library to access freedesktop.org standards."
+arch=('any')
+url="http://freedesktop.org/Software/pyxdg"
+license=("LGPL")
+depends=('python2')
+source=(http://www.freedesktop.org/~lanius/${pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ python2 setup.py install --prefix=/usr --root=${pkgdir} || return 1
+}
+md5sums=('9f33542e846d0fc1e0bfa992a8555b0a')
+