Merge pull request #89415 from prusnak/bitcoin

bitcoin: 0.19.1 -> 0.20.0
This commit is contained in:
Lassulus 2020-06-17 18:23:17 +02:00 committed by GitHub
commit 02c64a4b63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,59 +1,74 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck, hexdump { stdenv
, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, python3, qrencode, libevent , fetchurl
, withGui }: , pkgconfig
, autoreconfHook
, db48
, boost
, zeromq
, hexdump
, zlib
, miniupnpc
, qtbase ? null
, qttools ? null
, wrapQtAppsHook ? null
, utillinux
, python3
, qrencode
, libevent
, withGui
}:
with stdenv.lib; with stdenv.lib;
let let
version = "0.19.1"; version = "0.20.0";
majorMinorVersion = versions.majorMinor version; majorMinorVersion = versions.majorMinor version;
desktop = fetchurl { desktop = fetchurl {
url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop"; url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorMinorVersion}/debian/bitcoin-qt.desktop";
sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha"; sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
}; };
pixmap = fetchurl { pixmap = fetchurl {
url = "https://raw.githubusercontent.com/bitcoin/bitcoin/v${version}/share/pixmaps/bitcoin128.png"; url = "https://raw.githubusercontent.com/bitcoin/bitcoin/v${version}/share/pixmaps/bitcoin128.png";
sha256 = "08p7j7dg50jlj783kkgdw037klmx0spqjikaprmbkzgcb620r25d"; sha256 = "08p7j7dg50jlj783kkgdw037klmx0spqjikaprmbkzgcb620r25d";
}; };
in
in stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = if withGui then "bitcoin" else "bitcoind"; pname = if withGui then "bitcoin" else "bitcoind";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" urls = [
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
]; "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
sha256 = "f2591d555b8e8c2e1bd780e40d53a91e165d8b3c7e0391ae2d24a0c0f23a7cc0"; ];
sha256 = "ec5a2358ee868d845115dc4fc3ed631ff063c57d5e0a713562d083c5c45efb28";
}; };
nativeBuildInputs = nativeBuildInputs =
[ pkgconfig autoreconfHook ] [ pkgconfig autoreconfHook ]
++ optional stdenv.isDarwin hexdump ++ optional stdenv.isDarwin hexdump
++ optional withGui wrapQtAppsHook; ++ optional withGui wrapQtAppsHook;
buildInputs = [ openssl db48 boost zlib zeromq buildInputs = [ db48 boost zlib zeromq miniupnpc libevent ]
miniupnpc libevent] ++ optionals stdenv.isLinux [ utillinux ]
++ optionals stdenv.isLinux [ utillinux ] ++ optionals withGui [ qtbase qttools qrencode ];
++ optionals withGui [ qtbase qttools qrencode ];
postInstall = optional withGui '' postInstall = optional withGui ''
install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop
install -Dm644 ${pixmap} $out/share/pixmaps/bitcoin128.png install -Dm644 ${pixmap} $out/share/pixmaps/bitcoin128.png
''; '';
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" configureFlags = [
"--disable-bench" "--with-boost-libdir=${boost.out}/lib"
] ++ optionals (!doCheck) [ "--disable-bench"
"--disable-tests" ] ++ optionals (!doCheck) [
"--disable-gui-tests" "--disable-tests"
] "--disable-gui-tests"
++ optionals withGui [ "--with-gui=qt5" ]
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" ++ optionals withGui [
]; "--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
checkInputs = [ rapidcheck python3 ]; checkInputs = [ python3 ];
doCheck = true; doCheck = true;
@ -67,13 +82,15 @@ in stdenv.mkDerivation rec {
meta = { meta = {
description = "Peer-to-peer electronic cash system"; description = "Peer-to-peer electronic cash system";
longDescription= '' longDescription = ''
Bitcoin is a free open source peer-to-peer electronic cash system that is 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 completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly 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. with each other, with the help of a P2P network to check for double-spending.
''; '';
homepage = "https://bitcoin.org/"; homepage = "https://bitcoin.org/";
downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/";
changelog = "https://bitcoincore.org/en/releases/${version}/";
maintainers = with maintainers; [ roconnor AndersonTorres ]; maintainers = with maintainers; [ roconnor AndersonTorres ];
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;