This package contains the source for PdfMasher. Its documentation is available online. Here's how this source tree is organised:
- core: Contains the core logic code for PdfMasher. It's Python code.
- cocoa: UI code for the Cocoa toolkit. It's Objective-C code.
- qt: UI code for the Qt toolkit. It's written in Python and uses PyQt.
- images: Images used by the different UI codebases.
- debian: Skeleton files required to create a .deb package
- help: Help document, written for Sphinx.
There are also other sub-folder that comes from external repositories and are part of this repo as git subtrees:
- hscommon: A collection of helpers used across HS applications.
- cocoalib: A collection of helpers used across Cocoa UI codebases of HS applications.
- qtlib: A collection of helpers used across Qt UI codebases of HS applications.
Then, you have to make sure that your system has its "non-pip-installable" prerequisites installed:
- All systems: Python 3.2+ and distribute
- Mac OS X: The last XCode to have the 10.6 SDK included.
- Windows: Visual Studio 2008, PyQt 4.7+, cx_Freeze and Advanced Installer (you only need the last two if you want to create an installer)
On Ubuntu, the apt-get command to install all pre-requisites is:
$ apt-get install python3-dev python3-pyqt4 pyqt4-dev-tools python3-setuptools
First, you need pip
and virtualenv
in your system Python install:
$ sudo easy_install pip
$ sudo pip install virtualenv
Then, in PdfMasher's source folder, create a virtual environment and activate it:
$ virtualenv --system-site-packages env
$ source env/bin/activate
Then, you can install pip requirements in your virtualenv:
$ pip install -r requirements-[osx|win|lnx].txt
([osx|win|lnx] depends, of course, on your platform.).
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
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
$ easy_install pip
With your virtualenv activated, you can build and run PdfMasher with these commands:
$ python configure.py
$ python build.py
$ python run.py
You can also package PdfMasher into an installable package with:
$ python package.py