Merged wxPython 2.4.x to the 2.5 branch (Finally!!!)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-03-25 06:35:27 +00:00
parent 9b4e3f352b
commit 1e4a197e4c
586 changed files with 62691 additions and 17740 deletions

View File

@@ -0,0 +1 @@
.DS_Store

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,390 @@
#!/bin/sh -e
#----------------------------------------------------------------------
# Build wxMac and wxPythonOSX from the tarball and then make an
# Installer package out of it.
spectemplate=distrib/wxPythonFull.spec.in
if [ ! -d wxPython -o ! -e ${spectemplate} ]; then
echo "Please run this script from the root wxPython directory."
exit 1
fi
#----------------------------------------------------------------------
# Check Parameters
function usage {
echo ""
echo "Usage: $0 wx_version py_version [command flags...]"
echo " wx_version String to use for version in filenames, etc."
echo " py_version String to append to python (which python version to use.)"
echo ""
echo "command flags:"
echo " skiptar Don't unpack the tarball"
echo " use_cvs Use the CVS workspace instead of a tarfile"
echo " skipconfig Don't run configure"
echo " skipbuild Don't build wxWindows or wxPython"
echo " skipinstall Don't do the installation step"
echo " skipdmg Don't make the package or diskimage"
echo " skipclean Don't do the cleanup at the end"
}
if [ $# -lt 2 ]; then
usage
exit 1
fi
VERSION=$1
PYVER=$2
shift;shift
for flag in $*; do
case ${flag} in
skiptar) skiptar=1 ;;
use_cvs) skiptar=1; use_cvs=1 ;;
skipconfig) skipconfig=1; skiptar=1 ;;
skipbuild) skipbuild=1; skipconfig=1; skiptar=1 ;;
skipinstall) skipinstall=1 ;;
skipdmg) skipdmg=1 ;;
skipclean) skipclean=1 ;;
*) echo "Unknown flag \"${flag}\""
usage
exit 1
esac
done
SRCDIR=/Volumes/Gate.Stuff/Development/wxPython/dist/$VERSION
TARBALL=$SRCDIR/wxPythonSrc-$VERSION.tar.gz
SITEPACKAGES=/Library/Frameworks/Python.framework/Versions/$PYVER/lib/python$PYVER/site-packages
# TODO: Should I change the prefix to /usr?
PREFIX=/usr/local
PROGDIR="`dirname \"$0\"`"
TMPDIR=$PWD/_build_dmg
BUILDROOT=$TMPDIR/build
INSTALLROOT=$TMPDIR/install
INSTALLDEVEL=$TMPDIR/install-devel
DMGDIR=$TMPDIR/dmg
RESOURCEDIR=$PROGDIR/resources
DESTDIR=$PWD/dist
#----------------------------------------------------------------------
# Setup builddirs
mkdir -p $BUILDROOT
mkdir -p $INSTALLROOT
mkdir -p $INSTALLDEVEL
rm -rf $DMGDIR
mkdir -p $DMGDIR/root
pushd $BUILDROOT
#----------------------------------------------------------------------
# Unpack the tarball
if [ -z "$skiptar" ]; then
tar xzvf $TARBALL
fi
if [ "$use_cvs" = 1 ]; then
# copy the cvs workspace, except for build dirs
mkdir -p wxPythonSrc-$VERSION
echo Finding updated files...
if [ -e .last_copy ]; then
FEXPR="-cnewer .last_copy"
fi
find /projects/wx $FEXPR -print \
| grep -v wx/build \
| grep -v wxPython/build \
| grep -v wxPython/_build \
| grep -v CVS \
| cut -b 14- > filelist
for x in `cat filelist`; do
if [ -d "/projects/wx/$x" ]; then
mkdir -p "wxPythonSrc-$VERSION/$x"
else
echo $x
cp -p "/projects/wx/$x" "wxPythonSrc-$VERSION/$x"
fi
done
touch .last_copy
fi
cd wxPythonSrc-$VERSION
WXDIR=`pwd`
mkdir -p $WXDIR/build
cd $WXDIR/build
#----------------------------------------------------------------------
# Configure wxWindows
if [ -z "$skipconfig" ]; then
../configure --with-mac --prefix=$PREFIX \
--with-opengl \
--enable-precomp=no \
--enable-geometry \
--enable-optimise \
--enable-debug_flag \
--with-libjpeg=builtin \
--with-libpng=builtin \
--with-libtiff=builtin \
--with-zlib=builtin
fi
# Build wxWindows and wxPython
if [ -z "$skipbuild" ]; then
make
cd $WXDIR/wxPython
python$PYVER setup.py \
IN_CVS_TREE=1 \
WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" \
build
# Build wxrc (XRC resource tool) but don't use the makefiles since they expect
# a shared version of the xrc lib to have been built...
cd $WXDIR/contrib/utils/wxrc
WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build"
wCC=`$WX_CONFIG --cc`
wCXX=`$WX_CONFIG --cxx`
for f in wxrc.cpp ../../src/xrc/*.cpp; do
echo $f
$wCXX `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f
done
for f in ../../src/xrc/expat/xmlparse/xmlparse.c ../../src/xrc/expat/xmltok/xmlrole.c ../../src/xrc/expat/xmltok/xmltok.c; do
echo $f
$wCC `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f
done
# the handlers are not needed
rm xh_*.o xmlrsall.o
$wCXX `$WX_CONFIG --libs` *.o -o wxrc
strip wxrc
fi
#----------------------------------------------------------------------
# Install wxWindows
if [ -z "$skipinstall" ]; then
cd $WXDIR/build
make prefix=$INSTALLROOT/$PREFIX install
# and wxPython
cd $WXDIR/wxPython
python$PYVER setup.py \
IN_CVS_TREE=1 \
WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" \
install \
--root=$INSTALLROOT
# install wxPython's tool scripts
cd $WXDIR/wxPython/scripts
python$PYVER CreateMacScripts.py $INSTALLROOT $PREFIX/bin
# Install wxrc
cp $WXDIR/contrib/utils/wxrc/wxrc $INSTALLROOT$PREFIX/bin
# Move wxWindows devel files and save for a separate installer package
mkdir -p $INSTALLDEVEL$PREFIX
mkdir -p $INSTALLDEVEL$PREFIX/bin
mkdir -p $INSTALLDEVEL$PREFIX/lib
mv -f $INSTALLROOT$PREFIX/include $INSTALLDEVEL$PREFIX
mv -f $INSTALLROOT$PREFIX/lib/wx $INSTALLDEVEL$PREFIX/lib
mv -f $INSTALLROOT$PREFIX/bin/wx* $INSTALLDEVEL$PREFIX/bin
fi
popd
#----------------------------------------------------------------------
# Make the Installer packages and disk image
if [ -z "$skipdmg" ]; then
# Remove the .pyc/.pyo files they just take up space and can be recreated
# during the install.
python $PROGDIR/../zappycfiles.py $INSTALLROOT/Library/Frameworks/Python.framework
# Copy the demo, samples, and such to the Applications dir
APPDIR=$INSTALLROOT/Applications/wxPythonOSX-$VERSION
mkdir -p $APPDIR
cp -pR $WXDIR/wxPython/demo $APPDIR
cp -pR $WXDIR/wxPython/samples $APPDIR
# Move sample launchers to .pyw files.
# TODO: A better, more automated way to do this!!!
pushd $APPDIR/samples
for x in StyleEditor/STCStyleEditor \
doodle/superdoodle \
frogedit/FrogEdit \
pySketch/pySketch \
wxProject/wxProject; do
mv $x.py $x.pyw
done
popd
# Make an app to launch the demo
cat > $APPDIR/demo/RunDemo.pyw <<EOF
import sys, os
sys.path.insert(0, "/Applications/wxPythonOSX-$VERSION/demo")
os.chdir("/Applications/wxPythonOSX-$VERSION/demo")
import Main
Main.main()
EOF
pythonw $PROGDIR/../buildapp.py \
--builddir=$APPDIR \
--name=RunDemo \
--mainprogram=$APPDIR/demo/RunDemo.pyw \
--iconfile=$PROGDIR/RunDemo.icns \
build
# Make an app to launch PyShell
pythonw $PROGDIR/../buildapp.py \
--builddir=$APPDIR \
--name=PyShell \
--mainprogram=$INSTALLROOT$PREFIX/bin/pyshell.py \
--iconfile=$PROGDIR/PieShell.icns \
build
# Make an app to launch XRCed
pythonw $PROGDIR/../buildapp.py \
--builddir=$APPDIR \
--name=XRCed \
--mainprogram=$INSTALLROOT$PREFIX/bin/xrced.py \
--iconfile=$PROGDIR/XRCed.icns \
build
# Make the welcome message
cat > $RESOURCEDIR/Welcome.txt <<EOF
Welcome!
This program will install wxPython $VERSION for MacPython-OSX $PYVER.
Build date: `date`
EOF
# make the preflight script
cat > $RESOURCEDIR/preflight <<EOF
#!/bin/sh
# Cleanup any old install of the wxPython package
rm -rf \$2$SITEPACKAGES/wxPython
exit 0
EOF
chmod +x $RESOURCEDIR/preflight
# make the postflight script
cat > $RESOURCEDIR/postflight <<EOF
#!/bin/sh -e
# Compile the .py files in the wxPython pacakge
/usr/local/bin/python \$2$SITEPACKAGES/../compileall.py \$2$SITEPACKAGES/wxPython
/usr/local/bin/python -O \$2$SITEPACKAGES/../compileall.py \$2$SITEPACKAGES/wxPython
# and in the demo
/usr/local/bin/python \$2$SITEPACKAGES/../compileall.py /Applications/wxPythonOSX-$VERSION/demo
# Make the demo/data dir writable
chmod a+w /Applications/wxPythonOSX-$VERSION/demo/data
# and the wxPython pacakge should be group writable
chgrp -R admin \$2$SITEPACKAGES/wxPython
chgrp -R admin /Applications/wxPythonOSX-$VERSION
chmod -R g+w \$2$SITEPACKAGES/wxPython
chmod -R g+w /Applications/wxPythonOSX-$VERSION
exit 0
EOF
chmod +x $RESOURCEDIR/postflight
# Finally, build the main package...
rm -rf wxPythonOSX.pkg
python $PROGDIR/../buildpkg.py \
--Title=wxPythonOSX \
--Version=$VERSION \
--Description="wxPython $VERSION for MacPython-OSX $PYVER" \
--NeedsAuthorization="YES" \
--Relocatable="NO" \
--InstallOnly="YES" \
$INSTALLROOT \
$RESOURCEDIR
mv wxPythonOSX.pkg $DMGDIR/root
# and the devel package
rm -rf wxPythonOSX-devel.pkg
python $PROGDIR/../buildpkg.py \
--Title=wxPythonOSX-devel \
--Version=$VERSION \
--Description="Headers and such that allow you to link with the same wxMac that wxPython does" \
--NeedsAuthorization="YES" \
--Relocatable="NO" \
--InstallOnly="YES" \
$INSTALLROOT
mv wxPythonOSX-devel.pkg $DMGDIR/root
# Make a README.txt to go on the disk image
cat > $DMGDIR/root/README.txt <<EOF
The files on this disk image are Installer packages for wxPythonOSX
$VERSION for MacPython-OSX $PVER. You must already have MacPython-OSX
installed.
The wxPython extension modules, library, demo and samples are
contained in the wxPythonOSX package. You should install at least this
package to use wxPython.
If you have any need to create applicaitons or extension modules that
link with the same wxMac that wxPython does, then you can also install
the wxPythonOSX-devel package to get the necessary header files and
such. Otherwise you don't need it.
Happy Hacking!
EOF
# license files, etc.
cp -pR $WXDIR/wxPython/licence $DMGDIR/root
cp $WXDIR/wxPython/CHANGES.txt $DMGDIR/root
# and then finally make a disk image containing the packages and etc.
$PROGDIR/../makedmg $DMGDIR/root $DMGDIR wxPythonOSX-$VERSION-py$PYVER
echo Moving $DMGDIR/wxPythonOSX-$VERSION-py$PYVER.dmg to $DESTDIR
mv $DMGDIR/wxPythonOSX-$VERSION-py$PYVER.dmg $DESTDIR
fi
# Cleanup build/install dirs
if [ -z "$skipclean" ]; then
echo "Cleaning up..."
rm -rf $TMPDIR
else
echo "Cleanup is disabled. You should remove $TMPDIR when finished"
fi

View File

@@ -0,0 +1,32 @@
{\rtf1\mac\ansicpg10000\cocoartf100
{\fonttbl\f0\fnil\fcharset77 Monaco;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww10820\viewh9000\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\fs24 \cf0 wxWindows Library Licence, Version 3\
====================================\
\
Copyright (c) 1998 Julian Smart, Robert Roebling et al\
\
Everyone is permitted to copy and distribute verbatim copies of this licence document, but changing it is not allowed.\
\
WXWINDOWS LIBRARY LICENCE\
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\
\
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version.\
\
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public Licence for more details.\
\
You should have received a copy of the GNU Library General Public Licence along with this software, usually in a file named COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.\
\
EXCEPTION NOTICE\
\
1. As a special exception, the copyright holders of this library give permission for additional uses of the text contained in this release of the library as licenced under the wxWindows Library Licence, applying either version 3 of the Licence, or (at your option) any later version of the Licence as published by the copyright holders of version 3 of the Licence document.\
\
2. The exception is that you may use, copy, link, modify and distribute under the user's own terms, binary object code versions of works based on the Library.\
\
3. If you copy code from files distributed under the terms of the GNU General Public Licence or the GNU Library General Public Licence into a copy of this library, as this licence permits, the exception does not apply to the code that you add in this way. To avoid misleading anyone as to the status of such modified files, you must delete this exception notice from such code and/or adjust the licensing conditions notice accordingly.\
\
4. If you write modifications of your own for this library, it is your choice whether to permit this exception to apply to your modifications. If you do not wish that, you must delete the exception notice from such code and/or adjust the licensing conditions notice accordingly.\
}

View File

@@ -0,0 +1,79 @@
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fnil\fcharset77 Monaco;
\f3\fnil\fcharset77 LucidaGrande;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue255;}
\margl1440\margr1440\vieww11800\viewh14740\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b\fs24 \cf0 About\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b0 \cf0 \
This is a binary package of wxPython for MacPython on Mac OS X 10.2 or later. The wxMac binaries will be installed as well. MacPython-OSX, however, is not included with this package, but is also required to run wxPython. Before you continue you should have already installed the MacPython-OSX framework.\
\
Please note that the Mac OS ports of wxPython as well as wxWindows (a.k.a. wxMac) are works-in-progress. Report bugs via SourceForge [1] or discuss the problem on the mailing list(s) related to your questions (see below).\
\
\fs18 [1] \cf2 http://sf.net/tracker/?atid=109863&group_id=9863
\fs24 \cf0 \
\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 What will be installed and where\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1\b0 \cf0 \
wxMac goes into
\f2 /usr/local
\f1 and wxPython will be installed into the appropriate subfolder of the Python framework. Choose the
\f3 Show files
\f1 command from the
\f3 File
\f1 menu for a complete file listing. (The menu item becomes available as soon as the license agreement is accepted in the next step.)
\f2 \
\f1 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 Getting started with wxPython
\f1\b0 \
\
You can verify that wxPython was succesfully installed by running the demo. It resides on the same disk image where you found this package. Just double click the script named
\f2 demo.py
\f1 or drag and drop it onto the Python interpreter in your
\f2 Application
\f1 folder.\
\
The official wxPython site:\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2 \cf2 http://wxPython.org\cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1 \cf0 \
The best way to get help with wxWindows and wxPython is to subscribe to the mail lists and post questions there. You can see info about the mail lists, including how to subscribe, at this website:\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2 \cf2 http://wxPython.org/maillist.php\
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f1 \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 Disclaimer
\f1\b0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f2 \cf0 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\f1 \
\
\
Robin Dunn\
\
}

View File

@@ -0,0 +1,5 @@
Welcome!
This program will install wxPython 2.4.0.7 for MacPython-OSX 2.3.
Build date: Fri Mar 21 14:00:06 PST 2003

View File

@@ -0,0 +1,18 @@
#!/bin/sh -e
# Compile the .py files in the wxPython pacakge
/usr/local/bin/python $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython
/usr/local/bin/python -O $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython
# and in the demo
/usr/local/bin/python $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py /Applications/wxPythonOSX-2.4.0.7/demo
# Make the demo/data dir writable
chmod a+w /Applications/wxPythonOSX-2.4.0.7/demo/data
# and the wxPython pacakge should be group writable
chgrp -R admin $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython
chgrp -R admin /Applications/wxPythonOSX-2.4.0.7
chmod -R g+w $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython
chmod -R g+w /Applications/wxPythonOSX-2.4.0.7
exit 0

View File

@@ -0,0 +1,4 @@
#!/bin/sh
# Cleanup any old install of the wxPython package
rm -rf $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython
exit 0