From 69327086bd4f9ead41b993fd1f669436f33a7f63 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov Date: Fri, 4 Jul 2025 16:40:46 +0100 Subject: [PATCH] gnu: bitcoin-core: Update to 29.1. * gnu/packages/finance.scm (bitcoin-core): Update to 29.1. [build-system]: Switch to qt-build-system. [native-inputs]: Remove autoconf, automake, libtool, util-linux. Add bash, coreutils, python-pyzmq. [inputs]: Remove miniupnpc. Add qrencode, zeromq. [arguments]: Use gexps. <#:configure-flags>: Adapt to new build system. <#:phases>: Replace 'check phase. Signed-off-by: Andreas Enge --- gnu/packages/finance.scm | 91 +++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 0ef5b98b563820ae64cdcd1e2647ee9b724647c0..04801cd4ad16b456107328336b207858d6c4dfba 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -154,7 +154,7 @@ ;; . (package (name "bitcoin-core") - (version "28.2") + (version "29.1") (source (origin (method url-fetch) (uri @@ -162,62 +162,59 @@ version "/bitcoin-" version ".tar.gz")) (sha256 (base32 - "0l23ff0z25v6fgxnldb7bgzhbd9z9kq3fgh86i7wv4w7spwxlxsr")))) - (build-system gnu-build-system) + "0sx0rzx1vk7n9l1nfki08yk52cwjk30dgzsl2mddic3kw9564zq6")))) + (build-system qt-build-system) (native-inputs - (list autoconf - automake - libtool + (list bash ; provides the sh command for system_tests + coreutils ; provides the cat, echo and false commands for system_tests pkg-config python ; for the tests - util-linux ; provides the hexdump command for tests + python-pyzmq ; for the tests qttools-5)) (inputs (list bdb-4.8 ; 4.8 required for compatibility boost libevent - miniupnpc + qrencode qtbase-5 - sqlite)) + sqlite + zeromq)) (arguments - `(#:configure-flags - (list - ;; Boost is not found unless specified manually. - (string-append "--with-boost=" - (assoc-ref %build-inputs "boost")) - ;; XXX: The configure script looks up Qt paths by - ;; `pkg-config --variable=host_bins Qt5Core`, which fails to pick - ;; up executables residing in 'qttools-5', so we specify them here. - (string-append "ac_cv_path_LRELEASE=" - (assoc-ref %build-inputs "qttools") - "/bin/lrelease") - (string-append "ac_cv_path_LUPDATE=" - (assoc-ref %build-inputs "qttools") - "/bin/lupdate")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'make-qt-deterministic - (lambda _ - ;; Make Qt deterministic. - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) - (add-before 'build 'set-no-git-flag - (lambda _ - ;; Make it clear we are not building from within a git repository - ;; (and thus no information regarding this build is available - ;; from git). - (setenv "BITCOIN_GENBUILD_NO_GIT" "1") - #t)) - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME - #t)) - (add-after 'check 'check-functional - (lambda _ - (invoke - "python3" "./test/functional/test_runner.py" - (string-append "--jobs=" (number->string (parallel-job-count)))) - #t))))) + (list #:configure-flags + #~(list + "-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=TRUE" + "-DBUILD_GUI=ON" + "-DBUILD_BENCH=ON" + "-DWITH_BDB=ON" + "-DWITH_ZMQ=ON") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'make-qt-deterministic + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1"))) + (add-before 'build 'set-no-git-flag + (lambda _ + ;; Make it clear we are not building from within a git repository + ;; (and thus no information regarding this build is available + ;; from git). + (setenv "BITCOIN_GENBUILD_NO_GIT" "1"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "ctest" + "--parallel" (number->string (parallel-job-count)) + "--output-on-failure") + (format #t "test suite not run~%")))) + (add-before 'check 'set-home + (lambda _ + ;; Tests write to $HOME. + (setenv "HOME" (getenv "TMPDIR")))) + (add-after 'check 'check-functional + (lambda _ + (invoke + "python3" "./test/functional/test_runner.py" + (string-append "--jobs=" (number->string (parallel-job-count))))))))) (home-page "https://bitcoincore.org/") (synopsis "Bitcoin peer-to-peer client") (description