#!/bin/sh
PKGNAM=python
VERSION=2.5.2
BUILD=${BUILD:-2}

. /etc/pkghelpers
pkghelpers_env

# Location for Python site-packages:
SITEPK=$PKG/usr/lib$LIBSUFFIX/python2.5/site-packages
# same as above without $PKG
TOOLSDIR=/usr/lib$LIBSUFFIX/python2.5/site-packages

# Normally I don't trust -O3, but it is the Python default so
# I'll assume that in this case it has been well tested.
if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O3 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O3 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O3"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O3 -fPIC"
fi

rm -rf $PKG
mkdir -p $PKG

cd $TMP
rm -rf Python-$VERSION
tar xjvf $CWD/Python-$VERSION.tar.bz2 || exit 1

cd Python-$VERSION

# Security patches:
zcat $CWD/patches/CVE-2008-1679-1721.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/patches/CVE-2008-3144.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/patches/CVE-2008-3142.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/patches/CVE-2008-2316.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/patches/CVE-2008-2315.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1

if [ "x$LIBSUFFIX" != "x" ]; then
	# Grab from http://cblfs.cross-lfs.org/index.php/Python
	zcat $CWD/Python-$VERSION-multilib-1.diff.gz | patch -p1 --verbose || exit 1
	zcat $CWD/additional.multilib.diff.gz | patch -p1 --verbose || exit 1
	# Also grabbed from the above page	
	sed -i -e "s:@@MULTILIB_DIR@@:lib$LIBSUFFIX:g" \
    Lib/distutils/command/install.py \
    Lib/distutils/sysconfig.py \
    Lib/site.py \
    Makefile.pre.in \
    Modules/Setup.dist \
    Modules/getpath.c \
    setup.py || exit 1
fi

pkghelpers_permissions

OPT="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
	--libdir=/usr/lib$LIBSUFFIX \
  --mandir=/usr/man \
  --with-ncurses \
  --with-threads \
  --enable-ipv6 \
  --enable-shared \
  --build=$ARCH-$DISTRO-linux

# And the "Ugly Hack of the Year Award" goes to...
sed -i "s#LIBM);#LIBM) /usr/lib$LIBSUFFIX/libz.a;#" Makefile || exit 1

make -j10 || exit 1
make install DESTDIR=$PKG

# Install some python-demo files:
mkdir -p $PKG/usr/doc/python-$VERSION
cp -a Demo $PKG/usr/doc/python-$VERSION

# We'll install the python-tools under site-packages:
mkdir -p $SITEPK
( cd Tools ; cp -a * $SITEPK )
mkdir -p $PKG/usr/doc/python-$VERSION
mv $SITEPK/README $PKG/usr/doc/python-$VERSION/README.python-tools
( cd $PKG/usr/doc/python-$VERSION
  ln -sf $TOOLSDIR Tools
)
# Make a few useful symlinks:
mkdir -p $PKG/usr/bin
( cd $PKG/usr/bin
  ln -sf $TOOLSDIR/modulator/modulator.py modulator
  ln -sf $TOOLSDIR/pynche/pynche pynche
  ln -sf $TOOLSDIR/i18n/msgfmt.py .
  ln -sf $TOOLSDIR/i18n/pygettext.py .
)

# Install docs:
mkdir -p $PKG/usr/doc/python-$VERSION
cp -a README $PKG/usr/doc/python-$VERSION
cp -a Misc $PKG/usr/doc/python-$VERSION
( cd $PKG/usr/doc/python-$VERSION ; mkdir html )
( cd $PKG/usr/doc/python-$VERSION/html
  tar xjvf $CWD/html-$VERSION.tar.bz2
  chown -R root:root .
)
( cd $PKG/usr/bin
  rm -f python
  ln -sf python2.5 python
)

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
pkghelpers_fixup
pkghelpers_makepkg