;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
+;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
+ #:use-module (guix build-system qt)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
(define-public bitcoin-core
(package
(name "bitcoin-core")
- (version "0.18.1")
+ (version "0.19.1")
(source (origin
(method url-fetch)
(uri
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
- "15mz0gmm058gmq2gdpffbw25jpv7mksyhyfws6i7mqvrapqr6zaw"))))
+ "1h3w7brc18145np920vy7j5ms5hym59hvr40swdjx34fbdaisngj"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
#:tests? #f ; there are none
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-site-dir
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("DESTINATION share/emacs/site-lisp/ledger-mode")
+ "DESTINATION share/emacs/site-lisp"))
+ #t))
(add-before 'build 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((ledger (assoc-ref inputs "ledger")))
(invoke "makeinfo" "-o" target
"../source/doc/ledger-mode.texi"))
#t))
- (add-after 'install 'relocate-elisp
+ (add-after 'install 'generate-autoload
(lambda* (#:key outputs #:allow-other-keys)
(let* ((site-dir (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp"))
- (guix-dir (string-append site-dir "/guix.d"))
- (orig-dir (string-append site-dir "/ledger-mode"))
- (dest-dir (string-append guix-dir "/ledger-mode")))
- (mkdir-p guix-dir)
- (rename-file orig-dir dest-dir)
- (emacs-generate-autoloads ,name dest-dir)
- #t))))))
+ "/share/emacs/site-lisp")))
+ (emacs-generate-autoloads ,name site-dir))
+ #t)))))
(inputs
`(("ledger" ,ledger)))
(native-inputs
(define-public electron-cash
(package
- (inherit electrum)
(name "electron-cash")
- (version "4.0.12")
+ (version "4.0.14")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0gidrx8499v7rig7ljhd70wssshs1qm0gp1553g70i323hcbf62x"))))
+ (base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6"))))
+ (build-system python-build-system)
(inputs
- `(,@(package-inputs electrum)
+ `(("libevent" ,libevent)
("libsecp256k1", libsecp256k1)
+ ("openssl" ,openssl)
+ ("python-cython" ,python-cython)
("python-dateutil", python-dateutil)
- ("python-dnspython", python-dnspython)))
+ ("python-dnspython" ,python-dnspython)
+ ("python-ecdsa" ,python-ecdsa)
+ ("python-hidapi" ,python-hidapi)
+ ("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix)
+ ("python-keepkey" ,python-keepkey)
+ ("python-protobuf" ,python-protobuf)
+ ("python-pyaes" ,python-pyaes)
+ ("python-pyqt" ,python-pyqt)
+ ("python-pysocks" ,python-pysocks)
+ ("python-qrcode" ,python-qrcode)
+ ("python-requests" ,python-requests)
+ ("python-stem" ,python-stem)
+ ("python-trezor" ,python-trezor)
+ ("qtsvg" ,qtsvg)
+ ("zlib" ,zlib)))
(arguments
- (substitute-keyword-arguments (package-arguments electrum)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'use-libsecp256k1-input
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "lib/secp256k1.py"
- (("library_paths = .* 'libsecp256k1.so.0'.")
- (string-append "library_paths = ('" (assoc-ref inputs "libsecp256k1") "/lib/libsecp256k1.so.0'")))))))))
+ `(#:tests? #f ; No tests
+ #:modules ((guix build python-build-system)
+ (guix build qt-utils)
+ (guix build utils))
+ #:imported-modules (,@%python-build-system-modules
+ (guix build qt-utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-home
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("~/.local/share")
+ (string-append (assoc-ref outputs "out") "/local/share")))))
+ (add-after 'unpack 'use-libsecp256k1-input
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/secp256k1.py"
+ (("library_paths = .* 'libsecp256k1.so.0'.")
+ (string-append "library_paths = ('" (assoc-ref inputs "libsecp256k1") "/lib/libsecp256k1.so.0'")))))
+ (add-after 'install 'wrap-qt
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-qt-program (assoc-ref outputs "out") "electron-cash")
+ #t)))))
(home-page "https://electroncash.org/")
(synopsis "Bitcoin Cash wallet")
(description
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.15.0.1")
+ (version "0.15.0.5")
(source
(origin
(method git-fetch)
#t))
(sha256
(base32
- "0sypa235lf2bbib4b71xpaw39h9304slgsvnsz8wmy9fq1zx009m"))))
+ "06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
;; Only try tests that don't need access to network or system
(replace 'check
(lambda _
- (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test")))
+ ;; Core tests sometimes fail, at least on i686-linux.
+ ;; Let's disable them for now and just try hash tests
+ ;; and unit tests.
+ ;; (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test")))
+ (invoke "make" "ARGS=-R 'hash' --verbose" "test")))
(add-after 'check 'unit-tests
(lambda _
(let ((excluded-unit-tests
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.15.0.1")
+ (version "0.15.0.4")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n"))))
- (build-system gnu-build-system)
+ "12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z"))))
+ (build-system qt-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
("qtquickcontrols" ,qtquickcontrols)
("qtquickcontrols2",qtquickcontrols2)
("qtsvg" ,qtsvg)
- ("qtwebchannel" ,qtwebchannel)
- ("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)
("unbound" ,unbound)))
(propagated-inputs
`(("monero" ,monero)))
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build qt-utils))
+ `(#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (delete 'check)
- (add-before 'build 'fix-makefile-vars
+ (add-after 'unpack 'fix-makefile-vars
(lambda _
(substitute* "src/zxcvbn-c/makefile"
(("\\?=") "="))
#t))
- (add-after 'fix-makefile-vars 'fix-library-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "monero-wallet-gui.pro"
- (("-L/usr/local/lib")
- "")
- (("-L/usr/local/opt/openssl/lib")
- (string-append "-L" (assoc-ref inputs "openssl") "/lib"))
- (("-L/usr/local/opt/boost/lib")
- (string-append "-L" (assoc-ref inputs "boost") "/lib")))
- #t))
- (add-after 'fix-library-paths 'fix-monerod-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/daemon/DaemonManager.cpp"
- (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod")
- (string-append "\"" (assoc-ref inputs "monero")
- "/bin/monerod")))
- #t))
- (add-after 'fix-monerod-path 'fix-qt-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "monero-wallet-gui.pro"
- (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
- (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))
- (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate")
- (string-append (assoc-ref inputs "qttools") "/bin/lupdate")))
- #t))
- (add-after 'fix-qt-paths 'make-qt-deterministic
+ (add-after 'fix-makefile-vars 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((boost (assoc-ref inputs "boost"))
+ (monero (assoc-ref inputs "monero"))
+ (openssl (assoc-ref inputs "openssl"))
+ (qttools (assoc-ref inputs "qttools"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "monero-wallet-gui.pro"
+ (("-L/usr/local/lib")
+ "")
+ (("-L/usr/local/opt/openssl/lib")
+ (string-append "-L" openssl "/lib"))
+ (("-L/usr/local/opt/boost/lib")
+ (string-append "-L" boost "/lib"))
+ (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+ (string-append qttools "/bin/lrelease"))
+ (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate")
+ (string-append qttools "/bin/lupdate")))
+ (substitute* "deployment.pri"
+ (("/opt/\\$\\$\\{TARGET\\}/bin")
+ (string-append out "/bin")))
+ (substitute* "src/daemon/DaemonManager.cpp"
+ (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod")
+ (string-append "\"" monero "/bin/monerod")))
+ #t)))
+ (add-after 'fix-paths 'make-qt-deterministic
(lambda _
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
#t))
,version
,(package-version monero))))
#t))
- (replace 'build
- (lambda _
- (invoke "./build.sh")))
- (add-after 'build 'fix-install-path
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "build/Makefile"
- (("/opt/monero-wallet-gui")
- (assoc-ref outputs "out")))
- #t))
- (add-before 'install 'change-dir
+ (replace 'configure
(lambda _
+ (mkdir-p "build")
(chdir "build")
- #t))
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "monero-wallet-gui"))
- #t)))))
+ (invoke "qmake" "../monero-wallet-gui.pro" "CONFIG+=release")))
+ (add-before 'build 'build-zxcvbn-c
+ (lambda _
+ (invoke "make" "-C" "../src/zxcvbn-c"))))))
(home-page "https://web.getmonero.org/")
(synopsis "Graphical user interface for the Monero currency")
(description
the Monero GUI client.")
(license license:bsd-3)))
-(define-public monero-core
- (deprecated-package "monero-core" monero-gui))
-
(define-public python-trezor-agent
(package
(name "python-trezor-agent")
(define-public python-stdnum
(package
(name "python-stdnum")
- (version "1.8.1")
+ (version "1.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-stdnum" version))
(sha256
(base32
- "0hvr47q32xbyiznpmbg4r8rcvxhnf0lwf33hcpnynyik57djy5np"))))
+ "0q4128rjdgavywhzlm2gz2n5ybc9b9sxs81g50dvxf5q7z9q63qj"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "nosetests"))))))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
(home-page
"https://arthurdejong.org/python-stdnum/")
(synopsis
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "0.55.1")
+ (version "0.56.0")
(source
(origin
- (method git-fetch)
- ;; Pypi's default URI is missing "requirements.txt" file.
- (uri (git-reference
- (url "https://git.duniter.org/clients/python/duniterpy.git")
- (commit version)))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (pypi-uri "duniterpy" version))
(sha256
- (base32
- "07zsbbkzmnvyv5v0vw2d42vw3ar4iqhlidy9376ysk4ldlj1igf7"))))
+ (base32 "1h8d8cnr6k5sw4cqy8r82zy4ldzpvn4nlk2221lz2haqq7xm4s5z"))))
(build-system python-build-system)
(arguments
- ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
+ ;; FIXME: Tests fail with: "ModuleNotFoundError: No module named
+ ;; 'tests'". Not sure how to handle this.
`(#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-after 'build 'build-documentation
+ ;; "setup.py" tries to open missing "requirements.txt".
+ (add-after 'unpack 'ignore-missing-file
(lambda _
- (invoke "make" "docs")))
- (add-after 'build-documentation 'install-documentation
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name)))
- (mkdir-p doc)
- (copy-recursively "docs/_build/html" doc))
+ (substitute* "setup.py"
+ (("open\\('requirements\\.txt'\\)") "[]"))
#t)))))
- (native-inputs
- `(("sphinx" ,python-sphinx)
- ("sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(propagated-inputs
`(("aiohttp" ,python-aiohttp)
- ("attr" ,python-attr)
+ ("attrs" ,python-attrs)
("base58" ,python-base58)
("jsonschema" ,python-jsonschema)
("libnacl" ,python-libnacl)
(define-public silkaj
(package
(name "silkaj")
- (version "0.7.3")
+ (version "0.7.6")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.duniter.org/clients/python/silkaj.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (pypi-uri "silkaj" version))
(sha256
- (base32
- "0yk2574yb0d0k0rg7qf0pkmjidblsad04x8hhqpy9k80rvgjcr5w"))))
+ (base32 "0hrn0jwg415z7wjkp0myvw85wszlfi18f56j03075xxakr4dmi2j"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test
("pynacl" ,python-pynacl)
("tabulate" ,python-tabulate)
("texttable" ,python-texttable)))
- (home-page "https://silkaj.duniter.org/")
+ (home-page "https://git.duniter.org/clients/python/silkaj")
(synopsis "Command line client for Duniter network")
(description "@code{Silkaj} is a command line client for the
@uref{https://github.com/duniter/duniter/, Duniter} network.
third party, expenditure and receipt categories, budgetary lines,
financial years, budget estimates, bankcard management and other
information.")
- (home-page "http://grisbi.org")
+ (home-page "https://grisbi.org")
(license license:gpl2+)))
(define-public trezord
fees that BTC. Bitcoin ABC is the reference implementation of the Bitcoin
Cash protocol. This package provides the Bitcoin Cash command line client and
a client based on Qt. This is a fork of Bitcoin Core.")))
+
+(define-public libofx
+ (package
+ (name "libofx")
+ (version "0.9.15")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libofx/libofx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:parallel-build? #f ;fails with -j64
+ #:configure-flags
+ (list (string-append "--with-opensp-includes="
+ (assoc-ref %build-inputs "opensp")
+ "/include/OpenSP"))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gengetopt" ,gengetopt)
+ ("help2man" ,help2man)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("curl" ,curl)
+ ("libxml++-2" ,libxml++-2)
+ ("opensp" ,opensp)))
+ (home-page "http://libofx.sourceforge.net/")
+ (synopsis "Library supporting the Open Financial Exchange format")
+ (description
+ "The LibOFX library is an API designed to allow applications to very easily
+support OFX command responses, usually provided by financial institutions. The
+following three utilities are included with the library:
+@enumerate
+@item @code{ofxdump}
+@item @code{ofx2qif}
+@item @code{ofxconnect}
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public opensp
+ (package
+ (name "opensp")
+ (version "1.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/openjade/opensp/"
+ version "/OpenSP-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1khpasr6l0a8nfz6kcf3s81vgdab8fm2dj291n5r2s53k228kx2p"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)))
+ (inputs
+ `(("docbook-xml" ,docbook-xml-4.1.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("xmlto" ,xmlto)))
+ (arguments
+ `(;; TODO: Fix and enable tests.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-docbook-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook"))
+ (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl))))
+ (substitute* (find-files "docsrc" "\\.xml$")
+ (("/usr/share/sgml/docbook/xml-dtd-4.1.2") xmldoc)
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd")))
+ ;; Directly pass the path to the stylesheet to xmlto.
+ (substitute* "docsrc/Makefile.in"
+ (("\\$\\(XMLTO\\)")
+ (string-append "$(XMLTO) -x " xsldoc
+ "/manpages/docbook.xsl")))
+ #t))))))
+ (home-page "http://openjade.sourceforge.net/")
+ (synopsis "Suite of SGML/XML processing tools")
+ (description "OpenSP is an object-oriented toolkit for SGML parsing and
+entity management.")
+ (license
+ ;; expat license with added clause regarding advertising
+ (license:non-copyleft
+ "file://COPYING"
+ "See COPYING in the distribution."))))
+
+(define-public bitcoin-unlimited
+ (package
+ (name "bitcoin-unlimited")
+ (version "1.7.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BitcoinUnlimited/BitcoinUnlimited.git")
+ (commit (string-append "bucash" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05rcd73mg2fb2zb6b1imzspck6jhcy3xymrr7n24kwjrzmvihdpx"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python) ; for the tests
+ ("util-linux" ,util-linux) ; provides the hexdump command for tests
+ ("qttools" ,qttools)))
+ (inputs
+ `(("bdb" ,bdb-4.8)
+ ("boost" ,boost)
+ ("libevent" ,libevent)
+ ("miniupnpc" ,miniupnpc)
+ ("openssl" ,openssl)
+ ("protobuf" ,protobuf)
+ ("qrencode" ,qrencode)
+ ("qtbase" ,qtbase)
+ ("zeromq" ,zeromq)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; Boost is not found unless specified manually.
+ (string-append "--with-boost="
+ (assoc-ref %build-inputs "boost"))
+ ;; XXX: The configure script looks up Qt paths by
+ ;; `pkg-config --variable=host_bins Qt5Core`, which fails to pick
+ ;; up executables residing in 'qttools', so we specify them here.
+ (string-append "ac_cv_path_LRELEASE="
+ (assoc-ref %build-inputs "qttools")
+ "/bin/lrelease")
+ (string-append "ac_cv_path_LUPDATE="
+ (assoc-ref %build-inputs "qttools")
+ "/bin/lupdate"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; TODO: Find why utilprocess_tests never ends. Disable for now.
+ (substitute* "src/test/utilprocess_tests.cpp"
+ (("#if \\(BOOST_OS_LINUX && \\(BOOST_VERSION >= 106500\\)\\)")
+ "#if 0"))
+ #t))
+ (add-before 'configure 'make-qt-deterministic
+ (lambda _
+ ;; Make Qt deterministic.
+ (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+ #t))
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
+ #t)))))
+ (home-page "https://www.bitcoinunlimited.info/")
+ (synopsis "Client for the Bitcoin Cash protocol")
+ (description
+ "Bitcoin Unlimited is a client for the Bitcoin Cash peer-to-peer
+electronic cash system. This package provides a command line client and
+a Qt GUI.")
+ (license license:expat)))
+
+(define-public beancount
+ (package
+ (name "beancount")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "beancount" version))
+ (sha256
+ (base32
+ "0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m"))
+ (patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; Says test is missing, not sure why
+ #:phases
+ (modify-phases %standard-phases
+ ;; Not importing the googleapis package for now
+ (add-after 'unpack 'ignore-googleapis
+ (lambda _
+ (substitute* "setup.py"
+ (("'google-api-python-client',") ""))
+ #t)))))
+ (propagated-inputs
+ `(("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-bottle" ,python-bottle)
+ ("python-chardet" ,python-chardet)
+ ("python-dateutil" ,python-dateutil)
+ ("python-lxml" ,python-lxml)
+ ("python-magic" ,python-magic)
+ ("python-ply" ,python-ply)
+ ("python-pytest" ,python-pytest)
+ ("python-requests" ,python-requests)))
+ (home-page "http://furius.ca/beancount")
+ (synopsis "Command-line double-entry accounting tool")
+ (description
+ "Beancount is a double-entry bookkeeping computer language that lets you
+define financial transaction records in a text file, read them in memory,
+generate a variety of reports from them, and provides a web interface.")
+ (license license:gpl2)))