nag: update the versioning scheme (#35457)
* nag: append build number to the version * nag: add version 7.1.7125 * nag: deprecate unavailable versions
This commit is contained in:
parent
3fbe5dd312
commit
d2566e3d62
@ -4,8 +4,11 @@
|
|||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
import llnl.util.lang
|
||||||
|
|
||||||
import spack.compiler
|
import spack.compiler
|
||||||
|
|
||||||
|
|
||||||
@ -32,7 +35,13 @@ class Nag(spack.compiler.Compiler):
|
|||||||
}
|
}
|
||||||
|
|
||||||
version_argument = "-V"
|
version_argument = "-V"
|
||||||
version_regex = r"NAG Fortran Compiler Release ([0-9.]+)"
|
|
||||||
|
@classmethod
|
||||||
|
@llnl.util.lang.memoized
|
||||||
|
def extract_version_from_output(cls, output):
|
||||||
|
match = re.search(r"NAG Fortran Compiler Release (\d+).(\d+)\(.*\) Build (\d+)", output)
|
||||||
|
if match:
|
||||||
|
return ".".join(match.groups())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def verbose_flag(self):
|
def verbose_flag(self):
|
||||||
|
@ -281,7 +281,7 @@ def test_oneapi_version_detection(version_str, expected_version):
|
|||||||
(
|
(
|
||||||
"NAG Fortran Compiler Release 6.0(Hibiya) Build 1037\n"
|
"NAG Fortran Compiler Release 6.0(Hibiya) Build 1037\n"
|
||||||
"Product NPL6A60NA for x86-64 Linux\n",
|
"Product NPL6A60NA for x86-64 Linux\n",
|
||||||
"6.0",
|
"6.0.1037",
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -17,10 +17,21 @@ class Nag(Package):
|
|||||||
homepage = "https://www.nag.com/nagware/np.asp"
|
homepage = "https://www.nag.com/nagware/np.asp"
|
||||||
maintainers("skosukhin")
|
maintainers("skosukhin")
|
||||||
|
|
||||||
version("7.1", sha256="18640737b232cebeb532ba36187675cdaf36d5b1fc235a780fc9e588c19a3ed2")
|
version("7.1.7125", sha256="738ed9ed943ebeb05d337cfdc603b9c88b8642b3d0cafea8d2872f36201adb37")
|
||||||
version("7.0", sha256="6d509208533d79139e5a9f879b7b93e7b58372b78d404d51f35e491ecbaa54c7")
|
version(
|
||||||
version("6.2", sha256="9b60f6ffa4f4be631079676963e74eea25e8824512e5c864eb06758b2a3cdd2d")
|
"7.1.7101",
|
||||||
version("6.1", sha256="32580e0004e6798abf1fa52f0070281b28abeb0da2387530a4cc41218e813c7c")
|
sha256="18640737b232cebeb532ba36187675cdaf36d5b1fc235a780fc9e588c19a3ed2",
|
||||||
|
url="file://{0}/npl6a71na_amd64.tgz".format(os.getcwd()),
|
||||||
|
deprecated=True,
|
||||||
|
)
|
||||||
|
version("7.0.7048", sha256="6d509208533d79139e5a9f879b7b93e7b58372b78d404d51f35e491ecbaa54c7")
|
||||||
|
version("6.2.6252", sha256="9b60f6ffa4f4be631079676963e74eea25e8824512e5c864eb06758b2a3cdd2d")
|
||||||
|
version(
|
||||||
|
"6.1.6136",
|
||||||
|
sha256="32580e0004e6798abf1fa52f0070281b28abeb0da2387530a4cc41218e813c7c",
|
||||||
|
url="file://{0}/npl6a61na_amd64.tgz".format(os.getcwd()),
|
||||||
|
deprecated=True,
|
||||||
|
)
|
||||||
|
|
||||||
# Licensing
|
# Licensing
|
||||||
license_required = True
|
license_required = True
|
||||||
@ -37,7 +48,7 @@ def url_for_version(self, version):
|
|||||||
# TODO: url and checksum are architecture dependent
|
# TODO: url and checksum are architecture dependent
|
||||||
# TODO: We currently only support x86_64
|
# TODO: We currently only support x86_64
|
||||||
url = "https://www.nag.com/downloads/impl/npl6a{0}na_amd64.tgz"
|
url = "https://www.nag.com/downloads/impl/npl6a{0}na_amd64.tgz"
|
||||||
return url.format(version.joined)
|
return url.format(version.up_to(2).joined)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
# Set installation directories
|
# Set installation directories
|
||||||
|
Loading…
Reference in New Issue
Block a user