Added bootstrap script for easy build setup

This commit is contained in:
Virgil Dupras 2013-08-04 15:57:39 -04:00
parent b9124a497c
commit d11ec557e7
4 changed files with 43 additions and 8 deletions

View File

@ -21,11 +21,22 @@ git subtrees:
# How to build dupeGuru from source
## The very, very, very easy way
If you're on Linux or Mac, there's a bootstrap script that will make building very, very easy. There
might be some things that you need to install manually on your system, but the bootstrap script will
tell you when what you need to install. You can run the bootstrap with:
./bootstrap.sh
and follow instructions from the script. You can then ignore the rest of the build documentation.
## Prerequisites installation
Then, you have to make sure that your system has to "non-pip-installable" prerequisites installed:
Prerequisites are installed through `pip`. However, some of them are not "pip installable" and have
to be installed manually.
* All systems: [Python 3.2+][python] and [distribute][distribute]
* All systems: [Python 3.2+][python] and [setuptools][setuptools]
* Mac OS X: The last XCode to have the 10.6 SDK included.
* Windows: Visual Studio 2008, [PyQt 4.7+][pyqt], [cx_Freeze][cxfreeze] and
[Advanced Installer][advinst] (you only need the last two if you want to create an installer)
@ -55,13 +66,12 @@ Then, you can install pip requirements in your virtualenv:
## Alternative: pyvenv
If you're on Python 3.3+, you can use the built-in `pyvenv` instead of `virtualenv`. `pyvenv` is
pretty much the same thing as `virtualenv`, except that it doesn't install distribute and pip, so it
pretty much the same thing as `virtualenv`, except that it doesn't install setuptools and pip, so it
has to be installed manually:
$ pyvenv --system-site-packages env
$ source env/bin/activate
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
$ easy_install pip
## Actual building and running
@ -78,7 +88,7 @@ You can also package dupeGuru into an installable package with:
[documentation]: http://www.hardcoded.net/dupeguru/help/en/
[python]: http://www.python.org/
[distribute]: https://pypi.python.org/pypi/distribute
[setuptools]: https://pypi.python.org/pypi/setuptools
[pyqt]: http://www.riverbankcomputing.com
[cxfreeze]: http://cx-freeze.sourceforge.net/
[advinst]: http://www.advancedinstaller.com

25
bootstrap.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
command -v pyvenv >/dev/null 2>&1 || { echo >&2 "Python 3.3 required. Install it and try again. Aborting"; exit 1; }
if [ ! -d "env" ]; then
echo "No virtualenv. Creating one"
pyvenv --system-site-packages env
source env/bin/activate
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
easy_install pip
else
echo "There's already an env. Activating it"
source env/bin/activate
fi
echo "Installing pip requirements"
if [ "$(uname)" == "Darwin" ]; then
pip install -r requirements-osx.txt
else
python3 -c "import PyQt4" >/dev/null 2>&1 || { echo >&2 "PyQt 4.8+ required. Install it and try again. Aborting"; exit 1; }
pip install -r requirements.txt
fi
echo "Bootstrapping complete! You can now configure, build and run dupeGuru with:"
echo ". env/bin/activate && python configure.py && python build.py && python run.py"

2
requirements-extra.txt Normal file
View File

@ -0,0 +1,2 @@
pytest>=2.0.0
pytest-monkeyplus>=1.0.0

View File

@ -3,5 +3,3 @@ Send2Trash>=1.3.0
sphinx>=1.1.3
polib>=0.7.0
hsaudiotag3k>=1.1.3
pytest>=2.0.0
pytest-monkeyplus>=1.0.0