#!/bin/sh function getpyver { if [ "$1" = "15" ]; then PYVER=1.5 elif [ "$1" = "20" ]; then PYVER=2.0 elif [ "$1" = "21" ]; then PYVER=2.1 elif [ "$1" = "22" ]; then PYVER=2.2 else echo You must specify Python version as first parameter. exit fi } getpyver $1 shift python$PYVER -c "import sys;print '\n', sys.version, '\n'" ##WXPYVER=`python$PYVER -c "import setup;print setup.VERSION"` SETUP="python$PYVER -u setup.py" FLAGS="USE_SWIG=1 IN_CVS_TREE=1" OTHERFLAGS="" # "c" --> clean if [ "$1" = "c" ]; then shift CMD="$SETUP $FLAGS $OTHERFLAGS clean" OTHERCMD="rm -f wxPython/*.so" # "d" --> clean extension modules only elif [ "$1" = "d" ]; then shift CMD="rm -f wxPython/*.so" # "t" --> touch *.i files elif [ "$1" = "t" ]; then shift #CMD="set CMD=touch src\*.i; touch contrib\glcanvas\*.i; touch contrib\ogl\*.i; touch contrib\stc\*.i" CMD='find . -name "*.i" | xargs -l touch' # "i" --> install elif [ "$1" = "i" ]; then shift CMD="$SETUP build $OTHERFLAGS install" # "s" --> source dist elif [ "$1" = "s" ]; then shift CMD="$SETUP $OTHERFLAGS sdist" # "r" --> rpm dist elif [ "$1" = "r" ]; then for VER in 15 20 21; do getpyver $VER echo "*****************************************************************" echo "******* Building wxPython for Python $PYVER" echo "*****************************************************************" # NOTE: This assumes that /usr/local/bin is BEFORE /usr/bin on the PATH # AND that you have write access to it. rm -f /usr/local/bin/python ln -s /usr/bin/python$PYVER /usr/local/bin/python SETUP="/usr/local/bin/python -u setup.py" # save the original cp setup.py setup.py.save # fix up setup.py the way we want... sed "s/BUILD_GLCANVAS = /BUILD_GLCANVAS = 0 #/" < setup.py.save > setup.py.temp sed "s/GL_ONLY = /GL_ONLY = 1 #/" < setup.py.temp > setup.py # build wxPython-gl RPM $SETUP $OTHERFLAGS bdist_rpm --binary-only --doc-files README.txt rm dist/wxPython-gl*.tar.gz # Build wxPython RPM cp setup.py setup.py.temp sed "s/GL_ONLY = /GL_ONLY = 0 #/" < setup.py.temp > setup.py $SETUP $OTHERFLAGS bdist_rpm --binary-only # put the oringal setup.py back cp setup.py.save setup.py rm setup.py.* # rename the binary RPM's mv dist/wxPython-$WXPYVER-1.i386.rpm dist/wxPython-$WXPYVER-1-Py$VER.i386.rpm mv dist/wxPython-gl-$WXPYVER-1.i386.rpm dist/wxPython-gl-$WXPYVER-1-Py$VER.i386.rpm done # rebuild the source dists without the munched up setup.py $SETUP $OTHERFLAGS sdist $SETUP $OTHERFLAGS bdist_rpm --source-only exit 0 # "f" --> FINAL (no debug) elif [ "$1" = "f" ]; then shift CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace $*" # (no command arg) --> normal build for development else CMD="$SETUP $FLAGS $OTHERFLAGS build_ext --inplace --debug $*" fi echo $CMD eval $CMD if [ "$OTHERCMD" != "" ]; then echo $OTHERCMD $OTHERCMD fi