2006-10-31 08:44:54 +00:00
|
|
|
#
|
2008-05-03 00:13:04 +00:00
|
|
|
# Copyright (C) 2006-2008 OpenWrt.org
|
2006-10-31 08:44:54 +00:00
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
# $Id$
|
2007-10-21 10:20:01 +00:00
|
|
|
|
2006-10-24 17:20:50 +00:00
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=python
|
2009-01-02 15:06:42 +00:00
|
|
|
PKG_VERSION:=2.5.4
|
2009-01-06 18:34:13 +00:00
|
|
|
PKG_RELEASE:=2
|
2006-10-24 17:20:50 +00:00
|
|
|
|
|
|
|
PKG_SOURCE:=Python-$(PKG_VERSION).tar.bz2
|
2007-07-30 19:05:55 +00:00
|
|
|
PKG_SOURCE_URL:=http://www.python.org/ftp/python/$(PKG_VERSION)/
|
2009-01-02 15:06:42 +00:00
|
|
|
PKG_MD5SUM:=394a5f56a5ce811fb0f023197ec0833e
|
2006-10-24 17:20:50 +00:00
|
|
|
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
|
|
|
|
|
2007-10-09 00:54:48 +00:00
|
|
|
include $(INCLUDE_DIR)/package.mk
|
2008-10-02 15:33:26 +00:00
|
|
|
-include $(if $(DUMP),,./files/python-package.mk)
|
2007-04-20 18:18:10 +00:00
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python/Default
|
2007-09-23 18:08:06 +00:00
|
|
|
SUBMENU:=Python
|
2006-11-02 13:46:37 +00:00
|
|
|
SECTION:=lang
|
|
|
|
CATEGORY:=Languages
|
2007-04-20 18:18:10 +00:00
|
|
|
TITLE:=Python 2.5 programming language
|
2006-11-02 13:46:37 +00:00
|
|
|
URL:=http://www.python.org/
|
2006-10-24 17:20:50 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python/Default/description
|
2008-10-02 15:33:26 +00:00
|
|
|
Python is a dynamic object-oriented programming language that can be used
|
|
|
|
for many kinds of software development. It offers strong support for
|
|
|
|
integration with other languages and tools, comes with extensive standard
|
|
|
|
libraries, and can be learned in a few days. Many Python programmers
|
|
|
|
report substantial productivity gains and feel the language encourages
|
2007-10-09 00:54:48 +00:00
|
|
|
the development of higher quality, more maintainable code.
|
2006-10-24 17:20:50 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python
|
|
|
|
$(call Package/python/Default)
|
2008-10-02 15:33:26 +00:00
|
|
|
TITLE+= (full)
|
2009-01-09 13:02:17 +00:00
|
|
|
DEPENDS:=+libpthread +zlib +PACKAGE_python:libffi
|
2008-10-02 15:33:26 +00:00
|
|
|
PROVIDES:=python-core
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python/description
|
|
|
|
$(call Package/python/Default/description)
|
2007-10-09 00:54:48 +00:00
|
|
|
.
|
|
|
|
This package contains the full Python install.
|
2006-10-24 17:20:50 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python-mini
|
|
|
|
$(call Package/python/Default)
|
2008-10-02 15:33:26 +00:00
|
|
|
TITLE+= (minimal)
|
|
|
|
DEPENDS:=+libpthread +zlib
|
|
|
|
PROVIDES:=python-core
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python-mini/description
|
|
|
|
$(call Package/python/Default/description)
|
2008-10-02 15:33:26 +00:00
|
|
|
.
|
|
|
|
This package contains only a minimal Python install.
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python-doc
|
|
|
|
$(call Package/python/Default)
|
2008-10-02 15:33:26 +00:00
|
|
|
TITLE:=Python interactive documentation
|
|
|
|
DEPENDS+= python-core
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python-expat
|
|
|
|
$(call Package/python/Default)
|
2008-10-02 15:33:26 +00:00
|
|
|
TITLE:=Python support for expat
|
|
|
|
DEPENDS+= python-core +libexpat
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
define Package/python-openssl
|
|
|
|
$(call Package/python/Default)
|
2007-10-09 00:54:48 +00:00
|
|
|
TITLE:=Python support for OpenSSL
|
2008-05-02 01:34:03 +00:00
|
|
|
DEPENDS+= python-core +libopenssl
|
2007-10-09 00:54:48 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
PY_DISABLED_MODULES:= \
|
|
|
|
readline _curses _curses_panel _tkinter nis
|
|
|
|
|
2006-11-02 13:46:37 +00:00
|
|
|
MAKE_OPTS:=\
|
2007-09-06 02:52:35 +00:00
|
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
|
|
PYTHON_DISABLE_MODULES="$(PY_DISABLED_MODULES)" \
|
2007-10-09 00:54:48 +00:00
|
|
|
PYTHON_MODULES_INCLUDE="$(STAGING_DIR)/usr/include" \
|
|
|
|
PYTHON_MODULES_LIB="$(STAGING_DIR)/usr/lib" \
|
|
|
|
CROSS_COMPILE=yes \
|
2007-09-06 02:52:35 +00:00
|
|
|
CFLAGS="$(TARGET_CFLAGS) -fno-inline" \
|
|
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
|
|
LD="$(TARGET_CC)" \
|
2009-01-06 18:34:13 +00:00
|
|
|
HOSTPYTHON=./hostpython \
|
2008-10-02 15:33:26 +00:00
|
|
|
HOSTPGEN=./hostpgen \
|
2007-10-09 00:54:48 +00:00
|
|
|
|
|
|
|
define Build/Configure
|
|
|
|
endef
|
2006-10-24 17:20:50 +00:00
|
|
|
|
|
|
|
define Build/Compile
|
2007-10-09 00:54:48 +00:00
|
|
|
-$(MAKE) -C $(PKG_BUILD_DIR) distclean
|
|
|
|
(cd $(PKG_BUILD_DIR); \
|
|
|
|
rm -rf config.cache; \
|
|
|
|
CONFIG_SITE= \
|
|
|
|
OPT="$(HOST_CFLAGS)" \
|
2008-10-02 15:33:26 +00:00
|
|
|
./configure --without-cxx-main --without-threads --prefix=$(PKG_INSTALL_DIR)/host; \
|
2007-10-09 00:54:48 +00:00
|
|
|
);
|
2008-10-02 15:33:26 +00:00
|
|
|
$(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)
|
2009-01-06 18:34:13 +00:00
|
|
|
|
|
|
|
# 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
|
2007-10-09 00:54:48 +00:00
|
|
|
$(MAKE) -C $(PKG_BUILD_DIR) distclean
|
2008-10-02 15:33:26 +00:00
|
|
|
|
2007-10-09 00:54:48 +00:00
|
|
|
$(call Build/Configure/Default, \
|
|
|
|
--sysconfdir=/etc \
|
|
|
|
--disable-shared \
|
|
|
|
--disable-ipv6 \
|
|
|
|
--without-cxx-main \
|
|
|
|
--with-threads \
|
2009-01-06 18:34:13 +00:00
|
|
|
--with-system-ffi \
|
2007-10-14 05:12:22 +00:00
|
|
|
ac_cv_lib_readline_readline=no \
|
2007-10-09 00:54:48 +00:00
|
|
|
OPT="$(TARGET_CFLAGS)" \
|
|
|
|
)
|
2006-10-24 17:20:50 +00:00
|
|
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
|
|
$(MAKE_OPTS) \
|
2006-11-02 13:46:37 +00:00
|
|
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
2006-11-01 22:48:08 +00:00
|
|
|
all install
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Build/InstallDev
|
2007-12-27 02:12:26 +00:00
|
|
|
$(INSTALL_DIR) $(1)/mk $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib
|
2008-10-02 15:33:26 +00:00
|
|
|
$(INSTALL_DATA) ./files/python-package.mk $(1)/mk/
|
2007-12-27 02:12:26 +00:00
|
|
|
$(CP) \
|
|
|
|
$(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
|
2007-10-09 00:54:48 +00:00
|
|
|
$(1)/usr/include/
|
2007-12-27 02:12:26 +00:00
|
|
|
$(CP) \
|
2008-10-02 15:33:26 +00:00
|
|
|
$(PKG_INSTALL_DIR)/host/lib/python$(PYTHON_VERSION) \
|
2007-12-27 02:12:26 +00:00
|
|
|
$(PKG_BUILD_DIR)/libpython$(PYTHON_VERSION).a \
|
2007-10-09 00:54:48 +00:00
|
|
|
$(1)/usr/lib/
|
2008-10-02 15:33:26 +00:00
|
|
|
|
|
|
|
$(CP) \
|
|
|
|
$(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config \
|
|
|
|
$(1)/usr/lib/python$(PYTHON_VERSION)/
|
|
|
|
|
|
|
|
$(CP) \
|
|
|
|
$(PKG_INSTALL_DIR)/host/bin/python \
|
|
|
|
$(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 \
|
|
|
|
$(2)/bin/
|
|
|
|
$(SED) 's,^#!.*,#!/usr/bin/env python2.5,g' $(2)/bin/python$(PYTHON_VERSION)-config
|
|
|
|
|
|
|
|
(cd $(2)/bin; \
|
|
|
|
ln -sf python$(PYTHON_VERSION)-config python-config;)
|
2006-10-24 17:20:50 +00:00
|
|
|
endef
|
|
|
|
|
2007-10-09 00:54:48 +00:00
|
|
|
define PyPackage/python/filespec
|
|
|
|
+|/usr/bin/python$(PYTHON_VERSION)
|
2008-05-03 00:13:04 +00:00
|
|
|
+|/usr/include/python$(PYTHON_VERSION)/pyconfig.h
|
2007-10-09 00:54:48 +00:00
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/bsddb/test
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/config
|
2008-05-03 00:13:04 +00:00
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/config/Makefile
|
2007-10-09 00:54:48 +00:00
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/ctypes/test
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/distutils/command/wininst-*.exe
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/distutils/tests
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/email/test
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/idlelib
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/lib-tk
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/sqlite3/test
|
|
|
|
-|/usr/lib/python$(PYTHON_VERSION)/test
|
|
|
|
endef
|
|
|
|
|
|
|
|
define PyPackage/python/install
|
|
|
|
ln -sf python$(PYTHON_VERSION) $(1)/usr/bin/python
|
|
|
|
endef
|
|
|
|
|
|
|
|
define PyPackage/python-mini/filespec
|
|
|
|
+|/usr/bin/python$(PYTHON_VERSION)
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/__future__.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/codecs.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/compileall.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/ConfigParser.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/copy.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/copy_reg.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/dis.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/encodings
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/fnmatch.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/getopt.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/glob.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/hashlib.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/inspect.py
|
|
|
|
+|/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/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/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/_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)/linecache.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/md5.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/opcode.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/optparse.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/os.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/pickle.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/pickle.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/pkgutil.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/popen2.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/posixpath.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/py_compile.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/random.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/repr.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/re.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/sha.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/site.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/socket.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/sre_compile.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/sre_constants.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/sre_parse.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/sre.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/stat.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/StringIO.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/stringprep.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/string.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/struct.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/subprocess.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/tempfile.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/textwrap.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/tokenize.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/token.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/traceback.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/types.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/UserDict.py
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/warnings.py
|
|
|
|
endef
|
|
|
|
|
|
|
|
define PyPackage/python-mini/install
|
|
|
|
ln -sf python$(PYTHON_VERSION) $(1)/usr/bin/python
|
|
|
|
endef
|
|
|
|
|
2008-05-03 00:13:04 +00:00
|
|
|
define PyPackage/python-doc/filespec
|
2007-10-09 00:54:48 +00:00
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/pydoc.py
|
|
|
|
endef
|
|
|
|
|
|
|
|
define PyPackage/python-expat/filespec
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/pyexpat.so
|
|
|
|
endef
|
|
|
|
|
|
|
|
define PyPackage/python-openssl/filespec
|
|
|
|
+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ssl.so
|
|
|
|
endef
|
|
|
|
|
|
|
|
$(eval $(call PyPackage,python))
|
|
|
|
$(eval $(call PyPackage,python-mini))
|
|
|
|
$(eval $(call PyPackage,python-doc))
|
|
|
|
$(eval $(call PyPackage,python-expat))
|
|
|
|
$(eval $(call PyPackage,python-openssl))
|
|
|
|
|
2007-10-21 10:20:01 +00:00
|
|
|
$(eval $(call BuildPackage,python))
|
|
|
|
$(eval $(call BuildPackage,python-mini))
|
|
|
|
$(eval $(call BuildPackage,python-doc))
|
|
|
|
$(eval $(call BuildPackage,python-expat))
|
|
|
|
$(eval $(call BuildPackage,python-openssl))
|
|
|
|
|