diff options
Diffstat (limited to 'README.textile')
-rw-r--r-- | README.textile | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/README.textile b/README.textile new file mode 100644 index 00000000..2a730746 --- /dev/null +++ b/README.textile @@ -0,0 +1,162 @@ +h1. Ledger: Command-Line Accounting + +Ledger is a powerful, double-entry accounting system that is accessed from the +UNIX command-line. This may put off some users, since there is no flashy UI, +but for those who want unparalleled reporting access to their data there are +few alternatives. + +h2. For the Impatient + +I know, you just want to build and play. If you have all the dependencies +installed (see below), then simply do this: + +<pre> +git clone git://github.com/jwiegley/ledger.git +cd ledger && ./acprep update # Update to the latest, configure, make +</pre> + +Now try your first ledger command: + +<pre> +./ledger -f doc/sample.dat reg +</pre> + +h2. To the Rest + +If you're reading this file, you have in your hands the Bleeding Edge. This +may very well *not* be what you want, since it's not guaranteed to be in a +functionally complete state. It's under active development, and may change in +any way at any time. + +What you may prefer is the current stable release, or the current beta branch. +The *BETA* is what I prefer people use, since I still have a chance to fix +major bugs that you find. Just e-mail me, or post to the mailing list, +they'll become a part of my work list. + +|*CURRENT*|@git checkout master@| +|*BETA*|@git checkout -b maint origin/maint@| +|*RELEASE*|@git checkout v2.6.1@| + +There are also several topic branches which contain experimental features, +though none of these are guaranteed to compile. Best to chat with me on +"IRC":irc//irc.freenode.net/ledger or via the +"mailing list":http://groups.google.com/group/ledger-cli before going too +much further with those. + +h2. Dependencies + +If you wish to proceed in this venture, you'll need a few dependencies. The +easiest way to get them for your platform is to run: + +<pre> +./acprep dependencies +</pre> + +If that doesn't completely work, read on. + +h3. For building the current master branch + +|_.Library|_.Min.Ver.|_.When needed| +|Boost|1.35|| +|GMP|4.2.2|| +|MPFR|2.4.0|| +|gettext|0.17|_optional_| +|libedit|20090111-3.0|_optional_| +|Python|2.4|_optional_| +|cppunit|1.12.1|_optional_, for @make check@| +|doxygen|1.5.7.1|_optional_, for @make docs@| +|graphviz|2.20.3|_optional_, for @make docs@| +|texinfo|4.13|_optional_, for @make docs@| +|lcov|1.6|_optional_, for @make report@, used with @./acprep gcov@| +|sloccount|2.26|_optional_, for @make sloc@| + +h3. For building the current @maint@ branch + +|_.Library|_.Min.Ver.|_.When needed| +|GMP|4.2.2|| +|pcre|7.7|| +|libofx|0.8.3|_optional_| +|expat|2.0.1|_optional_| +|libxml2|2.7.2|_optional_| + +h3. MacPorts + +If you build stuff using MacPorts on OS X, as I do, here is what you would +run: + +<pre> +sudo port install -f automake autoconf libtool python26 + libiconv +universal zlib +universal gmp +universal + mpfr +universal ncurses +universal ncursesw +universal + gettext +universal libedit +universal boost-jam + boost +st+python26+icu cppunit texlive doxygen graphviz + texinfo lcov sloccount +</pre> + +You can even just install the current Ledger *RELEASE* directly: + +<pre> +sudo port install ledger +</pre> + +h3. Ubuntu + +If you're going to be build on Ubuntu, @sudo apt-get install ...@ the +following packages (current as of Ubuntu Hardy): + +<pre> +sudo apt-get install build-essential libtool autoconf automake \ + zlib1g-dev libbz2-dev python-dev bjam cvs gettext libgmp3-dev \ + libmpfr-dev libboost1.35-dev libboost-regex1.35-dev \ + libboost-date-time1.35-dev libboost-filesystem1.35-dev \ + libboost-python1.35-dev texinfo lcov sloccount +</pre> + +Or, for Ubuntu Karmic: + +<pre> +sudo apt-get install build-essential libtool autoconf automake \ + texinfo python-dev zlib1g-dev libbz2-dev libgmp3-dev \ + bjam gettext cvs libboost1.40-dev libboost-regex1.40-dev \ + libboost-date-time1.40-dev libboost-filesystem1.40-dev \ + libmpfr-dev +</pre> + +h2. Building + +The next step is preparing your environment for building. While you can use +@autogen.sh@, ./configure and make, I've prepared a script that does a lot more +of the footwork for you: + +<pre> +./acprep update +# or, if you want to use the Boost libraries with suffix -mt, install in +# $HOME/local and build with 2 processes in parallel +./acprep update --boost=-mt -- --prefix=$HOME/local -j2 +</pre> + +Please read the contents of @config.log@ if the configure step fails. Also, +see the @help@ command to @acprep@, which explains some of its many options. +It's pretty much the only command I run for configuring, building and testing +Ledger. + +You can run @make check@ to confirm the result, and @make install@ to install. + +If you have extra CPU cycles to burn, try @./acprep proof@, which provides the +most thorough shakedown of a healthy source tree. + +h2. Resources + +Now that you're up and running, here are a few resources to keep in mind: + +|Home page|"http://www.newartisans.com/software/ledger.html":http://www.newartisans.com/software/ledger.html| +|IRC channel|"#ledger on irc.freenode.net":irc://irc.freenode.net/ledger| +|Mailing List / Forum|"http://groups.google.com/group/ledger-cli":http://groups.google.com/group/ledger-cli| +|GitHub project page|"http://github.com/jwiegley/ledger":http://github.com/jwiegley/ledger| +|Buildbot status|"http://www.newartisans.com:9090":http://www.newartisans.com:9090| +|Ohloh code analysis|"http://www.ohloh.net/projects/ledger":http://www.ohloh.net/projects/ledger| + +If you have ideas you'd like to share, the best way is either to e-mail me a +patch (I prefer attachments over pasted text), or to get an account on GitHub. +Once you do, fork the "Ledger project":http://github.com/jwiegley/ledger, hack +as much as you like, then send me a pull request via GitHub. |