diff options
-rw-r--r-- | abs/core-testing/python/PKGBUILD | 36 | ||||
-rw-r--r-- | abs/core-testing/python/python-2.6-db-4.8.patch | 123 |
2 files changed, 142 insertions, 17 deletions
diff --git a/abs/core-testing/python/PKGBUILD b/abs/core-testing/python/PKGBUILD index 16ebac5..6de8863 100644 --- a/abs/core-testing/python/PKGBUILD +++ b/abs/core-testing/python/PKGBUILD @@ -1,42 +1,41 @@ -# $Id: PKGBUILD 20912 2008-12-07 08:52:24Z allan $ +# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributer: Jason Chu <jason@archlinux.org> pkgname=python -pkgver=2.6.1 -pkgrel=1 +pkgver=2.6.5 +pkgrel=3 _pybasever=2.6 pkgdesc="A high-level scripting language" arch=('i686' 'x86_64') -license=('custom') +license=('PSF') url="http://www.python.org" -depends=('db' 'bzip2' 'gdbm' 'openssl>=0.9.8d' 'zlib') -makedepends=('tk>=8.5.0' 'sqlite3') +depends=('db>=4.8' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3') +makedepends=('tk>=8.5.0') optdepends=('tk: for IDLE, pynche and modulator') -provides=('python-elementtree' 'python-ctypes') +provides=('python2' 'python-elementtree' 'python-ctypes') replaces=('python-elementtree' 'python-ctypes') source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2 python-2.6-internal-expat.patch - python-2.6-gdbm.patch + python-2.6-db-4.8.patch modulator-launcher pynche-launcher) -md5sums=('e81c2f0953aa60f8062c05a4673f2be0' +md5sums=('6bef0417e71a1a1737ccf5750420fdb3' '993800dbcc0c4f199c1ceee998a06e71' - '13fab4bb2cacbc433e62d7191a17f71e' + '10eb5449ead95b9cb13eae9f9a65894e' 'b4a531570415280dc406c8d5c1fa8d83' '9f731b9033db285132a3524fb36409e7') - build() { cd ${srcdir}/Python-${pkgver} patch -Np0 -i ${srcdir}/python-2.6-internal-expat.patch - patch -Np1 -i ${srcdir}/python-2.6-gdbm.patch + #http://bugs.python.org/issue6949 + patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch + + export OPT="${CFLAGS}" ./configure --prefix=/usr --enable-shared --with-threads --enable-unicode - - # temporary backwards compatibility stuff... - sed -i 's#SITEPATH=#SITEPATH=:/usr/lib/python2.5/site-packages#' Makefile make || return 1 make DESTDIR=${pkgdir} install @@ -45,6 +44,9 @@ build() { 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 @@ -62,8 +64,8 @@ build() { install -m755 Tools/i18n/msgfmt.py ${pkgdir}/usr/bin/ mkdir -p ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts - install Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/ - install Tools/scripts/*py ${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/ # license install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE diff --git a/abs/core-testing/python/python-2.6-db-4.8.patch b/abs/core-testing/python/python-2.6-db-4.8.patch new file mode 100644 index 0000000..2032f92 --- /dev/null +++ b/abs/core-testing/python/python-2.6-db-4.8.patch @@ -0,0 +1,123 @@ +Index: setup.py +=================================================================== +--- setup.py (revision 74955) ++++ setup.py (working copy) +@@ -695,7 +695,7 @@ + # a release. Most open source OSes come with one or more + # versions of BerkeleyDB already installed. + +- max_db_ver = (4, 7) ++ max_db_ver = (4, 8) + min_db_ver = (3, 3) + db_setup_debug = False # verbose debug prints from this script? + +Index: Modules/_bsddb.c +=================================================================== +--- Modules/_bsddb.c (revision 74955) ++++ Modules/_bsddb.c (working copy) +@@ -215,7 +215,11 @@ + #define DB_BUFFER_SMALL ENOMEM + #endif + ++#if (DBVER < 48) ++#define DB_GID_SIZE DB_XIDDATASIZE ++#endif + ++ + /* --------------------------------------------------------------------- */ + /* Structure definitions */ + +@@ -4501,7 +4505,11 @@ + DBTxnObject *txn; + #define PREPLIST_LEN 16 + DB_PREPLIST preplist[PREPLIST_LEN]; ++#if (DBVER < 48) + long retp; ++#else ++ u_int32_t retp; ++#endif + + CHECK_ENV_NOT_CLOSED(self); + +@@ -4522,7 +4530,7 @@ + flags=DB_NEXT; /* Prepare for next loop pass */ + for (i=0; i<retp; i++) { + gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid), +- DB_XIDDATASIZE); ++ DB_GID_SIZE); + if (!gid) { + Py_DECREF(list); + return NULL; +@@ -5047,6 +5055,7 @@ + } + + ++#if (DBVER < 48) + static PyObject* + DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs) + { +@@ -5068,6 +5077,7 @@ + RETURN_IF_ERR(); + RETURN_NONE(); + } ++#endif + + static PyObject* + DBEnv_set_verbose(DBEnvObject* self, PyObject* args) +@@ -5947,9 +5957,9 @@ + if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size)) + return NULL; + +- if (gid_size != DB_XIDDATASIZE) { ++ if (gid_size != DB_GID_SIZE) { + PyErr_SetString(PyExc_TypeError, +- "gid must be DB_XIDDATASIZE bytes long"); ++ "gid must be DB_GID_SIZE bytes long"); + return NULL; + } + +@@ -6539,8 +6549,10 @@ + #endif + {"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS}, + {"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_NOARGS}, ++#if (DBVER < 48) + {"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server, + METH_VARARGS||METH_KEYWORDS}, ++#endif + {"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS}, + #if (DBVER >= 42) + {"get_verbose", (PyCFunction)DBEnv_get_verbose, METH_VARARGS}, +@@ -7089,6 +7101,7 @@ + ADD_INT(d, DB_MAX_PAGES); + ADD_INT(d, DB_MAX_RECORDS); + ++#if (DBVER < 48) + #if (DBVER >= 42) + ADD_INT(d, DB_RPCCLIENT); + #else +@@ -7096,7 +7109,11 @@ + /* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */ + _addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT); + #endif ++#endif ++ ++#if (DBVER < 48) + ADD_INT(d, DB_XA_CREATE); ++#endif + + ADD_INT(d, DB_CREATE); + ADD_INT(d, DB_NOMMAP); +@@ -7113,7 +7130,13 @@ + ADD_INT(d, DB_INIT_TXN); + ADD_INT(d, DB_JOINENV); + ++#if (DBVER >= 48) ++ ADD_INT(d, DB_GID_SIZE); ++#else + ADD_INT(d, DB_XIDDATASIZE); ++ /* Allow new code to work in old BDB releases */ ++ _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE); ++#endif + + ADD_INT(d, DB_RECOVER); + ADD_INT(d, DB_RECOVER_FATAL); |