all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [Patch] Bitcoin
@ 2015-09-16 21:36 Andreas Enge
  2015-09-17 18:32 ` Mathieu Lirzin
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Enge @ 2015-09-16 21:36 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 242 bytes --]

Hello,

the attached new file contains the "standard" bitcoin client. It seems to work.
Comments are welcome. An alternative file name could by "currency.scm" if
we intend to add more crypto currencies (I do not). Or "bitcoin.scm".

Andreas


[-- Attachment #2: finance.scm --]
[-- Type: text/plain, Size: 3121 bytes --]

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@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)))

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Patch] Bitcoin
  2015-09-16 21:36 [Patch] Bitcoin Andreas Enge
@ 2015-09-17 18:32 ` Mathieu Lirzin
  2015-09-17 19:11   ` Andreas Enge
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Lirzin @ 2015-09-17 18:32 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> writes:

> the attached new file contains the "standard" bitcoin client. It seems
> to work.  Comments are welcome.

Can you send it in a 'git format-patch' form?  It would be easier to
review.  Thanks.

--
Mathieu Lirzin

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Patch] Bitcoin
  2015-09-17 18:32 ` Mathieu Lirzin
@ 2015-09-17 19:11   ` Andreas Enge
  2015-09-22  7:46     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Enge @ 2015-09-17 19:11 UTC (permalink / raw)
  To: Mathieu Lirzin; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 466 bytes --]

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


[-- Attachment #2: 0001-gnu-Add-bitcoin-core.patch --]
[-- Type: text/plain, Size: 4263 bytes --]

From 1f2e70d2168a36fd6fadbed8a28c99e1a17db283 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@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 <andreas@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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Patch] Bitcoin
  2015-09-17 19:11   ` Andreas Enge
@ 2015-09-22  7:46     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2015-09-22  7:46 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> From 1f2e70d2168a36fd6fadbed8a28c99e1a17db283 Mon Sep 17 00:00:00 2001
> From: Andreas Enge <andreas@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.

[...]

> +(define-public bitcoin-core
> + (package
   ^
Missing one space.

> +  (name "bitcoin-core")
    ^
And an additional one here.  Don’t annoy Mathieu.  ;-)

Otherwise I think you can push to ‘core-updates’.

Ludo’.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-09-22  7:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-16 21:36 [Patch] Bitcoin Andreas Enge
2015-09-17 18:32 ` Mathieu Lirzin
2015-09-17 19:11   ` Andreas Enge
2015-09-22  7:46     ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.