This is a repository to make installing a development version of angr easier.
To set up angr for development, automatically install dependencies, and automatically create a python virtualenv, do:
./setup.sh -i -e angrThis will grab and install angr. You can launch it with:
$ workon angr
(angr) $ ipython
[1] import angrIf you are going to be contributing to the project, please also install the pre-commit hook that will make sure your code conforms to the angr style:
$ pip install pre-commit && pre-commit installMojave seems to be working with the current version, so this fixing might not be necessary. Will need to verify.
If you are working on macOS, you have to run the fix_macOS.sh script while in your virtualenv to fix the native libraries in angr. This is necessary, since macOS introduced restrictions for relative paths in dynamic libraries.
./fix_macOS.shAlternatively, you can use the dockerfile:
$ docker build -t angr angr-dev
$ docker run -it angrTo update angr, simply pull all the git repositories.
./git_all.sh pullFor repositories that have C components, you might have to rebuild.
pip install -e ./pyvex && pip install -e ./angrComment out the GIT_ASKPASS=true line. Or, just use ssh.