summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-01-24 21:02:41 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2020-01-25 11:25:35 +0100
commit0edbb65d5cde814a1abf00d06ae5a758eddfa0e5 (patch)
tree1894ed0b8930f125ad60a303f544d05398a3fa10 /gnu
parentf32ca55778eb049e83210aedcbeb4df2c98e587a (diff)
downloadguix-0edbb65d5cde814a1abf00d06ae5a758eddfa0e5.tar.gz
gnu: Add bitcoin-unlimited.
* gnu/packages/finance.scm (bitcoin-unlimited): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/finance.scm74
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 378491227c..ddc73efa8a 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1301,3 +1301,77 @@ entity management.")
      (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)))