mirror of
https://github.com/ben-grande/qusal.git
synced 2025-08-07 05:32:21 -04:00
feat: build Bitcoin with Cmake
Fixes: https://github.com/ben-grande/qusal/issues/102
This commit is contained in:
parent
1047cabf6a
commit
907f8fb96b
3 changed files with 67 additions and 63 deletions
|
@ -1,5 +1,5 @@
|
||||||
{#
|
{#
|
||||||
SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
||||||
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
#}
|
#}
|
||||||
|
@ -49,57 +49,58 @@ include:
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-build-autogen":
|
|
||||||
cmd.run:
|
|
||||||
- require:
|
|
||||||
- cmd: "{{ slsdotpath }}-source-git-checkout-tag-{{ bitcoin_tag }}"
|
|
||||||
- name: ./autogen.sh
|
|
||||||
- cwd: /home/user/src/bitcoin
|
|
||||||
- runas: user
|
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-build-configure":
|
"{{ slsdotpath }}-source-build-configure":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-autogen"
|
- cmd: "{{ slsdotpath }}-source-git-checkout-tag-{{ bitcoin_tag }}"
|
||||||
- env:
|
|
||||||
- CXX: "clang++"
|
|
||||||
- CC: "clang"
|
|
||||||
- name: |
|
- name: |
|
||||||
./configure \
|
cmake \
|
||||||
--prefix=/home/user/bitcoin-build \
|
-B /home/user/bitcoin-build \
|
||||||
--disable-maintainer-mode \
|
-DCMAKE_INSTALL_PREFIX=/home/user/bitcoin-install \
|
||||||
--disable-tests \
|
-DCMAKE_CXX_COMPILER=clang++-{{ version.clang_version }} \
|
||||||
--disable-bench \
|
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g0" \
|
||||||
--disable-fuzz-binary \
|
-DCMAKE_C_COMPILER=clang-{{ version.clang_version }} \
|
||||||
--disable-shared \
|
-DBUILD_BENCH=OFF \
|
||||||
--disable-dependency-tracking \
|
-DBUILD_CLI=ON \
|
||||||
--without-miniupnpc \
|
-DBUILD_DAEMON=ON \
|
||||||
--without-natpmp \
|
-DBUILD_FOR_FUZZING=OFF \
|
||||||
--without-bdb \
|
-DBUILD_GUI=ON \
|
||||||
--without-libs
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
-DBUILD_TESTS=OFF \
|
||||||
|
-DBUILD_TX=ON \
|
||||||
|
-DBUILD_UTIL=ON \
|
||||||
|
-DBUILD_UTIL_CHAINSTATE=ON \
|
||||||
|
-DBUILD_WALLET_TOOL=ON \
|
||||||
|
-DENABLE_EXTERNAL_SIGNER=ON \
|
||||||
|
-DENABLE_HARDENING=ON \
|
||||||
|
-DENABLE_WALLET=ON \
|
||||||
|
-DWITH_BDB=OFF \
|
||||||
|
-DWITH_CCACHE=ON \
|
||||||
|
-DWITH_MINIUPNPC=OFF \
|
||||||
|
-DWITH_SQLITE=ON \
|
||||||
|
-DWITH_USDT=OFF \
|
||||||
|
-DWITH_ZMQ=ON
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-build-make-clean":
|
"{{ slsdotpath }}-source-build-execute":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-configure"
|
- cmd: "{{ slsdotpath }}-source-build-configure"
|
||||||
- name: make clean
|
- name: |
|
||||||
- cwd: /home/user/src/bitcoin
|
cmake \
|
||||||
- runas: user
|
--build /home/user/bitcoin-build \
|
||||||
|
--parallel "$(($(nproc)+1))" \
|
||||||
"{{ slsdotpath }}-source-build-make":
|
--clean-first
|
||||||
cmd.run:
|
|
||||||
- require:
|
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-clean"
|
|
||||||
- name: make -j "$(($(nproc)+1))"
|
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-build-gen-manpages":
|
"{{ slsdotpath }}-source-build-gen-manpages":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make"
|
- cmd: "{{ slsdotpath }}-source-build-execute"
|
||||||
|
- env:
|
||||||
|
- BUILDDIR: "/home/user/bitcoin-build"
|
||||||
- name: ./contrib/devtools/gen-manpages.py
|
- name: ./contrib/devtools/gen-manpages.py
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
@ -107,73 +108,75 @@ include:
|
||||||
"{{ slsdotpath }}-source-build-gen-bitcoin-conf":
|
"{{ slsdotpath }}-source-build-gen-bitcoin-conf":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make"
|
- cmd: "{{ slsdotpath }}-source-build-execute"
|
||||||
|
- env:
|
||||||
|
- BUILDDIR: "/home/user/bitcoin-build"
|
||||||
- name: ./contrib/devtools/gen-bitcoin-conf.sh
|
- name: ./contrib/devtools/gen-bitcoin-conf.sh
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-build-make-install":
|
"{{ slsdotpath }}-source-build-install":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make"
|
- cmd: "{{ slsdotpath }}-source-build-execute"
|
||||||
- name: make install
|
- name: cmake --install /home/user/bitcoin-build
|
||||||
- cwd: /home/user/src/bitcoin
|
- cwd: /home/user/src/bitcoin
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-readme":
|
"{{ slsdotpath }}-source-readme":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-install"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: |
|
- name: |
|
||||||
\mkdir -p -- share/bitcoin
|
\mkdir -p -- share/bitcoin
|
||||||
\cp -v -- ~/src/bitcoin/README.md share/bitcoin/
|
\cp -v -- ~/src/bitcoin/README.md share/bitcoin/
|
||||||
- cwd: /home/user/bitcoin-build
|
- cwd: /home/user/bitcoin-install
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-share-examples":
|
"{{ slsdotpath }}-source-share-examples":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-install"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: |
|
- name: |
|
||||||
\cp -v -- ~/src/bitcoin/share/examples/bitcoin.conf bitcoin.conf
|
\cp -v -- ~/src/bitcoin/share/examples/bitcoin.conf bitcoin.conf
|
||||||
- cwd: /home/user/bitcoin-build
|
- cwd: /home/user/bitcoin-install
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-shell-completion":
|
"{{ slsdotpath }}-source-shell-completion":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-install"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: |
|
- name: |
|
||||||
\mkdir -p -- share/bash-completion/completions/
|
\mkdir -p -- share/bash-completion/completions/
|
||||||
\cp -v -- ~/src/bitcoin/contrib/completions/bash/* share/bash-completion/completions/
|
\cp -v -- ~/src/bitcoin/contrib/completions/bash/* share/bash-completion/completions/
|
||||||
- cwd: /home/user/bitcoin-build
|
- cwd: /home/user/bitcoin-install
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-rpcauth":
|
"{{ slsdotpath }}-source-rpcauth":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-install"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: |
|
- name: |
|
||||||
\mkdir -p -- share/rpcauth
|
\mkdir -p -- share/rpcauth
|
||||||
\cp -v -- ~/src/bitcoin/share/rpcauth/rpcauth.py share/rpcauth/
|
\cp -v -- ~/src/bitcoin/share/rpcauth/rpcauth.py share/rpcauth/
|
||||||
- cwd: /home/user/bitcoin-build
|
- cwd: /home/user/bitcoin-install
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-rpcauth":
|
"{{ slsdotpath }}-source-gui-icons":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make-install"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: |
|
- name: |
|
||||||
\mkdir -p -- share/icons/hicolor/scalable/apps/
|
\mkdir -p -- share/icons/hicolor/scalable/apps/
|
||||||
\cp -v -- ~/src/bitcoin/src/qt/res/src/bitcoin.svg share/icons/hicolor/scalable/apps/
|
\cp -v -- ~/src/bitcoin/src/qt/res/src/bitcoin.svg share/icons/hicolor/scalable/apps/
|
||||||
- cwd: /home/user/bitcoin-build
|
- cwd: /home/user/bitcoin-install
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
"{{ slsdotpath }}-source-copy-files-to-template":
|
"{{ slsdotpath }}-source-copy-files-to-template":
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- require:
|
- require:
|
||||||
- cmd: "{{ slsdotpath }}-source-build-make"
|
- cmd: "{{ slsdotpath }}-source-build-install"
|
||||||
- name: qrexec-client-vm -T -- @default qusal.InstallBitcoin /usr/lib/qubes/qfile-agent /home/user/bitcoin-build/*
|
- name: qrexec-client-vm -T -- @default qusal.InstallBitcoin /usr/lib/qubes/qfile-agent /home/user/bitcoin-install/*
|
||||||
- runas: user
|
- runas: user
|
||||||
|
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{#
|
{#
|
||||||
SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
||||||
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
#}
|
#}
|
||||||
|
@ -21,19 +21,19 @@ include:
|
||||||
- skip_suggestions: True
|
- skip_suggestions: True
|
||||||
- setopt: "install_weak_deps=False"
|
- setopt: "install_weak_deps=False"
|
||||||
- pkgs:
|
- pkgs:
|
||||||
- clang
|
- cmake
|
||||||
|
- clang-{{ version.clang_version }}
|
||||||
- ccache
|
- ccache
|
||||||
- help2man
|
- help2man
|
||||||
|
|
||||||
{% set pkg = {
|
{% set pkg = {
|
||||||
'Debian': {
|
'Debian': {
|
||||||
'pkg': ['build-essential', 'libtool', 'autotools-dev', 'automake',
|
'pkg': ['build-essential', 'pkg-config', 'python3', 'libevent-dev',
|
||||||
'pkg-config', 'bsdmainutils', 'python3', 'libevent-dev',
|
|
||||||
'libboost-dev', 'libsqlite3-dev', 'libzmq3-dev'],
|
'libboost-dev', 'libsqlite3-dev', 'libzmq3-dev'],
|
||||||
},
|
},
|
||||||
'RedHat': {
|
'RedHat': {
|
||||||
'pkg': ['gcc-c++', 'libtool', 'make', 'autoconf', 'automake', 'python3',
|
'pkg': ['gcc-c++', 'make', 'python3', 'libevent-devel', 'boost-devel',
|
||||||
'libevent-devel', 'boost-devel', 'sqlite-devel', 'zeromq-devel'],
|
'sqlite-devel', 'zeromq-devel'],
|
||||||
},
|
},
|
||||||
}.get(grains.os_family) -%}
|
}.get(grains.os_family) -%}
|
||||||
|
|
||||||
|
@ -48,11 +48,11 @@ include:
|
||||||
|
|
||||||
{% set pkg = {
|
{% set pkg = {
|
||||||
'Debian': {
|
'Debian': {
|
||||||
'pkg': ['qtbase5-dev', 'qttools5-dev',
|
'pkg': ['qt6-base-dev', 'qt6-tools-dev', 'qt6-tools-dev-tools',
|
||||||
'qttools5-dev-tools', 'libqrencode-dev'],
|
'qt6-l10n-tools' , 'libgl-dev', 'libqrencode-dev', 'libxcb-cursor0'],
|
||||||
},
|
},
|
||||||
'RedHat': {
|
'RedHat': {
|
||||||
'pkg': ['qt5-qttools-devel', 'qt5-qtbase-devel', 'qrencode-devel'],
|
'pkg': ['qt6-qtbase-devel', 'qt6-qttools-devel', 'xcb-util-cursor', 'qrencode-devel'],
|
||||||
},
|
},
|
||||||
}.get(grains.os_family) -%}
|
}.get(grains.os_family) -%}
|
||||||
|
|
||||||
|
|
|
@ -4,4 +4,5 @@ SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. <ben.grande.b@gmail.co
|
||||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
#}
|
#}
|
||||||
|
|
||||||
{% set version = '28.1' -%}
|
{% set version = '29.0' -%}
|
||||||
|
{% set clang_version = '19' -%}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue