Add a setup.py to the tarball to bootstrap automated builds made by pip or easy_install.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@73722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2013-03-27 04:28:34 +00:00
parent 429a96c73f
commit a18dffde8d
3 changed files with 40 additions and 0 deletions

33
packaging/setup.py Normal file
View File

@@ -0,0 +1,33 @@
#---------------------------------------------------------------------------
# This setup file is placed in the root folder of the source dist tarball,
# and will be used to help do automated builds from tools like easy_install
# or pip. These tools expect to find at least the setup.py in the root
# folder, so let's accomodate them...
#---------------------------------------------------------------------------
import sys, os, glob
# Restructure the content of the tarball so things like pip or easy_install
# know how to build stuff. To be compatible with those tools the main source
# dir needs to be the root, so move all of Phoenix/* here.
SRC = 'Phoenix'
if os.path.exists(SRC) and os.path.isdir(SRC):
items = os.listdir(SRC)
for item in items:
os.rename(os.path.join(SRC, item), item)
os.rmdir(SRC)
# Somewhere along the way (probably when pip untars the source tar file) any
# executable permissions set on files in the tarball gets lost. Some of them
# will break our build if they are not executable, so turn them back on.
for wc in ['wxWidgets/configure',
'wxWidgets/src/stc/gen_iface.py',
'bin/waf-*', ]:
for item in glob.glob(wc):
os.chmod(item, 0755)
# Now execute the real setup.py that was copied here in order to do whatever
# command was trying to be done before.
execfile('setup.py')