summary refs log blame commit diff
path: root/pkgs/applications/blockchains/bitcoin-gold/default.nix
blob: 5d6775f729aad8d2bce7025d5b30b4a14679b55b (plain) (tree)
1
2
3
4
5
6
7
8
9
             


                 
       


                
            









                       
         

                         
 
                                                                   
                     




                         
                                                                   



                       
              











                          
         






















                                                                                                                       
{ lib, stdenv
, fetchFromGitHub
, openssl
, boost
, libb2
, libevent
, autoreconfHook
, db4
, pkg-config
, protobuf
, hexdump
, zeromq
, libsodium
, withGui
, qtbase ? null
, qttools ? null
, wrapQtAppsHook ? null
}:

with lib;

stdenv.mkDerivation rec {

  pname = "bitcoin" + toString (optional (!withGui) "d") + "-gold";
  version = "0.17.3";

  src = fetchFromGitHub {
    owner = "BTCGPU";
    repo = "BTCGPU";
    rev = "v${version}";
    sha256 = "sha256-1tFoUNsCPJkHSmNRl5gE3n2EQD6RZSry1zIM5hiTzEI=";
  };

  nativeBuildInputs = [
    autoreconfHook
    pkg-config
    hexdump
  ] ++ optionals withGui [
    wrapQtAppsHook
  ];

  buildInputs = [
    openssl
    boost
    libevent
    db4
    zeromq
    libsodium
    libb2
  ] ++ optionals withGui [
    qtbase
    qttools
    protobuf
  ];

  enableParallelBuilding = true;

  configureFlags = [
      "--with-boost-libdir=${boost.out}/lib"
  ] ++ optionals withGui [
      "--with-gui=qt5"
      "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
  ];

  meta = {
    description = "BTG is a cryptocurrency with Bitcoin fundamentals, mined on common GPUs instead of specialty ASICs";
    homepage = "https://bitcoingold.org/";
    license = licenses.mit;
    maintainers = [ maintainers.mmahut ];
    platforms = platforms.linux;
  };
}