-
Notifications
You must be signed in to change notification settings - Fork 1.2k
backport: merge bitcoin#30423, #27038, #31048, #31099, #31172, #31450, #31608, #31818, #29881, #32458, #32400, #32760, #33178, #33312, #33780, #33181, #34102, partial bitcoin#29023, #30454, #30509, #30510, #31105, #32922, #33489, #33445 (build backports: part 5) #6927
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
|
This pull request has conflicts, please rebase. |
, bitcoin#30584, bitcoin#31982, bitcoin#32086, bitcoin#31998, bitcoin#32505, bitcoin#32568, bitcoin#32690, bitcoin#32731, bitcoin#32716, bitcoin#32837, bitcoin#32266, bitcoin#30095, bitcoin#30137, bitcoin#33580, partial bitcoin#30454 (build backports: part 4) 8e79c7a fix: allow `dbghelp.dll` for PE targets (Kittywhiskers Van Gogh) f97d3d6 fix: skip `EXPORTED_SYMBOLS` validation on ELF targets (Kittywhiskers Van Gogh) d5dffb6 merge bitcoin#33580: Use $(package)_file_name when downloading from the fallback (Kittywhiskers Van Gogh) b7febbe merge bitcoin#30137: Remove `--enable-threadlocal` (Kittywhiskers Van Gogh) dcf67c7 merge bitcoin#30095: avoid using thread_local variable that has a destructor (Kittywhiskers Van Gogh) 4e57d1a merge bitcoin#32266: Avoid `warning: "_FORTIFY_SOURCE"` redefined for `libevent` (Kittywhiskers Van Gogh) 6e66ef8 merge bitcoin#32837: fix libevent `_WIN32_WINNT` usage (Kittywhiskers Van Gogh) 61f2a23 merge bitcoin#32716: Override host compilers for FreeBSD and OpenBSD (Kittywhiskers Van Gogh) ca52975 merge bitcoin#32731: Build `qt` package for FreeBSD hosts (Kittywhiskers Van Gogh) ee9e934 build: check against `$host` instead of `TARGET_OS` in stacktrace search (Kittywhiskers Van Gogh) 44d32a3 merge bitcoin#32690: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) (Kittywhiskers Van Gogh) 8d90c3c merge bitcoin#32568: use "mkdir -p" when installing xproto (Kittywhiskers Van Gogh) d4bc0aa merge bitcoin#32505: bump to latest config.guess and config.sub (Kittywhiskers Van Gogh) 6020cdc merge bitcoin#31998: patch around PlacementNew issue in capnp (Kittywhiskers Van Gogh) 00350a0 merge bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS (Kittywhiskers Van Gogh) c8e27a2 merge bitcoin#31982: rename libmultiprocess repository (Kittywhiskers Van Gogh) 86d0a27 merge bitcoin#30584: Make default `host` and `build` comparable (Kittywhiskers Van Gogh) e6d6d17 merge bitcoin#31840: add missing Darwin objcopy (Kittywhiskers Van Gogh) 8d887c3 merge bitcoin#31626: Use base system's `sha256sum` utility on FreeBSD (Kittywhiskers Van Gogh) b443c14 partial bitcoin#30454: Introduce CMake-based build system (Kittywhiskers Van Gogh) 67aa238 merge bitcoin#31100: remove dependency install instructions from win docs (Kittywhiskers Van Gogh) Pull request description: ## Additional Information * Dependent on #6918 * Dependency for #6927 * [dash#6966](#6966) broke Guix build post-compilation binary verification for ELF and PE binaries as * For PE binaries, with improved `libbacktrace` detection, we are now building the capability in Windows binaries and that introduces a dependency on `dbghelp.dll` ([source](https://github.com/dashpay/dash/blob/edcb9f265b63693a8e684bd22fba5555434eff62/configure.ac)) that wasn't in the `PE_ALLOWED_LIBRARIES` allowlist, it has since been added. * For ELF binaries, now that we use `-export-dynamic` for symbol preservation, the `EXPORTED_SYMBOLS` check now fails. As the diagnostic value of retaining these symbols far exceeds the file size reduction, we have opted to comment out the test entirely. ## Breaking Changes None expected. ## Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)** - [x] I have added or updated relevant unit/integration/functional/e2e tests - [x] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: re-utACK 8e79c7a Tree-SHA512: 08f904dfcbf4ece848fe805395d78b3615ff40ed5d4df3afa73576de8960ccee5c70547495aefba54cd7b01dceefe0933831640484b0996468189da265dc711b
|
This pull request has conflicts, please rebase. |
d3f9c15 to
a4a94dc
Compare
|
Guix Automation has began to build this PR tagged as v23.0.2-devpr6927.a4a94dcd. A new comment will be made when the image is pushed. |
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v23.0.2-devpr6927.a4a94dcd. The image should be on dockerhub soon. |
|
Guix Automation has began to build this PR tagged as v23.0.2-devpr6927.39a2ce91. A new comment will be made when the image is pushed. |
Checksums for 39a2ce9 |
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v23.0.2-devpr6927.39a2ce91. The image should be on dockerhub soon. |
39a2ce9 to
fa4344d
Compare
|
Guix Automation has began to build this PR tagged as v23.0.2-devpr6927.fa4344d1. A new comment will be made when the image is pushed. |
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v23.0.2-devpr6927.fa4344d1. The image should be on dockerhub soon. |
includes: - changes to `depends/packages/native_libmultiprocess.mk`
Checksums for ad5c299 |
|
Guix Automation has began to build this PR tagged as v23.0.2-devpr6927.ad5c299c. A new comment will be made when the image is pushed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@contrib/guix/manifest.scm`:
- Line 96: Revert the change to contrib/manifest.scm that sets (define base-gcc
gcc-13) — do not modify files under contrib; instead restore the original file
state (remove or undo the edited line referencing base-gcc) and, if you need to
update the toolchain reference (gcc-toolchain-13 / "static" output), open an
issue or wait for explicit approval and apply that change in an allowed location
per repo guidelines; reference the symbol base-gcc and the package
gcc-toolchain-13 when making or discussing the approved change.
♻️ Duplicate comments (2)
contrib/guix/symbol-check.py (1)
151-154: Indentation style flagged by flake8 E122.The set items lack indentation, triggering flake8 E122. However, this style appears consistent with the upstream backport source.
contrib/guix/security-check.py (1)
275-286: Remove the unusedbinary.concreteexpression on line 278.This line accesses
Binary.concretewithout using the result. Per LIEF documentation, this is merely a dynamic cast returning a reference—it has no side effects. The line serves no purpose and should be deleted.Suggested fix
binary = lief.parse(filename) etype = binary.format arch = binary.abstract.header.architecture - binary.concrete failed: List[str] = []
| (license (package-license xgcc))))) | ||
|
|
||
| (define base-gcc gcc-12) ;; 12.4.0 | ||
| (define base-gcc gcc-13) ;; 13.3.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# Check the file context around line 96, 530, and 552
cat -n contrib/guix/manifest.scm | sed -n '90,102p'Repository: dashpay/dash
Length of output: 699
🏁 Script executed:
cat -n contrib/guix/manifest.scm | sed -n '525,535p'Repository: dashpay/dash
Length of output: 347
🏁 Script executed:
cat -n contrib/guix/manifest.scm | sed -n '548,558p'Repository: dashpay/dash
Length of output: 565
🏁 Script executed:
# Check for gcc-toolchain references in the file
rg "gcc-toolchain" contrib/guix/manifest.scmRepository: dashpay/dash
Length of output: 130
🌐 Web query:
Guix gcc-toolchain-13 package static output
💡 Result:
In GNU Guix, gcc-toolchain-13 (typically gcc-toolchain@13.3.0) is a toolchain meta-package with multiple outputs, including static. The static output exists so you can install the toolchain’s static libc pieces (i.e., it unions in the libc’s static output—glibc:static in the default toolchain), which is what you need for fully-static linking against glibc. [1] [2] [3]
Practical usage:
# Inspect outputs (you should see: out, debug, static)
guix show gcc-toolchain@13.3.0
# Build / get the store path for the static output
guix build gcc-toolchain@13.3.0:static
# Install the static output into your profile
guix install gcc-toolchain@13.3.0:staticSources:
[1] https://packages.guix.gnu.org/packages/gcc-toolchain/4.8.5/
[2] https://www.linux.org.ru/forum/development/15688245
[3] https://lists.gnu.org/archive/html/help-guix/2022-04/msg00060.html
Do not modify contrib/ directory—changes to build system files in contrib, .github, depends, ci, and doc directories are prohibited unless explicitly prompted.
This file change violates the coding guidelines. Additionally, the gcc-toolchain-13 package with "static" output is available in GNU Guix, so the toolchain reference itself is sound; however, the file location constraint must be addressed.
🤖 Prompt for AI Agents
In `@contrib/guix/manifest.scm` at line 96, Revert the change to
contrib/manifest.scm that sets (define base-gcc gcc-13) — do not modify files
under contrib; instead restore the original file state (remove or undo the
edited line referencing base-gcc) and, if you need to update the toolchain
reference (gcc-toolchain-13 / "static" output), open an issue or wait for
explicit approval and apply that change in an allowed location per repo
guidelines; reference the symbol base-gcc and the package gcc-toolchain-13 when
making or discussing the approved change.
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v23.0.2-devpr6927.ad5c299c. The image should be on dockerhub soon. |
UdjinM6
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK ad5c299
Motivation
While working on adding support for Rust to our build system (see dash#7109), there were sources of conflict between our current setup and the minimums demanded by Rust and our FFI crate,
cxx. Specifically, Dash Core currently targets building for Windows 7 (source,0x601) in direct conflict with the decision by Rusts' maintainers to drop support for Windows 7 effective Rust 1.78 (source)More recent versions of Rust have issues that require additional workarounds (see
rust-lang/rust#128218) to keep support for Windows 7 around and using older versions of Rust is infeasible since bothcxxand Rust packages currently under evaluation for integration with Dash Core require Rust 1.82+.Additionally, non-conformant definitions in the macOS SDK cause issues when attempting to build crates with FFI definitions (see
dtolnay/cxx#1574) which is resolved by an additional SDK bump that is not in the scope of this PR as it is above the SDK version used upstream but does give cause to also consider a macOS target version bump, which is done by upstream.Additional Information
Dependent on backport: merge bitcoin#31100, #31626, #31840, #30584, #31982, #32086, #31998, #32505, #32568, #32690, #32731, #32716, #32837, #32266, #30095, #30137, #33580, partial bitcoin#30454 (build backports: part 4) #6919
Dependency for build: target aarch64 over armv7, add rudimentary support for Rust components in build system, update to macOS SDK 15.2 (from Xcode 16.0) #7109
macOS 11 (Big Sur) had its support period elapse ~2 years ago (source). macOS 14 (Sonoma) is the lowest version of macOS still receiving support from Apple and the new minimum version elected by upstream.
Windows 7 had its extended support period elapse ~5 years ago (source) with the second lowest version, Windows 8.1, had its extended support period elapse ~2 years ago (source).
Breaking Changes
Dash Core binaries will now target Windows 10 and macOS 14 (Sonoma), replacing the previous target Windows 7 and macOS 11 (Big Sur).
Checklist