Setting up a development environment for my software
This sets up a development environment with git checkouts of more or less (see Manifests) all my software packages. You typically only want this if:
- you want to hack a number of these packages at the same time or
- you need the absolute latest version of everything. If you want to hack just one package, it's easier to just clone its git tree and work on it. If you're a user, install the latest released version.
Grab the Android "repo" tool:
mkdir -p ~/bin curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod +x ~/bin/repo
/!\ The assumption here is that
~/bin will be on your
$PATH. Alternatively, download
repo to wherever you like and specify the path explicitly below.
repo sync below from getting stuck because of host key checking:
echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config echo -e "Host gitlab.tiker.net\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
/!\ It's important to understand the (minor) security implications of this step.
Create your source root: (Note that the brackets denote an optional part. See Manifests for what values are allowed for
manifest.xml. Don't type the brackets!)
mkdir ~/src # or wherever cd ~/src export GIT_SSL_NO_VERIFY=1 repo init -u http://gitlab.tiker.net/inducer/akprojects.git [-m manifest.xml] repo sync repo start master --all
to get a Python 2 build.
/!\ Note that this refers to
~/src/bin/build-all (or wherever you chose to place your source tree), not the
~/bin directory mentioned above.
If you'd like to exclude some projects from the build (like PyCUDA on a system without CUDA), just create a
.exclude file with one excluded project name per line.
The following manifests are available:
default.xml-- this includes all my public scientific-computing-related code. (This is the default.)
dev.xml-- this includes all my code, including what's not public yet. Probably won't work for you.
Using the installed software
build-all step actually creates a virtualenv into which it installs all the software. To use it, do: