X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=lang%2Fpython%2FMakefile;h=8493b5574683266360dde8499cb2a1db1d04a360;hb=b13ad041e138b3cdf0380135b95edfef3ca65d8d;hp=24a1b4ce7f999be268178e12d5d552411a389b14;hpb=4de5143b4eef1c2682a4320aafaa5f80280e9746;p=packages.git diff --git a/lang/python/Makefile b/lang/python/Makefile index 24a1b4ce7..8493b5574 100644 --- a/lang/python/Makefile +++ b/lang/python/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,15 +8,26 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python -PKG_VERSION:=2.6.1 +PKG_VERSION:=2.7.3 PKG_RELEASE:=2 -PKG_SOURCE:=Python-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=http://www.python.org/ftp/python/$(PKG_VERSION)/ -PKG_MD5SUM:=e81c2f0953aa60f8062c05a4673f2be0 +PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=http://www.python.org/ftp/python/$(PKG_VERSION) +PKG_MD5SUM:=62c4c1699170078c469f79ddfed21bc0 + +PKG_LICENSE:=PSF +PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 +HOST_BUILD_PARALLEL:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION) +HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION) +PKG_BUILD_DEPENDS:=python/host + +include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk -include $(if $(DUMP),,./files/python-package.mk) @@ -40,7 +51,7 @@ endef define Package/python $(call Package/python/Default) TITLE+= (full) - DEPENDS:=+libpthread +zlib +PACKAGE_python:libffi +python-mini + DEPENDS:=+libpthread +zlib +libffi +python-mini endef define Package/python/description @@ -67,104 +78,123 @@ $(call Package/python/Default) DEPENDS+=+python-mini endef +define Package/python-bzip2 +$(call Package/python/Default) + TITLE:=Python support for Bzip2 + DEPENDS+=+python-mini +libbz2 +endef + define Package/python-expat $(call Package/python/Default) TITLE:=Python support for expat DEPENDS+=+python-mini +libexpat endef +define Package/python-gzip +$(call Package/python/Default) + TITLE:=Python support for gzip + DEPENDS+=+python-mini +endef + define Package/python-openssl $(call Package/python/Default) TITLE:=Python support for OpenSSL DEPENDS+=+python-mini +libopenssl endef +define Package/python-shutil +$(call Package/python/Default) + TITLE:=Python support for shutil + DEPENDS+=+python-mini +endef + +# Needs datetime define Package/python-sqlite3 $(call Package/python/Default) TITLE:=Python support for sqlite3 - DEPENDS+=+python-mini +libsqlite3 + DEPENDS+=+python +libsqlite3 +endef + +define Package/python-gdbm +$(call Package/python/Default) + TITLE:=Python support for gdbm + DEPENDS+=+python-mini +libgdbm endef +define Package/python-readline +$(call Package/python/Default) + TITLE:=Python support for readline + DEPENDS+=+python-mini +libreadline +libncurses @BROKEN +endef -PY_DISABLED_MODULES:= \ - readline _curses _curses_panel _tkinter nis +define Package/python-ncurses +$(call Package/python/Default) + TITLE:=Python support for readline + DEPENDS+=+python-mini +libncurses +endef -MAKE_OPTS:=\ +MAKE_FLAGS:=\ $(TARGET_CONFIGURE_OPTS) \ - PYTHON_DISABLE_MODULES="$(PY_DISABLED_MODULES)" \ - PYTHON_MODULES_INCLUDE="$(STAGING_DIR)/usr/include" \ - PYTHON_MODULES_LIB="$(STAGING_DIR)/usr/lib" \ + DESTDIR="$(PKG_INSTALL_DIR)" \ CROSS_COMPILE=yes \ - CFLAGS="$(TARGET_CFLAGS) -fno-inline" \ + CFLAGS="$(TARGET_CFLAGS) -DNDEBUG -fno-inline" \ LDFLAGS="$(TARGET_LDFLAGS)" \ LD="$(TARGET_CC)" \ HOSTPYTHON=./hostpython \ - HOSTPGEN=./hostpgen \ + HOSTPGEN=./hostpgen -define Build/Configure -endef +ENABLE_IPV6:= +ifeq ($(CONFIG_IPV6),y) + ENABLE_IPV6 += --enable-ipv6 +endif -define Build/Compile +define Build/Configure -$(MAKE) -C $(PKG_BUILD_DIR) distclean - (cd $(PKG_BUILD_DIR); autoreconf --force --install || exit 0); - (cd $(PKG_BUILD_DIR); \ - rm -rf config.cache; \ - CONFIG_SITE= \ - OPT="$(HOST_CFLAGS)" \ - ./configure --without-cxx-main --without-threads --prefix=$(PKG_INSTALL_DIR)/host; \ - ); - $(MAKE) -C $(PKG_BUILD_DIR) \ - python Parser/pgen - $(MAKE) -C $(PKG_BUILD_DIR) \ - HOSTPYTHON=$(PKG_BUILD_DIR)/python \ - sharedmods install - (cd $(PKG_BUILD_DIR);mv Parser/pgen hostpgen) + (cd $(PKG_BUILD_DIR); autoreconf --force --install || exit 0) # The python executable needs to stay in the rootdir since its location will # be used to compute the path of the config files. - $(CP) $(PKG_BUILD_DIR)/python $(PKG_BUILD_DIR)/hostpython - $(MAKE) -C $(PKG_BUILD_DIR) distclean + $(CP) $(STAGING_DIR_HOST)/bin/pgen $(PKG_BUILD_DIR)/hostpgen + $(CP) $(STAGING_DIR_HOST)/bin/python$(PYTHON_VERSION) $(PKG_BUILD_DIR)/hostpython $(call Build/Configure/Default, \ --sysconfdir=/etc \ --disable-shared \ --without-cxx-main \ --with-threads \ - --with-system-ffi \ - ac_cv_lib_readline_readline=no \ + --with-system-ffi="$(STAGING_DIR)/usr" \ + $(ENABLE_IPV6) \ ac_cv_have_chflags=no \ ac_cv_have_lchflags=no \ ac_cv_py_format_size_t=no \ + ac_cv_have_long_long_format=yes \ + ac_cv_buggy_getaddrinfo=no \ OPT="$(TARGET_CFLAGS)" \ ) - $(MAKE) -C $(PKG_BUILD_DIR) \ - $(MAKE_OPTS) \ - DESTDIR="$(PKG_INSTALL_DIR)" \ - all install endef define Build/InstallDev - $(INSTALL_DIR) $(1)/mk $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib - $(INSTALL_DATA) ./files/python-package.mk $(1)/mk/ + $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib + $(INSTALL_DIR) $(STAGING_DIR)/mk/ + $(INSTALL_DATA) ./files/python-package.mk $(STAGING_DIR)/mk/ $(CP) \ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \ $(1)/usr/include/ $(CP) \ - $(PKG_INSTALL_DIR)/host/lib/python$(PYTHON_VERSION) \ + $(STAGING_DIR_HOST)/lib/python$(PYTHON_VERSION) \ $(PKG_BUILD_DIR)/libpython$(PYTHON_VERSION).a \ $(1)/usr/lib/ - $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config \ $(1)/usr/lib/python$(PYTHON_VERSION)/ $(CP) \ - $(PKG_INSTALL_DIR)/host/bin/python \ + $(STAGING_DIR_HOST)/bin/python$(PYTHON_VERSION) \ $(1)/usr/bin/hostpython (cd $(2)/bin; \ ln -sf ../../usr/bin/hostpython python$(PYTHON_VERSION); \ ln -sf python$(PYTHON_VERSION) python) $(CP) \ - $(PKG_INSTALL_DIR)/host/bin/python$(PYTHON_VERSION)-config \ + $(STAGING_DIR_HOST)/bin/python$(PYTHON_VERSION)-config \ $(2)/bin/ $(SED) 's,^#!.*,#!/usr/bin/env python$(PYTHON_VERSION),g' $(2)/bin/python$(PYTHON_VERSION)-config @@ -173,11 +203,9 @@ define Build/InstallDev endef define PyPackage/python/filespec -+|/usr/bin/python$(PYTHON_VERSION) +|/usr/lib/python$(PYTHON_VERSION) -|/usr/lib/python$(PYTHON_VERSION)/bsddb/test -|/usr/lib/python$(PYTHON_VERSION)/config -+|/usr/lib/python$(PYTHON_VERSION)/config/Makefile -|/usr/lib/python$(PYTHON_VERSION)/ctypes/test -|/usr/lib/python$(PYTHON_VERSION)/distutils/command/wininst-*.exe -|/usr/lib/python$(PYTHON_VERSION)/distutils/tests @@ -189,10 +217,12 @@ define PyPackage/python/filespec -|/usr/lib/python$(PYTHON_VERSION)/test -|/usr/lib/python$(PYTHON_VERSION)/lib2to3 -|/usr/lib/python$(PYTHON_VERSION)/lib-old +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/bz2.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/gdbm.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sqlite3.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ssl.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/pyexpat.so --|/usr/lib/python$(PYTHON_VERSION)/pydoc_topics.py +-|/usr/lib/python$(PYTHON_VERSION)/pydoc_data -|/usr/lib/python$(PYTHON_VERSION)/pydoc.py -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ctypes_test.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_testcapi.so @@ -215,21 +245,28 @@ define PyPackage/python/filespec -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/array.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/binascii.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/cStringIO.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses_panel.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/dbm.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_bsddb.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/fcntl.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/grp.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/itertools.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/math.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_md5.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/operator.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_random.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/select.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha256.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha512.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_socket.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/strop.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_struct.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/syslog.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/time.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/unicodedata.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/zlib.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_weakref.so -|/usr/lib/python$(PYTHON_VERSION)/linecache.py -|/usr/lib/python$(PYTHON_VERSION)/md5.py -|/usr/lib/python$(PYTHON_VERSION)/new.py @@ -267,10 +304,17 @@ define PyPackage/python/filespec -|/usr/lib/python$(PYTHON_VERSION)/UserDict.py -|/usr/lib/python$(PYTHON_VERSION)/warnings.py -|/usr/lib/python$(PYTHON_VERSION)/weakref.py -endef - -define PyPackage/python/install - ln -sf python$(PYTHON_VERSION) $(1)/usr/bin/python +-|/usr/lib/python$(PYTHON_VERSION)/_weakrefset.py +-|/usr/lib/python$(PYTHON_VERSION)/sysconfig.py +-|/usr/lib/python$(PYTHON_VERSION)/functools.py +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_functools.so +-|/usr/lib/python$(PYTHON_VERSION)/collections.py +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_collections.so +-|/usr/lib/python$(PYTHON_VERSION)/keyword.py +-|/usr/lib/python$(PYTHON_VERSION)/heapq.py +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_heapq.so +-|/usr/lib/python$(PYTHON_VERSION)/bisect.py +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_bisect.so endef define PyPackage/python-mini/filespec @@ -298,17 +342,19 @@ define PyPackage/python-mini/filespec +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/grp.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/itertools.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/math.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_md5.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/operator.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_random.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/select.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha256.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha512.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_socket.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/strop.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_struct.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/syslog.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/time.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/unicodedata.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/zlib.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_weakref.so +|/usr/lib/python$(PYTHON_VERSION)/linecache.py +|/usr/lib/python$(PYTHON_VERSION)/md5.py +|/usr/lib/python$(PYTHON_VERSION)/new.py @@ -346,6 +392,19 @@ define PyPackage/python-mini/filespec +|/usr/lib/python$(PYTHON_VERSION)/UserDict.py +|/usr/lib/python$(PYTHON_VERSION)/warnings.py +|/usr/lib/python$(PYTHON_VERSION)/weakref.py ++|/usr/lib/python$(PYTHON_VERSION)/_weakrefset.py ++|/usr/lib/python$(PYTHON_VERSION)/config/Makefile ++|/usr/lib/python$(PYTHON_VERSION)/sysconfig.py ++|/usr/lib/python$(PYTHON_VERSION)/functools.py ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_functools.so ++|/usr/lib/python$(PYTHON_VERSION)/collections.py ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_collections.so ++|/usr/lib/python$(PYTHON_VERSION)/keyword.py ++|/usr/lib/python$(PYTHON_VERSION)/heapq.py ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_heapq.so ++|/usr/lib/python$(PYTHON_VERSION)/bisect.py ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_bisect.so ++|/usr/include/python$(PYTHON_VERSION)/pyconfig.h endef define PyPackage/python-mini/install @@ -353,33 +412,100 @@ define PyPackage/python-mini/install endef define PyPackage/python-doc/filespec -+|/usr/lib/python$(PYTHON_VERSION)/pydoc_topics.py ++|/usr/lib/python$(PYTHON_VERSION)/pydoc_data +|/usr/lib/python$(PYTHON_VERSION)/pydoc.py endef +define PyPackage/python-bzip2/filespec ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/bz2.so +endef + define PyPackage/python-expat/filespec +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/pyexpat.so endef +define PyPackage/python-gzip/filespec ++|/usr/lib/python$(PYTHON_VERSION)/gzip.py +endef + define PyPackage/python-openssl/filespec +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ssl.so endef +define PyPackage/python-shutil/filespec ++|/usr/lib/python$(PYTHON_VERSION)/shutil.py +endef + define PyPackage/python-sqlite3/filespec +|/usr/lib/python$(PYTHON_VERSION)/sqlite3 +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sqlite3.so endef +define PyPackage/python-gdbm/filespec ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/gdbm.so +endef + +define PyPackage/python-readline/filespec ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline.so +endef + +define PyPackage/python-ncurses/filespec ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses_panel.so +endef + +define Host/Configure + -$(MAKE) -C $(HOST_BUILD_DIR) distclean + (cd $(HOST_BUILD_DIR); autoreconf --force --install || exit 0) + (cd $(HOST_BUILD_DIR); \ + rm -rf config.cache; \ + CONFIG_SITE= \ + OPT="$(HOST_CFLAGS)" \ + ./configure --without-cxx-main --with-threads --prefix=$(STAGING_DIR_HOST); \ + ) +endef + +define Host/Compile + +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \ + python Parser/pgen + +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \ + HOSTPYTHON=$(HOST_BUILD_DIR)/python \ + sharedmods +endef + +define Host/Install + $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/ + $(MAKE) -C $(HOST_BUILD_DIR) \ + HOSTPYTHON=$(HOST_BUILD_DIR)/python \ + install + $(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(STAGING_DIR_HOST)/bin/ +endef + + +$(eval $(call HostBuild)) + $(eval $(call PyPackage,python)) $(eval $(call PyPackage,python-mini)) $(eval $(call PyPackage,python-doc)) +$(eval $(call PyPackage,python-bzip2)) $(eval $(call PyPackage,python-expat)) +$(eval $(call PyPackage,python-gzip)) $(eval $(call PyPackage,python-openssl)) +$(eval $(call PyPackage,python-shutil)) $(eval $(call PyPackage,python-sqlite3)) +$(eval $(call PyPackage,python-gdbm)) +$(eval $(call PyPackage,python-readline)) +$(eval $(call PyPackage,python-ncurses)) $(eval $(call BuildPackage,python)) $(eval $(call BuildPackage,python-mini)) $(eval $(call BuildPackage,python-doc)) +$(eval $(call BuildPackage,python-bzip2)) $(eval $(call BuildPackage,python-expat)) +$(eval $(call BuildPackage,python-gzip)) $(eval $(call BuildPackage,python-openssl)) +$(eval $(call BuildPackage,python-shutil)) $(eval $(call BuildPackage,python-sqlite3)) +$(eval $(call BuildPackage,python-gdbm)) +$(eval $(call BuildPackage,python-readline)) +$(eval $(call BuildPackage,python-ncurses))