diff options
Diffstat (limited to 'packages/python')
18 files changed, 282 insertions, 18 deletions
diff --git a/packages/python/python-2.5.2/default-is-optimized.patch b/packages/python/python-2.5.2/default-is-optimized.patch index 6beeb6e022..072bf0b059 100644 --- a/packages/python/python-2.5.2/default-is-optimized.patch +++ b/packages/python/python-2.5.2/default-is-optimized.patch @@ -1,7 +1,7 @@ -Index: Python-2.5.1/Python/compile.c +Index: Python-2.5.2/Python/compile.c =================================================================== ---- Python-2.5.1.orig/Python/compile.c -+++ Python-2.5.1/Python/compile.c +--- Python-2.5.2.orig/Python/compile.c ++++ Python-2.5.2/Python/compile.c @@ -30,7 +30,7 @@ #include "symtable.h" #include "opcode.h" @@ -11,3 +11,38 @@ Index: Python-2.5.1/Python/compile.c /* ISSUES: +Index: Python-2.5.2/Modules/main.c +=================================================================== +--- Python-2.5.2.orig/Modules/main.c ++++ Python-2.5.2/Modules/main.c +@@ -40,7 +40,7 @@ static char **orig_argv; + static int orig_argc; + + /* command line options */ +-#define BASE_OPTS "c:dEhim:OQ:StuUvVW:xX?" ++#define BASE_OPTS "c:dEhim:ONQ:StuUvVW:xX?" + + #ifndef RISCOS + #define PROGRAM_OPTS BASE_OPTS +@@ -68,8 +68,7 @@ Options and arguments (and corresponding + "; + static char *usage_2 = "\ + -m mod : run library module as a script (terminates option list)\n\ +--O : optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)\n\ +--OO : remove doc-strings in addition to the -O optimizations\n\ ++-N : do NOT optimize generated bytecode\n\ + -Q arg : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew\n\ + -S : don't imply 'import site' on initialization\n\ + -t : issue warnings about inconsistent tab usage (-tt: issue errors)\n\ +@@ -302,7 +301,10 @@ Py_Main(int argc, char **argv) + break; + + case 'O': +- Py_OptimizeFlag++; ++ fprintf(stderr, "-O is already default in this version. Ignoring\n"); ++ ++ case 'N': ++ Py_OptimizeFlag=0; + break; + + case 'S': diff --git a/packages/python/python-cython-native_0.9.6.9.bb b/packages/python/python-cython-native_0.9.6.14.bb index cb7743e1bf..cb7743e1bf 100644 --- a/packages/python/python-cython-native_0.9.6.9.bb +++ b/packages/python/python-cython-native_0.9.6.14.bb diff --git a/packages/python/python-cython-native_0.9.8.bb b/packages/python/python-cython-native_0.9.8.bb new file mode 100644 index 0000000000..cb7743e1bf --- /dev/null +++ b/packages/python/python-cython-native_0.9.8.bb @@ -0,0 +1,9 @@ +require python-cython_${PV}.bb +inherit native +DEPENDS = "python-native" +RDEPENDS = "" + +do_stage() { + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR}/python setup.py install --prefix=${STAGING_BINDIR}/.. --install-data=${STAGING_DATADIR} +} diff --git a/packages/python/python-cython_0.9.6.9.bb b/packages/python/python-cython_0.9.6.14.bb index a513104108..6077089bf2 100644 --- a/packages/python/python-cython_0.9.6.9.bb +++ b/packages/python/python-cython_0.9.6.14.bb @@ -4,10 +4,10 @@ and the messy, low-level world of C." SECTION = "devel/python" PRIORITY = "optional" LICENSE = "GPL" -SRCNAME = "cython" +SRCNAME = "Cython" PR = "ml0" -SRC_URI = "http://www.cython.org/${SRCNAME}-${PV}.zip" +SRC_URI = "http://pypi.python.org/packages/source/C/Cython/${SRCNAME}-${PV}.tar.gz" S = "${WORKDIR}/${SRCNAME}-${PV}" inherit distutils diff --git a/packages/python/python-cython_0.9.8.bb b/packages/python/python-cython_0.9.8.bb new file mode 100644 index 0000000000..9243aa61f0 --- /dev/null +++ b/packages/python/python-cython_0.9.8.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \ +It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ +and the messy, low-level world of C." +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "GPL" +SRCNAME = "Cython" +PR = "ml0" + +SRC_URI = "http://www.cython.org/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +DEFAULT_PREFERENCE = "-1" + diff --git a/packages/python/python-evas_cvs.bb b/packages/python/python-evas_cvs.bb index 92f4466a24..57e28b28ed 100644 --- a/packages/python/python-evas_cvs.bb +++ b/packages/python/python-evas_cvs.bb @@ -3,6 +3,10 @@ DEPENDS += "evas" PV = "0.2.1+cvs${SRCDATE}" PR = "r0" +do_compile_prepend() { + touch include/evas/__init__.py +} + do_stage() { distutils_stage_all } diff --git a/packages/python/python-native-2.5.1/catchup-with-swig.patch b/packages/python/python-native-2.5.1/catchup-with-swig.patch new file mode 100644 index 0000000000..f049b759f4 --- /dev/null +++ b/packages/python/python-native-2.5.1/catchup-with-swig.patch @@ -0,0 +1,13 @@ +Index: Python-2.5.1/Lib/distutils/command/build_ext.py +=================================================================== +--- Python-2.5.1.orig/Lib/distutils/command/build_ext.py ++++ Python-2.5.1/Lib/distutils/command/build_ext.py +@@ -513,7 +513,7 @@ class build_ext (Command): + target_lang=language) + + +- def swig_sources (self, sources, extension): ++ def swig_sources (self, sources, extension=None): + + """Walk the list of source files in 'sources', looking for SWIG + interface (.i) files. Run SWIG on all that are found, and diff --git a/packages/python/python-native_2.5.1.bb b/packages/python/python-native_2.5.1.bb index ea6e257043..3f58d36a2e 100644 --- a/packages/python/python-native_2.5.1.bb +++ b/packages/python/python-native_2.5.1.bb @@ -4,15 +4,18 @@ LICENSE = "PSF" SECTION = "devel/python" PRIORITY = "optional" DEPENDS = "" -PR = "ml1" +PR = "ml2" EXCLUDE_FROM_WORLD = "1" -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ - file://bindir-libdir.patch;patch=1 \ - file://cross-distutils.patch;patch=1 \ - file://dont-modify-shebang-line.patch;patch=1 \ - file://default-is-optimized.patch;patch=1" +SRC_URI = "\ + http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ + file://bindir-libdir.patch;patch=1 \ + file://cross-distutils.patch;patch=1 \ + file://dont-modify-shebang-line.patch;patch=1 \ + file://default-is-optimized.patch;patch=1 \ + file://catchup-with-swig.patch;patch=1 \ +" S = "${WORKDIR}/Python-${PV}" inherit autotools native @@ -24,11 +27,6 @@ EXTRA_OECONF = "--with-threads --with-pymalloc --with-cyclic-gc \ --without-cxx --with-signal-module --with-wctype-functions" EXTRA_OEMAKE = 'BUILD_SYS="" HOST_SYS=""' -#do_configure() { -# # the autofoo stuff is too old to allow regenerating -# oe_runconf -#} - do_stage_append() { install -m 0755 Parser/pgen ${STAGING_BINDIR_NATIVE}/ } diff --git a/packages/python/python-opendir/.mtn2git_empty b/packages/python/python-opendir/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/python/python-opendir/.mtn2git_empty diff --git a/packages/python/python-opendir/opendir.pyx b/packages/python/python-opendir/opendir.pyx new file mode 100644 index 0000000000..1ee81f7382 --- /dev/null +++ b/packages/python/python-opendir/opendir.pyx @@ -0,0 +1,149 @@ +############################################################## +# +# opendir.pyx - A class exposing the functionality of +# =========== the opendir() family of C libary functions. +# +# By Gregory Ewing +# greg.ewing@canterbury.ac.nz +# +# This software and derivative works created from it +# may be used and redistributed without restriction. +# +############################################################## + +cdef extern from "sys/errno.h": + int errno + +cdef extern from "stdio.h": + char *strerror(int) + +cdef extern from "dirent.h": + ctypedef struct DIR + struct dirent: + int d_namlen + char d_name[1] + DIR *c_opendir "opendir" (char *) + int readdir_r(DIR *, dirent *, dirent **) + long telldir(DIR *) + void seekdir(DIR *, long) + void rewinddir(DIR *) + int closedir(DIR *) + int dirfd(DIR *) + +#------------------------------------------------------------------ + +cdef class opendir: + """opendir(pathname) --> an open directory object + + Opens a directory and provides incremental access to + the filenames it contains. May be used as a file-like + object or as an iterator. + + When used as a file-like object, each call to read() + returns one filename, or an empty string when the end + of the directory is reached. The close() method should + be called when finished with the directory. + + The close() method should also be called when used as + an iterator and iteration is stopped prematurely. If + iteration proceeds to completion, the directory is + closed automatically.""" + + cdef DIR *dir + + def __cinit__(self, char *path): + self.dir = c_opendir(path) + if not self.dir: + raise IOError(errno, "%s: '%s'" % (strerror(errno), path)) + + def __dealloc__(self): + if self.dir: + closedir(self.dir) + + def read(self): + """read() --> filename or empty string + + Returns the next filename from the directory, or an empty + string if the end of the directory has been reached.""" + + cdef dirent entry, *result + check_open(self) + if readdir_r(self.dir, &entry, &result) < 0: + raise IOError(errno) + if result: + return entry.d_name + else: + return "" + + def tell(self): + """tell() --> position + + Returns a value representing the current position in the + directory, suitable for passing to tell(). Only valid for + this directory object as long as it remains open.""" + + check_open(self) + return telldir(self.dir) + + def seek(self, long pos): + """seek(position) + + Returns the directory to the specified position, which + should be a value previously returned by tell().""" + + check_open(self) + seekdir(self.dir, pos) + + def rewind(self): + """rewind() + + Resets the position to the beginning of the directory.""" + + check_open(self) + rewinddir(self.dir) + + def close(self): + """close() + + Closes the directory and frees the underlying file descriptor.""" + + if self.dir: + if closedir(self.dir) < 0: + raise IOError(errno) + self.dir = NULL + +# MaxOSX doesn't seem to have dirfd, despite what the +# man page says. :-( +# +# def fileno(self): +# """fileno() --> file descriptor +# +# Returns the file descriptor associated with the open directory.""" +# +# check_open(self) +# return dirfd(self.dir) + + def __iter__(self): + return self + + def __next__(self): + """next() --> filename + + Returns the next filename from the directory. If the end of the + directory has been reached, closes the directory and raises + StopIteration.""" + + if self.dir: + result = self.read() + if result: + return result + self.close() + raise StopIteration + +#------------------------------------------------------------------ + +cdef int check_open(opendir d) except -1: + if not d.dir: + raise ValueError("Directory is closed") + return 0 + diff --git a/packages/python/python-opendir/setup.py b/packages/python/python-opendir/setup.py new file mode 100644 index 0000000000..d76b22c95a --- /dev/null +++ b/packages/python/python-opendir/setup.py @@ -0,0 +1,25 @@ +from distutils.core import setup +from distutils.extension import Extension +from Cython.Distutils import build_ext + +setup( + name = 'opendir', + version = '0.0.1', + author = 'Gregory Ewing', + author_email = 'greg ewing at canterbury ac nz', + maintainer = 'Johannes "josch" Schauer', + maintainer_email = 'j schauer at email de', + description = 'Implements POSIX opendir', + classifiers = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Operating System :: POSIX', + 'Programming Language :: Pyrex', + 'Topic :: Software Development :: Libraries :: Python Modules', + 'Topic :: System :: Filesystems' + ], + ext_modules=[ + Extension("opendir", ["opendir.pyx"]), + ], + cmdclass = {'build_ext': build_ext} +) diff --git a/packages/python/python-opendir_1.0.bb b/packages/python/python-opendir_1.0.bb new file mode 100644 index 0000000000..88f22a1d9a --- /dev/null +++ b/packages/python/python-opendir_1.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "POSIX opendir support for Python" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PD" +HOMEPAGE = "http://rabenfrost.net/mokopedia/opendir/" +DEPENDS = "python-pyrex-native python-cython-native" +PR = "ml0" + +SRC_URI = "\ + file://opendir.pyx \ + file://setup.py \ +" +S = "${WORKDIR}" + +inherit distutils diff --git a/packages/python/python-psyco_1.5.bb b/packages/python/python-psyco_1.6.bb index 5c47e6971d..5c47e6971d 100644 --- a/packages/python/python-psyco_1.5.bb +++ b/packages/python/python-psyco_1.6.bb diff --git a/packages/python/python-pyrex-native_0.9.5.1a.bb b/packages/python/python-pyrex-native_0.9.8.4.bb index d7ec81fd8e..d7ec81fd8e 100644 --- a/packages/python/python-pyrex-native_0.9.5.1a.bb +++ b/packages/python/python-pyrex-native_0.9.8.4.bb diff --git a/packages/python/python-pyrex_0.9.5.1a.bb b/packages/python/python-pyrex_0.9.8.4.bb index d0a5f826e0..d0a5f826e0 100644 --- a/packages/python/python-pyrex_0.9.5.1a.bb +++ b/packages/python/python-pyrex_0.9.8.4.bb diff --git a/packages/python/python-setuptools-native_0.6c6.bb b/packages/python/python-setuptools-native_0.6c8.bb index b7716d8cac..b7716d8cac 100644 --- a/packages/python/python-setuptools-native_0.6c6.bb +++ b/packages/python/python-setuptools-native_0.6c8.bb diff --git a/packages/python/python-setuptools_0.6c6.bb b/packages/python/python-setuptools_0.6c8.bb index fe78e585f7..19f73d3f67 100644 --- a/packages/python/python-setuptools_0.6c6.bb +++ b/packages/python/python-setuptools_0.6c8.bb @@ -5,7 +5,7 @@ PRIORITY = "optional" LICENSE = "MIT-like" RDEPENDS = "python-distutils python-compression" SRCNAME = "setuptools" -PR = "ml2" +PR = "ml0" SRC_URI = "http://cheeseshop.python.org/packages/source/s/setuptools/${SRCNAME}-${PV}.tar.gz" S = "${WORKDIR}/${SRCNAME}-${PV}" diff --git a/packages/python/python_2.5.2.bb b/packages/python/python_2.5.2.bb index 22aac7c9ee..9617871fff 100644 --- a/packages/python/python_2.5.2.bb +++ b/packages/python/python_2.5.2.bb @@ -6,7 +6,7 @@ PRIORITY = "optional" DEPENDS = "python-native readline zlib gdbm openssl sqlite3 tcl tk" DEPENDS_sharprom = "python-native readline zlib gdbm openssl" # bump this on every change in contrib/python/generate-manifest-2.5.py -PR = "ml4" +PR = "ml6" PYTHON_MAJMIN = "2.5" |