On Thu, Sep 17, 2015 at 08:32:24PM +0200, Mathieu Lirzin wrote:
> Can you send it in a 'git format-patch' form?  It would be easier to
> review.  Thanks.

Sure, here it is. I did not make a real patch before as I was unsure about the
file name.

Of course the package compiles; I tried the Qt-based binary, which seems
to work.

It needs to be applied on top of core-updates since it requires my
modifications to the bdb package for C++ (commit b86c013c).

Andreas

>From 1f2e70d2168a36fd6fadbed8a28c99e1a17db283 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andr...@enge.fr>
Date: Thu, 17 Sep 2015 21:07:22 +0200
Subject: [PATCH] gnu: Add bitcoin-core.

* gnu/packages/finance.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Register it.
---
 gnu-system.am            |  1 +
 gnu/packages/finance.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+)
 create mode 100644 gnu/packages/finance.scm

diff --git a/gnu-system.am b/gnu-system.am
index 8fa25d2..64546ef 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -101,6 +101,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/feh.scm                          \
   gnu/packages/figlet.scm                      \
   gnu/packages/file.scm                                \
+  gnu/packages/finance.scm                     \
   gnu/packages/firmware.scm                    \
   gnu/packages/fish.scm                                \
   gnu/packages/flashing-tools.scm              \
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
new file mode 100644
index 0000000..6051299
--- /dev/null
+++ b/gnu/packages/finance.scm
@@ -0,0 +1,82 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andr...@enge.fr>
+;;;
+;;; 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 (gnu packages boost)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages linux)
+ #: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 tls)
+ #:use-module (gnu packages upnp))
+
+(define-public bitcoin-core
+ (package
+  (name "bitcoin-core")
+  (version "0.11.0")
+  (source (origin
+           (method url-fetch)
+           (uri
+            (string-append "https://bitcoin.org/bin/bitcoin-core-";
+                           version "/bitcoin-"
+                           version ".tar.gz"))
+           (sha256
+            (base32
+             "17yh6lq13xzzi5v2i48qaxiqm40x3hrj4gwyamkib9yzmmb1gfji"))))
+  (build-system gnu-build-system)
+  (native-inputs
+   `(("pkg-config" ,pkg-config)
+     ("python" ,python-wrapper) ; 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)))
-- 
2.5.0

Reply via email to