diff options
author | Kyoko Nagahashi <kyokolee4@gmail.com> | 2024-09-23 15:04:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-23 16:04:33 -0600 |
commit | 2c36a8aac3dab1d86a8cb60630e460d1db1b7f35 (patch) | |
tree | 0c6523145f673d35cd45531867c172dea8baabe3 /var | |
parent | bda94e4067f13d098c314ffed8bc59cee8ef7bda (diff) | |
download | spack-2c36a8aac3dab1d86a8cb60630e460d1db1b7f35.tar.gz spack-2c36a8aac3dab1d86a8cb60630e460d1db1b7f35.tar.bz2 spack-2c36a8aac3dab1d86a8cb60630e460d1db1b7f35.tar.xz spack-2c36a8aac3dab1d86a8cb60630e460d1db1b7f35.zip |
new package: msr-safe (#46289)
This includes a test_linux699 variant which "activates" a version
that pulls from a repository other than the official repository.
This version is required to work with Linux kernel version
6.9.9 or later. Future official `msr-safe` versions are expected
to support later Linux kernel versions.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/msr-safe/package.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/msr-safe/package.py b/var/spack/repos/builtin/packages/msr-safe/package.py new file mode 100644 index 0000000000..d0c4d44a6d --- /dev/null +++ b/var/spack/repos/builtin/packages/msr-safe/package.py @@ -0,0 +1,61 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class MsrSafe(MakefilePackage): + """msr_safe provides controlled userspace access to model-specific registers (MSRs). + It allows system administrators to give register-level read access and bit-level write + access to trusted users in production environments. This access is useful where kernel + drivers have not caught up with new processor features, or performance constraints + requires batch access across dozens or hundreds of registers.""" + + homepage = "https://github.com/LLNL/msr-safe" + url = "https://github.com/LLNL/msr-safe/archive/refs/tags/v1.7.0.tar.gz" + + maintainers("kyotsukete", "rountree") + + license("GPL-2.0-only", checked_by="kyotsukete") + + variant( + "test_linux699", + default=False, + description="This variant is for testing against Linux kernel 6.9.9", + ) + + requires("@0.0.0_linux6.9.9", when="+test_linux699") + conflicts("@0.0.0_linux6.9.9", when="~test_linux699") + + # Version 0.0.0_linux6.9.9 is based on msr-safe@1.7.0 and solves for conflicts between 1.7.0 + # and the Linux kernel version 6.9.9. + version( + "0.0.0_linux6.9.9", + sha256="2b68670eda4467eaa9ddd7340522ab2000cf9d16d083607f9c481650ea1a2fc9", + url="https://github.com/rountree/msr-safe/archive/refs/heads/linux-6.9.9-cleanup.zip", + ) + version("1.7.0", sha256="bdf4f96bde92a23dc3a98716611ebbe7d302005305adf6a368cb25da9c8a609a") + version("1.6.0", sha256="defe9d12e2cdbcb1a9aa29bb09376d4156c3dbbeb7afc33315ca4b0b6859f5bb") + version("1.5.0", sha256="e91bac281339bcb0d119a74d68a73eafb5944fd933a893e0e3209576b4c6f233") + version("1.4.0", sha256="3e5a913e73978c9ce15ec5d2bf1a4583e9e5c30e4e75da0f76d9a7a6153398c0") + version("1.3.0", sha256="718dcc78272b45ffddf520078e7e54b0b6ce272f1ef0376de009a133149982a0") + version("1.2.0", sha256="d3c2e5280f94d65866f82a36fea50562dc3eaccbcaa81438562caaf35989d8e8") + version("1.1.0", sha256="5b723e9d360e15f3ed854a84de7430b2b77be1eb1515db03c66456db43684a83") + version("1.0.2", sha256="9511d021ab6510195e8cc3b0353a0ac414ab6965a188f47fbb8581f9156a970e") + + depends_on("linux-external-modules") + + @property + def build_targets(self): + return [ + "-C", + f"{self.spec['linux-external-modules'].prefix}", + f"M={self.build_directory}", + "modules", + ] + + @property + def install_targets(self): + return [f"DESTDIR={self.prefix}", "spack-install"] |