# Just like the above
OSX_HOST_panther=bigmac
OSX_HOST_jaguar=whopper
-OSX_BUILD=/tmp/BUILD
+OSX_BUILD=/BUILD
# Alsmost the same... See below for hosts and other info
echo " skipsource Don't build the source archives, use the ones"
echo " already in the staging dir."
echo " onlysource Exit after building the source archives"
+ echo " skipdocs Don't rebuild the docs"
echo " skipwin Don't do the remote Windows build"
echo " skiposx Don't do the remote OSX build"
echo " skiplinux Don't do the remote Linux build"
PYVER=2.3
skipsource=no
onlysource=no
+skipdocs=no
skipwin=no
skiposx=no
skiplinux=no
skipsource) skipsource=yes ;;
onlysource) onlysource=yes ;;
+ skipdocs) skipdocs=yes ;;
skipwin) skipwin=yes ;;
skiposx) skiposx=yes ;;
skiplinux) skiplinux=yes ;;
# clean out the local dist dir
rm -f dist/*
- # Regenerate the reST docs
- echo "Regenerating the reST docs..."
- cd docs
- for x in *.txt; do
- docutils-html $x `basename $x .txt`.html
- done
- cd -
-
- # build the doc and demo tarballs
- distrib/makedemo
- distrib/makedocs
-
- # build the new docs too
- docs/bin/everything
-
- # make the source tarball
- distrib/makerpm 2.3 skipclean skiprpm gtk2
-
- # make the source RPMs
- for ver in $PYVER; do
- distrib/makerpm $ver skipclean skipcopy skiptar srpm
- distrib/makerpm $ver skipclean skipcopy skiptar srpm gtk2
- done
+ if [ $skipdocs != yes ]; then
+ # Regenerate the reST docs
+ echo "Regenerating the reST docs..."
+ cd docs
+ for x in *.txt; do
+ docutils-html $x `basename $x .txt`.html
+ done
+ cd -
+
+ # build the doc and demo tarballs
+ distrib/makedemo
+ distrib/makedocs
+
+ # build the new docs too
+ docs/bin/everything
+ fi
+
+ # make the source tarball and srpm
+ distrib/makerpm 2.3 srpm
# Copy everything to the staging dir
echo "Moving stuff to $STAGING_DIR..."
- rm -f dist/*.spec
mv dist/* $STAGING_DIR
- for doc in CHANGES BUILD INSTALL MigrationGuide default; do
- cp docs/$doc.* $STAGING_DIR
- done
+
+ if [ $skipdocs != yes ]; then
+ for doc in CHANGES BUILD INSTALL MigrationGuide default; do
+ cp docs/$doc.* $STAGING_DIR
+ done
+ fi
# cleanup
echo "Cleaning up..."
rm -f dist/*
- rm -rf _build_rpm
fi
if [ $KIND = daily ]; then
echo "-=-=- Starting Windows build..."
echo "Copying source file and build script..."
- scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \
+ scp $STAGING_DIR/wxPython-src-$VERSION.tar.gz \
distrib/all/build-windows \
$WIN_HOST:$WIN_BUILD
echo "Running build script on $WIN_HOST..."
- wxdir=$WIN_BUILD/wxPythonSrc-$VERSION
+ wxdir=$WIN_BUILD/wxPython-src-$VERSION
cmd=./build-windows
ssh $WIN_HOST "cd $WIN_BUILD && $cmd $wxdir $WIN_BUILD $skipclean $VERSION $PYVER && rm $cmd"
echo "Fetching the results..."
- scp $WIN_HOST:$WIN_BUILD/wxPythonWIN32* $STAGING_DIR
- ssh $WIN_HOST "rm $WIN_BUILD/wxPythonWIN32*"
+ scp $WIN_HOST:$WIN_BUILD/wxPython*-win32* $STAGING_DIR
+ ssh $WIN_HOST "rm $WIN_BUILD/wxPython*-win32*"
fi
echo "Copying source files and build script..."
ssh root@$host "mkdir -p $OSX_BUILD && rm -rf $OSX_BUILD/* || true"
- scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \
- $STAGING_DIR/wxPythonDocs-$VERSION.tar.gz \
- $STAGING_DIR/wxPythonDemo-$VERSION.tar.gz \
+ #ssh root@$host "mkdir -p $OSX_BUILD || true"
+ scp $STAGING_DIR/wxPython-src-$VERSION.tar.gz \
+ $STAGING_DIR/wxPython-docs-$VERSION.tar.gz \
+ $STAGING_DIR/wxPython-demo-$VERSION.tar.gz \
distrib/all/build-osx \
root@$host:$OSX_BUILD
echo "Running build script on $host..."
- wxdir=$OSX_BUILD/wxPythonSrc-$VERSION
+ wxdir=$OSX_BUILD/wxPython-src-$VERSION
cmd=./build-osx
ssh root@$host "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $flavor $PYVER && rm $cmd"
echo "Fetching the results..."
- scp "root@$host:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR
- ssh root@$host "rm $OSX_BUILD/wxPythonOSX*"
+ scp "root@$host:$OSX_BUILD/wxPython*-osx*" $STAGING_DIR
+ ssh root@$host "rm $OSX_BUILD/wxPython*-osx*"
}
echo "Copying source files and build script..."
ssh root@$host "mkdir -p $LINUX_BUILD && rm -rf $LINUX_BUILD/*"
- scp $STAGING_DIR/wxPython*.src.rpm \
+ scp $STAGING_DIR/wxPython-src* $STAGING_DIR/wxPython.spec\
distrib/all/build-linux \
root@$host:$LINUX_BUILD
ssh root@$host "cd $LINUX_BUILD && ./build-linux $reltag $skipclean $VERSION $pyver"
echo "Fetching the results..."
- scp "root@$host:$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" $STAGING_DIR
- ssh root@$host "rm $LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm"
+ scp "root@$host:$LINUX_BUILD/wxPython*.i[0-9]86.rpm" $STAGING_DIR
+ ssh root@$host "rm $LINUX_BUILD/wxPython*.i[0-9]86.rpm"
}
if [ $skiplinux != yes ]; then
- DoLinuxBuild co-rh9 RH9 $PYVER
- DoLinuxBuild co-fc2 FC2 2.3
+ DoLinuxBuild co-rh9 rh9 $PYVER
+ DoLinuxBuild co-fc2 fc2 2.3
fi
rpmtop=_rpm_top
function DoRPMBuild {
- echo "*** Setting up RPM build dirs"
- for dir in SPECS BUILD RPMS SRPMS tmp; do
- if [ ! -d $rpmtop/$dir ]; then
- mkdir -p $rpmtop/$dir
- fi
- done
- if [ ! -e $rpmtop/SOURCES ]; then
- ln -s $PWD $rpmtop/SOURCES
- fi
-
+ # $1 : python version
+ # $2 : port
+ # $3 : unicode
+
rpmbuild --define "_topdir $PWD/$rpmtop" \
--define "_tmppath $PWD/$rpmtop/tmp" \
- --define "release $RELEASE" \
- $@
+ --define "release ${RELEASE}_py$1" \
+ --define "pyver $1" \
+ --define "port $2" \
+ --define "unicode $3" \
+ -bb wxPython.spec
if [ $? != 0 ]; then
return $?
fi
+}
- echo "*** Moving RPMs to ."
- find $rpmtop -name "*.rpm"
- mv -f `find $rpmtop -name "*.rpm"` .
- echo "*** Cleaning up $rpmtop"
- rm -rf $rpmtop
-}
+echo "*** Setting up RPM build dirs"
+for dir in SPECS BUILD RPMS SOURCES SRPMS tmp; do
+ if [ ! -d $rpmtop/$dir ]; then
+ mkdir -p $rpmtop/$dir
+ fi
+done
+cp wxPython-src-$VERSION.tar.gz $rpmtop/SOURCES
+echo "******************** PYVER = " $PYVER
for ver in $PYVER; do
echo "Building the RPMs for Python $ver..."
- for port in GTK GTK2; do
- rpm2cpio wxPython$port-py$ver-$VERSION-1.src.rpm | \
- cpio --extract -R root.
- DoRPMBuild -ba wxPython$port.spec
- done
+ DoRPMBuild $ver gtk 0
+ DoRPMBuild $ver gtk2 1
+ DoRPMBuild $ver gtk2 0
done
+echo "*** Moving RPMs to ."
+find $rpmtop -name "*.rpm"
+mv -f `find $rpmtop -name "*.rpm"` .
+
+
if [ $SKIPCLEAN != yes ]; then
+ echo "*** Cleaning up $rpmtop"
+ rm -rf $rpmtop
+
echo "Cleaning up..."
- for ver in $PYVER; do
- rm wxPythonGTK-py$ver-$VERSION-*.src.rpm
- rm wxPythonGTK2-py$ver-$VERSION-*.src.rpm
- done
rm *.spec *.tar.gz
fi
# 2. the path of where to put the resulting installers
# 3. skipclean flag (yes|no)
# 4. the VERSION
-# 5. the FLAVOR (panther or jaguar)
+# 5. the KIND (panther or jaguar)
# *. the remaining args are the versions of Python to build for
#
# ---------------------------------------------------------------------------
echo "-=-=-=- Hello from $HOSTNAME -=-=-=-"
if [ $# -lt 6 ]; then
- echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION FLAVOR PYVER..."
+ echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION KIND PYVER..."
exit 1
fi
DESTDIR=$2
SKIPCLEAN=$3
VERSION=$4
-FLAVOR=$5
+KIND=$5
shift;shift;shift;shift;shift
PYVER=$@
-export PATH=/sw/bin:/usr/local/bin:$PATH
-
+#export PATH=/sw/bin:/usr/local/bin:$PATH
+export PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:.:/usr/local/bin:/usr/X11R6/bin
+echo "PATH =" $PATH
+echo "which gcc = " `which gcc`
+#exit 0
# untar the source
-echo "Unarchiving wxPythonSrc-$VERSION.tar.gz"
+echo "Unarchiving wxPython-src-$VERSION.tar.gz"
cd $DESTDIR
-tar xzf wxPythonSrc-$VERSION.tar.gz
-rm wxPythonSrc-$VERSION.tar.gz
+tar xzf wxPython-src-$VERSION.tar.gz
+rm wxPython-src-$VERSION.tar.gz
echo "Invoking wxPythonOSX build script..."
cd $WXDIR/wxPython
export TARBALLDIR=$DESTDIR
mkdir -p dist
-distrib/mac/wxPythonOSX/build $FLAVOR inplace skipclean
+distrib/mac/wxPythonOSX/build $KIND inplace skipclean
echo "Copying installers to $DESTDIR..."
if [ $SKIPCLEAN != yes ]; then
echo "Cleaning up..."
rm -r $WXDIR || true
- rm wxPythonDocs-$VERSION.tar.gz
- rm wxPythonDemo-$VERSION.tar.gz
+ rm wxPython-docs-$VERSION.tar.gz
+ rm wxPython-demo-$VERSION.tar.gz
fi
echo "-=-=-=- Goodbye! -=-=-=-"
# WXDIR is the cygwin path, WXWIN is the DOS path
WXWIN_OLD=$WXWIN
-WXWIN=`cygpath -m $WXDIR`
+WXWIN=`cygpath -w $WXDIR`
export WXWIN
# untar the source
-echo "Unarchiving wxPythonSrc-$VERSION.tar.gz"
+echo "Unarchiving wxPython-src-$VERSION.tar.gz"
cd $DESTDIR
-tar xzf wxPythonSrc-$VERSION.tar.gz
-rm wxPythonSrc-$VERSION.tar.gz
+tar xzf wxPython-src-$VERSION.tar.gz
+rm wxPython-src-$VERSION.tar.gz
# Fix line endings
echo "Converting wxPython line endings to CRLF..."
cd $WXDIR
-names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.xml" `
+names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.xml" `
unix2dos -D $names
.make hybrid-uni
-echo "Building the wx tools..."
-.make_tools
+#echo "Building the wx tools..."
+#.make_tools
# cheat and just copy the .CHM files from the regular project dir
-# TODO: Copy over the wxPythonDocs fle and run hhc on the contents of that.
+# TODO: Copy over the wxPython-docs fle and run hhc on the contents of that.
mkdir -p $WXDIR/docs/htmlhelp
cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp
for ver in $PYVER; do
echo $ver
b $ver d USE_SWIG=0
- b $ver h USE_SWIG=0
+ b $ver h USE_SWIG=0 EP_ADD_OPTS=1
b $ver r USE_SWIG=0
b $ver d UNICODE=1 USE_SWIG=0
- b $ver h UNICODE=1 USE_SWIG=0
+ b $ver h UNICODE=1 USE_SWIG=0 EP_ADD_OPTS=1
b $ver r UNICODE=1 USE_SWIG=0
done
echo "Copying installers to $DESTDIR..."
-mv dist/wxPythonWIN32* $DESTDIR
+mv dist/wxPython* $DESTDIR
cd $DESTDIR
PYPREFIX=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYLIB=$PYPREFIX/lib/python$PYVER
SITEPACKAGES=$PYLIB/site-packages
-
+SHORTVER=`echo $VERSION | cut -c 1,2,3`
if [ -z "$TARBALLDIR" ]; then
# TARBALLDIR before invoking this script...
TARBALLDIR=/stuff/Development/wxPython/dist/$VERSION
fi
-TARBALL=$TARBALLDIR/wxPythonSrc-$VERSION.tar.gz
+TARBALL=$TARBALLDIR/wxPython-src-$VERSION.tar.gz
-if [ ! -e $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz ]; then
+if [ ! -e $TARBALLDIR/wxPython-demo-$VERSION.tar.gz ]; then
echo "-------------------------------------------------------"
echo " WARNING: Demo tarball not found, will skip building "
echo " the Demo app bundle and etc."
- echo " $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz"
+ echo " $TARBALLDIR/wxPython-demo-$VERSION.tar.gz"
echo "-------------------------------------------------------"
fi
-if [ ! -e $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz ]; then
+if [ ! -e $TARBALLDIR/wxPython-docs-$VERSION.tar.gz ]; then
echo "-------------------------------------------------------"
echo " WARNING: Docs tarball not found, will skip building "
echo " the the wxDocsViewer app bundle and etc."
- echo " $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz"
+ echo " $TARBALLDIR/wxPython-docs-$VERSION.tar.gz"
echo "-------------------------------------------------------"
fi
DMGDIR=$TMPDIR/dmg
RESOURCEDIR=$PROGDIR/resources
DESTDIR=$PWD/dist
-SRCROOT=$BUILDROOT/wxPythonSrc-$VERSION
+SRCROOT=$BUILDROOT/wxPython-src-$VERSION
#----------------------------------------------------------------------
if [ $inplace = no ]; then
# make a build dir and cd to it.
- cd wxPythonSrc-$VERSION
+ cd wxPython-src-$VERSION
WXDIR=`pwd`
mkdir -p $WXDIR/bld
cd $WXDIR/bld
--enable-sound \
--enable-display \
--enable-geometry \
+ --enable-debug_flag \
--enable-precomp=no \
- --enable-debug_flag
+ --enable-optimise \
-## --enable-optimise \
## --with-libjpeg=builtin \
## --with-libpng=builtin \
## --with-libtiff=builtin \
if [ $skipbuild != yes ]; then
# Make wxWidgets and some contribs
+
+ # For some reason Rez and DeRez have started locking up if run as root...
+ chmod a+w lib
+ su robind -c "make lib/libwx_macd-2.5.3.r"
+
make
make -C contrib/src/gizmos
make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0"
make -C contrib/src/stc
- make -C contrib/src/xrc
# Build wxPython
cd $WXDIR/wxPython
$PYTHON setup.py \
NO_SCRIPTS=1 \
+ EP_ADD_OPTS=1 \
WX_CONFIG="$WXBLD/wx-config --inplace" \
BUILD_BASE=$WXBLD/wxPython \
build
-
-
- # Build wxrc (XRC resource tool)
- cd $WXBLD/contrib/utils/wxrc
- make
- strip wxrc
-
fi
#----------------------------------------------------------------------
make -C contrib/src/gizmos prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" prefix=$INSTALLROOT/$PREFIX install
make -C contrib/src/stc prefix=$INSTALLROOT$PREFIX install
- make -C contrib/src/xrc prefix=$INSTALLROOT$PREFIX install
+ # relink wx-config with a relative link
+ cd $INSTALLROOT$PREFIX/bin
+ rm wx-config
+ ln -s ../lib/wx/config/* wx-config
+
# and wxPython
cd $WXDIR/wxPython
$PYTHON setup.py \
NO_SCRIPTS=1 \
+ EP_ADD_OPTS=1 \
WX_CONFIG="$INSTALLROOT/$PREFIX/bin/wx-config --prefix=$INSTALLROOT/$PREFIX" \
BUILD_BASE=$WXBLD/wxPython \
install \
python$PYVER CreateMacScripts.py $INSTALLROOT $BINPREFIX
- # Install wxrc
- cp $WXBLD/contrib/utils/wxrc/wxrc $INSTALLROOT$BINPREFIX
-
-
# Set premissions for files in $INSTALLROOT
if [ "$UID" = "0" ]; then
chown -R root:admin $INSTALLROOT
fi
fi
+PKGDIR=`cat $INSTALLROOT/Library/Python/$PYVER/wx.pth`
+
popd
#----------------------------------------------------------------------
# Cleanup any old install of the wxPython package
rm -rf \$2$SITEPACKAGES/wxPython
rm -rf \$2$SITEPACKAGES/wx
+rm -rf \$2$SITEPACKAGES/$PKGDIR
exit 0
EOF
chmod +x $RESOURCEDIR/preflight
cat > $RESOURCEDIR/postflight <<EOF
#!/bin/sh -e
# Compile the .py files in the wxPython pacakge
-$PYTHON \$2$PYLIB/compileall.py \$2$SITEPACKAGES/wxPython
-$PYTHON \$2$PYLIB/compileall.py \$2$SITEPACKAGES/wx
-$PYTHON -O \$2$PYLIB/compileall.py \$2$SITEPACKAGES/wxPython
-$PYTHON -O \$2$PYLIB/compileall.py \$2$SITEPACKAGES/wx
+$PYTHON \$2$PYLIB/compileall.py \$2$SITEPACKAGES/$PKGDIR
+$PYTHON -O \$2$PYLIB/compileall.py \$2$SITEPACKAGES/$PKGDIR
# and all of the wxPython pacakge should be group writable
-chgrp -R admin \$2$SITEPACKAGES/wxPython
-chmod -R g+w \$2$SITEPACKAGES/wxPython
-chgrp -R admin \$2$SITEPACKAGES/wx
-chmod -R g+w \$2$SITEPACKAGES/wx
+chgrp -R admin \$2$SITEPACKAGES/$PKGDIR
+chmod -R g+w \$2$SITEPACKAGES/$PKGDIR
exit 0
EOF
# Build the main Installer Package...
- rm -rf wxPythonOSX-$KIND.pkg
+ rm -rf wxPython${SHORTVER}-osx-$KIND.pkg
python $PROGDIR/../buildpkg.py \
- --Title=wxPythonOSX-$KIND \
+ --Title=wxPython${SHORTVER}-osx-$KIND \
--Version=$VERSION \
--Description="wxPython $VERSION for $W_MSG MacPython-OSX $PYVER" \
--NeedsAuthorization="YES" \
$INSTALLROOT \
$RESOURCEDIR
- mv wxPythonOSX-$KIND.pkg $DMGDIR/root
+ mv wxPython${SHORTVER}-osx-$KIND.pkg $DMGDIR/root
On this disk image you will find the installer for wxPython $VERSION for $W_MSG MacPython-OSX $PYVER. MacPython-OSX is not included.
- wxPython-$KIND.pkg The installer package. It contains the wxPython
+ wxPython${SHORTVER}-osx-$KIND.pkg The installer package. It contains the wxPython
extension modules, wxMac dynamic libraries and
headers, and some scripts for the command-line
tools.
# wxDocs
- if [ ! -e $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz ]; then
+ if [ ! -e $TARBALLDIR/wxPython-docs-$VERSION.tar.gz ]; then
cat > "$DMGDIR/root/Docs/Build ERROR.txt" <<EOF
-The wxPythonDocs tarball was not found when building this disk image!
+The wxPython-docs tarball was not found when building this disk image!
EOF
else
pushd $BUILDROOT
- tar xzvf $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz
+ tar xzvf $TARBALLDIR/wxPython-docs-$VERSION.tar.gz
popd
# Make an app to launch viewdocs.py
popd
- if [ ! -e $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz ]; then
+ if [ ! -e $TARBALLDIR/wxPython-demo-$VERSION.tar.gz ]; then
cat > "$DMGDIR/root/Samples/Build ERROR.txt" <<EOF
-The wxPythonDemo tarball was not found when building this disk image!
+The wxPython-demo tarball was not found when building this disk image!
EOF
cp "$DMGDIR/root/Samples/Build ERROR.txt" $DMGDIR/root/Apps
# Copy the demo and samples to the disk image from the tarball
pushd $DMGDIR/root/Samples
- tar xzvf $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz
+ tar xzvf $TARBALLDIR/wxPython-demo-$VERSION.tar.gz
mv wxPython-$VERSION/* .
rm -rf wxPython-$VERSION
rm demo/b demo/.setup.sh
# and then finally make a disk image containing the packages and etc.
- $PROGDIR/../makedmg $DMGDIR/root $DMGDIR wxPythonOSX-$VERSION-$KIND-Py$PYVER
+ $PROGDIR/../makedmg $DMGDIR/root $DMGDIR wxPython${SHORTVER}-osx-$VERSION-$KIND-py$PYVER
- echo Moving $DMGDIR/wxPythonOSX-$VERSION-$KIND-Py$PYVER.dmg to $DESTDIR
- mv $DMGDIR/wxPythonOSX-$VERSION-$KIND-Py$PYVER.dmg $DESTDIR
+ echo Moving $DMGDIR/wxPython${SHORTVER}-osx-$VERSION-$KIND-py$PYVER.dmg to $DESTDIR
+ mv $DMGDIR/wxPython${SHORTVER}-osx-$VERSION-$KIND-py$PYVER.dmg $DESTDIR
fi