Bitcoin Core integration/staging tree
Go to file
fanquake 511e58223b
Merge #21565: build: make bitcoin_qt.m4 more generic
fecb3723b6 build: additional PKG_CHECK_MODULES calls in bitcoin_qt.m4 (fanquake)
a53eff3ce5 build: misc doc changes in bitcoin_qt.m4 (fanquake)
340fa6c0ff build: set QT_*_CFLAGS & QT_*_LIBS in PKG_CHECK_MODULES() calls (fanquake)
4b8ad97c5b build: use QT_*_LIBS rather than passing lib names (fanquake)
13313b2904 scripted-diff: replace Qt5 with ${qt_lib_prefix} in _BITCOIN_QT_CHECK_STATIC_LIBS (fanquake)
477df3623c build: reorder libs in _BITCOIN_QT_CHECK_STATIC_LIBS (move-only) (fanquake)

Pull request description:

  These are some small changes to simplify this code before we may end up supporting Qt6. Replaces usages of `Qt5` with `qt_lib_prefix`, minor docs cleanups and takes care of [a suggestion](https://github.com/bitcoin/bitcoin/pull/21376#discussion_r590693514) left over from #21376.

  Guix builds:
  ```bash
  8749dca4a86c39607ff86b0107b76daea60d415a15b5022824f4a4469c6edc37  output/bitcoin-fecb3723b63d-aarch64-linux-gnu-debug.tar.gz
  7b162ad6d953ceed9402f5fef03a8199a76c6dd300a71b03c1814c33ce0126f6  output/bitcoin-fecb3723b63d-aarch64-linux-gnu.tar.gz
  869c42616320fc5bb25e942d7e20c0a8a4b8510939f8f8f6021a784e4afda83e  output/bitcoin-fecb3723b63d-arm-linux-gnueabihf-debug.tar.gz
  278b1481045e93b3ac7c31ae14ea3b6a3030391c2abc90e04ab80072f4c33dd3  output/bitcoin-fecb3723b63d-arm-linux-gnueabihf.tar.gz
  e5501939838f930bf5d5a6da4f6d3665c008d736aa916ef0e7e0e06db91e1a36  output/bitcoin-fecb3723b63d-osx-unsigned.dmg
  834a94ea3fbc5e090618842b339b301bebd622d1f392918f0f500ec6637733ac  output/bitcoin-fecb3723b63d-osx-unsigned.tar.gz
  6cf70af01a48bea9270e6883ed15ce458c46c6840f826414df7a244fffa3338d  output/bitcoin-fecb3723b63d-osx64.tar.gz
  d80e9e2789fdee931f80c049c70912e9ff146d5fe2ae7bcd26244d7fe5dd4910  output/bitcoin-fecb3723b63d-powerpc64-linux-gnu-debug.tar.gz
  d924e161f1c32b3980c72b4949c99269e3d5fad8656749edae9fbbaafb1b7ff9  output/bitcoin-fecb3723b63d-powerpc64-linux-gnu.tar.gz
  d2f339fc78608ac6cdc505b21abc5f397e52283914113f45dc0adad0c023df54  output/bitcoin-fecb3723b63d-powerpc64le-linux-gnu-debug.tar.gz
  d537c014adbdd712b7b20f3171bc4342622ba56f4fa655bba85afbf35aee2840  output/bitcoin-fecb3723b63d-powerpc64le-linux-gnu.tar.gz
  0f42646fa5be154e8717df0e39ba843a61928225b00e0d48b1b2179966fea315  output/bitcoin-fecb3723b63d-riscv64-linux-gnu-debug.tar.gz
  f7b9cc85f74c006ac484e20915c84a12069447102d685124c5246b6eff8545c8  output/bitcoin-fecb3723b63d-riscv64-linux-gnu.tar.gz
  b60b51544a26dfa2e6a05a6daa99c63aeb62d7a1893191824867e1da9bbb73c4  output/bitcoin-fecb3723b63d-win-unsigned.tar.gz
  abc4cdb44146edf16fc47aa11d72648fa53c00d8f70937cab74cdaaaa9947c58  output/bitcoin-fecb3723b63d-win64-debug.zip
  3c6d437b09acc479060d922c64c1f6688df6385a6a3950d31c7a6e0977d757eb  output/bitcoin-fecb3723b63d-win64-setup-unsigned.exe
  d4f015fcfca15f23a797786fe67ca12ac73d3f594dd9e1b885e33d765f21beff  output/bitcoin-fecb3723b63d-win64.zip
  5fcb478027cb790ab7a3480fab91f764b10da4fd25d82b08f5ecfe42b4b7d316  output/bitcoin-fecb3723b63d-x86_64-linux-gnu-debug.tar.gz
  eef74c6b301bd799c6522b60c26d700a496ecf2bd357f09c83cbd88132086783  output/bitcoin-fecb3723b63d-x86_64-linux-gnu.tar.gz
  af897573bd4f1e9acfef43af19a79e0e1c6a662cb3dc0bc8f5f6d2656c441953  output/src/bitcoin-fecb3723b63d.tar.gz
  ```

  Gitian builds:
  ```bash
  # macOS:
  b3926b7956b31b87ec96885369401141cc5a3f37e91a0ad9a03c6f7c1bd2bee7  bitcoin-fecb3723b63d-osx-unsigned.dmg
  61792260b3afd0b921d84ddb0bb3639c2b4e063c7b7fb715d515b3601c7ad38b  bitcoin-fecb3723b63d-osx-unsigned.tar.gz
  953081b66a1feababe041cae0b31664856260f7364f87c5c50f7f7c1fd6b710a  bitcoin-fecb3723b63d-osx64.tar.gz
  af897573bd4f1e9acfef43af19a79e0e1c6a662cb3dc0bc8f5f6d2656c441953  src/bitcoin-fecb3723b63d.tar.gz
  aecaa381205e9ed6585cdffa22c7b46d3ece989c1774855d4a3b4cae5d75567a  bitcoin-core-osx-22-res.yml

  # Windows:
  21c23951c96bcbf79fa75a6b915c40c24445964cced6242f4e9181464f66ba40  bitcoin-fecb3723b63d-win-unsigned.tar.gz
  327cc290f5f709892e54cdc7bbf1745892eed497cd636c8f80d2310419e585c2  bitcoin-fecb3723b63d-win64-debug.zip
  e86a36c26897be064339cda866cb9563d08c867eceae59a677329390d729cbfe  bitcoin-fecb3723b63d-win64-setup-unsigned.exe
  844754a178b3b7ba62fc39bcc3f5e76b3903c9cd86adc26ec224ecf84d697239  bitcoin-fecb3723b63d-win64.zip
  af897573bd4f1e9acfef43af19a79e0e1c6a662cb3dc0bc8f5f6d2656c441953  src/bitcoin-fecb3723b63d.tar.gz

  # Linux:
  b6224d86755e6c609fd1cfff79f6514bdd0cf1af8689eca692352c515e6cb7dd  bitcoin-fecb3723b63d-aarch64-linux-gnu-debug.tar.gz
  371a2533f3510c7a7e7bd2a9b504accffdcdd65bcc9d6c393570e0378f470f93  bitcoin-fecb3723b63d-aarch64-linux-gnu.tar.gz
  6c171cf1168f7bc6a1f78d5662c6cd1de7dd6157559fe4f7f95d34df7e398354  bitcoin-fecb3723b63d-arm-linux-gnueabihf-debug.tar.gz
  ac455dcb33c92191eb0124c78fa356cea78c88e3976bfe8b4b9f9052458b7b24  bitcoin-fecb3723b63d-arm-linux-gnueabihf.tar.gz
  166ec0874d09b1e3d1b682ed120873b2715dee5ed13dd721443ee29784074107  bitcoin-fecb3723b63d-powerpc64-linux-gnu-debug.tar.gz
  2b32d1a761625c28ed59fdbe8463dcb89b4f583a3119c57fd6815c9882241c78  bitcoin-fecb3723b63d-powerpc64-linux-gnu.tar.gz
  b9b37f0097f39fb16c2612166ffe21a09b436feea42394935831e2cb102c532a  bitcoin-fecb3723b63d-powerpc64le-linux-gnu-debug.tar.gz
  e98fb672a5205a8d18f6ca4a39dec0c26353031c455c4e1b3917b917ce687d8d  bitcoin-fecb3723b63d-powerpc64le-linux-gnu.tar.gz
  f92b07bd155fc469a18aa34571534f2c0bf12706f381ca973bb7a51692e25754  bitcoin-fecb3723b63d-riscv64-linux-gnu-debug.tar.gz
  94321b7db0446457c372bea24d71d84d0f0181f7607bf9f96a8b773e69ee1370  bitcoin-fecb3723b63d-riscv64-linux-gnu.tar.gz
  350bc9be945e3410bf73d9631fe4bb750f9a2ee3d538d2ce3efd42b15eba926a  bitcoin-fecb3723b63d-x86_64-linux-gnu-debug.tar.gz
  74aa3745942a9d76d3db23fa0251a27bbe1ea95683a901df37333caf9c6d13ab  bitcoin-fecb3723b63d-x86_64-linux-gnu.tar.gz
  af897573bd4f1e9acfef43af19a79e0e1c6a662cb3dc0bc8f5f6d2656c441953  src/bitcoin-fecb3723b63d.tar.gz
  959c25666565646279659fccb93278875bb926b67faf685185f461bf55b4058e  bitcoin-core-linux-22-res.yml
  ```

ACKs for top commit:
  hebasto:
    ACK fecb3723b6

Tree-SHA512: 00edf084852bfab404fb32d0a726088a50283a58a240d4e03cbd746cbffbe085d309434b2c22a4ed18c28be4df6958eb51d92d4ccd7548dd0ee49f99d458ff03
2021-04-06 08:05:41 +08:00
.github doc: Remove label from good first issue template 2020-08-24 09:31:24 +02:00
.tx tx: Update transifex slug for 0.21 2020-10-01 22:19:11 +02:00
build_msvc Merge #21543: build: Enable safe warnings for msvc builds 2021-03-30 08:42:15 +08:00
build-aux/m4 build: additional PKG_CHECK_MODULES calls in bitcoin_qt.m4 2021-04-03 15:27:04 +08:00
ci ci: Bump Android cross-build to Ubuntu Focal 2021-03-28 20:05:46 +02:00
contrib Merge #21375: guix: Misc feedback-based fixes + hier restructuring 2021-04-06 01:00:27 +02:00
depends Merge #21375: guix: Misc feedback-based fixes + hier restructuring 2021-04-06 01:00:27 +02:00
doc doc: Merge release notes 2021-03-29 15:57:14 +02:00
share Merge bitcoin-core/gui#154: qt: Support macOS Dark mode 2021-03-29 11:17:19 +02:00
src Merge #21302: wallet: createwallet examples for descriptor wallets 2021-04-05 15:31:41 +02:00
test test: Document why no symbol names can be used for suppressions 2021-04-05 16:23:13 +02:00
.appveyor.yml Update vcpkg checkout commit. 2021-03-15 17:18:42 +00:00
.cirrus.yml Merge #21542: ci: Bump macOS VM image to the latest version 2021-03-31 13:10:20 +08:00
.editorconfig Add EditorConfig file. 2021-02-10 08:00:06 +01:00
.fuzzbuzz.yml ci: remove boost thread installation 2021-02-02 12:38:22 +08:00
.gitattributes
.gitignore Make .gitignore ignore src/test/fuzz/fuzz.exe 2021-03-02 16:16:24 +02:00
.python-version Bump minimum python version to 3.6 2020-11-09 17:53:47 +10:00
.style.yapf test: .style.yapf: Set column_limit=160 2019-03-04 18:28:13 -05:00
autogen.sh scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
configure.ac build: check if -lsocket is required with *ifaddrs 2021-03-29 11:09:40 +08:00
CONTRIBUTING.md doc: Clarify that squashing should happen before review 2021-02-22 09:53:01 +01:00
COPYING doc: Update license year range to 2021 2020-12-30 16:24:47 +01:00
INSTALL.md Update INSTALL landing redirection notice for build instructions. 2016-10-06 12:27:23 +13:00
libbitcoinconsensus.pc.in build: remove libcrypto as internal dependency in libbitcoinconsensus.pc 2019-11-19 15:03:44 +01:00
Makefile.am build: Make Windows-specific targets available for Windows builds only 2021-03-18 20:58:13 +02:00
README.md doc: Rework internal and external links 2021-02-17 09:18:46 +01:00
REVIEWERS doc: rename CODEOWNERS to REVIEWERS 2020-11-30 13:53:50 -05:00
SECURITY.md doc: Remove explicit mention of version from SECURITY.md 2019-06-14 06:39:17 -04:00

Bitcoin Core integration/staging tree

https://bitcoincore.org

For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.

Further information about Bitcoin Core is available in the doc folder.

What is Bitcoin?

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.

For more information read the original Bitcoin whitepaper.

License

Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built (see doc/build-*.md for instructions) and tested, but it is not guaranteed to be completely stable. Tags are created regularly from release branches to indicate new official, stable release versions of Bitcoin Core.

The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.

The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.