summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python_2.6.5.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/python/python_2.6.5.bb')
-rw-r--r--meta/recipes-devtools/python/python_2.6.5.bb121
1 files changed, 121 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python_2.6.5.bb b/meta/recipes-devtools/python/python_2.6.5.bb
new file mode 100644
index 0000000000..9658fd48dc
--- /dev/null
+++ b/meta/recipes-devtools/python/python_2.6.5.bb
@@ -0,0 +1,121 @@
1require python.inc
2DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
3DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
4# set to .0 on every increase of INC_PR
5PR = "${INC_PR}.2"
6
7SRC_URI = "\
8 http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
9 file://00-fix-bindir-libdir-for-cross.patch \
10 file://01-use-proper-tools-for-cross-build.patch \
11 file://02-remove-test-for-cross.patch \
12 file://03-fix-tkinter-detection.patch \
13 file://04-default-is-optimized.patch \
14 file://05-enable-ctypes-cross-build.patch \
15 file://99-ignore-optimization-flag.patch \
16 file://sitecustomize.py \
17"
18S = "${WORKDIR}/Python-${PV}"
19
20inherit autotools
21
22# The 3 lines below are copied from the libffi recipe, ctypes ships its own copy of the libffi sources
23#Somehow gcc doesn't set __SOFTFP__ when passing -mfloatabi=softp :(
24TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
25TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
26
27do_configure_prepend() {
28 autoreconf -Wcross --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || oenote "_ctypes failed to autoreconf"
29}
30
31#
32# Copy config.h and an appropriate Makefile for distutils.sysconfig,
33# which laters uses the information out of these to compile extensions
34#
35do_compile_prepend() {
36 install -d ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/
37 install -d ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/
38 install -m 0644 pyconfig.h ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/
39 install -m 0644 Makefile Makefile.orig
40 install -m 0644 Makefile Makefile.backup
41 sed -e 's,${includedir},${STAGING_INCDIR},' < Makefile.backup > Makefile
42 install -m 0644 Makefile Makefile.backup
43 sed -e 's,${libdir},${STAGING_LIBDIR},' < Makefile.backup > Makefile
44 install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/
45}
46
47do_compile() {
48 oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
49 HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
50 STAGING_LIBDIR=${STAGING_LIBDIR} \
51 STAGING_INCDIR=${STAGING_INCDIR} \
52 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
53 OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so
54
55 oe_libinstall -so libpython${PYTHON_MAJMIN} ${STAGING_LIBDIR}
56
57 oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
58 HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
59 STAGING_LIBDIR=${STAGING_LIBDIR} \
60 STAGING_INCDIR=${STAGING_INCDIR} \
61 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
62 OPT="${CFLAGS}"
63}
64
65do_install() {
66 install -m 0644 Makefile.orig Makefile
67
68 oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
69 HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
70 STAGING_LIBDIR=${STAGING_LIBDIR} \
71 STAGING_INCDIR=${STAGING_INCDIR} \
72 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
73 DESTDIR=${D} LIBDIR=${libdir} install
74
75 install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
76
77 # remove hardcoded ccache, see http://bugs.openembedded.net/show_bug.cgi?id=4144
78 sed -i -e s,ccache,'$(CCACHE)', ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
79}
80
81require python-${PYTHON_MAJMIN}-manifest.inc
82
83# manual dependency additions
84RPROVIDES_python-core = "python"
85RRECOMMENDS_python-core = "python-readline"
86RRECOMMENDS_python-crypt = "openssl"
87
88# add sitecustomize
89FILES_python-core += "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py"
90# ship 2to3
91FILES_python-core += "${bindir}/2to3"
92
93# package libpython2
94PACKAGES =+ "libpython2"
95FILES_libpython2 = "${libdir}/libpython*.so*"
96
97# additional stuff -dev
98
99FILES_${PN}-dev = "\
100 ${includedir} \
101 ${libdir}/lib*${SOLIBSDEV} \
102 ${libdir}/*.la \
103 ${libdir}/*.a \
104 ${libdir}/*.o \
105 ${libdir}/pkgconfig \
106 ${base_libdir}/*.a \
107 ${base_libdir}/*.o \
108 ${datadir}/aclocal \
109 ${datadir}/pkgconfig \
110"
111
112# catch debug extensions (isn't that already in python-core-dbg?)
113FILES_python-dbg += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/.debug"
114
115# catch all the rest (unsorted)
116PACKAGES += "python-misc"
117FILES_python-misc = "${libdir}/python${PYTHON_MAJMIN}"
118
119# catch manpage
120PACKAGES += "python-man"
121FILES_python-man = "${datadir}/man"