mitmproxy/release/osx-binaries
Aldo Cortesi 40366fa94e Virtualenv is the one and only recommended dev environment
- Create a "dev" script to create a virtualenv-based dev environment
- Update the docs to remove non-virtualenv install recommendations
- Update osx-binaries generation to use virtualenv

TODO:
- The dev script or an equivalent should be made to work on Windows
- We still can't remove the annoying top-level command scripts, because
pyinstaller doesn't support entry points. Once it does, they can go.
2015-03-12 22:12:15 +11:00

67 lines
1.7 KiB
Bash
Executable File

#!/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
exit
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