Skip to content

alps: system-boost support for @master + fixes for released versions - #1

Draft
skilledwolf wants to merge 1152 commits into
ALPSim:developfrom
skilledwolf:alps-combined
Draft

skilledwolf wants to merge 1152 commits into
ALPSim:developfrom
skilledwolf:alps-combined

Conversation

@skilledwolf

@skilledwolf skilledwolf commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Update the alps spack recipe to support both the ALPS development branch and existing releases:

  • alps@master uses the Boost installation provided by Spack through ALPS_USE_SYSTEM_BOOST.
  • Released versions continue to build from a staged Boost source tree because they predate system-Boost support.
  • Fix MPI-disabled builds so ~mpi does not accidentally discover or link MPI.

Changes

alps@master

  • Add the master version.
  • Use Spack’s Boost libraries instead of rebuilding Boost.
  • Select Boost MPI support based on the +mpi variant.
  • Enable Boost.NumPy only for compatible Boost and NumPy combinations.

Released versions

  • Preserve the existing staged-Boost build path.
  • Add Boost 1.90.0 and constrain the dependency to the versions for which resources are available.
  • Apply the Boost compatibility patch only to released versions.

General fixes

  • Pass the correct ALPS_ENABLE_MPI CMake option.
  • Require fftw~mpi for alps~mpi, preventing MPI from entering the dependency graph indirectly.
  • Use serial HDF5 for all variants, as recommended by ALPS.
  • Declare minimum versions of CMake 3.18 and Python 3.9.
  • Remove the unused Fortran dependency.
  • Correct the package license to MIT.
  • Explicitly enable the Python bindings.
  • Pass Spack’s BLAS/LAPACK libraries to ALPS (BLAS_LIBRARY / LAPACK_LIBRARY), so ALPS’s own FindLapack.cmake no longer picks up a host MKL (MKLROOT) or Accelerate instead of the concretized provider. That probing is what crashed on oneAPI 2025 headers in [ALPS]: Issues with Spack installation ALPS#117.

Testing

Tested on macOS/aarch64 with Apple Clang 21 and Spack develop:

Spec Result
alps@master+mpi Built successfully; linked Spack Boost and MPI; import pyalps succeeded
alps@2.3.4-beta.2+mpi Built successfully with Boost 1.90 and serial HDF5; import pyalps succeeded
alps@2.3.4-beta.2+mpi ^boost@1.89.0 Built successfully; import pyalps succeeded
alps@2.3.4-beta.2~mpi Built successfully with no MPI linkage; import pyalps succeeded

The BLAS/LAPACK change (last commit) has so far been checked for concretization and cmake_args output only; the builds in the table predate it.

The system-Boost support used by @master comes from ALPSim/ALPS#84. A future tagged release based on master can use the same path, while older releases will retain the staged-Boost path.

@Ooolab

Ooolab commented Aug 14, 2026

Copy link
Copy Markdown

@egull and I were maintaining it previously. But if you could take it over, that would be great. Please go ahead with a PR to the spack repo, if @egull is okay with this.

@egull

egull commented Aug 14, 2026

Copy link
Copy Markdown

I'm definitely ok with it. The only reason we didn't do that before is because we were waiting for a release.

Growl1234 and others added 26 commits August 20, 2026 09:15
* Add optional runtime variants for pyzmq.green,ssh

* Change setuptools restriction to conflicts

* py-gevent: new vresion 26.5.0

* Fix typo in packages
Just adding the new release numbers and associated SHAs
for Kokkos and Kokkos Kernels.

Signed-off-by: Luc Berger-Vergiat <lberge@sandia.gov>
Signed-off-by: John Parent <john.parent@kitware.com>
Co-authored-by: Juan Miguel Carceller <jmcarcell@users.noreply.github.com>
* Spack no longer builds any versions of curl that support the NMake
  build system, it's just cruft now.
* CMake: +ownlibs is updated to include curl on windows. This resolves
  a cyclic dependency created by the curl change

---------

Signed-off-by: John Parent <john.parent@kitware.com>
* hadoop-xrootd: add v1.0.10

* Add a fourth component to the version

---------

Co-authored-by: Juan Miguel Carceller <jmcarcell@users.noreply.github.com>
* fastjet: support CMake build system for @3.5.0:

FastJet 3.5.0 introduced an official CMake build system. Convert
the spack package to support both AutotoolsPackage and CMakePackage,
using the builder class pattern.

- CMake is the default build system for @3.5.0:; autotools is used
  for older versions
- The 'shared' variant is kept for both build systems; ~shared
  conflicts with build_system=cmake since CMake always builds shared
- The 'cxxstd' variant is restricted to build_system=autotools; CMake
  handles the C++ standard via CMakeLists.txt (defaults to C++14)
- AutotoolsBuilder carries the existing configure_args logic, with
  an added guard for the @3.4.0:-only thread-safety variant
- CMakeBuilder maps plugins, auto-ptr, and thread-safety variants
  to the corresponding FASTJET_* CMake options

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fastjet: fix style

* fastjet: add v3.5.1

* fastjet: add git

* fastjet: avoid plugin_map with upper()

* [@spackbot] updating style on behalf of wdconinc

* fastjet: patch for fastjet-config used in downstream builds

* fastjet: patch -> diff

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
…pack#6140)

The Fedora patch just removed the true/false #define's in GCC 15+,
which is fragile, e.g.:

* On some systems, we might use GCC for the Fortran compiler but
  another compiler (e.g., Apple Clang) for C, and this patch would
  fire even if we didn't want it to.  This is currently the case in
  macOS, where glpk fails to build (unknown type name 'bool').

* Presumably, Clang will make C23 the default at some point, and then
  we'd need to adjust the "when" clause for this patch again.

The Debian patch removes the #define's, but also includes stdbool.h,
which will give us what we want regardless of the compiler.
LydDeb and others added 25 commits September 14, 2026 18:38
* spy: new package

* spy: add 3.0.0
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
…spack#5870)

* Add support for c++ 20 in rajaperf package.
* Remove logic for old compilers (intel 17, 18 and xl)
* Update cxxstd variant handling to use conditional values instead of conflic
The use case is documented here:
https://spack.readthedocs.io/en/latest/packaging_guide_creation.html#conditional-possible-values
* libwignernj: new package

* [@spackbot] updating style on behalf of RMeli

---------

Co-authored-by: RMeli <RMeli@users.noreply.github.com>
* wannier90 with CMake

* update

* update

* [@spackbot] updating style on behalf of RMeli

* Update BLA_SIZEOF_INTEGER and library definitions

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* use cmake for @4:

* update

* cleanup

* Apply suggestion from @RMeli

---------

Co-authored-by: RMeli <RMeli@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* py-mpi4jax: new version + deprecate old + remove redundant cuda aspects

---------

Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com>
* [centrifuge] add arm patch

* [centrifuge] Add arm neon patch

* [@spackbot] updating style on behalf of V-Karch

* [centrifuge] swap from patch file to PR url

* [@spackbot] updating style on behalf of V-Karch

* [centrifuge] apply suggestion for stable hash

Co-authored-by: Caetano Melone <cmelone@users.noreply.github.com>

* [centrifuge] add -fsigned-char for arm

* [@spackbot] updating style on behalf of V-Karch

* [centrifuge] fix -fsigned-char flag application

Co-authored-by: Penny Stavros <129089545+PennyS01@users.noreply.github.com>

* [@spackbot] updating style on behalf of V-Karch

---------

Co-authored-by: V-Karch <179492080+V-Karch@users.noreply.github.com>
Co-authored-by: Caetano Melone <cmelone@users.noreply.github.com>
Co-authored-by: Penny Stavros <129089545+PennyS01@users.noreply.github.com>
…ack#6373)

Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
Signed-off-by: Clinton Stimpson <cjstimp@sandia.gov>
Correctly models that `cgns` is supported on Windows
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.