diff --git a/var/spack/repos/builtin/packages/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py index 4035728e2e2d40..4886c1dd853644 100644 --- a/var/spack/repos/builtin/packages/cairo/package.py +++ b/var/spack/repos/builtin/packages/cairo/package.py @@ -84,6 +84,7 @@ def configure_args(self): args.extend(self.enable_or_disable("gobject")) args.extend(self.enable_or_disable("ft")) args.extend(self.enable_or_disable("fc")) + args.append("--disable-dependency-tracking") return args diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py index 39f806486bf52a..301c188d891126 100644 --- a/var/spack/repos/builtin/packages/libunwind/package.py +++ b/var/spack/repos/builtin/packages/libunwind/package.py @@ -88,6 +88,7 @@ class Libunwind(AutotoolsPackage): depends_on("zlib", type="link", when="+zlib") conflicts("platform=darwin", msg="Non-GNU libunwind needs ELF libraries Darwin does not have") + conflicts("%gcc@:4.9", when="@1.6:", msg="libunwind >=1.6 requires stdatomic.h") provides("unwind") diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py index c136614f5f4548..08fee6963f8275 100644 --- a/var/spack/repos/builtin/packages/perl/package.py +++ b/var/spack/repos/builtin/packages/perl/package.py @@ -137,6 +137,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package variant("shared", default=True, description="Build a shared libperl.so library") variant("threads", default=True, description="Build perl with threads support") variant("open", default=True, description="Support open.pm") + variant("opcode", default=True, description="Support Opcode.pm") resource( name="cpanm", @@ -200,6 +201,10 @@ def determine_variants(cls, exes, version): fail_on_error=False, ) variants += "+open" if perl.returncode == 0 else "~open" + # this is just to detect incomplete installs + # normally perl installs Opcode.pm + perl("-e", "use Opcode", output=os.devnull, error=os.devnull, fail_on_error=False) + variants += "+opcode" if perl.returncode == 0 else "~opcode" return variants # On a lustre filesystem, patch may fail when files diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py index baee7139bb1c24..b2b71b94f841e2 100644 --- a/var/spack/repos/builtin/packages/postgresql/package.py +++ b/var/spack/repos/builtin/packages/postgresql/package.py @@ -58,7 +58,7 @@ class Postgresql(AutotoolsPackage): depends_on("libedit", when="lineedit=libedit") depends_on("openssl") depends_on("tcl", when="+tcl") - depends_on("perl", when="+perl") + depends_on("perl+opcode", when="+perl") depends_on("python", when="+python") depends_on("libxml2", when="+xml") diff --git a/var/spack/repos/builtin/packages/range-v3/package.py b/var/spack/repos/builtin/packages/range-v3/package.py index be0e6004a00b94..14e8e5592b5d0b 100644 --- a/var/spack/repos/builtin/packages/range-v3/package.py +++ b/var/spack/repos/builtin/packages/range-v3/package.py @@ -7,7 +7,6 @@ import shutil from spack.package import * -from spack.pkg.builtin.boost import Boost class RangeV3(CMakePackage): @@ -67,13 +66,16 @@ class RangeV3(CMakePackage): depends_on("cmake@3.6:", type="build") depends_on("doxygen+graphviz", type="build", when="+doc") - depends_on("boost@1.59.0: cxxstd=14", type="build", when="+examples cxxstd=14") - depends_on("boost@1.59.0: cxxstd=17", type="build", when="+examples cxxstd=17") - - # TODO: replace this with an explicit list of components of Boost, - # for instance depends_on('boost +filesystem') - # See https://github.com/spack/spack/pull/22303 for reference - depends_on(Boost.with_default_variants, type="build") + depends_on( + "boost+date_time+program_options@1.59.0: cxxstd=14", + type="build", + when="+examples cxxstd=14", + ) + depends_on( + "boost+date_time+program_options@1.59.0: cxxstd=17", + type="build", + when="+examples cxxstd=17", + ) # Fix reported upstream issue # https://github.com/ericniebler/range-v3/issues/1196 per PR