diff --git a/pkgs/applications/blockchains/groestlcoin/default.nix b/pkgs/applications/blockchains/groestlcoin/default.nix index 52c7a08d4753..9a16192c6bf6 100644 --- a/pkgs/applications/blockchains/groestlcoin/default.nix +++ b/pkgs/applications/blockchains/groestlcoin/default.nix @@ -3,24 +3,23 @@ stdenv, fetchurl, fetchFromGitHub, - autoreconfHook, + cmake, pkg-config, installShellFiles, - util-linux, - hexdump, autoSignDarwinBinariesHook, wrapQtAppsHook ? null, boost, libevent, - miniupnpc, zeromq, zlib, db53, sqlite, qrencode, + libsystemtap, qtbase ? null, qttools ? null, python3, + versionCheckHook, withGui ? false, withWallet ? true, }: @@ -32,24 +31,22 @@ let sha256 = "0mxwq4jvcip44a796iwz7n1ljkhl3a4p47z7qlsxcfxw3zmm0k0k"; }; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = if withGui then "groestlcoin" else "groestlcoind"; - version = "28.0"; + version = "29.0"; src = fetchFromGitHub { owner = "Groestlcoin"; repo = "groestlcoin"; - rev = "v${version}"; - sha256 = "0kl7nq62362clgzxwwd5c256xnaar4ilxcvbralazxg47zv95r11"; + rev = "v${finalAttrs.version}"; + sha256 = "17b83jch717d91srw1yc93p8ndl894ld9gx916wyy6jis07px6xh"; }; nativeBuildInputs = [ - autoreconfHook + cmake pkg-config installShellFiles ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ util-linux ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ hexdump ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ] @@ -58,10 +55,10 @@ stdenv.mkDerivation rec { buildInputs = [ boost libevent - miniupnpc zeromq zlib ] + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ libsystemtap ] ++ lib.optionals withWallet [ db53 sqlite @@ -73,9 +70,10 @@ stdenv.mkDerivation rec { ]; postInstall = '' - installShellCompletion --bash contrib/completions/bash/groestlcoin-cli.bash - installShellCompletion --bash contrib/completions/bash/groestlcoind.bash - installShellCompletion --bash contrib/completions/bash/groestlcoin-tx.bash + cd .. + installShellCompletion --bash contrib/completions/bash/groestlcoin-cli.bash + installShellCompletion --bash contrib/completions/bash/groestlcoind.bash + installShellCompletion --bash contrib/completions/bash/groestlcoin-tx.bash for file in contrib/completions/fish/groestlcoin-*.fish; do installShellCompletion --fish $file @@ -89,16 +87,16 @@ stdenv.mkDerivation rec { install -Dm644 share/pixmaps/groestlcoin256.png $out/share/pixmaps/groestlcoin.png ''; - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] - ++ lib.optionals (!withWallet) [ - "--disable-wallet" + cmakeFlags = [ + (lib.cmakeBool "BUILD_BENCH" false) + (lib.cmakeBool "WITH_ZMQ" true) + (lib.cmakeBool "WITH_USDT" (stdenv.hostPlatform.isLinux)) + (lib.cmakeBool "ENABLE_WALLET" (!withWallet)) + (lib.cmakeBool "BUILD_GUI" (!withGui)) + (lib.cmakeBool "ENABLE_WALLET" false) ] ++ lib.optionals withGui [ - "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" + (lib.cmakeBool "BUILD_GUI" true) ]; nativeCheckInputs = [ python3 ]; @@ -112,6 +110,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + __darwinAllowLocalNetworking = true; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/groestlcoin-cli"; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + meta = { description = "Peer-to-peer electronic cash system"; longDescription = '' @@ -121,9 +128,10 @@ stdenv.mkDerivation rec { with each other, with the help of a P2P network to check for double-spending. ''; homepage = "https://groestlcoin.org/"; - downloadPage = "https://github.com/Groestlcoin/groestlcoin/releases/tag/v${version}/"; + downloadPage = "https://github.com/Groestlcoin/groestlcoin/releases/tag/v${finalAttrs.version}/"; + changelog = "https://github.com/Groestlcoin/groestlcoin/blob/${finalAttrs.version}.0/doc/release-notes/release-notes-${finalAttrs.version}.0.md"; maintainers = with lib.maintainers; [ gruve-p ]; license = lib.licenses.mit; platforms = lib.platforms.unix; }; -} +})