I developed this, and therefore have the full git commit history, in my
personal "Small-Hacks" repository, which can be cloned from:
git://gitorious.org/bkuhn/small-hacks.git
More details on that are available by visiting:
https://gitorious.org/bkuhn/small-hacks
The basic idea here is that given non-profit-test-data.ledger herein,
there should be a script that I could run, in this fashion:
$ general-ledger-report -b 2011/03/01 -e 2012/03/01 -f tests/non-profit-test-data.ledger
that would generate:
non-profit-test-data_chart-of-accounts.txt
non-profit-test-data_general-ledger.ods
Note that the ODS file currently has placeholders, as I haven't fully
figured out how to use the =hyperlink() function to make relative
hyperlinks.
Upon discussion with John Wiegley <johnw@newartisans.com> on #ledger on
irc.freenode.net, the following was indicated:
<johnw> bkuhn: as long as the GPL infection stays in contrib, I see no problem
with it
...
<bkuhn> ... I got the ... answer, which is "johnw will accept GPL'd stuff
in contrib/..., as long as it's careful to not cause GPL to cover
the main Ledger codebase that's not in contrib/..."
Therefore, the non-profit-audit-reports/ application will be licensed
GPLv3-or-later.
Debian squeeze, which is currently the stable distribution at the time of
this commit, has both a Boost and a CMake that is too old for Ledger.
This FAQ entry explains how to build your own Boost and CMake for use with
Ledger, and the exact commands to type to build and install each, and then
configure, build and install Ledger against those new versions.
CMAKE_PREFIX_PATH is for searching for other programs, not for the place
to install this one. Based on acprep's --help, I think the intention was
to use CMAKE_INSTALL_PREFIX here.
Indeed, at the moment, it doesn't work against Python 3.x at all, so
ideally, we'd like to tell CMake that no Python versions except 2.7 and
2.6 are acceptable. However, at least as of CMake 2.8.8, there appears to
be no way to instruct CMake to never consider other versions of Python.
In other words, Python_ADDITIONAL_VERSIONS is prepended to the list of
possible Python versions considered, rather than replacing it wholly.
Theoretically, we could try to diddle withe the internal CMake variables
_PYTHON_FIND_OTHER_VERSIONS or _Python_VERSIONS somehow, but that seems
kludgey and dangerous. This patch is probably "enough for now" to at
least make sure that if the user has both Python 2.x and Python 3.x
installed, some version of 2.x that is known to work will be preferred.