2017-03-27 07:33:41 +01:00
|
|
|
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
|
|
|
|
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
|
|
|
|
, withGui }:
|
|
|
|
|
|
|
|
with stdenv.lib;
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
|
|
|
|
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
|
2017-05-12 06:24:16 +01:00
|
|
|
version = "1.0.2.0";
|
2017-03-27 07:33:41 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "bitcoinunlimited";
|
|
|
|
repo = "bitcoinunlimited";
|
2017-04-27 16:16:38 +01:00
|
|
|
rev = "v${version}";
|
2017-10-31 22:16:47 +00:00
|
|
|
sha256 = "17cmyns1908s2rqs0zwr05f3541nqm2pg08n2xn97g2k3yimdg5q";
|
2017-03-27 07:33:41 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
|
|
|
buildInputs = [ openssl db48 boost zlib
|
|
|
|
miniupnpc utillinux protobuf libevent ]
|
|
|
|
++ optionals withGui [ qt4 qrencode ];
|
|
|
|
|
2018-03-12 00:06:06 +00:00
|
|
|
patches = [
|
|
|
|
./bitcoin-unlimited-const-comparators.patch
|
|
|
|
];
|
|
|
|
|
2017-03-27 07:33:41 +01:00
|
|
|
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
|
|
|
++ optionals withGui [ "--with-gui=qt4" ];
|
2018-03-12 00:06:06 +00:00
|
|
|
enableParallelBuilding = true;
|
2017-03-27 07:33:41 +01:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Peer-to-peer electronic cash system (Unlimited client)";
|
|
|
|
longDescription= ''
|
|
|
|
Bitcoin is a free open source peer-to-peer electronic cash system that is
|
|
|
|
completely decentralized, without the need for a central server or trusted
|
|
|
|
parties. Users hold the crypto keys to their own money and transact directly
|
|
|
|
with each other, with the help of a P2P network to check for double-spending.
|
|
|
|
|
|
|
|
The Bitcoin Unlimited (BU) project seeks to provide a voice to all
|
|
|
|
stakeholders in the Bitcoin ecosystem.
|
|
|
|
|
|
|
|
Every node operator or miner can currently choose their own blocksize limit
|
|
|
|
by modifying their client. Bitcoin Unlimited makes the process easier by
|
|
|
|
providing a configurable option for the accepted and generated blocksize via
|
|
|
|
a GUI menu. Bitcoin Unlimited further provides a user-configurable failsafe
|
|
|
|
setting allowing you to accept a block larger than your maximum accepted
|
|
|
|
blocksize if it reaches a certain number of blocks deep in the chain.
|
|
|
|
|
|
|
|
The Bitcoin Unlimited client is not a competitive block scaling proposal
|
|
|
|
like BIP-101, BIP-102, etc. Instead it tracks consensus. This means that it
|
|
|
|
tracks the blockchain that the hash power majority follows, irrespective of
|
|
|
|
blocksize, and signals its ability to accept larger blocks via protocol and
|
|
|
|
block versioning fields.
|
|
|
|
|
|
|
|
If you support an increase in the blocksize limit by any means - or just
|
|
|
|
support Bitcoin conflict resolution as originally envisioned by its founder -
|
|
|
|
consider running a Bitcoin Unlimited client.
|
|
|
|
'';
|
|
|
|
homepage = https://www.bitcoinunlimited.info/;
|
|
|
|
maintainers = with maintainers; [ DmitryTsygankov ];
|
|
|
|
license = licenses.mit;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
}
|