From c24a415882ab8ff1d8cc3d02c14ad384ab0eb965 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 5 Aug 2009 14:38:23 -0700 Subject: python-native_2.6.1.bb: Unset LIBC LIBC is used internally by python configure if it gets it from enviromment it honors it. Coincidently we also use LIBC in OE to denote one of uclibc eglibc or glibc to be system C library It conflicts if somehow LIBC= is set in the envronment so we pass empty LIBC for native recipe. Signed-off-by: Khem Raj --- recipes/python/python-native_2.6.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'recipes/python') diff --git a/recipes/python/python-native_2.6.1.bb b/recipes/python/python-native_2.6.1.bb index 00d87e6f59..cc949e1c2c 100644 --- a/recipes/python/python-native_2.6.1.bb +++ b/recipes/python/python-native_2.6.1.bb @@ -1,7 +1,7 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native" -PR .= ".1" +PR .= ".2" SRC_URI = "\ http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ @@ -21,6 +21,7 @@ exec_prefix = "${STAGING_DIR_NATIVE}/${layout_exec_prefix}" EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \ + LIBC="" \ STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ ' -- cgit v1.2.3 From 77d48ff9a933018457176e97b289980e50246d59 Mon Sep 17 00:00:00 2001 From: Michael 'Mickey' Lauer Date: Wed, 5 Aug 2009 23:54:26 +0200 Subject: python: add 2.6.2 --- recipes/python/python-2.6-manifest.inc | 90 +++++++------- .../00-fix-bindir-libdir-for-cross.patch | 20 ++++ .../01-use-proper-tools-for-cross-build.patch | 116 ++++++++++++++++++ .../python-2.6.2/02-remove-test-for-cross.patch | 94 +++++++++++++++ .../python-2.6.2/03-fix-tkinter-detection.patch | 40 +++++++ .../python-2.6.2/04-default-is-optimized.patch | 52 +++++++++ .../05-enable-ctypes-cross-build.patch | 28 +++++ .../python-2.6.2/99-ignore-optimization-flag.patch | 19 +++ recipes/python/python-2.6.2/sitecustomize.py | 45 +++++++ recipes/python/python-native_2.6.1.bb | 4 +- recipes/python/python.inc | 2 +- recipes/python/python_2.6.2.bb | 130 +++++++++++++++++++++ 12 files changed, 594 insertions(+), 46 deletions(-) create mode 100644 recipes/python/python-2.6.2/00-fix-bindir-libdir-for-cross.patch create mode 100644 recipes/python/python-2.6.2/01-use-proper-tools-for-cross-build.patch create mode 100644 recipes/python/python-2.6.2/02-remove-test-for-cross.patch create mode 100644 recipes/python/python-2.6.2/03-fix-tkinter-detection.patch create mode 100644 recipes/python/python-2.6.2/04-default-is-optimized.patch create mode 100644 recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch create mode 100644 recipes/python/python-2.6.2/99-ignore-optimization-flag.patch create mode 100644 recipes/python/python-2.6.2/sitecustomize.py create mode 100644 recipes/python/python_2.6.2.bb (limited to 'recipes/python') diff --git a/recipes/python/python-2.6-manifest.inc b/recipes/python/python-2.6-manifest.inc index b8b8d1c27c..ad1d5f6982 100644 --- a/recipes/python/python-2.6-manifest.inc +++ b/recipes/python/python-2.6-manifest.inc @@ -1,16 +1,16 @@ # WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: '../org.openembedded.dev/contrib/python/generate-manifest-2.6.py' Version 20081214 (C) 2002-2008 Michael 'Mickey' Lauer +# Generator: './generate-manifest-2.6.py' Version 20090425 (C) 2002-2009 Michael 'Mickey' Lauer # Visit the Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy -PROVIDES+="python-profile python-threading python-distutils python-doctest python-codecs python-ctypes python-pickle python-bzip2 python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-stringold python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio " +PROVIDES+="python-codecs python-threading python-distutils python-textutils python-stringold python-curses python-ctypes python-pickle python-datetime python-core python-io python-compression python-re python-profile python-xmlrpc python-terminal python-dev python-email python-image python-tests python-core-dbg python-resource python-difflib python-math python-syslog python-hotshot python-unixadmin python-doctest python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-compiler python-smtpd python-html python-readline python-subprocess python-pydoc python-sqlite3-tests python-logging python-mailbox python-xml python-mime python-sqlite3 python-idle python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-bzip2 python-lang python-audio " -PACKAGES="python-profile python-threading python-distutils python-doctest python-codecs python-ctypes python-pickle python-bzip2 python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-stringold python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio python-modules" +PACKAGES="python-codecs python-threading python-distutils python-textutils python-stringold python-curses python-ctypes python-pickle python-datetime python-core python-io python-compression python-re python-profile python-xmlrpc python-terminal python-dev python-email python-image python-tests python-core-dbg python-resource python-difflib python-math python-syslog python-hotshot python-unixadmin python-doctest python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-compiler python-smtpd python-html python-readline python-subprocess python-pydoc python-sqlite3-tests python-logging python-mailbox python-xml python-mime python-sqlite3 python-idle python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-bzip2 python-lang python-audio python-modules" -DESCRIPTION_python-profile="Python Basic Profiling Support" -RDEPENDS_python-profile="python-core python-textutils" -FILES_python-profile="${libdir}/python2.6/profile.* ${libdir}/python2.6/pstats.* ${libdir}/python2.6/cProfile.* ${libdir}/python2.6/lib-dynload/_lsprof.so " +DESCRIPTION_python-codecs="Python Codecs, Encodings & i18n Support" +RDEPENDS_python-codecs="python-core python-lang" +FILES_python-codecs="${libdir}/python2.6/codecs.* ${libdir}/python2.6/encodings ${libdir}/python2.6/gettext.* ${libdir}/python2.6/locale.* ${libdir}/python2.6/lib-dynload/_locale.so ${libdir}/python2.6/lib-dynload/unicodedata.so ${libdir}/python2.6/stringprep.* ${libdir}/python2.6/xdrlib.* " DESCRIPTION_python-threading="Python Threading & Synchronization Support" RDEPENDS_python-threading="python-core python-lang" @@ -20,13 +20,17 @@ DESCRIPTION_python-distutils="Python Distribution Utilities" RDEPENDS_python-distutils="python-core" FILES_python-distutils="${libdir}/python2.6/config ${libdir}/python2.6/distutils " -DESCRIPTION_python-doctest="Python framework for running examples in docstrings." -RDEPENDS_python-doctest="python-core python-lang python-io python-re python-unittest python-debugger python-difflib" -FILES_python-doctest="${libdir}/python2.6/doctest.* " +DESCRIPTION_python-textutils="Python Option Parsing, Text Wrapping and Comma-Separated-Value Support" +RDEPENDS_python-textutils="python-core python-io python-re python-stringold" +FILES_python-textutils="${libdir}/python2.6/lib-dynload/_csv.so ${libdir}/python2.6/csv.* ${libdir}/python2.6/optparse.* ${libdir}/python2.6/textwrap.* " -DESCRIPTION_python-codecs="Python Codecs, Encodings & i18n Support" -RDEPENDS_python-codecs="python-core python-lang" -FILES_python-codecs="${libdir}/python2.6/codecs.* ${libdir}/python2.6/encodings ${libdir}/python2.6/gettext.* ${libdir}/python2.6/locale.* ${libdir}/python2.6/lib-dynload/_locale.so ${libdir}/python2.6/lib-dynload/unicodedata.so ${libdir}/python2.6/stringprep.* ${libdir}/python2.6/xdrlib.* " +DESCRIPTION_python-stringold="Python String APIs [deprecated]" +RDEPENDS_python-stringold="python-core python-re" +FILES_python-stringold="${libdir}/python2.6/lib-dynload/strop.so ${libdir}/python2.6/string.* " + +DESCRIPTION_python-curses="Python Curses Support" +RDEPENDS_python-curses="python-core" +FILES_python-curses="${libdir}/python2.6/curses ${libdir}/python2.6/lib-dynload/_curses.so ${libdir}/python2.6/lib-dynload/_curses_panel.so " DESCRIPTION_python-ctypes="Python C Types Support" RDEPENDS_python-ctypes="python-core" @@ -36,10 +40,6 @@ DESCRIPTION_python-pickle="Python Persistence Support" RDEPENDS_python-pickle="python-core python-codecs python-io python-re" FILES_python-pickle="${libdir}/python2.6/pickle.* ${libdir}/python2.6/shelve.* ${libdir}/python2.6/lib-dynload/cPickle.so " -DESCRIPTION_python-bzip2="Python bzip2 support" -RDEPENDS_python-bzip2="python-core" -FILES_python-bzip2="${libdir}/python2.6/lib-dynload/bz2.so " - DESCRIPTION_python-datetime="Python Calendar and Time support" RDEPENDS_python-datetime="python-core python-codecs" FILES_python-datetime="${libdir}/python2.6/_strptime.* ${libdir}/python2.6/calendar.* ${libdir}/python2.6/lib-dynload/datetime.so " @@ -52,10 +52,6 @@ DESCRIPTION_python-io="Python Low-Level I/O" RDEPENDS_python-io="python-core python-math" FILES_python-io="${libdir}/python2.6/lib-dynload/_socket.so ${libdir}/python2.6/lib-dynload/_ssl.so ${libdir}/python2.6/lib-dynload/select.so ${libdir}/python2.6/lib-dynload/termios.so ${libdir}/python2.6/lib-dynload/cStringIO.so ${libdir}/python2.6/pipes.* ${libdir}/python2.6/socket.* ${libdir}/python2.6/tempfile.* ${libdir}/python2.6/StringIO.* " -DESCRIPTION_python-compiler="Python Compiler Support" -RDEPENDS_python-compiler="python-core" -FILES_python-compiler="${libdir}/python2.6/compiler " - DESCRIPTION_python-compression="Python High Level Compression Support" RDEPENDS_python-compression="python-core python-zlib" FILES_python-compression="${libdir}/python2.6/gzip.* ${libdir}/python2.6/zipfile.* ${libdir}/python2.6/tarfile.* " @@ -64,6 +60,10 @@ DESCRIPTION_python-re="Python Regular Expression APIs" RDEPENDS_python-re="python-core" FILES_python-re="${libdir}/python2.6/re.* ${libdir}/python2.6/sre.* ${libdir}/python2.6/sre_compile.* ${libdir}/python2.6/sre_constants* ${libdir}/python2.6/sre_parse.* " +DESCRIPTION_python-profile="Python Basic Profiling Support" +RDEPENDS_python-profile="python-core python-textutils" +FILES_python-profile="${libdir}/python2.6/profile.* ${libdir}/python2.6/pstats.* ${libdir}/python2.6/cProfile.* ${libdir}/python2.6/lib-dynload/_lsprof.so " + DESCRIPTION_python-xmlrpc="Python XMLRPC Support" RDEPENDS_python-xmlrpc="python-core python-xml python-netserver python-lang" FILES_python-xmlrpc="${libdir}/python2.6/xmlrpclib.* ${libdir}/python2.6/SimpleXMLRPCServer.* " @@ -72,9 +72,13 @@ DESCRIPTION_python-terminal="Python Terminal Controlling Support" RDEPENDS_python-terminal="python-core python-io" FILES_python-terminal="${libdir}/python2.6/pty.* ${libdir}/python2.6/tty.* " +DESCRIPTION_python-dev="Python Development Package" +RDEPENDS_python-dev="python-core" +FILES_python-dev="${includedir} ${libdir}/python2.6/config " + DESCRIPTION_python-email="Python Email Support" RDEPENDS_python-email="python-core python-io python-re python-mime python-audio python-image" -FILES_python-email="${libdir}/python2.6/email " +FILES_python-email="${libdir}/python2.6/imaplib.* ${libdir}/python2.6/email " DESCRIPTION_python-image="Python Graphical Image Handling" RDEPENDS_python-image="python-core" @@ -92,10 +96,6 @@ DESCRIPTION_python-resource="Python Resource Control Interface" RDEPENDS_python-resource="python-core" FILES_python-resource="${libdir}/python2.6/lib-dynload/resource.so " -DESCRIPTION_python-devel="Python Development Package" -RDEPENDS_python-devel="python-core" -FILES_python-devel="${includedir} ${libdir}/python2.6/config " - DESCRIPTION_python-difflib="Python helpers for computing deltas between objects." RDEPENDS_python-difflib="python-lang python-re" FILES_python-difflib="${libdir}/python2.6/difflib.* " @@ -104,7 +104,7 @@ DESCRIPTION_python-math="Python Math Support" RDEPENDS_python-math="python-core" FILES_python-math="${libdir}/python2.6/lib-dynload/cmath.so ${libdir}/python2.6/lib-dynload/math.so ${libdir}/python2.6/lib-dynload/_random.so ${libdir}/python2.6/random.* ${libdir}/python2.6/sets.* " -DESCRIPTION_python-syslog="Python's Syslog Interface" +DESCRIPTION_python-syslog="Python Syslog Interface" RDEPENDS_python-syslog="python-core" FILES_python-syslog="${libdir}/python2.6/lib-dynload/syslog.so " @@ -116,9 +116,9 @@ DESCRIPTION_python-unixadmin="Python Unix Administration Support" RDEPENDS_python-unixadmin="python-core" FILES_python-unixadmin="${libdir}/python2.6/lib-dynload/nis.so ${libdir}/python2.6/lib-dynload/grp.so ${libdir}/python2.6/lib-dynload/pwd.so ${libdir}/python2.6/getpass.* " -DESCRIPTION_python-textutils="Python Option Parsing, Text Wrapping and Comma-Separated-Value Support" -RDEPENDS_python-textutils="python-core python-io python-re python-stringold" -FILES_python-textutils="${libdir}/python2.6/lib-dynload/_csv.so ${libdir}/python2.6/csv.* ${libdir}/python2.6/optparse.* ${libdir}/python2.6/textwrap.* " +DESCRIPTION_python-doctest="Python framework for running examples in docstrings." +RDEPENDS_python-doctest="python-core python-lang python-io python-re python-unittest python-debugger python-difflib" +FILES_python-doctest="${libdir}/python2.6/doctest.* " DESCRIPTION_python-tkinter="Python Tcl/Tk Bindings" RDEPENDS_python-tkinter="python-core" @@ -148,9 +148,9 @@ DESCRIPTION_python-netserver="Python Internet Protocol Servers" RDEPENDS_python-netserver="python-core python-netclient" FILES_python-netserver="${libdir}/python2.6/cgi.* ${libdir}/python2.6/BaseHTTPServer.* ${libdir}/python2.6/SimpleHTTPServer.* ${libdir}/python2.6/SocketServer.* " -DESCRIPTION_python-curses="Python Curses Support" -RDEPENDS_python-curses="python-core" -FILES_python-curses="${libdir}/python2.6/curses ${libdir}/python2.6/lib-dynload/_curses.so ${libdir}/python2.6/lib-dynload/_curses_panel.so " +DESCRIPTION_python-compiler="Python Compiler Support" +RDEPENDS_python-compiler="python-core" +FILES_python-compiler="${libdir}/python2.6/compiler " DESCRIPTION_python-smtpd="Python Simple Mail Transport Daemon" RDEPENDS_python-smtpd="python-core python-netserver python-email python-mime" @@ -172,6 +172,10 @@ DESCRIPTION_python-pydoc="Python Interactive Help Support" RDEPENDS_python-pydoc="python-core python-lang python-stringold python-re" FILES_python-pydoc="${bindir}/pydoc ${libdir}/python2.6/pydoc.* " +DESCRIPTION_python-sqlite3-tests="Python Sqlite3 Database Support Tests" +RDEPENDS_python-sqlite3-tests="python-core python-sqlite3" +FILES_python-sqlite3-tests="${libdir}/python2.6/sqlite3/test " + DESCRIPTION_python-logging="Python Logging Support" RDEPENDS_python-logging="python-core python-io python-lang python-pickle python-stringold" FILES_python-logging="${libdir}/python2.6/logging " @@ -190,19 +194,19 @@ FILES_python-mime="${libdir}/python2.6/mimetools.* ${libdir}/python2.6/uu.* ${li DESCRIPTION_python-sqlite3="Python Sqlite3 Database Support" RDEPENDS_python-sqlite3="python-core python-datetime python-lang python-crypt python-io python-threading python-zlib" -FILES_python-sqlite3="${libdir}/python2.6/lib-dynload/_sqlite3.so ${libdir}/python2.6/sqlite3/dbapi2.* ${libdir}/python2.6/sqlite3/__init__.* " +FILES_python-sqlite3="${libdir}/python2.6/lib-dynload/_sqlite3.so ${libdir}/python2.6/sqlite3/dbapi2.* ${libdir}/python2.6/sqlite3/__init__.* ${libdir}/python2.6/sqlite3/dump.* " -DESCRIPTION_python-sqlite3-tests="Python Sqlite3 Database Support Tests" -RDEPENDS_python-sqlite3-tests="python-core python-sqlite3" -FILES_python-sqlite3-tests="${libdir}/python2.6/sqlite3/test " +DESCRIPTION_python-idle="Python Integrated Development Environment" +RDEPENDS_python-idle="python-core python-tkinter" +FILES_python-idle="${bindir}/idle ${libdir}/python2.6/idlelib " DESCRIPTION_python-unittest="Python Unit Testing Framework" RDEPENDS_python-unittest="python-core python-stringold python-lang" FILES_python-unittest="${libdir}/python2.6/unittest.* " -DESCRIPTION_python-stringold="Python String APIs [deprecated]" -RDEPENDS_python-stringold="python-core python-re" -FILES_python-stringold="${libdir}/python2.6/lib-dynload/strop.so ${libdir}/python2.6/string.* " +DESCRIPTION_python-multiprocessing="Python Multiprocessing Support" +RDEPENDS_python-multiprocessing="python-core python-io python-lang" +FILES_python-multiprocessing="${libdir}/python2.6/lib-dynload/_multiprocessing.so ${libdir}/python2.6/multiprocessing " DESCRIPTION_python-robotparser="Python robots.txt parser" RDEPENDS_python-robotparser="python-core python-netclient" @@ -244,9 +248,9 @@ DESCRIPTION_python-crypt="Python Basic Cryptographic and Hashing Support" RDEPENDS_python-crypt="python-core" FILES_python-crypt="${libdir}/python2.6/hashlib.* ${libdir}/python2.6/md5.* ${libdir}/python2.6/sha.* ${libdir}/python2.6/lib-dynload/crypt.so ${libdir}/python2.6/lib-dynload/_hashlib.so ${libdir}/python2.6/lib-dynload/_sha256.so ${libdir}/python2.6/lib-dynload/_sha512.so " -DESCRIPTION_python-idle="Python Integrated Development Environment" -RDEPENDS_python-idle="python-core python-tkinter" -FILES_python-idle="${bindir}/idle ${libdir}/python2.6/idlelib " +DESCRIPTION_python-bzip2="Python bzip2 support" +RDEPENDS_python-bzip2="python-core" +FILES_python-bzip2="${libdir}/python2.6/lib-dynload/bz2.so " DESCRIPTION_python-lang="Python Low-Level Language Support" RDEPENDS_python-lang="python-core" @@ -257,7 +261,7 @@ RDEPENDS_python-audio="python-core" FILES_python-audio="${libdir}/python2.6/wave.* ${libdir}/python2.6/chunk.* ${libdir}/python2.6/sndhdr.* ${libdir}/python2.6/lib-dynload/ossaudiodev.so ${libdir}/python2.6/lib-dynload/audioop.so " DESCRIPTION_python-modules="All Python modules" -RDEPENDS_python-modules="python-profile python-threading python-distutils python-doctest python-codecs python-ctypes python-pickle python-bzip2 python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-resource python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-stringold python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio " +RDEPENDS_python-modules="python-codecs python-threading python-distutils python-textutils python-stringold python-curses python-ctypes python-pickle python-datetime python-core python-io python-compression python-re python-profile python-xmlrpc python-terminal python-dev python-email python-image python-tests python-resource python-difflib python-math python-syslog python-hotshot python-unixadmin python-doctest python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-compiler python-smtpd python-html python-readline python-subprocess python-pydoc python-sqlite3-tests python-logging python-mailbox python-xml python-mime python-sqlite3 python-idle python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-bzip2 python-lang python-audio " ALLOW_EMPTY_python-modules = "1" diff --git a/recipes/python/python-2.6.2/00-fix-bindir-libdir-for-cross.patch b/recipes/python/python-2.6.2/00-fix-bindir-libdir-for-cross.patch new file mode 100644 index 0000000000..2559e3a0e4 --- /dev/null +++ b/recipes/python/python-2.6.2/00-fix-bindir-libdir-for-cross.patch @@ -0,0 +1,20 @@ +# $(exec_prefix) points to the wrong directory, when installing +# a cross-build. @bindir@ and @libdir@ works better and doesn't +# affect the native build. +# Signed-Off: Michael 'Mickey' Lauer + +Index: Python-2.6.1/Makefile.pre.in +=================================================================== +--- Python-2.6.1.orig/Makefile.pre.in ++++ Python-2.6.1/Makefile.pre.in +@@ -86,8 +86,8 @@ exec_prefix= @exec_prefix@ + datarootdir= @datarootdir@ + + # Expanded directories +-BINDIR= $(exec_prefix)/bin +-LIBDIR= $(exec_prefix)/lib ++BINDIR= @bindir@ ++LIBDIR= @libdir@ + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include diff --git a/recipes/python/python-2.6.2/01-use-proper-tools-for-cross-build.patch b/recipes/python/python-2.6.2/01-use-proper-tools-for-cross-build.patch new file mode 100644 index 0000000000..e89faa4fb0 --- /dev/null +++ b/recipes/python/python-2.6.2/01-use-proper-tools-for-cross-build.patch @@ -0,0 +1,116 @@ +# We need to ensure our host tools get run during build, not the freshly +# built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN. +# Signed-Off: Michael 'Mickey' Lauer + +Index: Python-2.6.1/Makefile.pre.in +=================================================================== +--- Python-2.6.1.orig/Makefile.pre.in ++++ Python-2.6.1/Makefile.pre.in +@@ -175,6 +175,7 @@ UNICODE_OBJS= @UNICODE_OBJS@ + + PYTHON= python$(EXE) + BUILDPYTHON= python$(BUILDEXE) ++HOSTPYTHON= $(BUILDPYTHON) + + # The task to run while instrument when building the profile-opt target + PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck +@@ -205,7 +206,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar + ########################################################################## + # Parser + PGEN= Parser/pgen$(EXE) +- ++HOSTPGEN= $(PGEN)$(EXE) + POBJS= \ + Parser/acceler.o \ + Parser/grammar1.o \ +@@ -394,8 +395,8 @@ platform: $(BUILDPYTHON) + # Build the shared modules + sharedmods: $(BUILDPYTHON) + @case $$MAKEFLAGS in \ +- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \ +- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ ++ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ ++ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ + esac + + # Build static library +@@ -513,7 +514,7 @@ Modules/python.o: $(srcdir)/Modules/pyth + + $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) + -@$(INSTALL) -d Include +- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) + + $(PGEN): $(PGENOBJS) + $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) +@@ -879,23 +880,23 @@ libinstall: build_all $(srcdir)/Lib/$(PL + done + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" ++ $(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" + + # Create the PLATDIR source directory, if one wasn't distributed.. + $(srcdir)/Lib/$(PLATDIR): +@@ -993,7 +994,7 @@ libainstall: all + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: +- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ ++ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +Index: Python-2.6.1/setup.py +=================================================================== +--- Python-2.6.1.orig/setup.py ++++ Python-2.6.1/setup.py +@@ -276,6 +276,7 @@ class PyBuildExt(build_ext): + self.failed.append(ext.name) + self.announce('*** WARNING: renaming "%s" since importing it' + ' failed: %s' % (ext.name, why), level=3) ++ return + assert not self.inplace + basename, tail = os.path.splitext(ext_filename) + newname = basename + "_failed" + tail +@@ -310,8 +311,8 @@ class PyBuildExt(build_ext): + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +@@ -410,6 +411,9 @@ class PyBuildExt(build_ext): + + # XXX Omitted modules: gl, pure, dl, SGI-specific modules + ++ lib_dirs = [ os.getenv( "STAGING_LIBDIR" ) ] ++ inc_dirs = [ os.getenv( "STAGING_INCDIR" ) ] ++ + # + # The following modules are all pretty straightforward, and compile + # on pretty much any POSIXish platform. diff --git a/recipes/python/python-2.6.2/02-remove-test-for-cross.patch b/recipes/python/python-2.6.2/02-remove-test-for-cross.patch new file mode 100644 index 0000000000..48386ea462 --- /dev/null +++ b/recipes/python/python-2.6.2/02-remove-test-for-cross.patch @@ -0,0 +1,94 @@ +# OpenEmbedded prepopulates the autotools site cache, so if this +# would be using AC_TRY_CACHE, we could patch it in a more sane way +# Alas, I don't have enough autotalent to do that. +# +# Signed-Off: Michael 'Mickey' Lauer +Index: Python-2.6.1/configure.in +=================================================================== +--- Python-2.6.1.orig/configure.in ++++ Python-2.6.1/configure.in +@@ -2556,38 +2556,6 @@ AC_CHECK_LIB(c, inet_aton, [$ac_cv_prog_ + AC_CHECK_LIB(resolv, inet_aton) + ) + +-# On Tru64, chflags seems to be present, but calling it will +-# exit Python +-AC_MSG_CHECKING(for chflags) +-AC_TRY_RUN([ +-#include +-#include +-int main(int argc, char*argv[]) +-{ +- if(chflags(argv[0], 0) != 0) +- return 1; +- return 0; +-} +-],AC_DEFINE(HAVE_CHFLAGS, 1, Define to 1 if you have the `chflags' function.) +- AC_MSG_RESULT(yes), +- AC_MSG_RESULT(no) +-) +- +-AC_MSG_CHECKING(for lchflags) +-AC_TRY_RUN([ +-#include +-#include +-int main(int argc, char*argv[]) +-{ +- if(lchflags(argv[0], 0) != 0) +- return 1; +- return 0; +-} +-],AC_DEFINE(HAVE_LCHFLAGS, 1, Define to 1 if you have the `lchflags' function.) +- AC_MSG_RESULT(yes), +- AC_MSG_RESULT(no) +-) +- + dnl Check if system zlib has *Copy() functions + dnl + dnl On MacOSX the linker will search for dylibs on the entire linker path +@@ -3649,45 +3617,6 @@ else + AC_MSG_RESULT(no) + fi + +-AC_MSG_CHECKING(for %zd printf() format support) +-AC_TRY_RUN([#include +-#include +-#include +- +-#ifdef HAVE_SYS_TYPES_H +-#include +-#endif +- +-#ifdef HAVE_SSIZE_T +-typedef ssize_t Py_ssize_t; +-#elif SIZEOF_VOID_P == SIZEOF_LONG +-typedef long Py_ssize_t; +-#else +-typedef int Py_ssize_t; +-#endif +- +-int main() +-{ +- char buffer[256]; +- +- if(sprintf(buffer, "%zd", (size_t)123) < 0) +- return 1; +- +- if (strcmp(buffer, "123")) +- return 1; +- +- if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0) +- return 1; +- +- if (strcmp(buffer, "-123")) +- return 1; +- +- return 0; +-}], +-[AC_MSG_RESULT(yes) +- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])], +- AC_MSG_RESULT(no)) +- + AC_CHECK_TYPE(socklen_t,, + AC_DEFINE(socklen_t,int, + Define to `int' if does not define.),[ diff --git a/recipes/python/python-2.6.2/03-fix-tkinter-detection.patch b/recipes/python/python-2.6.2/03-fix-tkinter-detection.patch new file mode 100644 index 0000000000..a1a385a07c --- /dev/null +++ b/recipes/python/python-2.6.2/03-fix-tkinter-detection.patch @@ -0,0 +1,40 @@ +# We need to supply STAGING_INCDIR here, otherwise the Tk headers +# will not be found. +# Signed-Off: Michael 'Mickey' Lauer + +Index: Python-2.6.1/setup.py +=================================================================== +--- Python-2.6.1.orig/setup.py ++++ Python-2.6.1/setup.py +@@ -1543,7 +1543,7 @@ class PyBuildExt(build_ext): + dotversion = dotversion[:-1] + '.' + dotversion[-1] + tcl_include_sub = [] + tk_include_sub = [] +- for dir in inc_dirs: ++ for dir in [os.getenv("STAGING_INCDIR")]: + tcl_include_sub += [dir + os.sep + "tcl" + dotversion] + tk_include_sub += [dir + os.sep + "tk" + dotversion] + tk_include_sub += tcl_include_sub +@@ -1562,22 +1562,6 @@ class PyBuildExt(build_ext): + if dir not in include_dirs: + include_dirs.append(dir) + +- # Check for various platform-specific directories +- if platform == 'sunos5': +- include_dirs.append('/usr/openwin/include') +- added_lib_dirs.append('/usr/openwin/lib') +- elif os.path.exists('/usr/X11R6/include'): +- include_dirs.append('/usr/X11R6/include') +- added_lib_dirs.append('/usr/X11R6/lib64') +- added_lib_dirs.append('/usr/X11R6/lib') +- elif os.path.exists('/usr/X11R5/include'): +- include_dirs.append('/usr/X11R5/include') +- added_lib_dirs.append('/usr/X11R5/lib') +- else: +- # Assume default location for X11 +- include_dirs.append('/usr/X11/include') +- added_lib_dirs.append('/usr/X11/lib') +- + # If Cygwin, then verify that X is installed before proceeding + if platform == 'cygwin': + x11_inc = find_file('X11/Xlib.h', [], include_dirs) diff --git a/recipes/python/python-2.6.2/04-default-is-optimized.patch b/recipes/python/python-2.6.2/04-default-is-optimized.patch new file mode 100644 index 0000000000..805f4f696c --- /dev/null +++ b/recipes/python/python-2.6.2/04-default-is-optimized.patch @@ -0,0 +1,52 @@ +# when compiling for an embedded system, we need every bit of +# performance we can get. default to optimized with the option +# of opt-out. +# Signed-Off: Michael 'Mickey' Lauer + +Index: Python-2.6.1/Python/compile.c +=================================================================== +--- Python-2.6.1.orig/Python/compile.c ++++ Python-2.6.1/Python/compile.c +@@ -32,7 +32,7 @@ + #include "symtable.h" + #include "opcode.h" + +-int Py_OptimizeFlag = 0; ++int Py_OptimizeFlag = 1; + + #define DEFAULT_BLOCK_SIZE 16 + #define DEFAULT_BLOCKS 8 +Index: Python-2.6.1/Modules/main.c +=================================================================== +--- Python-2.6.1.orig/Modules/main.c ++++ Python-2.6.1/Modules/main.c +@@ -40,7 +40,7 @@ static char **orig_argv; + static int orig_argc; + + /* command line options */ +-#define BASE_OPTS "3bBc:dEhiJm:OQ:sStuUvVW:xX?" ++#define BASE_OPTS "3bBc:dEhiJm:NOQ:sStuUvVW:xX?" + + #ifndef RISCOS + #define PROGRAM_OPTS BASE_OPTS +@@ -69,8 +69,7 @@ Options and arguments (and corresponding + static char *usage_2 = "\ + if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\ + -m mod : run library module as a script (terminates option list)\n\ +--O : optimize generated bytecode slightly; 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 add user site directory to sys.path; also PYTHONNOUSERSITE\n\ + -S : don't imply 'import site' on initialization\n\ +@@ -353,8 +352,8 @@ Py_Main(int argc, char **argv) + + /* case 'J': reserved for Jython */ + +- case 'O': +- Py_OptimizeFlag++; ++ case 'N': ++ Py_OptimizeFlag=0; + break; + + case 'B': diff --git a/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch b/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch new file mode 100644 index 0000000000..874b8be01d --- /dev/null +++ b/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch @@ -0,0 +1,28 @@ +# CTypes need to know the actual host we are building on. +# Signed-Off: Michael Dietrich + +Index: Python-2.6.1/setup.py +=================================================================== +--- Python-2.6.1.orig/setup.py ++++ Python-2.6.1/setup.py +@@ -1656,16 +1656,16 @@ class PyBuildExt(build_ext): + ffi_configfile): + from distutils.dir_util import mkpath + mkpath(ffi_builddir) +- config_args = [] ++ config_args = ['--host=%s' % os.environ["HOST_SYS"], ] + + # Pass empty CFLAGS because we'll just append the resulting + # CFLAGS to Python's; -g or -O2 is to be avoided. +- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ +- % (ffi_builddir, ffi_srcdir, " ".join(config_args)) ++ cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ ++ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) + + res = os.system(cmd) + if res or not os.path.exists(ffi_configfile): +- print "Failed to configure _ctypes module" ++ print "Failed to configure _ctypes module (ret=%d) or missing conffile=%s" % ( ret, ffi_configfile ) + return False + + fficonfig = {} diff --git a/recipes/python/python-2.6.2/99-ignore-optimization-flag.patch b/recipes/python/python-2.6.2/99-ignore-optimization-flag.patch new file mode 100644 index 0000000000..02dc44c847 --- /dev/null +++ b/recipes/python/python-2.6.2/99-ignore-optimization-flag.patch @@ -0,0 +1,19 @@ +# Reinstate the empty -O option to fix weird mixing of native and target +# binaries and libraries with LD_LIBRARY_PATH when host==target +# +# Signed-off-by: Denys Dmytriyenko + +Index: Python-2.6.1/Modules/main.c +=================================================================== +--- Python-2.6.1-orig/Modules/main.c ++++ Python-2.6.1/Modules/main.c +@@ -352,6 +352,9 @@ Py_Main(int argc, char **argv) + + /* case 'J': reserved for Jython */ + ++ case 'O': /* ignore it */ ++ break; ++ + case 'N': + Py_OptimizeFlag=0; + break; diff --git a/recipes/python/python-2.6.2/sitecustomize.py b/recipes/python/python-2.6.2/sitecustomize.py new file mode 100644 index 0000000000..273901898a --- /dev/null +++ b/recipes/python/python-2.6.2/sitecustomize.py @@ -0,0 +1,45 @@ +# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer +# GPLv2 or later +# Version: 20081123 +# Features: +# * set proper default encoding +# * enable readline completion in the interactive interpreter +# * load command line history on startup +# * save command line history on exit + +import os + +def __exithandler(): + try: + readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) ) + except IOError: + pass + +def __registerExitHandler(): + import atexit + atexit.register( __exithandler ) + +def __enableReadlineSupport(): + readline.set_history_length( 1000 ) + readline.parse_and_bind( "tab: complete" ) + try: + readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) ) + except IOError: + pass + +def __enableDefaultEncoding(): + import sys + try: + sys.setdefaultencoding( "utf8" ) + except LookupError: + pass + +import sys +try: + import rlcompleter, readline +except ImportError: + pass +else: + __enableDefaultEncoding() + __registerExitHandler() + __enableReadlineSupport() diff --git a/recipes/python/python-native_2.6.1.bb b/recipes/python/python-native_2.6.1.bb index cc949e1c2c..30b97c9344 100644 --- a/recipes/python/python-native_2.6.1.bb +++ b/recipes/python/python-native_2.6.1.bb @@ -1,12 +1,12 @@ require python.inc DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native" - -PR .= ".2" +PR = "${INC_PR}.2" SRC_URI = "\ http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ file://00-fix-bindir-libdir-for-cross.patch;patch=1 \ file://04-default-is-optimized.patch;patch=1 \ + file://05-enable-ctypes-cross-build.patch;patch=1 \ file://10-distutils-fix-swig-parameter.patch;patch=1 \ file://11-distutils-never-modify-shebang-line.patch;patch=1 \ file://12-distutils-prefix-is-inside-staging-area.patch;patch=1 \ diff --git a/recipes/python/python.inc b/recipes/python/python.inc index f11345192c..598d97cfd3 100644 --- a/recipes/python/python.inc +++ b/recipes/python/python.inc @@ -4,7 +4,7 @@ LICENSE = "PSF" SECTION = "devel/python" PRIORITY = "optional" # bump this on every change in contrib/python/generate-manifest-2.6.py -PR = "ml3" +INC_PR = "ml4" DEFAULT_PREFERENCE = "-26" diff --git a/recipes/python/python_2.6.2.bb b/recipes/python/python_2.6.2.bb new file mode 100644 index 0000000000..07ae6cd107 --- /dev/null +++ b/recipes/python/python_2.6.2.bb @@ -0,0 +1,130 @@ +require python.inc +DEPENDS = "python-native db gdbm openssl readline sqlite3 tcl tk zlib" +DEPENDS_sharprom = "python-native db readline zlib gdbm openssl" +PR = "${INC_PR}.1" + +SRC_URI = "\ + http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ + file://00-fix-bindir-libdir-for-cross.patch;patch=1 \ + file://01-use-proper-tools-for-cross-build.patch;patch=1 \ + file://02-remove-test-for-cross.patch;patch=1 \ + file://03-fix-tkinter-detection.patch;patch=1 \ + file://04-default-is-optimized.patch;patch=1 \ + file://05-enable-ctypes-cross-build.patch;patch=1 \ + file://99-ignore-optimization-flag.patch;patch=1 \ + \ +# not yet pushed forward +# sitebranding + \ +# file://05-install.patch;patch=1 \ +# file://06-fix-urllib-exception.patch;patch=1 \ +# file://16-bug1179-imageop.patch;patch=1 \ +# file://13-set-wakeup-fix.patch;patch=1 \ + \ + file://sitecustomize.py \ +" +S = "${WORKDIR}/Python-${PV}" + +inherit autotools + +# The 3 lines below are copied from the libffi recipe, ctypes ships its own copy of the libffi sources +#Somehow gcc doesn't set __SOFTFP__ when passing -mfloatabi=softp :( +TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__" +TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" + +# +# Copy config.h and an appropriate Makefile for distutils.sysconfig, +# which laters uses the information out of these to compile extensions +# +do_compile_prepend() { + install -d ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/ + install -d ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ + install -m 0644 pyconfig.h ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/ + install -m 0644 Makefile Makefile.orig + install -m 0644 Makefile Makefile.backup + sed -e 's,${includedir},${STAGING_INCDIR},' < Makefile.backup > Makefile + install -m 0644 Makefile Makefile.backup + sed -e 's,${libdir},${STAGING_LIBDIR},' < Makefile.backup > Makefile + install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ +} + +do_compile() { + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so + + oe_libinstall -so libpython${PYTHON_MAJMIN} ${STAGING_LIBDIR} + + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + OPT="${CFLAGS}" +} + +do_stage() { + install -m 0644 Include/*.h ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/ + oe_libinstall -a -so libpython${PYTHON_MAJMIN} ${STAGING_LIBDIR} +} + +do_install() { + install -m 0644 Makefile.orig Makefile + + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + DESTDIR=${D} LIBDIR=${libdir} install + + install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN} + + # remove hardcoded ccache, see http://bugs.openembedded.net/show_bug.cgi?id=4144 + sed -i -e s,ccache,'$(CCACHE)', ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile +} + +require python-${PYTHON_MAJMIN}-manifest.inc + +# manual dependency additions +RPROVIDES_python-core = "python" +RRECOMMENDS_python-core = "python-readline" +RRECOMMENDS_python-crypt = "openssl" + +# add sitecustomize +FILES_python-core += "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py" +# ship 2to3 +FILES_python-core += "${bindir}/2to3" + +# package libpython2 +PACKAGES =+ "libpython2" +FILES_libpython2 = "${libdir}/libpython*.so*" + +# additional stuff -dev + +FILES_${PN}-dev = "\ + ${includedir} \ + ${libdir}/lib*${SOLIBSDEV} \ + ${libdir}/*.la \ + ${libdir}/*.a \ + ${libdir}/*.o \ + ${libdir}/pkgconfig \ + ${base_libdir}/*.a \ + ${base_libdir}/*.o \ + ${datadir}/aclocal \ + ${datadir}/pkgconfig \ +" + +# catch debug extensions (isn't that already in python-core-dbg?) +FILES_python-dbg += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/.debug" + +# catch all the rest (unsorted) +PACKAGES += "python-misc" +FILES_python-misc = "${libdir}/python${PYTHON_MAJMIN}" + +# catch manpage +PACKAGES += "python-man" +FILES_python-man = "${datadir}/man" -- cgit v1.2.3 From 905127e8ef0c2a53015d5ab26147d2eff6ee038b Mon Sep 17 00:00:00 2001 From: Michael 'Mickey' Lauer Date: Thu, 6 Aug 2009 15:27:38 +0200 Subject: python: sync 05-enable-ctypes-cross-build.patch with the version applied to -native --- recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch | 2 +- recipes/python/python_2.6.2.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'recipes/python') diff --git a/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch b/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch index 874b8be01d..58b8078068 100644 --- a/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch +++ b/recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch @@ -22,7 +22,7 @@ Index: Python-2.6.1/setup.py res = os.system(cmd) if res or not os.path.exists(ffi_configfile): - print "Failed to configure _ctypes module" -+ print "Failed to configure _ctypes module (ret=%d) or missing conffile=%s" % ( ret, ffi_configfile ) ++ print "Failed to configure _ctypes module (res=%d) or missing conffile=%s" % ( res, ffi_configfile ) return False fficonfig = {} diff --git a/recipes/python/python_2.6.2.bb b/recipes/python/python_2.6.2.bb index 07ae6cd107..d70a6e9e06 100644 --- a/recipes/python/python_2.6.2.bb +++ b/recipes/python/python_2.6.2.bb @@ -1,7 +1,7 @@ require python.inc DEPENDS = "python-native db gdbm openssl readline sqlite3 tcl tk zlib" DEPENDS_sharprom = "python-native db readline zlib gdbm openssl" -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" SRC_URI = "\ http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \ -- cgit v1.2.3 From 68233bb284d82040087b7d265ad3ad93c0cab475 Mon Sep 17 00:00:00 2001 From: Manuel Pietschmann Date: Mon, 10 Aug 2009 13:06:26 -0700 Subject: python-sip_4.8.2.bb: Add new recipe for python-sip Signed-off-by: Khem Raj --- recipes/python/python-sip_4.8.2.bb | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 recipes/python/python-sip_4.8.2.bb (limited to 'recipes/python') diff --git a/recipes/python/python-sip_4.8.2.bb b/recipes/python/python-sip_4.8.2.bb new file mode 100644 index 0000000000..db88ba974b --- /dev/null +++ b/recipes/python/python-sip_4.8.2.bb @@ -0,0 +1,2 @@ +require python-sip.inc +PR = "ml0" -- cgit v1.2.3 From c80831a276fe0bc9f9718ac06241b26d043eef6c Mon Sep 17 00:00:00 2001 From: Thomas Zimmermann Date: Wed, 12 Aug 2009 10:31:58 +0200 Subject: python: add missing dependencies * Added mimetools.py and rfc822.py to python-netclient * Added python-json package * Let python-email depend on python-netclient, because email/utils.py depends on base64.py NOTE: Fixes http://trac.shr-project.org/trac/ticket/549 --- recipes/python/python-2.6-manifest.inc | 99 +++++++++++++++++----------------- recipes/python/python.inc | 2 +- recipes/python/python_2.6.2.bb | 3 +- 3 files changed, 53 insertions(+), 51 deletions(-) (limited to 'recipes/python') diff --git a/recipes/python/python-2.6-manifest.inc b/recipes/python/python-2.6-manifest.inc index ad1d5f6982..3977e71953 100644 --- a/recipes/python/python-2.6-manifest.inc +++ b/recipes/python/python-2.6-manifest.inc @@ -1,16 +1,17 @@ + # WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: './generate-manifest-2.6.py' Version 20090425 (C) 2002-2009 Michael 'Mickey' Lauer +# Generator: '/local/pkg/oe/openembedded/contrib/python/generate-manifest-2.6.py' Version 20090812 (C) 2002-2009 Michael 'Mickey' Lauer # Visit the Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy -PROVIDES+="python-codecs python-threading python-distutils python-textutils python-stringold python-curses python-ctypes python-pickle python-datetime python-core python-io python-compression python-re python-profile python-xmlrpc python-terminal python-dev python-email python-image python-tests python-core-dbg python-resource python-difflib python-math python-syslog python-hotshot python-unixadmin python-doctest python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-compiler python-smtpd python-html python-readline python-subprocess python-pydoc python-sqlite3-tests python-logging python-mailbox python-xml python-mime python-sqlite3 python-idle python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-bzip2 python-lang python-audio " +PROVIDES+="python-profile python-threading python-distutils python-doctest python-codecs python-ctypes python-pickle python-bzip2 python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-json python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-stringold python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio " -PACKAGES="python-codecs python-threading python-distutils python-textutils python-stringold python-curses python-ctypes python-pickle python-datetime python-core python-io python-compression python-re python-profile python-xmlrpc python-terminal python-dev python-email python-image python-tests python-core-dbg python-resource python-difflib python-math python-syslog python-hotshot python-unixadmin python-doctest python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-compiler python-smtpd python-html python-readline python-subprocess python-pydoc python-sqlite3-tests python-logging python-mailbox python-xml python-mime python-sqlite3 python-idle python-unittest python-multiprocessing python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-bzip2 python-lang python-audio python-modules" +PACKAGES="python-profile python-threading python-distutils python-doctest python-codecs python-ctypes python-pickle python-bzip2 python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-tests python-core-dbg python-resource python-json python-devel python-difflib python-math python-syslog python-hotshot python-unixadmin python-textutils python-tkinter python-gdbm python-elementtree python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-sqlite3-tests python-unittest python-stringold python-robotparser python-compile python-debugger python-pkgutil python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio python-modules" -DESCRIPTION_python-codecs="Python Codecs, Encodings & i18n Support" -RDEPENDS_python-codecs="python-core python-lang" -FILES_python-codecs="${libdir}/python2.6/codecs.* ${libdir}/python2.6/encodings ${libdir}/python2.6/gettext.* ${libdir}/python2.6/locale.* ${libdir}/python2.6/lib-dynload/_locale.so ${libdir}/python2.6/lib-dynload/unicodedata.so ${libdir}/python2.6/stringprep.* ${libdir}/python2.6/xdrlib.* " +DESCRIPTION_python-profile="Python Basic Profiling Support" +RDEPENDS_python-profile="python-core python-textutils" +FILES_python-profile="${libdir}/python2.6/profile.* ${libdir}/python2.6/pstats.* ${libdir}/python2.6/cProfile.* ${libdir}/python2.6/lib-dynload/_lsprof.so " DESCRIPTION_python-threading="Python Threading & Synchronization Support" RDEPENDS_python-threading="python-core python-lang" @@ -20,17 +21,13 @@ DESCRIPTION_python-distutils="Python Distribution Utilities" RDEPENDS_python-distutils="python-core" FILES_python-distutils="${libdir}/python2.6/config ${libdir}/python2.6/distutils " -DESCRIPTION_python-textutils="Python Option Parsing, Text Wrapping and Comma-Separated-Value Support" -RDEPENDS_python-textutils="python-core python-io python-re python-stringold" -FILES_python-textutils="${libdir}/python2.6/lib-dynload/_csv.so ${libdir}/python2.6/csv.* ${libdir}/python2.6/optparse.* ${libdir}/python2.6/textwrap.* " - -DESCRIPTION_python-stringold="Python String APIs [deprecated]" -RDEPENDS_python-stringold="python-core python-re" -FILES_python-stringold="${libdir}/python2.6/lib-dynload/strop.so ${libdir}/python2.6/string.* " +DESCRIPTION_python-doctest="Python framework for running examples in docstrings." +RDEPENDS_python-doctest="python-core python-lang python-io python-re python-unittest python-debugger python-difflib" +FILES_python-doctest="${libdir}/python2.6/doctest.* " -DESCRIPTION_python-curses="Python Curses Support" -RDEPENDS_python-curses="python-core" -FILES_python-curses="${libdir}/python2.6/curses ${libdir}/python2.6/lib-dynload/_curses.so ${libdir}/python2.6/lib-dynload/_curses_panel.so " +DESCRIPTION_python-codecs="Python Codecs, Encodings & i18n Support" +RDEPENDS_python-codecs="python-core python-lang" +FILES_python-codecs="${libdir}/python2.6/codecs.* ${libdir}/python2.6/encodings ${libdir}/python2.6/gettext.* ${libdir}/python2.6/locale.* ${libdir}/python2.6/lib-dynload/_locale.so ${libdir}/python2.6/lib-dynload/unicodedata.so ${libdir}/python2.6/stringprep.* ${libdir}/python2.6/xdrlib.* " DESCRIPTION_python-ctypes="Python C Types Support" RDEPENDS_python-ctypes="python-core" @@ -40,6 +37,10 @@ DESCRIPTION_python-pickle="Python Persistence Support" RDEPENDS_python-pickle="python-core python-codecs python-io python-re" FILES_python-pickle="${libdir}/python2.6/pickle.* ${libdir}/python2.6/shelve.* ${libdir}/python2.6/lib-dynload/cPickle.so " +DESCRIPTION_python-bzip2="Python bzip2 support" +RDEPENDS_python-bzip2="python-core" +FILES_python-bzip2="${libdir}/python2.6/lib-dynload/bz2.so " + DESCRIPTION_python-datetime="Python Calendar and Time support" RDEPENDS_python-datetime="python-core python-codecs" FILES_python-datetime="${libdir}/python2.6/_strptime.* ${libdir}/python2.6/calendar.* ${libdir}/python2.6/lib-dynload/datetime.so " @@ -52,6 +53,10 @@ DESCRIPTION_python-io="Python Low-Level I/O" RDEPENDS_python-io="python-core python-math" FILES_python-io="${libdir}/python2.6/lib-dynload/_socket.so ${libdir}/python2.6/lib-dynload/_ssl.so ${libdir}/python2.6/lib-dynload/select.so ${libdir}/python2.6/lib-dynload/termios.so ${libdir}/python2.6/lib-dynload/cStringIO.so ${libdir}/python2.6/pipes.* ${libdir}/python2.6/socket.* ${libdir}/python2.6/tempfile.* ${libdir}/python2.6/StringIO.* " +DESCRIPTION_python-compiler="Python Compiler Support" +RDEPENDS_python-compiler="python-core" +FILES_python-compiler="${libdir}/python2.6/compiler " + DESCRIPTION_python-compression="Python High Level Compression Support" RDEPENDS_python-compression="python-core python-zlib" FILES_python-compression="${libdir}/python2.6/gzip.* ${libdir}/python2.6/zipfile.* ${libdir}/python2.6/tarfile.* " @@ -60,10 +65,6 @@ DESCRIPTION_python-re="Python Regular Expression APIs" RDEPENDS_python-re="python-core" FILES_python-re="${libdir}/python2.6/re.* ${libdir}/python2.6/sre.* ${libdir}/python2.6/sre_compile.* ${libdir}/python2.6/sre_constants* ${libdir}/python2.6/sre_parse.* " -DESCRIPTION_python-profile="Python Basic Profiling Support" -RDEPENDS_python-profile="python-core python-textutils" -FILES_python-profile="${libdir}/python2.6/profile.* ${libdir}/python2.6/pstats.* ${libdir}/python2.6/cProfile.* ${libdir}/python2.6/lib-dynload/_lsprof.so " - DESCRIPTION_python-xmlrpc="Python XMLRPC Support" RDEPENDS_python-xmlrpc="python-core python-xml python-netserver python-lang" FILES_python-xmlrpc="${libdir}/python2.6/xmlrpclib.* ${libdir}/python2.6/SimpleXMLRPCServer.* " @@ -72,13 +73,9 @@ DESCRIPTION_python-terminal="Python Terminal Controlling Support" RDEPENDS_python-terminal="python-core python-io" FILES_python-terminal="${libdir}/python2.6/pty.* ${libdir}/python2.6/tty.* " -DESCRIPTION_python-dev="Python Development Package" -RDEPENDS_python-dev="python-core" -FILES_python-dev="${includedir} ${libdir}/python2.6/config " - DESCRIPTION_python-email="Python Email Support" -RDEPENDS_python-email="python-core python-io python-re python-mime python-audio python-image" -FILES_python-email="${libdir}/python2.6/imaplib.* ${libdir}/python2.6/email " +RDEPENDS_python-email="python-core python-io python-re python-mime python-audio python-image python-netclient" +FILES_python-email="${libdir}/python2.6/email " DESCRIPTION_python-image="Python Graphical Image Handling" RDEPENDS_python-image="python-core" @@ -96,6 +93,14 @@ DESCRIPTION_python-resource="Python Resource Control Interface" RDEPENDS_python-resource="python-core" FILES_python-resource="${libdir}/python2.6/lib-dynload/resource.so " +DESCRIPTION_python-json="Python JSON Support" +RDEPENDS_python-json="python-core python-math python-re" +FILES_python-json="${libdir}/python2.6/json " + +DESCRIPTION_python-devel="Python Development Package" +RDEPENDS_python-devel="python-core" +FILES_python-devel="${includedir} ${libdir}/python2.6/config " + DESCRIPTION_python-difflib="Python helpers for computing deltas between objects." RDEPENDS_python-difflib="python-lang python-re" FILES_python-difflib="${libdir}/python2.6/difflib.* " @@ -104,7 +109,7 @@ DESCRIPTION_python-math="Python Math Support" RDEPENDS_python-math="python-core" FILES_python-math="${libdir}/python2.6/lib-dynload/cmath.so ${libdir}/python2.6/lib-dynload/math.so ${libdir}/python2.6/lib-dynload/_random.so ${libdir}/python2.6/random.* ${libdir}/python2.6/sets.* " -DESCRIPTION_python-syslog="Python Syslog Interface" +DESCRIPTION_python-syslog="Python's Syslog Interface" RDEPENDS_python-syslog="python-core" FILES_python-syslog="${libdir}/python2.6/lib-dynload/syslog.so " @@ -116,9 +121,9 @@ DESCRIPTION_python-unixadmin="Python Unix Administration Support" RDEPENDS_python-unixadmin="python-core" FILES_python-unixadmin="${libdir}/python2.6/lib-dynload/nis.so ${libdir}/python2.6/lib-dynload/grp.so ${libdir}/python2.6/lib-dynload/pwd.so ${libdir}/python2.6/getpass.* " -DESCRIPTION_python-doctest="Python framework for running examples in docstrings." -RDEPENDS_python-doctest="python-core python-lang python-io python-re python-unittest python-debugger python-difflib" -FILES_python-doctest="${libdir}/python2.6/doctest.* " +DESCRIPTION_python-textutils="Python Option Parsing, Text Wrapping and Comma-Separated-Value Support" +RDEPENDS_python-textutils="python-core python-io python-re python-stringold" +FILES_python-textutils="${libdir}/python2.6/lib-dynload/_csv.so ${libdir}/python2.6/csv.* ${libdir}/python2.6/optparse.* ${libdir}/python2.6/textwrap.* " DESCRIPTION_python-tkinter="Python Tcl/Tk Bindings" RDEPENDS_python-tkinter="python-core" @@ -138,7 +143,7 @@ FILES_python-fcntl="${libdir}/python2.6/lib-dynload/fcntl.so " DESCRIPTION_python-netclient="Python Internet Protocol Clients" RDEPENDS_python-netclient="python-core python-crypt python-datetime python-io python-lang python-logging python-mime" -FILES_python-netclient="${libdir}/python2.6/*Cookie*.* ${libdir}/python2.6/base64.* ${libdir}/python2.6/cookielib.* ${libdir}/python2.6/ftplib.* ${libdir}/python2.6/gopherlib.* ${libdir}/python2.6/hmac.* ${libdir}/python2.6/httplib.* ${libdir}/python2.6/mimetypes.* ${libdir}/python2.6/nntplib.* ${libdir}/python2.6/poplib.* ${libdir}/python2.6/smtplib.* ${libdir}/python2.6/telnetlib.* ${libdir}/python2.6/urllib.* ${libdir}/python2.6/urllib2.* ${libdir}/python2.6/urlparse.* ${libdir}/python2.6/uuid.* " +FILES_python-netclient="${libdir}/python2.6/*Cookie*.* ${libdir}/python2.6/base64.* ${libdir}/python2.6/cookielib.* ${libdir}/python2.6/ftplib.* ${libdir}/python2.6/gopherlib.* ${libdir}/python2.6/hmac.* ${libdir}/python2.6/httplib.* ${libdir}/python2.6/mimetypes.* ${libdir}/python2.6/nntplib.* ${libdir}/python2.6/poplib.* ${libdir}/python2.6/smtplib.* ${libdir}/python2.6/telnetlib.* ${libdir}/python2.6/urllib.* ${libdir}/python2.6/urllib2.* ${libdir}/python2.6/urlparse.* ${libdir}/python2.6/uuid.* ${libdir}/python2.6/rfc822.* ${libdir}/python2.6/mimetools.* " DESCRIPTION_python-pprint="Python Pretty-Print Support" RDEPENDS_python-pprint="python-core" @@ -148,9 +153,9 @@ DESCRIPTION_python-netserver="Python Internet Protocol Servers" RDEPENDS_python-netserver="python-core python-netclient" FILES_python-netserver="${libdir}/python2.6/cgi.* ${libdir}/python2.6/BaseHTTPServer.* ${libdir}/python2.6/SimpleHTTPServer.* ${libdir}/python2.6/SocketServer.* " -DESCRIPTION_python-compiler="Python Compiler Support" -RDEPENDS_python-compiler="python-core" -FILES_python-compiler="${libdir}/python2.6/compiler " +DESCRIPTION_python-curses="Python Curses Support" +RDEPENDS_python-curses="python-core" +FILES_python-curses="${libdir}/python2.6/curses ${libdir}/python2.6/lib-dynload/_curses.so ${libdir}/python2.6/lib-dynload/_curses_panel.so " DESCRIPTION_python-smtpd="Python Simple Mail Transport Daemon" RDEPENDS_python-smtpd="python-core python-netserver python-email python-mime" @@ -172,10 +177,6 @@ DESCRIPTION_python-pydoc="Python Interactive Help Support" RDEPENDS_python-pydoc="python-core python-lang python-stringold python-re" FILES_python-pydoc="${bindir}/pydoc ${libdir}/python2.6/pydoc.* " -DESCRIPTION_python-sqlite3-tests="Python Sqlite3 Database Support Tests" -RDEPENDS_python-sqlite3-tests="python-core python-sqlite3" -FILES_python-sqlite3-tests="${libdir}/python2.6/sqlite3/test " - DESCRIPTION_python-logging="Python Logging Support" RDEPENDS_python-logging="python-core python-io python-lang python-pickle python-stringold" FILES_python-logging="${libdir}/python2.6/logging " @@ -194,19 +195,19 @@ FILES_python-mime="${libdir}/python2.6/mimetools.* ${libdir}/python2.6/uu.* ${li DESCRIPTION_python-sqlite3="Python Sqlite3 Database Support" RDEPENDS_python-sqlite3="python-core python-datetime python-lang python-crypt python-io python-threading python-zlib" -FILES_python-sqlite3="${libdir}/python2.6/lib-dynload/_sqlite3.so ${libdir}/python2.6/sqlite3/dbapi2.* ${libdir}/python2.6/sqlite3/__init__.* ${libdir}/python2.6/sqlite3/dump.* " +FILES_python-sqlite3="${libdir}/python2.6/lib-dynload/_sqlite3.so ${libdir}/python2.6/sqlite3/dbapi2.* ${libdir}/python2.6/sqlite3/__init__.* " -DESCRIPTION_python-idle="Python Integrated Development Environment" -RDEPENDS_python-idle="python-core python-tkinter" -FILES_python-idle="${bindir}/idle ${libdir}/python2.6/idlelib " +DESCRIPTION_python-sqlite3-tests="Python Sqlite3 Database Support Tests" +RDEPENDS_python-sqlite3-tests="python-core python-sqlite3" +FILES_python-sqlite3-tests="${libdir}/python2.6/sqlite3/test " DESCRIPTION_python-unittest="Python Unit Testing Framework" RDEPENDS_python-unittest="python-core python-stringold python-lang" FILES_python-unittest="${libdir}/python2.6/unittest.* " -DESCRIPTION_python-multiprocessing="Python Multiprocessing Support" -RDEPENDS_python-multiprocessing="python-core python-io python-lang" -FILES_python-multiprocessing="${libdir}/python2.6/lib-dynload/_multiprocessing.so ${libdir}/python2.6/multiprocessing " +DESCRIPTION_python-stringold="Python String APIs [deprecated]" +RDEPENDS_python-stringold="python-core python-re" +FILES_python-stringold="${libdir}/python2.6/lib-dynload/strop.so ${libdir}/python2.6/string.* " DESCRIPTION_python-robotparser="Python robots.txt parser" RDEPENDS_python-robotparser="pytho