aboutsummaryrefslogtreecommitdiffstats
path: root/osx-binaries
diff options
context:
space:
mode:
Diffstat (limited to 'osx-binaries')
-rwxr-xr-xosx-binaries66
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