2 # Copyright (C) 2006-2008 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE
:=Python-
$(PKG_VERSION
).
tar.bz2
16 PKG_SOURCE_URL
:=http
://www.python.org
/ftp
/python
/$(PKG_VERSION
)/
17 PKG_MD5SUM
:=70084ffa561660f07de466c2c8c4842d
19 PKG_BUILD_DIR
:=$(BUILD_DIR
)/Python-
$(PKG_VERSION
)
21 PKG_BUILD_DEPENDS
:=python libexpat libopenssl zlib
23 include $(INCLUDE_DIR
)/package.mk
24 -include $(if
$(DUMP
),,.
/python-package.mk
)
26 define Package
/python
/Default
30 TITLE
:=Python
2.5 programming language
31 URL
:=http
://www.python.org
/
34 define Package
/python
/Default
/description
35 Python is a dynamic object-oriented programming language that can be used
36 for many kinds of software development. It offers strong support for
37 integration with other languages and tools
, comes with extensive standard
38 libraries
, and can be learned in a few days. Many Python programmers
39 report substantial productivity gains and feel the language encourages
40 the development of higher quality
, more maintainable code.
44 $(call Package
/python
/Default
)
46 DEPENDS
:= +libpthread
+zlib
50 define Package
/python
/description
51 $(call Package
/python
/Default
/description
)
53 This package contains the full Python
install.
56 define Package
/python-mini
57 $(call Package
/python
/Default
)
59 DEPENDS
:= +libpthread
+zlib
63 define Package
/python-mini
/description
64 $(call Package
/python
/Default
/description
)
66 This package contains only a minimal Python
install.
69 define Package
/python-doc
70 $(call Package
/python
/Default
)
71 TITLE
:=Python interactive documentation
75 define Package
/python-expat
76 $(call Package
/python
/Default
)
77 TITLE
:=Python support for expat
78 DEPENDS
+= python-core
+libexpat
81 define Package
/python-openssl
82 $(call Package
/python
/Default
)
83 TITLE
:=Python support for OpenSSL
84 DEPENDS
+= python-core
+libopenssl
88 PY_DISABLED_MODULES
:= \
89 readline _curses _curses_panel _tkinter nis
92 $(TARGET_CONFIGURE_OPTS
) \
93 PYTHON_DISABLE_MODULES
="$(PY_DISABLED_MODULES)" \
94 PYTHON_MODULES_INCLUDE
="$(STAGING_DIR)/usr/include" \
95 PYTHON_MODULES_LIB
="$(STAGING_DIR)/usr/lib" \
97 CFLAGS
="$(TARGET_CFLAGS) -fno-inline" \
98 LDFLAGS
="$(TARGET_LDFLAGS)" \
100 HOSTPYTHON
=.
/hostpython \
103 define Build
/Configure
107 -$(MAKE
) -C
$(PKG_BUILD_DIR
) distclean
108 (cd
$(PKG_BUILD_DIR
); \
109 rm -rf config.cache
; \
111 OPT
="$(HOST_CFLAGS)" \
112 .
/configure
--without-cxx-main
--without-threads
; \
114 $(MAKE
) -C
$(PKG_BUILD_DIR
) python Parser
/pgen
115 (cd
$(PKG_BUILD_DIR
); \
116 mv python .
/hostpython
; \
117 mv Parser
/pgen .
/hostpgen
; \
119 $(MAKE
) -C
$(PKG_BUILD_DIR
) distclean
120 #echo "readline readline.c -lreadline -lncurses" >> $(PKG_BUILD_DIR)/Modules/Setup.local
121 $(call Build
/Configure
/Default
, \
127 ac_cv_lib_readline_readline
=no \
128 HOSTPYTHON
=.
/hostpython \
129 HOSTPGEN
=.
/hostpgen \
130 OPT
="$(TARGET_CFLAGS)" \
132 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
134 DESTDIR
="$(PKG_INSTALL_DIR)" \
138 define Build
/InstallDev
139 $(INSTALL_DIR
) $(1)/mk
$(2)/bin
$(1)/usr
/bin
$(1)/usr
/include $(1)/usr
/lib
140 $(INSTALL_DATA
) .
/python-package.mk
$(1)/mk
/
141 $(CP
) $(PKG_BUILD_DIR
)/hostpython
$(1)/usr
/bin
/
142 ln
-sf hostpython
$(1)/usr
/bin
/python
143 ln
-sf
$(STAGING_DIR
)/usr
/bin
/hostpython
$(2)/bin
/
144 ln
-sf
$(STAGING_DIR
)/usr
/bin
/python
$(2)/bin
/
146 $(PKG_INSTALL_DIR
)/usr
/include/python
$(PYTHON_VERSION
) \
149 $(PKG_INSTALL_DIR
)/usr
/lib
/python
$(PYTHON_VERSION
) \
150 $(PKG_BUILD_DIR
)/libpython
$(PYTHON_VERSION
).a \
154 define PyPackage
/python
/filespec
155 +|
/usr
/bin
/python
$(PYTHON_VERSION
)
156 +|
/usr
/include/python
$(PYTHON_VERSION
)/pyconfig.h
157 +|
/usr
/lib
/python
$(PYTHON_VERSION
)
158 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/bsddb
/test
159 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/config
160 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/config
/Makefile
161 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/ctypes
/test
162 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/distutils
/command
/wininst-
*.exe
163 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/distutils
/tests
164 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/email
/test
165 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/idlelib
166 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-tk
167 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/sqlite3
/test
168 -|
/usr
/lib
/python
$(PYTHON_VERSION
)/test
171 define PyPackage
/python
/install
172 ln
-sf python
$(PYTHON_VERSION
) $(1)/usr
/bin
/python
175 define PyPackage
/python-mini
/filespec
176 +|
/usr
/bin
/python
$(PYTHON_VERSION
)
177 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/__future__.py
178 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/codecs.py
179 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/compileall.py
180 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/ConfigParser.py
181 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/copy.py
182 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/copy_reg.py
183 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/dis.py
184 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/encodings
185 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/fnmatch.py
186 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/getopt.py
187 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/glob.py
188 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/hashlib.py
189 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/inspect.py
190 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/array.so
191 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/binascii.so
192 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/cStringIO.so
193 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/fcntl.so
194 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/grp.so
195 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/itertools.so
196 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/math.so
197 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/operator.so
198 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/_random.so
199 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/select.so
200 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/_socket.so
201 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/strop.so
202 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/_struct.so
203 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/syslog.so
204 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/time.so
205 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/unicodedata.so
206 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/zlib.so
207 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/linecache.py
208 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/md5.py
209 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/opcode.py
210 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/optparse.py
211 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/os.py
212 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/pickle.py
213 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/pickle.py
214 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/pkgutil.py
215 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/popen2.py
216 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/posixpath.py
217 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/py_compile.py
218 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/random.py
219 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/repr.py
220 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/re.py
221 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/sha.py
222 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/site.py
223 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/socket.py
224 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/sre_compile.py
225 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/sre_constants.py
226 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/sre_parse.py
227 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/sre.py
228 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/stat.py
229 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/StringIO.py
230 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/stringprep.py
231 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/string.py
232 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/struct.py
233 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/subprocess.py
234 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/tempfile.py
235 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/textwrap.py
236 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/tokenize.py
237 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/token.py
238 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/traceback.py
239 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/types.py
240 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/UserDict.py
241 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/warnings.py
244 define PyPackage
/python-mini
/install
245 ln
-sf python
$(PYTHON_VERSION
) $(1)/usr
/bin
/python
248 define PyPackage
/python-doc
/filespec
249 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/pydoc.py
252 define PyPackage
/python-expat
/filespec
253 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/pyexpat.so
256 define PyPackage
/python-openssl
/filespec
257 +|
/usr
/lib
/python
$(PYTHON_VERSION
)/lib-dynload
/_ssl.so
260 $(eval
$(call PyPackage
,python
))
261 $(eval
$(call PyPackage
,python-mini
))
262 $(eval
$(call PyPackage
,python-doc
))
263 $(eval
$(call PyPackage
,python-expat
))
264 $(eval
$(call PyPackage
,python-openssl
))
266 $(eval
$(call BuildPackage
,python
))
267 $(eval
$(call BuildPackage
,python-mini
))
268 $(eval
$(call BuildPackage
,python-doc
))
269 $(eval
$(call BuildPackage
,python-expat
))
270 $(eval
$(call BuildPackage
,python-openssl
))