From 2804d4ada0410813f759024135a49723468bf904 Mon Sep 17 00:00:00 2001 From: Jonas Nick Date: Mon, 23 Oct 2023 08:58:10 +0000 Subject: [PATCH 1/3] Revert "bitcoin: replace nixpkgs package with bitcoin{,d} 24.1" This reverts commit 3650d4befe6cad275b259c78f5373f8e851d070f. --- pkgs/bitcoin/default.nix | 112 --------------------------------------- pkgs/default.nix | 13 ----- pkgs/pinned.nix | 2 + 3 files changed, 2 insertions(+), 125 deletions(-) delete mode 100644 pkgs/bitcoin/default.nix diff --git a/pkgs/bitcoin/default.nix b/pkgs/bitcoin/default.nix deleted file mode 100644 index b6de219f3..000000000 --- a/pkgs/bitcoin/default.nix +++ /dev/null @@ -1,112 +0,0 @@ -# Copied from nixpkgs 4a22f6f0a4b4354778f786425babce9a56f6b5d8 -{ lib -, stdenv -, fetchurl -, autoreconfHook -, pkg-config -, installShellFiles -, util-linux -, hexdump -, autoSignDarwinBinariesHook -, wrapQtAppsHook ? null -, boost -, libevent -, miniupnpc -, zeromq -, zlib -, db48 -, sqlite -, qrencode -, qtbase ? null -, qttools ? null -, python3 -, nixosTests -, withGui -, withWallet ? true -}: - -let - desktop = fetchurl { - # c2e5f3e is the last commit when the debian/bitcoin-qt.desktop file was changed - url = "https://raw.githubusercontent.com/bitcoin-core/packaging/c2e5f3e20a8093ea02b73cbaf113bc0947b4140e/debian/bitcoin-qt.desktop"; - sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha"; - }; -in -stdenv.mkDerivation rec { - pname = if withGui then "bitcoin" else "bitcoind"; - version = "24.1"; - - src = fetchurl { - urls = [ - "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" - ]; - # hash retrieved from signed SHA256SUMS - sha256 = "8a0a3db3b2d9cc024e897113f70a3a65d8de831c129eb6d1e26ffa65e7bfaf4e"; - }; - - nativeBuildInputs = - [ autoreconfHook pkg-config installShellFiles ] - ++ lib.optionals stdenv.isLinux [ util-linux ] - ++ lib.optionals stdenv.isDarwin [ hexdump ] - ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ] - ++ lib.optionals withGui [ wrapQtAppsHook ]; - - buildInputs = [ boost libevent miniupnpc zeromq zlib ] - ++ lib.optionals withWallet [ db48 sqlite ] - ++ lib.optionals withGui [ qrencode qtbase qttools ]; - - postInstall = '' - installShellCompletion --cmd bitcoin-cli --bash contrib/bitcoin-cli.bash-completion - installShellCompletion --cmd bitcoind --bash contrib/bitcoind.bash-completion - installShellCompletion --cmd bitcoin-tx --bash contrib/bitcoin-tx.bash-completion - '' + lib.optionalString withGui '' - install -Dm644 ${desktop} $out/share/applications/bitcoin-qt.desktop - substituteInPlace $out/share/applications/bitcoin-qt.desktop --replace "Icon=bitcoin128" "Icon=bitcoin" - install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png - ''; - - configureFlags = [ - "--with-boost-libdir=${boost.out}/lib" - "--disable-bench" - ] ++ lib.optionals (!doCheck) [ - "--disable-tests" - "--disable-gui-tests" - ] ++ lib.optionals (!withWallet) [ - "--disable-wallet" - ] ++ lib.optionals withGui [ - "--with-gui=qt5" - "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin" - ]; - - nativeCheckInputs = [ python3 ]; - - doCheck = true; - - checkFlags = - [ "LC_ALL=en_US.UTF-8" ] - # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI. - # See also https://github.com/NixOS/nixpkgs/issues/24256 - ++ lib.optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}"; - - enableParallelBuilding = true; - - passthru.tests = { - smoke-test = nixosTests.bitcoind; - }; - - meta = with lib; { - description = "Peer-to-peer electronic cash system"; - longDescription = '' - 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 - 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. - ''; - homepage = "https://bitcoin.org/en/"; - downloadPage = "https://bitcoincore.org/bin/bitcoin-core-${version}/"; - changelog = "https://bitcoincore.org/en/releases/${version}/"; - maintainers = with maintainers; [ prusnak roconnor ]; - license = licenses.mit; - platforms = platforms.unix; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 0749f3e70..0cdd0595a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -10,19 +10,6 @@ in } }: let self = { - # TODO-EXTERNAL: - # Remove bitcoin and bitcoind 24.1 packages and replace with 25.0 from nixpkgs - # when https://github.com/bitcoin/bitcoin/issues/27722 has been resolved - bitcoin = pkgs.libsForQt5.callPackage ./bitcoin { - stdenv = if pkgs.stdenv.isDarwin then pkgs.darwin.apple_sdk_11_0.stdenv else pkgs.stdenv; - withGui = true; - inherit (pkgs.darwin) autoSignDarwinBinariesHook; - }; - - bitcoind = pkgs.callPackage ./bitcoin { - withGui = false; - inherit (pkgs.darwin) autoSignDarwinBinariesHook; - }; clightning-rest = pkgs.callPackage ./clightning-rest { inherit (self) fetchNodeModules; }; clboss = pkgs.callPackage ./clboss { }; clightning-plugins = pkgs.recurseIntoAttrs (import ./clightning-plugins pkgs self.nbPython3Packages); diff --git a/pkgs/pinned.nix b/pkgs/pinned.nix index c63d9eadc..5af635e0f 100644 --- a/pkgs/pinned.nix +++ b/pkgs/pinned.nix @@ -2,6 +2,8 @@ pkgs: pkgsUnstable: { inherit (pkgs) + bitcoin + bitcoind charge-lnd electrs elementsd From 8e2010c1b399c9843c6ebf2a026e3c2fe3e58ed3 Mon Sep 17 00:00:00 2001 From: Jonas Nick Date: Mon, 23 Oct 2023 09:35:55 +0000 Subject: [PATCH 2/3] update nixpkgs bitcoin: 24.1 -> 25.1 bitcoind: 24.1 -> 25.1 --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2450a922c..e43c53d72 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697226376, - "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", + "lastModified": 1697851979, + "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", + "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697379843, - "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", + "lastModified": 1697915759, + "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", + "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", "type": "github" }, "original": { From a66c9992d30b1b25ef397bc70fb3a4e2dd59e4c2 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Mon, 23 Oct 2023 12:26:41 +0200 Subject: [PATCH 3/3] tests/trustedcoin: fix test Sometimes the trustedcoin plugin prevents clightning from starting up in an offline environment. --- test/tests.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/tests.py b/test/tests.py index c799dfc5a..a10694239 100644 --- a/test/tests.py +++ b/test/tests.py @@ -432,7 +432,6 @@ def _(): def expect_clightning_log(str): machine.wait_until_succeeds(log_has_string("clightning", str)) - machine.wait_for_unit("clightning") expect_clightning_log("plugin-trustedcoin[^^]\[0m\s+bitcoind RPC working") expect_clightning_log("plugin-trustedcoin[^^]\[0m\s+estimatefees error: none of the esploras returned usable responses") if "regtest" in enabled_tests: