summaryrefslogtreecommitdiffstats
path: root/abs/core/python2
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/python2')
-rw-r--r--abs/core/python2/ChangeLog9
-rw-r--r--abs/core/python2/PKGBUILD109
-rw-r--r--abs/core/python2/modulator-launcher2
-rw-r--r--abs/core/python2/pynche-launcher3
-rw-r--r--abs/core/python2/python-2.6-db-4.8.patch123
-rw-r--r--abs/core/python2/python-2.6-internal-expat.patch33
-rw-r--r--abs/core/python2/python.install13
-rw-r--r--abs/core/python2/python2.6-set_wakeup_fd4.patch94
8 files changed, 59 insertions, 327 deletions
diff --git a/abs/core/python2/ChangeLog b/abs/core/python2/ChangeLog
deleted file mode 100644
index 2d5c46a..0000000
--- a/abs/core/python2/ChangeLog
+++ /dev/null
@@ -1,9 +0,0 @@
-2008-12-07 Allan McRae <allan@archlinux.org>
- * python 2.6.1-1
- * upstream update
- * fix gdbm related build error
- * fix modulator/pynche launchers
-
-2008-10-27 Allan McRae <allan@archlinux.org>
- * python 2.6-2
- * patched to use internal expat \ No newline at end of file
diff --git a/abs/core/python2/PKGBUILD b/abs/core/python2/PKGBUILD
index da78268..0273175 100644
--- a/abs/core/python2/PKGBUILD
+++ b/abs/core/python2/PKGBUILD
@@ -1,75 +1,84 @@
-# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 157413 2012-04-28 09:27:14Z allan $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributer: Allan McRae <allan@archlinux.org>
# Contributer: Jason Chu <jason@archlinux.org>
pkgname=python2
-pkgver=2.6.6
-pkgrel=5
-_pybasever=2.6
+pkgver=2.7.3
+pkgrel=2
+_pybasever=2.7
pkgdesc="A high-level scripting language"
arch=('i686' 'x86_64')
license=('PSF')
-url="http://www.python.org"
-depends=('db>=5.1' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3')
-makedepends=('tk>=8.5.0')
-optdepends=('tk: for IDLE, pynche and modulator')
-provides=('python2' 'python' 'python-elementtree' 'python-ctypes')
-replaces=('python' '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-db-4.8.patch
- modulator-launcher
- pynche-launcher)
+url="http://www.python.org/"
+depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite' 'libffi')
+makedepends=('tk')
+optdepends=('tk: for IDLE')
+conflicts=('python<3')
+options=('!makeflags')
+source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz)
+sha1sums=('b2b0ada7ebed4a8204a855193afbdb3aa3308357')
build() {
- cd ${srcdir}/Python-${pkgver}
+ cd "${srcdir}/Python-${pkgver}"
- patch -Np0 -i ${srcdir}/python-2.6-internal-expat.patch || return 1
+ # Temporary workaround for FS#22322
+ # See http://bugs.python.org/issue10835 for upstream report
+ sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
- #http://bugs.python.org/issue6949
- patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch || return 1
+ # Enable built-in SQLite module to load extensions (fix FS#22122)
+ sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
+
+ # FS#23997
+ sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py
+
+ # Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
+ # rather than copies shipped in the tarball
+ rm -r Modules/expat
+ rm -r Modules/zlib
+ rm -r Modules/_ctypes/{darwin,libffi}*
export OPT="${CFLAGS}"
- ./configure --prefix=/usr --enable-shared --with-threads --enable-unicode
+ ./configure --prefix=/usr --enable-shared --with-threads --enable-ipv6 \
+ --enable-unicode=ucs4 --with-system-expat --with-system-ffi \
+ --with-dbmliborder=gdbm:ndbm
- make || return 1
+ make
}
+
package() {
- cd ${srcdir}/Python-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/Python-${pkgver}"
+ make DESTDIR="${pkgdir}" altinstall maninstall
- rm ${pkgdir}/usr/bin/python
- ln -sf python${_pybasever} ${pkgdir}/usr/bin/python
- ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2
+ ln -sf python${_pybasever} "${pkgdir}/usr/bin/python2"
+ ln -sf python${_pybasever}-config "${pkgdir}/usr/bin/python2-config"
+ ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python2.1"
ln -sf ../../libpython${_pybasever}.so \
- ${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so
+ "${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so"
+
+ mv "${pkgdir}/usr/bin/smtpd.py" "${pkgdir}/usr/lib/python${_pybasever}/"
- # 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/
+ # some useful "stuff"
+ install -dm755 "${pkgdir}"/usr/lib/python${_pybasever}/Tools/{i18n,scripts}
+ install -m755 Tools/i18n/{msgfmt,pygettext}.py \
+ "${pkgdir}/usr/lib/python${_pybasever}/Tools/i18n/"
+ install -m755 Tools/scripts/{README,*py} \
+ "${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/"
- #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/
+ # fix conflicts with python
+ mv "${pkgdir}"/usr/bin/idle{,2}
+ mv "${pkgdir}"/usr/bin/pydoc{,2}
+ mv "${pkgdir}"/usr/bin/2to3{,-2.7}
- #gettext
- install -m755 Tools/i18n/pygettext.py ${pkgdir}/usr/bin/
- install -m755 Tools/i18n/msgfmt.py ${pkgdir}/usr/bin/
+ # clean up #!s
+ find "${pkgdir}/usr/lib/python${_pybasever}/" -name '*.py' | \
+ xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
- 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/
+ # clean-up reference to build directory
+ sed -i "s#${srcdir}/Python-${pkgver}:##" \
+ "${pkgdir}/usr/lib/python${_pybasever}/config/Makefile"
# license
- install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
-md5sums=('cf4e6881bb84a7ce6089e4a307f71f14'
- '993800dbcc0c4f199c1ceee998a06e71'
- '10eb5449ead95b9cb13eae9f9a65894e'
- 'b4a531570415280dc406c8d5c1fa8d83'
- '9f731b9033db285132a3524fb36409e7')
diff --git a/abs/core/python2/modulator-launcher b/abs/core/python2/modulator-launcher
deleted file mode 100644
index ba46e93..0000000
--- a/abs/core/python2/modulator-launcher
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-exec /usr/lib/python%%PYBASEVER%%/site-packages/modulator/modulator.py
diff --git a/abs/core/python2/pynche-launcher b/abs/core/python2/pynche-launcher
deleted file mode 100644
index a4338a7..0000000
--- a/abs/core/python2/pynche-launcher
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-/usr/lib/python%%PYBASEVER%%/site-packages/pynche/pynche
-
diff --git a/abs/core/python2/python-2.6-db-4.8.patch b/abs/core/python2/python-2.6-db-4.8.patch
deleted file mode 100644
index 2032f92..0000000
--- a/abs/core/python2/python-2.6-db-4.8.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-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);
diff --git a/abs/core/python2/python-2.6-internal-expat.patch b/abs/core/python2/python-2.6-internal-expat.patch
deleted file mode 100644
index 86252ab..0000000
--- a/abs/core/python2/python-2.6-internal-expat.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- 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'],
- ))
-
diff --git a/abs/core/python2/python.install b/abs/core/python2/python.install
deleted file mode 100644
index f00a943..0000000
--- a/abs/core/python2/python.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- cat << _EOF
-
-==> Python requires "tk" to use IDLE, pynche and modulator
-
-_EOF
-}
-
-post_upgrade() {
- post_install $1
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python2/python2.6-set_wakeup_fd4.patch b/abs/core/python2/python2.6-set_wakeup_fd4.patch
deleted file mode 100644
index b945a26..0000000
--- a/abs/core/python2/python2.6-set_wakeup_fd4.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- python/trunk/Modules/signalmodule.c 2007/12/10 23:00:12 59460
-+++ python/trunk/Modules/signalmodule.c 2007/12/19 19:41:06 59574
-@@ -12,6 +12,8 @@
-
- #include <signal.h>
-
-+#include <sys/stat.h>
-+
- #ifndef SIG_ERR
- #define SIG_ERR ((PyOS_sighandler_t)(-1))
- #endif
-@@ -75,6 +77,8 @@
- PyObject *func;
- } Handlers[NSIG];
-
-+static sig_atomic_t wakeup_fd = -1;
-+
- /* Speed up sigcheck() when none tripped */
- static volatile sig_atomic_t is_tripped = 0;
-
-@@ -128,6 +132,8 @@
- cleared in PyErr_CheckSignals() before .tripped. */
- is_tripped = 1;
- Py_AddPendingCall(checksignals_witharg, NULL);
-+ if (wakeup_fd != -1)
-+ write(wakeup_fd, "\0", 1);
- #ifdef WITH_THREAD
- }
- #endif
-@@ -267,6 +273,50 @@
- anything else -- the callable Python object used as a handler");
-
-
-+static PyObject *
-+signal_set_wakeup_fd(PyObject *self, PyObject *args)
-+{
-+ struct stat buf;
-+ int fd, old_fd;
-+ if (!PyArg_ParseTuple(args, "i:set_wakeup_fd", &fd))
-+ return NULL;
-+#ifdef WITH_THREAD
-+ if (PyThread_get_thread_ident() != main_thread) {
-+ PyErr_SetString(PyExc_ValueError,
-+ "set_wakeup_fd only works in main thread");
-+ return NULL;
-+ }
-+#endif
-+ if (fd != -1 && fstat(fd, &buf) != 0) {
-+ PyErr_SetString(PyExc_ValueError, "invalid fd");
-+ return NULL;
-+ }
-+ old_fd = wakeup_fd;
-+ wakeup_fd = fd;
-+ return PyLong_FromLong(old_fd);
-+}
-+
-+PyDoc_STRVAR(set_wakeup_fd_doc,
-+"set_wakeup_fd(fd) -> fd\n\
-+\n\
-+Sets the fd to be written to (with '\\0') when a signal\n\
-+comes in. A library can use this to wakeup select or poll.\n\
-+The previous fd is returned.\n\
-+\n\
-+The fd must be non-blocking.");
-+
-+/* C API for the same, without all the error checking */
-+int
-+PySignal_SetWakeupFd(int fd)
-+{
-+ int old_fd = wakeup_fd;
-+ if (fd < 0)
-+ fd = -1;
-+ wakeup_fd = fd;
-+ return old_fd;
-+}
-+
-+
- /* List of functions defined in the module */
- static PyMethodDef signal_methods[] = {
- #ifdef HAVE_ALARM
-@@ -274,11 +324,12 @@
- #endif
- {"signal", signal_signal, METH_VARARGS, signal_doc},
- {"getsignal", signal_getsignal, METH_VARARGS, getsignal_doc},
-+ {"set_wakeup_fd", signal_set_wakeup_fd, METH_VARARGS, set_wakeup_fd_doc},
- #ifdef HAVE_PAUSE
- {"pause", (PyCFunction)signal_pause,
- METH_NOARGS,pause_doc},
- #endif
-- {"default_int_handler", signal_default_int_handler,
-+ {"default_int_handler", signal_default_int_handler,
- METH_VARARGS, default_int_handler_doc},
- {NULL, NULL} /* sentinel */
- };