Python: Difference between revisions
From CBLFS
Jump to navigationJump to search
No edit summary |
|||
| Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
| http://www.python.org/ftp/python/2. | | http://www.python.org/ftp/python/2.5/Python-2.5.tar.bz2 | ||
|- | |- | ||
!Required Patch: | !Required Patch: | ||
| http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2. | | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.5-gdbm-1.patch | ||
|- | |- | ||
!Required Patch (For Multilib): | !Required Patch (For Multilib): | ||
| http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2. | | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.5-multilib-1.patch | ||
|} | |} | ||
| Line 25: | Line 25: | ||
Compile the package: | Compile the package: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-gdbm-1.patch && | ||
./configure --prefix=/usr --enable-shared && | ./configure --prefix=/usr --enable-shared && | ||
make | make | ||
| Line 39: | Line 39: | ||
Compile the package: | Compile the package: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-gdbm-1.patch && | ||
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr \ | CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr \ | ||
--enable-shared && | --enable-shared && | ||
| Line 48: | Line 48: | ||
make install && | make install && | ||
mv -v /usr/bin/python{,-32} && | mv -v /usr/bin/python{,-32} && | ||
mv -v /usr/bin/python2. | mv -v /usr/bin/python2.5{,-32} && | ||
mv -v /usr/include/python2. | mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-32.h | ||
=== N32 === | === N32 === | ||
| Line 55: | Line 55: | ||
Change the libdir that Python is going to use to lib32: | Change the libdir that Python is going to use to lib32: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-multilib-2.patch | ||
sed -i -e "s:@@MULTILIB_DIR@@:lib32:g" \ | sed -i -e "s:@@MULTILIB_DIR@@:lib32:g" \ | ||
Lib/distutils/command/install.py \ | Lib/distutils/command/install.py \ | ||
| Line 67: | Line 67: | ||
Compile the package: | Compile the package: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-gdbm-1.patch && | ||
CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr \ | CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr \ | ||
--libdir=/usr/lib32 --enable-shared && | --libdir=/usr/lib32 --enable-shared && | ||
| Line 76: | Line 76: | ||
make install && | make install && | ||
mv -v /usr/bin/python{,-n32} && | mv -v /usr/bin/python{,-n32} && | ||
mv -v /usr/bin/python2. | mv -v /usr/bin/python2.5{,-n32} && | ||
mv -v /usr/include/python2. | mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-n32.h | ||
=== 64Bit === | === 64Bit === | ||
| Line 83: | Line 83: | ||
Change the libdir that Python is going to use to lib64: | Change the libdir that Python is going to use to lib64: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-multilib-2.patch | ||
sed -i -e "s:@@MULTILIB_DIR@@:lib64:g" \ | sed -i -e "s:@@MULTILIB_DIR@@:lib64:g" \ | ||
Lib/distutils/command/install.py \ | Lib/distutils/command/install.py \ | ||
| Line 95: | Line 95: | ||
Compile the package: | Compile the package: | ||
patch -Np1 -i ../Python-2. | patch -Np1 -i ../Python-2.5-gdbm-1.patch && | ||
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr \ | CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr \ | ||
--libdir=/usr/lib64 --enable-shared && | --libdir=/usr/lib64 --enable-shared && | ||
| Line 104: | Line 104: | ||
make install && | make install && | ||
mv -v /usr/bin/python{,-64} && | mv -v /usr/bin/python{,-64} && | ||
mv -v /usr/bin/python2. | mv -v /usr/bin/python2.5{,-64} && | ||
ln -sfv multiarch_wrapper /usr/bin/python && | ln -sfv multiarch_wrapper /usr/bin/python && | ||
ln -sfv multiarch_wrapper /usr/bin/python2.4 && | ln -sfv multiarch_wrapper /usr/bin/python2.4 && | ||
mv -v /usr/include/python2. | mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-64.h | ||
==== Creating a Stub Header ==== | ==== Creating a Stub Header ==== | ||
cat > /usr/include/python2. | cat > /usr/include/python2.5/pyconfig.h << "EOF" | ||
/* pyconfig.h. Stub Header */ | /* pyconfig.h. Stub Header */ | ||
#ifndef __STUB__PYCONFIG_H__ | #ifndef __STUB__PYCONFIG_H__ | ||
| Line 131: | Line 131: | ||
==== Creating a Stub Header For Mips ==== | ==== Creating a Stub Header For Mips ==== | ||
cat > /usr/include/python2. | cat > /usr/include/python2.5/pyconfig.h << "EOF" | ||
/* pyconfig.h. Stub Header */ | /* pyconfig.h. Stub Header */ | ||
#ifndef __STUB__PYCONFIG_H__ | #ifndef __STUB__PYCONFIG_H__ | ||
Revision as of 11:00, 19 September 2006
| Download Source: | http://www.python.org/ftp/python/2.5/Python-2.5.tar.bz2 |
|---|---|
| Required Patch: | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.5-gdbm-1.patch |
| Required Patch (For Multilib): | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.5-multilib-1.patch |
Dependencies
Optional
Non-Multilib
Compile the package:
patch -Np1 -i ../Python-2.5-gdbm-1.patch && ./configure --prefix=/usr --enable-shared && make
Install the package
make install
Multilib
32Bit
Compile the package:
patch -Np1 -i ../Python-2.5-gdbm-1.patch &&
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr \
--enable-shared &&
make
Install the package
make install &&
mv -v /usr/bin/python{,-32} &&
mv -v /usr/bin/python2.5{,-32} &&
mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-32.h
N32
Change the libdir that Python is going to use to lib32:
patch -Np1 -i ../Python-2.5-multilib-2.patch
sed -i -e "s:@@MULTILIB_DIR@@:lib32:g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
Lib/site.py \
Makefile.pre.in \
Modules/Setup.dist \
Modules/getpath.c \
setup.py
Compile the package:
patch -Np1 -i ../Python-2.5-gdbm-1.patch &&
CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr \
--libdir=/usr/lib32 --enable-shared &&
make
Install the package
make install &&
mv -v /usr/bin/python{,-n32} &&
mv -v /usr/bin/python2.5{,-n32} &&
mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-n32.h
64Bit
Change the libdir that Python is going to use to lib64:
patch -Np1 -i ../Python-2.5-multilib-2.patch
sed -i -e "s:@@MULTILIB_DIR@@:lib64:g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
Lib/site.py \
Makefile.pre.in \
Modules/Setup.dist \
Modules/getpath.c \
setup.py
Compile the package:
patch -Np1 -i ../Python-2.5-gdbm-1.patch &&
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr \
--libdir=/usr/lib64 --enable-shared &&
make
Install the package
make install &&
mv -v /usr/bin/python{,-64} &&
mv -v /usr/bin/python2.5{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/python &&
ln -sfv multiarch_wrapper /usr/bin/python2.4 &&
mv -v /usr/include/python2.5/pyconfig.h /usr/include/python2.5/pyconfig-64.h
Creating a Stub Header
cat > /usr/include/python2.5/pyconfig.h << "EOF"
/* pyconfig.h. Stub Header */
#ifndef __STUB__PYCONFIG_H__
#define __STUB__PYCONFIG_H__
#if defined(__x86_64) || \
defined(__sparc64__) || \
defined(__arch64__) || \
defined(__powerpc64__) || \
defined (__s390x__)
# include "pyconfig-64.h"
#else
# include "pyconfig-32.h"
#endif
#endif /* __STUB__PYCONFIG_H__ */
EOF
Creating a Stub Header For Mips
cat > /usr/include/python2.5/pyconfig.h << "EOF" /* pyconfig.h. Stub Header */ #ifndef __STUB__PYCONFIG_H__ #define __STUB__PYCONFIG_H__ #include <sgidefs.h> #if (_MIPS_SIM == _ABIO32) # include "pyconfig-32.h" #elif (_MIPS_SIM == _ABIN32) # include "pyconfig-n32.h" #elif (_MIPS_SIM == _ABI64) # include "pyconfig-64.h" #endif #endif /* __STUB__PYCONFIG_H__ */ EOF