Commit Message
Here's an updated patch which doesn't delete the ledger-mode docs. I had
initially removed them from this package thinking they belonged in
emacs-ledger-mode, then forgot about it before submitting. Turns out
it's more complicated to build the docs with the emacs-build-system than
the cmake-build-system.
Sorry about that,
Comments
On Sat, May 07, 2016 at 02:20:16PM -0500, Alex Griffin wrote:
> Here's an updated patch which doesn't delete the ledger-mode docs. I had
> initially removed them from this package thinking they belonged in
> emacs-ledger-mode, then forgot about it before submitting. Turns out
> it's more complicated to build the docs with the emacs-build-system than
> the cmake-build-system.
Thanks for the follow-up!
> * gnu/packages/finance.scm (ledger): New variable.
It works, at least for the basic things I tried against the examples in
'tests/input'. Speaking of which, it would be nice to include an example
in the output, perhaps under 'share/doc/ledger'.
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://github.com/ledger/ledger/archive/v" version
Will you make this line < 80 characters?
> + (build-system cmake-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'build 'build-doc
> + (lambda _ (zero? (system* "make" "doc")))))
> + #:configure-flags
> + `("-DBUILD_DOCS:BOOL=ON"
> + "-DBUILD_LIBRARY:BOOL=OFF"
What's the story with the library? Are there any programs that use it?
> + (license (list license:bsd-3
> + license:asl2.0
> + (license:non-copyleft "file://src/wcwidth.cc"
> + "See src/wcwidth.cc in the distribution.")))))
There are some GPL'd files in 'contrib/', 'lisp/', and 'python/res/'
The file 'tools/update_copyright_year' has an Expat license.
And, I think that unless we delete the bundled utfcpp, we are
distributing it through `guix build --source ledger`, so we should
mention its Boost license.
From cb279e6edc2ed9c3351e4ab9a200d334c6094df0 Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Sat, 7 May 2016 12:20:47 -0500
Subject: [PATCH 2/3] gnu: Add ledger.
* gnu/packages/finance.scm (ledger): New variable.
---
gnu/packages/finance.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,14 +24,20 @@
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
#:use-module (gnu packages boost)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages libedit)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages unicode)
#:use-module (gnu packages upnp))
(define-public bitcoin-core
@@ -81,3 +88,54 @@ collectively by the network. Bitcoin Core is the reference implementation
of the bitcoin protocol. This package provides the Bitcoin Core command
line client and a client based on Qt.")
(license license:expat)))
+
+(define-public ledger
+ (package
+ (name "ledger")
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ledger/ledger/archive/v" version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12jlv3gsjhrja25q9hrwh73cdacd2l3c2yyn8qnijav9mdhnbw4h"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _ (zero? (system* "make" "doc")))))
+ #:configure-flags
+ `("-DBUILD_DOCS:BOOL=ON"
+ "-DBUILD_LIBRARY:BOOL=OFF"
+ ,(string-append "-DUTFCPP_INCLUDE_DIR:PATH="
+ (assoc-ref %build-inputs "utfcpp")
+ "/include"))))
+ (inputs `(("boost" ,boost)
+ ("gmp" ,gmp)
+ ("libedit" ,libedit)
+ ("mpfr" ,mpfr)
+ ("utfcpp" ,utfcpp)))
+ (native-inputs `(("texinfo" ,texinfo)
+ ("groff" ,groff)))
+ (home-page "http://ledger-cli.org/")
+ (synopsis "Command-line double-entry accounting program")
+ (description
+ "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.
+
+ Ledger uses text files for input. It reads the files and generates
+ reports; there is no other database or stored state. To use Ledger,
+ you create a file of your account names and transactions, run from
+ the command line with some options to specify input and requested
+ reports, and get output. The output is generally plain text, though
+ you could generate a graph or html instead. Ledger is simple in
+ concept, surprisingly rich in ability, and easy to use.")
+ (license (list license:bsd-3
+ license:asl2.0
+ (license:non-copyleft "file://src/wcwidth.cc"
+ "See src/wcwidth.cc in the distribution.")))))
--
2.7.4