;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Efraim Flashner ;;; ;;; 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 . (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.2") (source (origin (method url-fetch) (uri (string-append "https://bitcoin.org/bin/bitcoin-core-" version "/bitcoin-" version ".tar.gz")) (sha256 (base32 "1lwh0vhw1gf3h6zrhynvad9y9qbpmhc8cw1zvj11yzsz5rjbvlm4")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2) ; 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))) ..* build-aux/cuirass/hurd-manifest.scm: Include full build of python-minimal and gettext-minimal (no longer without-tests). Add grub-minimal, grub, guix-without-tests and guile-3.0 (no longer delete it from guix dependencies). Janneke Nieuwenhuizen 2022-05-26cuirass: Create just as many threads as needed....* build-aux/cuirass/evaluate.scm (command-line): Change second argument to 'n-par-for-each'. Ludovic Courtès 2022-05-26cuirass: Fork inferior processes before creating threads....Works around <https://issues.guix.gnu.org/55441#12>. Start from commit bd86bbd300474204878e927f6cd3f0defa1662a5, 'open-inferior' uses 'primitive-fork' instead of 'open-pipe*'. As a result, child process could potentially hang before calling 'execl' due to undefined behavior when forking a multi-threaded process. * build-aux/cuirass/evaluate.scm <top level>: Call 'open-inferior' before 'n-par-for-each'. Ludovic Courtès 2022-05-20cuirass: Close each inferior upon completion....* build-aux/cuirass/evaluate.scm <top level>: Add 'close-inferior' call. Ludovic Courtès