Compare commits
3 Commits
develop-20
...
features/r
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cc0e533c0 | ||
|
|
7a8eaa1657 | ||
|
|
d8baa193b3 |
@@ -136,7 +136,20 @@ def solve(parser, args):
|
||||
setup_only = set(show) == {"asp"}
|
||||
unify = spack.config.get("concretizer:unify")
|
||||
allow_deprecated = spack.config.get("config:deprecated", False)
|
||||
if unify == "when_possible":
|
||||
if unify != "when_possible":
|
||||
# set up solver parameters
|
||||
# Note: reuse and other concretizer prefs are passed as configuration
|
||||
result = solver.solve(
|
||||
specs,
|
||||
out=output,
|
||||
timers=args.timers,
|
||||
stats=args.stats,
|
||||
setup_only=setup_only,
|
||||
allow_deprecated=allow_deprecated,
|
||||
)
|
||||
if not setup_only:
|
||||
_process_result(result, show, required_format, kwargs)
|
||||
else:
|
||||
for idx, result in enumerate(
|
||||
solver.solve_in_rounds(
|
||||
specs,
|
||||
@@ -153,29 +166,3 @@ def solve(parser, args):
|
||||
print("% END ROUND {0}\n".format(idx))
|
||||
if not setup_only:
|
||||
_process_result(result, show, required_format, kwargs)
|
||||
elif unify:
|
||||
# set up solver parameters
|
||||
# Note: reuse and other concretizer prefs are passed as configuration
|
||||
result = solver.solve(
|
||||
specs,
|
||||
out=output,
|
||||
timers=args.timers,
|
||||
stats=args.stats,
|
||||
setup_only=setup_only,
|
||||
allow_deprecated=allow_deprecated,
|
||||
)
|
||||
if not setup_only:
|
||||
_process_result(result, show, required_format, kwargs)
|
||||
else:
|
||||
for spec in specs:
|
||||
print("SOLVING SPEC:", spec)
|
||||
result = solver.solve(
|
||||
[spec],
|
||||
out=output,
|
||||
timers=args.timers,
|
||||
stats=args.stats,
|
||||
setup_only=setup_only,
|
||||
allow_deprecated=allow_deprecated,
|
||||
)
|
||||
if not setup_only:
|
||||
_process_result(result, show, required_format, kwargs)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
import llnl.util.tty as tty
|
||||
from llnl.util.lang import classproperty, memoized
|
||||
|
||||
import spack
|
||||
import spack.compilers
|
||||
import spack.config
|
||||
import spack.dependency
|
||||
@@ -60,6 +61,7 @@
|
||||
from spack.util.package_hash import package_hash
|
||||
from spack.util.typing import SupportsRichComparison
|
||||
from spack.version import GitVersion, StandardVersion
|
||||
from spack.version import ver as version_from_str
|
||||
|
||||
FLAG_HANDLER_RETURN_TYPE = Tuple[
|
||||
Optional[Iterable[str]], Optional[Iterable[str]], Optional[Iterable[str]]
|
||||
@@ -731,10 +733,22 @@ class PackageBase(WindowsRPath, PackageViewMixin, metaclass=PackageMeta):
|
||||
#: TestSuite instance used to manage stand-alone tests for 1+ specs.
|
||||
test_suite: Optional[Any] = None
|
||||
|
||||
#: compatibility requirements with Spack
|
||||
#: if value is ``None``, requirements from repo are still applied
|
||||
required_spack_version = None
|
||||
|
||||
def __init__(self, spec):
|
||||
# this determines how the package should be built.
|
||||
self.spec: spack.spec.Spec = spec
|
||||
|
||||
# is this package more restrictive in compatibility than the repo is
|
||||
if self.required_spack_version:
|
||||
spack_version = version_from_str(spack.spack_version)
|
||||
required_version = version_from_str(self.required_spack_version)
|
||||
if not spack_version.satisfies(required_version):
|
||||
msg = f"Package {self.name} requires Spack version {self.required_spack_version}."
|
||||
raise PackageError(msg)
|
||||
|
||||
# Allow custom staging paths for packages
|
||||
self.path = None
|
||||
|
||||
@@ -2284,6 +2298,14 @@ def rpath_args(self):
|
||||
build_system_flags = PackageBase.build_system_flags
|
||||
|
||||
|
||||
def use_cray_compiler_names():
|
||||
"""Compiler names for builds that rely on cray compiler names."""
|
||||
os.environ["CC"] = "cc"
|
||||
os.environ["CXX"] = "CC"
|
||||
os.environ["FC"] = "ftn"
|
||||
os.environ["F77"] = "ftn"
|
||||
|
||||
|
||||
def possible_dependencies(
|
||||
*pkg_or_spec: Union[str, spack.spec.Spec, typing.Type[PackageBase]],
|
||||
transitive: bool = True,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
import llnl.util.tty as tty
|
||||
from llnl.util.filesystem import working_dir
|
||||
|
||||
import spack
|
||||
import spack.caches
|
||||
import spack.config
|
||||
import spack.error
|
||||
@@ -40,6 +41,7 @@
|
||||
import spack.spec
|
||||
import spack.tag
|
||||
import spack.tengine
|
||||
import spack.version
|
||||
import spack.util.file_cache
|
||||
import spack.util.git
|
||||
import spack.util.naming as nm
|
||||
@@ -49,6 +51,11 @@
|
||||
#: Package modules are imported as spack.pkg.<repo-namespace>.<pkg-name>
|
||||
ROOT_PYTHON_NAMESPACE = "spack.pkg"
|
||||
|
||||
_required_repo_version = "0:"
|
||||
|
||||
#: Version of the repo interface that this version of Spack is compatible with
|
||||
required_repo_version = spack.version.ver(_required_repo_version)
|
||||
|
||||
|
||||
def python_package_for_repo(namespace):
|
||||
"""Returns the full namespace of a repository, given its relative one
|
||||
@@ -951,7 +958,7 @@ def check(condition, msg):
|
||||
self.config_file = os.path.join(self.root, repo_config_name)
|
||||
check(os.path.isfile(self.config_file), f"No {repo_config_name} found in '{root}'")
|
||||
|
||||
# Read configuration and validate namespace
|
||||
# Read configuration and validate
|
||||
config = self._read_config()
|
||||
check(
|
||||
"namespace" in config,
|
||||
@@ -965,6 +972,19 @@ def check(condition, msg):
|
||||
"Namespaces must be valid python identifiers separated by '.'",
|
||||
)
|
||||
|
||||
required_version = spack.version.ver(config.get("required_spack_version", ":"))
|
||||
spack_version = spack.version.ver(spack.spack_version)
|
||||
check(
|
||||
spack_version.satisfies(required_version),
|
||||
f"Repo {self.namespace} requires Spack version {required_version}",
|
||||
)
|
||||
|
||||
repo_version = spack.version.ver(config.get("version", "0"))
|
||||
check(
|
||||
repo_version.satisfies(required_repo_version),
|
||||
f"Spack requires repo version {required_repo_version}",
|
||||
)
|
||||
|
||||
# Set up 'full_namespace' to include the super-namespace
|
||||
self.full_namespace = python_package_for_repo(self.namespace)
|
||||
|
||||
|
||||
@@ -38,6 +38,27 @@ def extra_repo(tmp_path_factory, request):
|
||||
return spack.repo.Repo(str(repo_dir), cache=repo_cache), request.param
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def versioned_repo(tmp_path_factory, request):
|
||||
def _execute(spack_version, repo_version):
|
||||
repo_namespace = "extra_test_repo"
|
||||
repo_dir = tmp_path_factory.mktemp(repo_namespace)
|
||||
cache_dir = tmp_path_factory.mktemp("cache")
|
||||
(repo_dir / "packages").mkdir(parents=True, exist_ok=True)
|
||||
(repo_dir / "repo.yaml").write_text(
|
||||
f"""
|
||||
repo:
|
||||
namespace: extra_test_repo
|
||||
required_spack_version: '{spack_version}'
|
||||
version: '{repo_version}'
|
||||
"""
|
||||
)
|
||||
repo_cache = spack.util.file_cache.FileCache(str(cache_dir))
|
||||
return spack.repo.Repo(str(repo_dir), cache=repo_cache)
|
||||
|
||||
return _execute
|
||||
|
||||
|
||||
def test_repo_getpkg(mutable_mock_repo):
|
||||
mutable_mock_repo.get_pkg_class("pkg-a")
|
||||
mutable_mock_repo.get_pkg_class("builtin.mock.pkg-a")
|
||||
@@ -303,3 +324,24 @@ def test_get_repo(self, mock_test_cache):
|
||||
# foo is not there, raise
|
||||
with pytest.raises(spack.repo.UnknownNamespaceError):
|
||||
repo.get_repo("foo")
|
||||
|
||||
|
||||
def test_incompatible_repo(versioned_repo):
|
||||
with pytest.raises(spack.repo.BadRepoError, match="requires Spack version"):
|
||||
# test added after Spack passed version 0.22
|
||||
versioned_repo(":0.22", ":")
|
||||
|
||||
with pytest.raises(spack.repo.BadRepoError, match="requires repo version"):
|
||||
# ":a" < "0", and all Spack versions require at least "0:"
|
||||
versioned_repo(":", ":a")
|
||||
|
||||
|
||||
def test_incompatible_package_version(mock_packages, monkeypatch):
|
||||
spec = spack.concretize.concretize_one("pkg-a")
|
||||
package = spack.repo.PATH.get(spec)
|
||||
|
||||
pkg_class = spec.package_class
|
||||
monkeypatch.setattr(pkg_class, "required_spack_version", ":0.22")
|
||||
|
||||
with pytest.raises(spack.error.PackageError, match="requires Spack version"):
|
||||
_ = spack.repo.PATH.get(spec)
|
||||
|
||||
@@ -36,7 +36,7 @@ bin/spack -h
|
||||
bin/spack help -a
|
||||
|
||||
# Profile and print top 20 lines for a simple call to spack spec
|
||||
spack -p --lines 20 spec mpileaks%gcc
|
||||
spack -p --lines 20 spec mpileaks%gcc ^dyninst@10.0.0 ^elfutils@0.170
|
||||
$coverage_run $(which spack) bootstrap status --dev --optional
|
||||
|
||||
# Check that we can import Spack packages directly as a first import
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
repo:
|
||||
namespace: builtin.mock
|
||||
version: 0
|
||||
required_spack_version: '0.23:1.0.0.dev0'
|
||||
|
||||
@@ -148,14 +148,6 @@ class Ascent(CMakePackage, CudaPackage):
|
||||
# https://github.com/Alpine-DAV/ascent/pull/1123
|
||||
patch("ascent-find-raja-pr1123.patch", when="@0.9.0")
|
||||
|
||||
# patch for fix typo in coord_type
|
||||
# https://github.com/Alpine-DAV/ascent/pull/1408
|
||||
patch(
|
||||
"https://github.com/Alpine-DAV/ascent/pull/1408.patch?full_index=1",
|
||||
when="@0.9.3 %oneapi@2025:",
|
||||
sha256="7de7f51e57f3d743c39ad80d8783a4eb482be1def51eb2d3f9259246c661f164",
|
||||
)
|
||||
|
||||
##########################################################################
|
||||
# package dependencies
|
||||
###########################################################################
|
||||
@@ -476,9 +468,6 @@ def hostconfig(self):
|
||||
if cflags:
|
||||
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
|
||||
cxxflags = cppflags + " ".join(spec.compiler_flags["cxxflags"])
|
||||
if spec.satisfies("%oneapi@2025:"):
|
||||
cxxflags += "-Wno-error=missing-template-arg-list-after-template-kw "
|
||||
cxxflags += "-Wno-missing-template-arg-list-after-template-kw"
|
||||
if cxxflags:
|
||||
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
|
||||
fflags = " ".join(spec.compiler_flags["fflags"])
|
||||
|
||||
@@ -92,9 +92,9 @@ def pgo_train(self):
|
||||
|
||||
# Set PGO training flags.
|
||||
generate_mods = EnvironmentModifications()
|
||||
generate_mods.append_flags("CFLAGS", f"-fprofile-generate={reports}")
|
||||
generate_mods.append_flags("CXXFLAGS", f"-fprofile-generate={reports}")
|
||||
generate_mods.append_flags("LDFLAGS", f"-fprofile-generate={reports}")
|
||||
generate_mods.append_flags("CFLAGS", "-fprofile-generate={}".format(reports))
|
||||
generate_mods.append_flags("CXXFLAGS", "-fprofile-generate={}".format(reports))
|
||||
generate_mods.append_flags("LDFLAGS", "-fprofile-generate={} --verbose".format(reports))
|
||||
|
||||
with working_dir(self.build_directory, create=True):
|
||||
cmake(*cmake_options, sources, extra_env=generate_mods)
|
||||
@@ -118,14 +118,14 @@ def pgo_train(self):
|
||||
# Clean the build dir.
|
||||
rmtree(self.build_directory, ignore_errors=True)
|
||||
|
||||
if self.spec.satisfies("%clang") or self.spec.satisfies("%apple-clang"):
|
||||
if self.spec.satisfies("%clang") or self.spec.satisfies("apple-clang"):
|
||||
# merge reports
|
||||
use_report = join_path(reports, "merged.prof")
|
||||
raw_files = glob.glob(join_path(reports, "*.profraw"))
|
||||
llvm_profdata("merge", f"--output={use_report}", *raw_files)
|
||||
use_flag = f"-fprofile-instr-use={use_report}"
|
||||
llvm_profdata("merge", "--output={}".format(use_report), *raw_files)
|
||||
use_flag = "-fprofile-instr-use={}".format(use_report)
|
||||
else:
|
||||
use_flag = f"-fprofile-use={reports}"
|
||||
use_flag = "-fprofile-use={}".format(reports)
|
||||
|
||||
# Set PGO use flags for next cmake phase.
|
||||
use_mods = EnvironmentModifications()
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From 7cea256ef1a6017e722bdfd5b7381fa90580d55a Mon Sep 17 00:00:00 2001
|
||||
From: "simit.ghane" <simit.ghane@lge.com>
|
||||
Date: Tue, 7 May 2024 14:09:03 +0530
|
||||
Subject: [PATCH] fix o_flag_munging
|
||||
|
||||
---
|
||||
cipher/Makefile.am | 2 +-
|
||||
random/Makefile.am | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cipher/Makefile.am b/cipher/Makefile.am
|
||||
index c3d642b2..04bf25e9 100644
|
||||
--- a/cipher/Makefile.am
|
||||
+++ b/cipher/Makefile.am
|
||||
@@ -153,7 +153,7 @@ gost-s-box: gost-s-box.c
|
||||
|
||||
|
||||
if ENABLE_O_FLAG_MUNGING
|
||||
-o_flag_munging = sed -e 's/-O\([2-9sgz][2-9sgz]*\)/-O1/' -e 's/-Ofast/-O1/g'
|
||||
+o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g'
|
||||
else
|
||||
o_flag_munging = cat
|
||||
endif
|
||||
diff --git a/random/Makefile.am b/random/Makefile.am
|
||||
index 0c935a05..a42e4306 100644
|
||||
--- a/random/Makefile.am
|
||||
+++ b/random/Makefile.am
|
||||
@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
|
||||
|
||||
# The rndjent module needs to be compiled without optimization. */
|
||||
if ENABLE_O_FLAG_MUNGING
|
||||
-o_flag_munging = sed -e 's/-O\([1-9sgz][1-9sgz]*\)/-O0/g' -e 's/-Ofast/-O0/g'
|
||||
+o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g'
|
||||
else
|
||||
o_flag_munging = cat
|
||||
endif
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
From 9c11f1e12a6ddbd49b5fd38c94e6a004f8da6e29 Mon Sep 17 00:00:00 2001
|
||||
From: "simit.ghane" <simit.ghane@lge.com>
|
||||
Date: Tue, 11 Jun 2024 07:22:28 +0530
|
||||
Subject: [PATCH] random:cipher: handle substitution in sed command
|
||||
|
||||
* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed
|
||||
expression.
|
||||
* random/Makefile.am (o_flag_munging): Likewise.
|
||||
--
|
||||
|
||||
It was there earlier and accidentally removed from
|
||||
Makefile.am of cipher and random
|
||||
|
||||
Signed-off-by: simit.ghane <simit.ghane@lge.com>
|
||||
[jk: add changelog to commit message]
|
||||
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
|
||||
---
|
||||
cipher/Makefile.am | 2 +-
|
||||
random/Makefile.am | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cipher/Makefile.am b/cipher/Makefile.am
|
||||
index ea9014cc..149c9f21 100644
|
||||
--- a/cipher/Makefile.am
|
||||
+++ b/cipher/Makefile.am
|
||||
@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c
|
||||
|
||||
|
||||
if ENABLE_O_FLAG_MUNGING
|
||||
-o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g'
|
||||
+o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g'
|
||||
else
|
||||
o_flag_munging = cat
|
||||
endif
|
||||
diff --git a/random/Makefile.am b/random/Makefile.am
|
||||
index c7100ef8..a42e4306 100644
|
||||
--- a/random/Makefile.am
|
||||
+++ b/random/Makefile.am
|
||||
@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
|
||||
|
||||
# The rndjent module needs to be compiled without optimization. */
|
||||
if ENABLE_O_FLAG_MUNGING
|
||||
-o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g'
|
||||
+o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g'
|
||||
else
|
||||
o_flag_munging = cat
|
||||
endif
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -17,26 +17,26 @@ class Libgcrypt(AutotoolsPackage):
|
||||
|
||||
version("1.11.0", sha256="09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c")
|
||||
version("1.10.3", sha256="8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa")
|
||||
version("1.10.2", sha256="3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03")
|
||||
version("1.10.1", sha256="ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de")
|
||||
version("1.10.0", sha256="6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81")
|
||||
|
||||
# End of life: 2024-03-31
|
||||
with default_args(deprecated=True):
|
||||
version(
|
||||
"1.10.2", sha256="3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03"
|
||||
)
|
||||
version(
|
||||
"1.10.1", sha256="ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de"
|
||||
)
|
||||
version(
|
||||
"1.10.0", sha256="6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81"
|
||||
)
|
||||
# End of life: 2024-12-31 (LTS)
|
||||
version("1.8.9", sha256="2bda4790aa5f0895d3407cf7bf6bd7727fd992f25a45a63d92fef10767fa3769")
|
||||
version("1.8.7", sha256="03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748")
|
||||
version("1.8.6", sha256="0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975")
|
||||
version("1.8.5", sha256="3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3")
|
||||
version("1.8.4", sha256="f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227")
|
||||
version("1.8.1", sha256="7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3")
|
||||
version("1.9.4", sha256="ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7")
|
||||
version("1.9.3", sha256="97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd")
|
||||
version("1.9.2", sha256="b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a")
|
||||
version("1.9.1", sha256="c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9")
|
||||
|
||||
depends_on("c", type="build")
|
||||
# End of life: 2024-12-31 (LTS)
|
||||
version("1.8.9", sha256="2bda4790aa5f0895d3407cf7bf6bd7727fd992f25a45a63d92fef10767fa3769")
|
||||
version("1.8.7", sha256="03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748")
|
||||
version("1.8.6", sha256="0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975")
|
||||
version("1.8.5", sha256="3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3")
|
||||
version("1.8.4", sha256="f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227")
|
||||
version("1.8.1", sha256="7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3")
|
||||
|
||||
depends_on("c", type="build") # generated
|
||||
|
||||
depends_on("libgpg-error@1.25:")
|
||||
depends_on("libgpg-error@1.27:", when="@1.9:")
|
||||
@@ -58,9 +58,6 @@ def flag_handler(self, name, flags):
|
||||
# https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=b42116d6067a5233f72e5598032d4b396bb8eaac
|
||||
patch("conditional_avx512.patch", when="@1.11.0")
|
||||
|
||||
patch("o_flag_munging-1.10.patch", when="@1.10")
|
||||
patch("o_flag_munging-1.11.patch", when="@1.11")
|
||||
|
||||
def check(self):
|
||||
# Without this hack, `make check` fails on macOS when SIP is enabled
|
||||
# https://bugs.gnupg.org/gnupg/issue2056
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
diff -ruN spack-src/src/config/makefile.h spack-src-patched/src/config/makefile.h
|
||||
--- spack-src/src/config/makefile.h 2024-08-28 02:30:22.000000000 +0000
|
||||
+++ spack-src-patched/src/config/makefile.h 2025-02-07 16:03:07.315882016 +0000
|
||||
@@ -2364,15 +2364,14 @@
|
||||
_GOTAVX2 := $(shell cat /proc/cpuinfo | grep fma | tail -n 1 | awk ' /fma/ {print "Y"}')
|
||||
_GOTAVX512F := $(shell cat /proc/cpuinfo | grep avx512f | tail -n 1 | awk ' /avx512f/ {print "Y"}')
|
||||
endif
|
||||
- _IFCE := $(shell ifort -V 2>&1 |head -1 |awk ' /64/ {print "Y";exit};')
|
||||
- _IFCV7 := $(shell ifort -v 2>&1|grep "Version "|head -n 1|awk ' /7./ {print "Y";exit}')
|
||||
- _IFCV11 := $(shell ifort -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 11) {print "Y";exit}}')
|
||||
- _IFCV12 := $(shell ifort -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 12) {print "Y";exit}}')
|
||||
- _IFCV14 := $(shell ifort -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 14) {print "Y";exit}}')
|
||||
- _IFCV15ORNEWER := $(shell ifort -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 15) {print "Y";exit}}')
|
||||
- _IFCV17 := $(shell ifort -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 17) {print "Y";exit}}')
|
||||
- _IFCV18 := $(shell ifort -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 18) {print "Y";exit}}')
|
||||
-
|
||||
+ _IFCE := $(shell $(FC) -V 2>&1 |head -1 |awk ' /64/ {print "Y";exit};')
|
||||
+ _IFCV7 := $(shell $(FC) -v 2>&1|grep "Version "|head -n 1|awk ' /7./ {print "Y";exit}')
|
||||
+ _IFCV11 := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 11) {print "Y";exit}}')
|
||||
+ _IFCV12 := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 12) {print "Y";exit}}')
|
||||
+ _IFCV14 := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1|sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 14) {print "Y";exit}}')
|
||||
+ _IFCV15ORNEWER := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 15) {print "Y";exit}}')
|
||||
+ _IFCV17 := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 17) {print "Y";exit}}')
|
||||
+ _IFCV18 := $(shell $(FC) -logo 2>&1|grep "Version "|head -n 1 | sed 's/.*Version \([0-9][0-9]\).*/\1/' | awk '{if ($$1 >= 18) {print "Y";exit}}')
|
||||
# Intel EM64T is required
|
||||
ifneq ($(_IFCE),Y)
|
||||
defineFCE:
|
||||
@@ -2406,7 +2405,7 @@
|
||||
# CPP=fpp -P
|
||||
#
|
||||
ifeq ($(_IFCV15ORNEWER), Y)
|
||||
- IFORTVER := $(shell ifort -v 2>&1|cut -d " " -f 3)
|
||||
+ IFORTVER := $(shell $(FC) -v 2>&1|cut -d " " -f 3)
|
||||
# ifeq ($(IFORTVER),2021.7.0)
|
||||
# $(info )
|
||||
# $(info ifort 2021.7.0 not validated)
|
||||
@@ -13,14 +13,11 @@ class Nwchem(Package):
|
||||
|
||||
homepage = "https://nwchemgit.github.io"
|
||||
url = "https://github.com/nwchemgit/nwchem/releases/download/v7.2.0-release/nwchem-7.2.0-release.revision-d0d141fd-srconly.2023-03-10.tar.bz2"
|
||||
git = "https://github.com/nwchemgit/nwchem.git"
|
||||
|
||||
tags = ["ecp", "ecp-apps"]
|
||||
|
||||
maintainers("jeffhammond")
|
||||
|
||||
version("master", branch="master")
|
||||
|
||||
version(
|
||||
"7.2.3",
|
||||
sha256="8cb4ec065215bc0316d8e01f67f1674a572f7d0f565c52e4a327975c04ddb6eb",
|
||||
@@ -72,9 +69,6 @@ class Nwchem(Package):
|
||||
"elpa", default=False, description="Enable optimised diagonalisation routines from ELPA"
|
||||
)
|
||||
|
||||
# https://github.com/nwchemgit/nwchem/pull/1034
|
||||
patch("oneapi2025.patch", when="@7.2.3 %oneapi@2025:")
|
||||
|
||||
# This patch is for the modification of the build system (e.g. compiler flags) and
|
||||
# Fortran syntax to enable the compilation with Fujitsu compilers. The modification
|
||||
# will be merged to the next release of NWChem (see https://github.com/nwchemgit/nwchem/issues/347
|
||||
|
||||
@@ -17,7 +17,6 @@ class PyMaturin(PythonPackage):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("1.8.2", sha256="e31abc70f6f93285d6e63d2f4459c079c94c259dd757370482d2d4ceb9ec1fa0")
|
||||
version("1.6.0", sha256="b955025c24c8babc808db49e0ff90db8b4b1320dcc16b14eb26132841737230d")
|
||||
version("1.5.1", sha256="3dd834ece80edb866af18cbd4635e0ecac40139c726428d5f1849ae154b26dca")
|
||||
version("1.4.0", sha256="ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790")
|
||||
@@ -43,5 +42,4 @@ class PyMaturin(PythonPackage):
|
||||
# May be an accidental dependency, remove in the future
|
||||
# https://git.alpinelinux.org/aports/commit/?id=7ad298b467403b96a6b97d050170e367f147a75f
|
||||
# https://patchwork.yoctoproject.org/project/oe-core/patch/8803dc101b641c948805cab9e5784c38f43b0e51.1702791173.git.tim.orling@konsulko.com/
|
||||
# This seems to still be an issue for others
|
||||
depends_on("bzip2")
|
||||
depends_on("bzip2", when="platform=darwin")
|
||||
|
||||
@@ -18,7 +18,6 @@ class Serialbox(CMakePackage):
|
||||
|
||||
license("BSD-2-Clause")
|
||||
|
||||
version("2.6.2", sha256="d1b4c79078e3b1d4a45b7b024eb647d21873498ac666e41a5ee8b8e13c95a7ac")
|
||||
version("2.6.1", sha256="b795ce576e8c4fd137e48e502b07b136079c595c82c660cfa2e284b0ef873342")
|
||||
version("2.6.0", sha256="9199f8637afbd7f2b3c5ba932d1c63e9e14d553a0cafe6c29107df0e04ee9fae")
|
||||
version("2.5.4", sha256="f4aee8ef284f58e6847968fe4620e222ac7019d805bbbb26c199e4b6a5094fee")
|
||||
|
||||
@@ -47,16 +47,18 @@ class Trexio(AutotoolsPackage, CMakePackage):
|
||||
depends_on("hdf5@1.8:+hl", when="@:2.3.0 +hdf5")
|
||||
depends_on("hdf5@1.8:", when="+hdf5")
|
||||
|
||||
# Append -lhdf5_hl to LIBS when hdf5 variant is activated
|
||||
# or use --without-hdf5 option otherwise.
|
||||
|
||||
|
||||
class AutotoolsBuilder(autotools.AutotoolsBuilder):
|
||||
def configure_args(self):
|
||||
config_args = []
|
||||
if "+hdf5" in self.spec:
|
||||
if self.spec.satisfies("@:2.3.0"):
|
||||
# Autotools should take care of adding the necessary flags for HDF5
|
||||
# In older versions, it is not always the case for "hdf5_hl"
|
||||
# Append -lhdf5_hl to LIBS when hdf5 variant is activated
|
||||
if self.spec("@:2.3.0"):
|
||||
config_args.append("LIBS=-lhdf5_hl")
|
||||
else:
|
||||
config.args.append("LIBS=-lhdf5")
|
||||
else:
|
||||
config_args.append("--without-hdf5")
|
||||
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
repo:
|
||||
namespace: builtin
|
||||
version: 0
|
||||
required_spack_version: '0.23:1.0.0.dev0'
|
||||
|
||||
Reference in New Issue
Block a user