Skip to content

build(spack): switch supported packages to cxxstd=23 - #503

Open
wdconinc wants to merge 4 commits into
masterfrom
cxxstd-23
Open

wdconinc wants to merge 4 commits into
masterfrom
cxxstd-23

Conversation

@wdconinc

@wdconinc wdconinc commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Briefly, what does this PR introduce? Please link to any relevant presentations or discussions.

This PR bumps the C++ standard where possible to 23. There are a few interlinked dependency trees that change in lock step due to their inclusion of headers. Upcoming changes that we want to prepare for:

  • podio will make C++20 deprecated soon,
  • acts will require C++23 in the next release.

Motivation is also the availability of some generic algorithms on containers that would be useful to take advantage of. In particular, iteration over two coordinated containers (e.g. hits and links) using zip becomes available for use in EICrecon.

What is the urgency of this PR?

  • High (please describe reason below)
  • Medium
  • Low

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue: C++23 features)
  • Optimization (issue #__)
  • Updated documentation
  • other: __

Please check if any of the following apply

  • This PR introduces breaking changes. Please describe changes users need to make below.
  • This PR changes default behavior. Please describe changes below.
  • AI was used in preparing this PR. Please describe usage below.

AI propagated the changes.

Copilot AI balanced review requested due to automatic review settings November 10, 2026 20:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Copilot was unable to complete this review at the selected tier due to model policy or plan restrictions.

🟡 Changes recommended

The change has an active documentation issue: the packages.yaml example in docs/spack-environment.md is out of sync with the actual spack-environment/packages.yaml, making the updated guidance misleading until corrected.

1 open issue
What changed in this PR

Updates the Spack environment configuration to prefer/build key packages with C++23, aligning the software stack with upcoming upstream requirements.

Changes:

  • Bump cxxstd constraints to 23 for multiple packages in spack-environment/packages.yaml, while retaining documented exceptions where C++23 is not yet supported.
  • Update the Spack environment documentation example to reflect the newer ROOT version and cxxstd=23 usage.
File Description
spack-environment/​packages.yaml Raises per-package Spack cxxstd requirements to 23 for several core dependencies and documents exceptions that remain on C++20.
docs/​spack-environment.md Updates the documentation’s example packages.yaml snippet to reflect the current ROOT version and cxxstd=23 settings.

Review effort: Balanced

Comment thread docs/spack-environment.md Resolved
@wdconinc
wdconinc enabled auto-merge (squash) November 11, 2026 01:14

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants