guix: build with `_GLIBCXX_USE_DEPRECATED=0` #36269

pull fanquake wants to merge 4 commits into bitcoin:master from fanquake:gcc_no_deprecated changing 7 files +214 −6
  1. fanquake commented at 10:22 AM on September 16, 2026: member

    _GLIBCXX_USE_DEPRECATED is defined by default, disable it, which saves a few bytes worth of debug symbols.

    Defined to the value 1 by default. Not configurable. ABI-changing. Turning this off removes older ARM-style iostreams code, and other anachronisms from the API. This macro is dependent on the version of the standard being tracked, and as a result may give different results for different -std options.

    See: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html.

    Based on #36082.

  2. guix: expose time-machine metadata
    Make the pinned repository and commit available to callers that source the
    Guix prelude.
    
    A Bitcoin Core-specific substitute server only needs to build the
    packages in the guix closure at a specific time machine commit. It does
    not need to build the bitcoin core binary applications.
    
    To facilitate extracting the time-machine commit, export it as a
    variable, so substitute builders (and anybody else) can re-use it by
    sourcing the prelude, instead of requiring error-prone command string parsing.
    a0f5af02b9
  3. ci: add Guix build job
    Run the single-host Guix build on pull requests and master pushes.
    
    Use the Guix installer with a cached, verified bootstrap and retain
    time-machine and depends caches to avoid repeated downloads and builds.
    8392aa8c97
  4. ci: test Guix codesign environments
    The regular Guix builds do not evaluate the codesign manifest, so missing
    imports and broken signing dependencies can go unnoticed until signing.
    
    Realize each signing target's environment before its main build to catch
    these failures without requiring signatures or signing keys.
    272cef2c34
  5. guix: build with _GLIBCXX_USE_DEPRECATED=0
    _GLIBCXX_USE_DEPRECATED is defined by default, disable it, which saves a
    few bytes worth of debug symbols.
    
    > Defined to the value 1 by default. Not configurable. ABI-changing.
    > Turning this off removes older ARM-style iostreams code, and other
    > anachronisms from the API. This macro is dependent on the version of
    > the standard being tracked, and as a result may give different results
    > for different -std options.
    
    See: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html.
    95093b7a44
  6. DrahtBot added the label Build system on Sep 16, 2026
  7. DrahtBot commented at 10:23 AM on September 16, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/36269.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #36233 (guix: Update time-machine to 60f6956aeffa7f30285745bd0ea615e9acfc74f8 by hebasto)
    • #35855 (guix: update time-machine by fanquake)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-23 00:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me