git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			130 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh -e
 | 
						|
#----------------------------------------------------------------------
 | 
						|
# Build MacPython 2.3 and make an Installer package of it
 | 
						|
 | 
						|
# TODO:  Parameterize the versions, builddirs, etc...
 | 
						|
 | 
						|
# Script configs
 | 
						|
PYVERSION=2.3a2
 | 
						|
PYVER=2.3
 | 
						|
BUILDNUM=3
 | 
						|
DOCLEANUP=no
 | 
						|
 | 
						|
PROGDIR="`dirname \"$0\"`"
 | 
						|
TMPDIR=/tmp/_py
 | 
						|
#TMPDIR=/projects/_py
 | 
						|
 | 
						|
BUILDROOT=$TMPDIR/build
 | 
						|
INSTALLROOT=$TMPDIR/install
 | 
						|
DMGDIR=$TMPDIR/dmg
 | 
						|
RESOURCEDIR=$PROGDIR/resources
 | 
						|
DESTDIR=/projects/wx/wxPython/dist
 | 
						|
PYTHONSRC=/projects/Python-$PYVERSION
 | 
						|
WASTEDIR=/projects/waste
 | 
						|
 | 
						|
# Setup
 | 
						|
mkdir -p $BUILDROOT
 | 
						|
mkdir -p $INSTALLROOT
 | 
						|
rm -rf $DMGDIR
 | 
						|
mkdir -p $DMGDIR/root
 | 
						|
 | 
						|
 | 
						|
# Configure and build Python
 | 
						|
pushd $BUILDROOT
 | 
						|
 | 
						|
# Check if we should build and install the docs, but only if it
 | 
						|
# doesn't appear to be done already.  TODO: fix this path to be version independent
 | 
						|
if [ ! -e "build/temp.darwin-6.3-Power Macintosh-2.3/build-html/build-html idx" ]; then
 | 
						|
    read -p "Build the Python docs? (y/N)? " builddocs
 | 
						|
fi
 | 
						|
 | 
						|
# If the filesystem is case-sensitive then "python" will be built, but
 | 
						|
# some parts of the install expect "python.exe which is what is built
 | 
						|
# on a case-insensitive filesystem.  Make a link just in case it is
 | 
						|
# needed.
 | 
						|
if [ ! -e python.exe ]; then
 | 
						|
    ln -s python python.exe
 | 
						|
fi
 | 
						|
 | 
						|
# Make a link to the waste dir so that lib can be found.  This allows
 | 
						|
# the PythonIDE to be built
 | 
						|
if [ ! -e waste ]; then
 | 
						|
    ln -s $WASTEDIR waste
 | 
						|
fi
 | 
						|
 | 
						|
$PYTHONSRC/configure --enable-framework=$INSTALLROOT/Library/Frameworks LDFLAGS=-Wl,-x
 | 
						|
make
 | 
						|
make frameworkinstall
 | 
						|
 | 
						|
if [ "$builddocs" = "y" -o "$builddocs" = "Y" ]; then
 | 
						|
    ./python.exe $PYTHONSRC/Mac/OSX/setupDocs.py build
 | 
						|
    echo ""
 | 
						|
    read -p "When the help indexer is done press Enter..." ans
 | 
						|
    ./python.exe $PYTHONSRC/Mac/OSX/setupDocs.py install \
 | 
						|
	--prefix=$INSTALLROOT/Library/Frameworks/Python.framework/Versions/$PYVER
 | 
						|
fi
 | 
						|
 | 
						|
popd
 | 
						|
 | 
						|
 | 
						|
 | 
						|
# Make the Installer package:
 | 
						|
# First, remove the unix tools as their paths will be wrong.  We'll recreate
 | 
						|
# them in the postinstall.
 | 
						|
rm -r $INSTALLROOT/usr
 | 
						|
 | 
						|
# Next, remove the .pyc/.pyo files
 | 
						|
python $PROGDIR/../zappycfiles.py $INSTALLROOT/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER
 | 
						|
 | 
						|
# Make the welcome message
 | 
						|
cat > $RESOURCEDIR/Welcome.txt <<EOF
 | 
						|
Welcome!
 | 
						|
 | 
						|
This program will install Python $PYVERSION for Mac OS X as a Framework.
 | 
						|
 | 
						|
Build number: $BUILDNUM
 | 
						|
Build date:   `date`
 | 
						|
EOF
 | 
						|
 | 
						|
 | 
						|
# fix a bug in the IDLE install
 | 
						|
IDLERES=$INSTALLROOT/Applications/MacPython-2.3/IDLE.app/Contents/Resources
 | 
						|
mv $IDLERES/idlelib/idle $IDLERES
 | 
						|
 | 
						|
 | 
						|
# Finally, build the package...
 | 
						|
rm -rf MacPython-OSX.pkg
 | 
						|
python $PROGDIR/../buildpkg.py \
 | 
						|
    --Title=MacPython-OSX \
 | 
						|
    --Version=$PYVERSION-$BUILDNUM \
 | 
						|
    --Description="Python $PYVERSION for Mac OS X, framework based" \
 | 
						|
    --NeedsAuthorization="YES" \
 | 
						|
    --Relocatable="NO" \
 | 
						|
    --InstallOnly="YES" \
 | 
						|
    $INSTALLROOT \
 | 
						|
    $RESOURCEDIR
 | 
						|
 | 
						|
##    --RootVolumeOnly="YES" \
 | 
						|
 | 
						|
# ...and then make a disk image containing the package.
 | 
						|
mv MacPython-OSX.pkg $DMGDIR/root
 | 
						|
$PROGDIR/../makedmg $DMGDIR/root $DMGDIR MacPython-OSX-$PYVERSION-$BUILDNUM
 | 
						|
 | 
						|
echo Moving $DMGDIR/MacPython-OSX-$PYVERSION-$BUILDNUM to $DESTDIR
 | 
						|
mv $DMGDIR/MacPython-OSX-$PYVERSION-$BUILDNUM.dmg $DESTDIR
 | 
						|
 | 
						|
 | 
						|
# Cleanup build/install dirs
 | 
						|
if [ $DOCLEANUP = yes ]; then
 | 
						|
    echo "Cleaning up..."
 | 
						|
    rm -rf $BUILDROOT
 | 
						|
    rm -rf $INSTALLROOT
 | 
						|
    rm -rf $DMGDIR
 | 
						|
else
 | 
						|
    echo "Cleanup is disabled.  You should remove these dirs when done:"
 | 
						|
    echo "          $BUILDROOT"
 | 
						|
    echo "          $INSTALLROOT"
 | 
						|
    echo "          $DMGDIR"
 | 
						|
fi
 | 
						|
 |