depot/third_party/nixpkgs/pkgs/applications/blockchains/dogecoin/default.nix
Default email eaf6957cd3 Project import generated by Copybara.
GitOrigin-RevId: 4bb072f0a8b267613c127684e099a70e1f6ff106
2023-03-27 12:17:25 -07:00

59 lines
2 KiB
Nix

{ lib, stdenv , fetchFromGitHub
, pkg-config, autoreconfHook
, db5, openssl, boost, zlib, miniupnpc, libevent
, protobuf, qtbase ? null
, wrapQtAppsHook ? null, qttools ? null, qmake ? null, qrencode
, withGui, withUpnp ? true, withUtils ? true, withWallet ? true
, withZmq ? true, zeromq, util-linux ? null, Cocoa ? null }:
stdenv.mkDerivation rec {
pname = "dogecoin" + lib.optionalString (!withGui) "d";
version = "1.14.6";
src = fetchFromGitHub {
owner = "dogecoin";
repo = "dogecoin";
rev = "v${version}";
sha256 = "sha256-PmbmmA2Mq07dwB3cI7A9c/ewtu0I+sWvQT39Yekm/sU=";
};
preConfigure = lib.optionalString withGui ''
export LRELEASE=${lib.getDev qttools}/bin/lrelease
'';
nativeBuildInputs = [ pkg-config autoreconfHook util-linux ]
++ lib.optionals withGui [ wrapQtAppsHook qttools ];
buildInputs = [ openssl protobuf boost zlib libevent ]
++ lib.optionals withGui [ qtbase qrencode ]
++ lib.optionals withUpnp [ miniupnpc ]
++ lib.optionals withWallet [ db5 ]
++ lib.optionals withZmq [ zeromq ]
++ lib.optionals stdenv.isDarwin [ Cocoa ];
configureFlags = [
"--with-incompatible-bdb"
"--with-boost-libdir=${boost.out}/lib"
] ++ lib.optionals (!withGui) [ "--with-gui=no" ]
++ lib.optionals (!withUpnp) [ "--without-miniupnpc" ]
++ lib.optionals (!withUtils) [ "--without-utils" ]
++ lib.optionals (!withWallet) [ "--disable-wallet" ]
++ lib.optionals (!withZmq) [ "--disable-zmq" ];
enableParallelBuilding = true;
meta = with lib; {
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;
broken = true;
};
}