summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/blockchains/bitcoin-unlimited.nix
diff options
context:
space:
mode:
authorWilliam Casarin <jb55@jb55.com>2019-08-28 10:37:52 -0700
committerWilliam Casarin <jb55@jb55.com>2019-08-29 05:01:42 -0700
commit72682e46546d6d024a29e2fde009372e03b45b9f (patch)
tree4f5c749f3fdff3f182d9f7b005339aa10fd53897 /pkgs/applications/blockchains/bitcoin-unlimited.nix
parent58fd72f3e996856d5a4ba21ae25f87a82fe3e5dc (diff)
tree: rename altcoins to blockchains
Signed-off-by: William Casarin <jb55@jb55.com>
Diffstat (limited to 'pkgs/applications/blockchains/bitcoin-unlimited.nix')
-rw-r--r--pkgs/applications/blockchains/bitcoin-unlimited.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/applications/blockchains/bitcoin-unlimited.nix b/pkgs/applications/blockchains/bitcoin-unlimited.nix
new file mode 100644
index 000000000000..a75b20b39109
--- /dev/null
+++ b/pkgs/applications/blockchains/bitcoin-unlimited.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
+, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3
+, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
+, Foundation, ApplicationServices, AppKit }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
+ version = "1.6.0.1";
+
+ src = fetchFromGitHub {
+ owner = "bitcoinunlimited";
+ repo = "bitcoinunlimited";
+ rev = "bucash${version}";
+ sha256 = "0f0mnal4jf8xdj7w5m4rdlcqkrkbpxi88c006m5k45lmjmj141zr";
+ };
+
+ nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
+ ++ optionals withGui [ wrapQtAppsHook qttools ];
+ buildInputs = [ openssl db48 boost zlib
+ miniupnpc utillinux protobuf libevent ]
+ ++ optionals withGui [ qtbase qttools qrencode ]
+ ++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
+
+ configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
+ ++ optionals withGui [ "--with-gui=qt5"
+ "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+ ];
+ enableParallelBuilding = true;
+
+ 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;
+ broken = stdenv.isDarwin;
+ platforms = platforms.unix;
+ };
+}