boost: Add 1.85.0 (#43788)

* boost: Add 1.85.0
* Add conflict for Boost 1.85.0 stacktrace change
This commit is contained in:
Mikael Simberg 2024-04-30 03:41:38 +02:00 committed by GitHub
parent dad266c955
commit ee6960e53e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -29,8 +29,9 @@ class Boost(Package):
license("BSL-1.0")
version("develop", branch="develop", submodules=True)
version("1.83.0", sha256="6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e")
version("1.85.0", sha256="7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617")
version("1.84.0", sha256="cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454")
version("1.83.0", sha256="6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e")
version("1.82.0", sha256="a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6")
version("1.81.0", sha256="71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa")
version("1.80.0", sha256="1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0")
@ -287,6 +288,13 @@ def libs(self):
# (https://github.com/spack/spack/pull/32879#issuecomment-1265933265)
conflicts("%oneapi", when="@1.80")
# Boost 1.85.0 stacktrace added a hard compilation error that has to
# explicitly be suppressed on some platforms:
# https://github.com/boostorg/stacktrace/pull/150. This conflict could be
# turned into a variant that allows users to opt-in when they know it is
# safe to do so on affected platforms.
conflicts("+clanglibcpp", when="@1.85: +stacktrace")
# Patch fix from https://svn.boost.org/trac/boost/ticket/11856
patch("boost_11856.patch", when="@1.60.0%gcc@4.4.7")
@ -636,6 +644,13 @@ def determine_b2_options(self, spec, options):
if spec.variants["cxxstd"].value == "11":
cxxflags.append("-std=c++11")
# See conflict above and
# https://github.com/boostorg/stacktrace/pull/150. This suppresses a
# compilation error that must be explicitly suppressed. Because of the
# conflict we can suppress the error without input from a user.
if spec.satisfies("@1.85: +stacktrace"):
cxxflags.append("-DBOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK")
if cxxflags:
options.append('cxxflags="{0}"'.format(" ".join(cxxflags)))