1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
| | ;;; 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.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages finance)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#: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
(package
(name "bitcoin-core")
(version "0.11.2")
(source (origin
(method url-fetch)
(uri
(string-append "https://bitcoin.org/bin/bitcoin-core-"
version "/bitcoin-"
version ".tar.gz"))
(sha256
(base32
"1lwh0vhw1gf3h6zrhynvad9y9qbpmhc8cw1zvj11yzsz5rjbvlm4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2) ; for the tests
("util-linux" ,util-linux))) ; provides the hexdump command for tests
(inputs
`(("bdb" ,bdb)
("boost" ,boost)
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
("qt" ,qt)))
(arguments
`(#:configure-flags
(list
;; We use a bdb version newer than 4.8.
"--with-incompatible-bdb"
;; Boost is not found unless specified manually.
(string-append "--with-boost="
(assoc-ref %build-inputs "boost")))
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))))) ; Tests write to $HOME.
(home-page "https://bitcoin.org/en/")
(synopsis "Bitcoin peer-to-peer client")
(description
"Bitcoin is a digital currency that enables instant payments to anyone
anywhere in the world. It uses peer-to-peer technology to operate without
central authority: managing transactions and issuing money are carried out
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.")))))
|