Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions repos/spack_repo/builtin/packages/spades/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,20 @@ class Spades(CMakePackage):

root_cmakelists_dir = "src"

def setup_build_environment(self, env: EnvironmentModifications) -> None:
# id_map.hpp (binspreader project) uses uint64_t without including
# <cstdint> -- older GCC pulled it in transitively, GCC 14's
# libstdc++ does not. A static scan of the whole source tree found
# 111 files with the same pattern (relying on transitive includes
# for fixed-width int types), way too many to patch file by file
# and too easy for the build to hit a new one further along.
# Force the header into every translation unit at the compiler
# level instead.
# <cstdint> is the C++ wrapper header, not visible to the plain C
# compiler -- the equivalent for .c files is <stdint.h>.
env.append_flags("CFLAGS", "-include stdint.h")
env.append_flags("CXXFLAGS", "-include cstdint")

def cmake_args(self):
args = [self.define_from_variant("SPADES_USE_NCBISDK", "sra")]
if self.spec.satisfies("+tools"):
Expand Down
Loading