diff options
Diffstat (limited to 'tools/osxbuild/build.py')
-rw-r--r-- | tools/osxbuild/build.py | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/tools/osxbuild/build.py b/tools/osxbuild/build.py deleted file mode 100644 index 71d37889d..000000000 --- a/tools/osxbuild/build.py +++ /dev/null @@ -1,105 +0,0 @@ -"""Python script to build the OSX universal binaries. - -This is a simple script, most of the heavy lifting is done in bdist_mpkg. - -To run this script: 'python build.py' - -Requires a svn version of numpy is installed, svn is used to revert -file changes made to the docs for the end-user install. Installer is -built using sudo so file permissions are correct when installed on -user system. Script will prompt for sudo pwd. - -""" -from __future__ import division, print_function - -import os -import shutil -import subprocess -from getpass import getuser - -SRC_DIR = '../../' - -USER_README = 'docs/README.txt' -DEV_README = SRC_DIR + 'README.txt' - -BUILD_DIR = 'build' -DIST_DIR = 'dist' - -def remove_dirs(): - print('Removing old build and distribution directories...') - print("""The distribution is built as root, so the files have the correct - permissions when installed by the user. Chown them to user for removal.""") - if os.path.exists(BUILD_DIR): - cmd = 'sudo chown -R %s %s' % (getuser(), BUILD_DIR) - shellcmd(cmd) - shutil.rmtree(BUILD_DIR) - if os.path.exists(DIST_DIR): - cmd = 'sudo chown -R %s %s' % (getuser(), DIST_DIR) - shellcmd(cmd) - shutil.rmtree(DIST_DIR) - -def build_dist(): - print('Building distribution... (using sudo)') - cmd = 'sudo python setupegg.py bdist_mpkg' - shellcmd(cmd) - -def build_dmg(): - print('Building disk image...') - # Since we removed the dist directory at the start of the script, - # our pkg should be the only file there. - pkg = os.listdir(DIST_DIR)[0] - fn, ext = os.path.splitext(pkg) - dmg = fn + '.dmg' - srcfolder = os.path.join(DIST_DIR, pkg) - dstfolder = os.path.join(DIST_DIR, dmg) - # build disk image - cmd = 'sudo hdiutil create -srcfolder %s %s' % (srcfolder, dstfolder) - shellcmd(cmd) - -def copy_readme(): - """Copy a user README with info regarding the website, instead of - the developer README which tells one how to build the source. - """ - print('Copy user README.txt for installer.') - shutil.copy(USER_README, DEV_README) - -def revert_readme(): - """Revert the developer README.""" - print('Reverting README.txt...') - cmd = 'svn revert %s' % DEV_README - shellcmd(cmd) - -def shellcmd(cmd, verbose=True): - """Call a shell command.""" - if verbose: - print(cmd) - try: - subprocess.check_call(cmd, shell=True) - except subprocess.CalledProcessError as err: - msg = """ - Error while executing a shell command. - %s - """ % str(err) - raise Exception(msg) - -def build(): - # update end-user documentation - copy_readme() - shellcmd("svn stat %s"%DEV_README) - - # change to source directory - cwd = os.getcwd() - os.chdir(SRC_DIR) - - # build distribution - remove_dirs() - build_dist() - build_dmg() - - # change back to original directory - os.chdir(cwd) - # restore developer documentation - revert_readme() - -if __name__ == '__main__': - build() |