diff options
Diffstat (limited to 'osx-binaries')
| -rwxr-xr-x | osx-binaries | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/osx-binaries b/osx-binaries new file mode 100755 index 00000000..3cfe0913 --- /dev/null +++ b/osx-binaries @@ -0,0 +1,66 @@ +#!/bin/sh + +# Quick and dangerous script for building OSX binaries. + +# At the moment, pyinstaller has no support for entry points, except for this +# hideous hack on the wiki: +# https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Setuptools-Entry-Point +# Once this is fixed, we can ditch the redundant command scripts. + +VENV=../venv.mitmproxy +PYINST_CMD="$VENV/bin/pyinstaller -F --clean" +TMPDIR=./tmp +CACHE="~/Library/Application Support/pyinstaller" + + +if [ ! -d $VENV ] +then + echo "Failed: set up a dev environment as described in the README" + echo "and run from the top-level mitmproxy directory." + exit +fi + +source $VENV/bin/activate + +if [ ! -f $VENV/bin/pyinstaller ] + then + echo "Installing pyinstaller..." + $VENV/bin/pip install \ + --force-reinstall \ + --upgrade \ + https://github.com/pyinstaller/pyinstaller/archive/develop.zip + $VENV/bin/pip install --upgrade macholib +fi + +# readline.so is actually a symlink to a Python file, which breaks PyInstaller +# (and readline itself). Why? Who knows. Re-address this when this stupidity +# ceases to be. +echo "Removing broken readline..." +rm -f $VENV/lib/python2.7/readline.so + + +echo "Clearing caches..." +rm -f dist/* +rm -rf $TMPDIR +rm -rf $CACHE + +$PYINST_CMD ./release/mitmdump.spec +echo "Running mitmdump..." +./dist/mitmdump --version || exit 1 + +$PYINST_CMD ./release/mitmproxy.spec +echo "Running mitmproxy..." +./dist/mitmproxy --version || exit 1 + +$PYINST_CMD ./release/mitmweb.spec +echo "Running mitmweb..." +./dist/mitmweb --version || exit 1 + +DST=osx-mitmproxy-`./dist/mitmdump --shortversion 2>&1` +mkdir -p $TMPDIR/$DST +cp ./dist/mitmproxy $TMPDIR/$DST +cp ./dist/mitmdump $TMPDIR/$DST +cshape ./doc-src $TMPDIR/$DST/doc + +cd $TMPDIR +tar -czvf $DST.tar.gz $DST |
