| 1 | # Description: Python interpreter, version 2.6 |
| 2 | # URL: http://www.python.org |
| 3 | # Maintainer: Juergen Daubert, juergen dot daubert at t-online dot de |
| 4 | # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu |
| 5 | # Depends on: db gdbm ncurses openssl readline bzip2 zlib |
| 6 | |
| 7 | name=python |
| 8 | version=2.6.4 |
| 9 | release=2 |
| 10 | source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.bz2 \ |
| 11 | $name-$version.cross_compilation.patch) |
| 12 | |
| 13 | build () { |
| 14 | cd Python-$version |
| 15 | |
| 16 | patch -p1 -i $SRC/$name-$version.cross_compilation.patch |
| 17 | |
| 18 | SAVED_CFLAGS="$CFLAGS" SAVED_CXXFLAGS="$CXXFLAGS" |
| 19 | SAVED_AR="$AR" SAVED_RANLIB="$RANLIB" |
| 20 | unset CC CFLAGS CXX CXXFLAGS AR RANLIB |
| 21 | |
| 22 | ./configure |
| 23 | |
| 24 | make python Parser/pgen |
| 25 | mv python hostpython |
| 26 | mv Parser/pgen Parser/hostpgen |
| 27 | make distclean |
| 28 | |
| 29 | sed -i setup.py \ |
| 30 | -e "s|'/usr/local|'$CLFS/usr|g" \ |
| 31 | -e "s|'/lib|'$CLFS/lib|g" \ |
| 32 | -e "s|'/usr/lib|'$CLFS/usr/lib|g" \ |
| 33 | -e "s|'/usr/include|'$CLFS/usr/include|g" |
| 34 | |
| 35 | CC="$CTARGET-gcc" CXX="$CTARGET-g++" \ |
| 36 | CFLAGS="$SAVED_CFLAGS -I$CLFS/usr/include" CXXFLAGS="$CFLAGS" \ |
| 37 | AR="$SAVED_AR" RANLIB="$SAVED_RANLIB" \ |
| 38 | ./configure --build=$CHOST \ |
| 39 | --host=$CTARGET \ |
| 40 | --prefix=/usr \ |
| 41 | --mandir=/usr/man |
| 42 | |
| 43 | make HOSTPYTHON="./hostpython" \ |
| 44 | HOSTPGEN="./Parser/hostpgen" \ |
| 45 | BLDSHARED="$CTARGET-gcc -shared" \ |
| 46 | EXTRA_CFLAGS="$CFLAGS" \ |
| 47 | CROSS_COMPILE="yes" |
| 48 | |
| 49 | make HOSTPYTHON="./hostpython" \ |
| 50 | HOSTPGEN="./Parser/hostpgen" \ |
| 51 | DESTDIR=$PKG install |
| 52 | |
| 53 | make libpython2.6.so |
| 54 | install -D -m 0755 libpython2.6.so $PKG/usr/lib/libpython2.6.so.1.0 |
| 55 | ln -sf libpython2.6.so.1.0 $PKG/usr/lib/libpython2.6.so |
| 56 | rm -f $PKG/usr/lib/libpython2.6.a |
| 57 | mv $PKG/usr/lib/python2.6/lib-dynload/_socket{module,}.so |
| 58 | mv $PKG/usr/lib/python2.6/lib-dynload/datetime{module,}.so |
| 59 | mv $PKG/usr/lib/python2.6/lib-dynload/math{module,}.so |
| 60 | mv $PKG/usr/lib/python2.6/lib-dynload/select{module,}.so |
| 61 | mv $PKG/usr/lib/python2.6/lib-dynload/time{module,}.so |
| 62 | chmod 0755 $PKG/usr/lib/python2.6/lib-dynload/*.so |
| 63 | |
| 64 | ln -sf python2.6 $PKG/usr/bin/$name |
| 65 | ln -sf python2.6 $PKG/usr/lib/$name |
| 66 | ln -sf python2.6 $PKG/usr/include/$name |
| 67 | ln -sf /usr/lib/libpython2.6.so $PKG/usr/lib/python2.6/config/libpython2.6.so |
| 68 | rm -rf $PKG/usr/lib/$name/{bsddb,ctypes,email,sqlite3}/test |
| 69 | rm -rf $PKG/usr/lib/$name/{distutils,json,lib2to3}/tests |
| 70 | rm -f $PKG/usr/lib/$name/{distutils,site-packages,test}/README |
| 71 | rm -f $PKG/usr/lib/$name/idlelib/{ChangeLog,{NEWS,README,TODO}.txt} |
| 72 | rm -f $PKG/usr/lib/$name/ctypes/macholib/README.ctypes |
| 73 | } |