1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include ${ADK_TOPDIR}/rules.mk
9 PKG_HASH
:= 304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8
10 PKG_DESCR
:= python2 script interpreter
11 PKG_SECTION
:= dev
/lang
13 PKG_BUILDDEP
:= libffi python2-host
14 HOST_BUILDDEP
:= libffi-host libressl-host
16 PKG_URL
:= http
://www.python.org
/
17 PKG_SITES
:= http
://www.python.org
/ftp
/python
/${PKG_VERSION}/
20 DISTFILES
:= Python-
${PKG_VERSION}.tgz
21 WRKDIST
= ${WRKDIR}/Python-
${PKG_VERSION}
23 PKG_FLAVOURS_PYTHON2
:= MOD_ZLIB MOD_BZ2 MOD_EXPAT MOD_SQLITE MOD_GDBM
24 PKG_FLAVOURS_PYTHON2
+= MOD_NCURSES MOD_SSL MOD_READLINE
26 PKGFD_MOD_ZLIB
:= zlib support
29 PKGFD_MOD_BZ2
:= bzip2 support
31 PKGFS_MOD_BZ2
:= libbz2
32 PKGFD_MOD_EXPAT
:= xml support
33 PKGFB_MOD_EXPAT
:= expat
34 PKGFS_MOD_EXPAT
:= libexpat
35 PKGFD_MOD_SQLITE
:= sqlite support
36 PKGFB_MOD_SQLITE
:= sqlite
37 PKGFS_MOD_SQLITE
:= libsqlite
38 PKGFD_MOD_GDBM
:= gdbm support
40 PKGFS_MOD_GDBM
:= libgdbm
41 PKGFD_MOD_NCURSES
:= ncurses support
42 PKGFB_MOD_NCURSES
:= ncurses
43 PKGFS_MOD_NCURSES
:= libncurses
44 PKGFD_MOD_READLINE
:= readline support
45 PKGFB_MOD_READLINE
:= readline
46 PKGFS_MOD_READLINE
:= libreadline
47 PKGFD_MOD_SSL
:= ssl support
48 PKGFB_MOD_SSL
:= libressl
49 PKGFS_MOD_SSL
:= libressl
51 include ${ADK_TOPDIR}/mk
/host.mk
52 include ${ADK_TOPDIR}/mk
/package.mk
54 $(eval
$(call HOST_template
,PYTHON2
,python2
,${PKG_VERSION}-${PKG_RELEASE}))
55 $(eval
$(call PKG_template
,PYTHON2
,python2
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
57 define PKG_mod_template
59 INSTALL_MODS_
$${ADK_PACKAGE_
${1}}+= ${2}-install
62 ${INSTALL_DIR} $$(IDIR_
$(1))/usr
/lib
/python2.7
/lib-dynload
64 ${INSTALL_DATA} $(WRKINST
)/usr
/lib
/python2.7
/lib-dynload
/$$$${m}*.so
$$(IDIR_
$(1))/usr
/lib
/python2.7
/lib-dynload
;\
68 $(eval
$(call PKG_template
,PYTHON2_MOD_ZLIB
,python2-mod-zlib
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION}))
69 $(eval
$(call PKG_template
,PYTHON2_MOD_BZ2
,python2-mod-bz2
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION}))
70 $(eval
$(call PKG_template
,PYTHON2_MOD_EXPAT
,python2-mod-expat
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION}))
71 $(eval
$(call PKG_template
,PYTHON2_MOD_SQLITE
,python2-mod-sqlite
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION}))
72 $(eval
$(call PKG_template
,PYTHON2_MOD_GDBM
,python2-mod-gdbm
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_GDBM},${PKGFD_MOD_GDBM},${PKG_SECTION}))
73 $(eval
$(call PKG_template
,PYTHON2_MOD_NCURSES
,python2-mod-ncurses
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_NCURSES},${PKGFD_MOD_NCURSES},${PKG_SECTION}))
74 $(eval
$(call PKG_template
,PYTHON2_MOD_SSL
,python2-mod-ssl
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_SSL},${PKGFD_MOD_SSL},${PKG_SECTION}))
75 $(eval
$(call PKG_template
,PYTHON2_MOD_READLINE
,python2-mod-readline
,$(PKG_VERSION
)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION}))
77 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_ZLIB
,zlib
))
78 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_BZ2
,bz2
))
79 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_EXPAT
,pyexpat
))
80 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_SQLITE
,_sqlite
))
81 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_GDBM
,gdbm
))
82 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_NCURSES
,_curses
))
83 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_SSL
,_ssl
))
84 $(eval
$(call PKG_mod_template
,PYTHON2_MOD_READLINE
,readline
))
86 ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY
),y
)
87 CONFIGURE_ARGS
+= --disable-shared
92 AUTOTOOL_STYLE
:= autoreconf
93 CONFIGURE_ENV
+= ac_cv_have_long_long_format
=yes \
94 ac_cv_file__dev_ptmx
=yes \
95 ac_cv_file__dev_ptc
=no
96 CONFIGURE_ARGS
+= --with-threads \
97 --disable-toolbox-glue \
102 HOST_CONFIGURE_ENV
+= MACOSX_DEPLOYMENT_TARGET
=10.9
103 HOST_CONFIGURE_ARGS
+= --with-threads \
106 --disable-toolbox-glue \
110 $(CP
) $(ADK_TOPDIR
)/package
/python2
/files
/patch-Lib_distutils_sysconfig_py
$(WRKBUILD
)
111 $(SED
) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD
)/patch-Lib_distutils_sysconfig_py
112 $(SED
) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD
)/patch-Lib_distutils_sysconfig_py
113 (cd
$(WRKBUILD
) && ${PATCHP0} < patch-Lib_distutils_sysconfig_py
)
114 $(SED
) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
115 $(WRKBUILD
)/Misc
/python-config.in
118 $(CP
) $(ADK_TOPDIR
)/package
/python2
/files
/python-config.patch
$(WRKBUILD
)/
119 $(SED
) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD
)/python-config.patch
120 $(SED
) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD
)/python-config.patch
121 (cd
$(STAGING_HOST_DIR
)/usr
/bin
&& \
122 ${PATCHP0} < $(WRKBUILD
)/python-config.patch
)
125 $(CP
) $(ADK_TOPDIR
)/package
/python2
/files
/patch-Lib_distutils_sysconfig_py
$(WRKBUILD
)
126 $(SED
) "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" $(WRKBUILD
)/patch-Lib_distutils_sysconfig_py
127 $(SED
) "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" $(WRKBUILD
)/patch-Lib_distutils_sysconfig_py
128 (cd
$(WRKBUILD
) && ${PATCHP0} <$(WRKBUILD
)/patch-Lib_distutils_sysconfig_py
)
129 $(SED
) "s#@EXENAME@#$(STAGING_HOST_DIR)/usr/bin/python#" \
130 $(WRKBUILD
)/Misc
/python-config.in
132 ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY
),y
)
135 python2-install
: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
137 ${INSTALL_DIR} ${IDIR_PYTHON2}/usr
/bin
${IDIR_PYTHON2}/usr
/lib
138 ${INSTALL_DIR} ${IDIR_PYTHON2}/usr
/include/python2.7
139 ${INSTALL_BIN} ${WRKINST}/usr
/bin
/python
${IDIR_PYTHON2}/usr
/bin
140 ${INSTALL_DIR} ${IDIR_PYTHON2}/usr
/lib
/python2.7
141 ${CP} ${WRKINST}/usr
/lib
/libpython
*.
* ${IDIR_PYTHON2}/usr
/lib
142 ${CP} ${WRKINST}/usr
/lib
/python2.7
/* ${IDIR_PYTHON2}/usr
/lib
/python2.7
143 ${CP} ${WRKINST}/usr
/include/python2.7
/pyconfig.h \
144 ${IDIR_PYTHON2}/usr
/include/python2.7
145 @
-for i in zlib bz2 _curses _ssl gdbm _sqlite pyexpat readline
; do \
146 rm ${IDIR_PYTHON2}/usr
/lib
/python2.7
/lib-dynload
/$${i}*so
2>/dev
/null
; \
149 include ${ADK_TOPDIR}/mk
/host-bottom.mk
150 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk