diff options
Diffstat (limited to 'package/python')
-rw-r--r-- | package/python/Config.in | 6 | ||||
-rw-r--r-- | package/python/Makefile | 22 | ||||
-rw-r--r-- | package/python/patches/patch-Makefile_pre_in | 11 | ||||
-rw-r--r-- | package/python/patches/patch-setup_py | 83 |
4 files changed, 104 insertions, 18 deletions
diff --git a/package/python/Config.in b/package/python/Config.in deleted file mode 100644 index 321f8c59c..000000000 --- a/package/python/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config ADK_PACKAGE_PYTHON - prompt "python........................... Python scripting language" - tristate - default n - help - http://www.python.org diff --git a/package/python/Makefile b/package/python/Makefile index a602c6706..ad694d872 100644 --- a/package/python/Makefile +++ b/package/python/Makefile @@ -12,25 +12,25 @@ PKG_SECTION:= lang PKG_URL:= http://www.python.org PKG_SITES:= http://www.python.org/ftp/python/3.1.1/ +PKG_HOST_DEPENDS:= !netbsd !openbsd + DISTFILES= Python-${PKG_VERSION}.tgz WRKDIST= ${WRKDIR}/Python-${PKG_VERSION} +DISMOD:= readline _curses _curses_panel _tkinter nis + include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,PYTHON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) MAKE_ENV+= OPT="$(TARGET_CFLAGS)" \ - HOSTPYTHON=hostpython \ - HOSTPGEN=hostpgen \ - CROSS_COMPILE=yes - -CONFIGURE_STYLE:= gnu + HOSTPYTHON=./hostpython \ + HOSTPGEN=./Parser/hostpgen \ + PYTHON_DISABLE_MODULES="$(DISMOD)" CONFIGURE_ENV+= OPT="$(TARGET_CFLAGS)" -CONFGIURE_ARGS:= --with-threads \ +CONFIGURE_ARGS:= --with-threads \ --with-system-ffi \ --without-cxx-main -BUILD_STYLE:= auto -INSTALL_STYLE:= auto pre-configure: (cd ${WRKBUILD}; rm -rf config.{cache,status} ; \ @@ -39,10 +39,10 @@ pre-configure: --prefix=$(STAGING_TOOLS) \ ); $(MAKE) -C ${WRKBUILD} python Parser/pgen - ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/hostpgen + ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/pgen ${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/hostpython - PATH='${TARGET_PATH}' \ - $(MAKE) -C ${WRKBUILD} HOSTPYTHON="hostpython" sharedmods install + ${CP} ${WRKBUILD}/Parser/pgen ${WRKBUILD}/Parser/hostpgen + ${CP} ${WRKBUILD}/python ${WRKBUILD}/hostpython $(MAKE) -C ${WRKBUILD} distclean post-install: diff --git a/package/python/patches/patch-Makefile_pre_in b/package/python/patches/patch-Makefile_pre_in index ac6c129ee..00504cb16 100644 --- a/package/python/patches/patch-Makefile_pre_in +++ b/package/python/patches/patch-Makefile_pre_in @@ -1,5 +1,14 @@ --- Python-3.1.1.orig/Makefile.pre.in 2009-06-12 00:54:11.000000000 +0200 -+++ Python-3.1.1/Makefile.pre.in 2009-09-23 21:48:18.000000000 +0200 ++++ Python-3.1.1/Makefile.pre.in 2009-09-28 19:01:13.167748736 +0200 +@@ -52,7 +52,7 @@ INSTALL_DATA= @INSTALL_DATA@ + # Shared libraries must be installed with executable mode on some systems; + # rather than figuring out exactly which, we always give them executable mode. + # Also, making them read-only seems to be a good idea... +-INSTALL_SHARED= ${INSTALL} -m 555 ++INSTALL_SHARED= ${INSTALL} -m 755 + + MAKESETUP= $(srcdir)/Modules/makesetup + @@ -177,6 +177,7 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) diff --git a/package/python/patches/patch-setup_py b/package/python/patches/patch-setup_py new file mode 100644 index 000000000..c9f3dfe08 --- /dev/null +++ b/package/python/patches/patch-setup_py @@ -0,0 +1,83 @@ +--- Python-3.1.1.orig/setup.py 2009-08-12 20:39:44.000000000 +0200 ++++ Python-3.1.1/setup.py 2009-09-28 19:12:33.550271196 +0200 +@@ -255,36 +255,6 @@ class PyBuildExt(build_ext): + # cached. Clear that cache before trying to import. + sys.path_importer_cache.clear() + +- try: +- imp.load_dynamic(ext.name, ext_filename) +- except ImportError as why: +- self.failed.append(ext.name) +- self.announce('*** WARNING: renaming "%s" since importing it' +- ' failed: %s' % (ext.name, why), level=3) +- assert not self.inplace +- basename, tail = os.path.splitext(ext_filename) +- newname = basename + "_failed" + tail +- if os.path.exists(newname): +- os.remove(newname) +- os.rename(ext_filename, newname) +- +- # XXX -- This relies on a Vile HACK in +- # distutils.command.build_ext.build_extension(). The +- # _built_objects attribute is stored there strictly for +- # use here. +- # If there is a failure, _built_objects may not be there, +- # so catch the AttributeError and move on. +- try: +- for filename in self._built_objects: +- os.remove(filename) +- except AttributeError: +- self.announce('unable to remove files (ignored)') +- except: +- exc_type, why, tb = sys.exc_info() +- self.announce('*** WARNING: importing extension "%s" ' +- 'failed with %s: %s' % (ext.name, exc_type, why), +- level=3) +- self.failed.append(ext.name) + + def get_platform(self): + # Get value of sys.platform +@@ -295,8 +265,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. +@@ -332,20 +302,22 @@ class PyBuildExt(build_ext): + for directory in reversed(options.dirs): + add_dir_to_list(dir_list, directory) + +- if os.path.normpath(sys.prefix) != '/usr': +- add_dir_to_list(self.compiler.library_dirs, +- sysconfig.get_config_var("LIBDIR")) +- add_dir_to_list(self.compiler.include_dirs, +- sysconfig.get_config_var("INCLUDEDIR")) ++ #if os.path.normpath(sys.prefix) != '/usr': ++ # add_dir_to_list(self.compiler.library_dirs, ++ # sysconfig.get_config_var("LIBDIR")) ++ # add_dir_to_list(self.compiler.include_dirs, ++ # sysconfig.get_config_var("INCLUDEDIR")) + + # lib_dirs and inc_dirs are used to search for files; + # if a file is found in one of those directories, it can + # be assumed that no additional -I,-L directives are needed. +- lib_dirs = self.compiler.library_dirs + [ +- '/lib64', '/usr/lib64', +- '/lib', '/usr/lib', +- ] +- inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ #lib_dirs = self.compiler.library_dirs + [ ++ # '/lib64', '/usr/lib64', ++ # '/lib', '/usr/lib', ++ # ] ++ #inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ inc_dirs = self.compiler.include_dirs ++ lib_dirs = self.compiler.library_dirs + exts = [] + missing = [] + |