diff mbox series

[bug#36406] gnu: Add bitcoin-abc.

Message ID 7db680ab-ff53-9569-3835-dd28f4889b8e@riseup.net
State Accepted
Headers show
Series [bug#36406] gnu: Add bitcoin-abc. | expand

Commit Message

swedebugia June 27, 2019, 8:11 p.m. UTC
I verified with the hash found here 
https://download.bitcoinabc.org/0.19.8/linux/bitcoin-abc-0.19-linux-res.yml

I have not tested this with downloading the chain neither have I made 
any transactions.

Warning: if you start it without specifying a datadir then it defaults 
to ~/.bitcoin like bitcoin-core.

Comments

Ludovic Courtès July 2, 2019, 10:39 p.m. UTC | #1
Hi swedebugia,

swedebugia <swedebugia@riseup.net> skribis:

>>From 1ce83b0ceabac0260f6a9dc43d4df1cc75236aa7 Mon Sep 17 00:00:00 2001
> From: swedebugia <swedebugia@riseup.net>
> Date: Thu, 27 Jun 2019 22:06:33 +0200
> Subject: [PATCH] gnu: Add bitcoin-abc.
>
> * gnu/packages/finance.scm (bitcoin-abc): New variable.

[...]

> +(define-public bitcoin-abc
> +  ;; This is a fork of bitcoin-core and identical to upstream.
> +  (package
> +    (name "bitcoin-abc")

Since everything except ‘source’ is identical, I think we should write
it as:

  (package
    (inherit bitcoin-core)
    …)

> +    (synopsis "Bitcoin ABC peer-to-peer full node for the Bitcoin Cash protocol")
> +    (description
> +     "Bitcoin Cash 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 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.")

Could you make the description a bit more specific to Bitcoin ABC?
Otherwise it’s hard to tell how it differs from bitcoin-core.

Thanks in advance!

Ludo’.
diff mbox series

Patch

From 1ce83b0ceabac0260f6a9dc43d4df1cc75236aa7 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Thu, 27 Jun 2019 22:06:33 +0200
Subject: [PATCH] gnu: Add bitcoin-abc.

* gnu/packages/finance.scm (bitcoin-abc): New variable.
---
 gnu/packages/finance.scm | 67 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index cd5d3b7d9..9301b5826 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1029,3 +1029,70 @@  Its features are:
 @item get account amount.
 @end itemize")
     (license license:agpl3+)))
+
+(define-public bitcoin-abc
+  ;; This is a fork of bitcoin-core and identical to upstream.
+  (package
+    (name "bitcoin-abc")
+    (version "0.19.8")
+    (source (origin
+             (method url-fetch)
+             (uri
+              (string-append "https://download.bitcoinabc.org/" version "/linux/src/bitcoin-abc-"
+                              version ".tar.gz"))
+             (sha256
+              (base32
+               "0ndvkxv5m8346bdhfqzgdiz1k9wyjycj05jp7daf9pml3cw79sz5"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python) ; for the tests
+       ("util-linux" ,util-linux)   ; provides the hexdump command for tests
+       ("qttools" ,qttools)))
+    (inputs
+     `(("bdb" ,bdb-5.3) ; with 6.2.23, there is an error: ambiguous overload
+       ("boost" ,boost)
+       ("libevent" ,libevent)
+       ("miniupnpc" ,miniupnpc)
+       ("openssl" ,openssl)
+       ("protobuf" ,protobuf)
+       ("qtbase" ,qtbase)))
+    (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"))
+          ;; 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-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://bitcoinabc.org/")
+    (synopsis "Bitcoin ABC peer-to-peer full node for the Bitcoin Cash protocol")
+    (description
+     "Bitcoin Cash 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 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.")
+    (license license:expat)))
+
-- 
2.19.2