Merge bitcoin/bitcoin#24516: build, ci: Fix MSVC builds and other improvements

c3296b21e4 build: Drop `double-conversion` from MSVC dependencies (Hennadii Stepanov)
7ff43e5372 ci: Invalidate vcpkg binary cache if dependencies changed (Hennadii Stepanov)
20b6c87117 build: Specify `zeromq` port explicitly for MSVC builds (Hennadii Stepanov)

Pull request description:

  The current MSVC builds are broken due to the bug in the `zeromq` [port](https://github.com/microsoft/vcpkg/pull/22681#issuecomment-1061312320). From [IRC](https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2022-03-08#787145):

  > \<sipsorcery> Looks like it's a problem downloading the zeromq dependency from https://patch-diff.githubusercontent.com/raw/zeromq/libzmq/pull/4311.diff
  > \<dhruv> sipsorcery: I'm definitely misunderstanding, i actually have no clue which file the CI is failing to download. I'll DM you more details.
  > \<sipsorcery> It's saying the hash of the patch file has changed.
  > \<dhruv> so we'd need to verify that the change is not malicious and then commit the new hash?
  > \<sipsorcery> No that dependency is managed by the vcpkg repo. Seems they might be working on it https://github.com/microsoft/vcpkg/pull/22681#issuecomment-1061312320
  > \<dhruv> ok, thanks

  This PR fixes this issue with specifying the previous port version [explicitly](https://github.com/microsoft/vcpkg/blob/master/docs/users/versioning.md).

  The current CI task does not fail due to the cached binaries.

  ---

  The second commit makes vcpkg binary cache invalid if dependencies changed.

  The third commit drops `double-conversion` from dependencies as Qt is configured as follows:
  ```
  Configure summary:

  Build type: win32-msvc (x86_64, CPU features: sse sse2)
  Compiler: msvc 193131104
  Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples f16c largefile msvc_mp precompile_header rdrnd rdseed shani silent x86SimdAlways release c++11 c++14 c++17 c++1z concurrent no-pkg-config static static_runtime stl
  Build options:
  ...
  Qt Core:
    DoubleConversion ....................... yes
      Using system DoubleConversion ........ no
  ...
  ```

ACKs for top commit:
  sipsorcery:
    tACK c3296b21e4.

Tree-SHA512: 4d694a7d0930889a53eb6ee7a09929f6ffa3f078122b34abe6d75430769bb87c353f7c11146da53c3804e51d4bbfcbb7bc8453f525bcc432928d98eeb66ee35e
This commit is contained in:
MarcoFalke 2022-03-10 11:19:41 +01:00
commit 05957a888d
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548
2 changed files with 9 additions and 1 deletions

View File

@ -130,6 +130,7 @@ task:
reupload_on_changes: true
fingerprint_script:
- echo %CI_VCPKG_TAG%
- type build_msvc\vcpkg.json
- msbuild -version
populate_script:
- mkdir %VCPKG_DEFAULT_BINARY_CACHE%

View File

@ -8,11 +8,18 @@
"boost-signals2",
"boost-test",
"sqlite3",
"double-conversion",
{
"name": "libevent",
"features": ["thread"]
},
"zeromq"
],
"builtin-baseline": "b86c0c35b88e2bf3557ff49dc831689c2f085090",
"overrides": [
{
"name": "zeromq",
"version": "4.3.4",
"port-version": 3
}
]
}