nixpkgs/pkgs/applications/blockchains/dogecoin/default.nix
2022-08-01 16:41:17 +02:00

60 lines
1.9 KiB
Nix

{ lib, stdenv , fetchFromGitHub
, pkg-config, autoreconfHook
, db5, openssl, boost, zlib, miniupnpc, libevent
, protobuf, qtbase ? null
, wrapQtAppsHook ? null, qttools, qmake ? null, qrencode
, withGui, withUpnp ? true, withUtils ? true, withWallet ? true
, withZmq ? true, zeromq, util-linux ? null, Cocoa ? null }:
with lib;
stdenv.mkDerivation rec {
pname = "dogecoin" + optionalString (!withGui) "d";
version = "1.14.6";
src = fetchFromGitHub {
owner = "dogecoin";
repo = "dogecoin";
rev = "v${version}";
sha256 = "sha256-PmbmmA2Mq07dwB3cI7A9c/ewtu0I+sWvQT39Yekm/sU=";
};
preConfigure = optionalString withGui ''
export LRELEASE=${getDev qttools}/bin/lrelease
'';
nativeBuildInputs = [ pkg-config autoreconfHook util-linux ]
++ optionals withGui [ wrapQtAppsHook qttools ];
buildInputs = [ openssl protobuf boost zlib libevent ]
++ optionals withGui [ qtbase qrencode ]
++ optionals withUpnp [ miniupnpc ]
++ optionals withWallet [ db5 ]
++ optionals withZmq [ zeromq ]
++ optionals stdenv.isDarwin [ Cocoa ];
configureFlags = [
"--with-incompatible-bdb"
"--with-boost-libdir=${boost.out}/lib"
] ++ optionals (!withGui) [ "--with-gui=no" ]
++ optionals (!withUpnp) [ "--without-miniupnpc" ]
++ optionals (!withUtils) [ "--without-utils" ]
++ optionals (!withWallet) [ "--disable-wallet" ]
++ optionals (!withZmq) [ "--disable-zmq" ];
enableParallelBuilding = true;
meta = {
description = "Wow, such coin, much shiba, very rich";
longDescription = ''
Dogecoin is a decentralized, peer-to-peer digital currency that
enables you to easily send money online. Think of it as "the
internet currency."
It is named after a famous Internet meme, the "Doge" - a Shiba Inu dog.
'';
homepage = "https://www.dogecoin.com/";
license = licenses.mit;
maintainers = with maintainers; [ edwtjo offline ];
platforms = platforms.unix;
};
}