LLVM OpenMP: add v16.0.0 (#36330)

This commit is contained in:
Adam J. Stewart 2023-03-22 16:25:02 -05:00 committed by GitHub
parent 68979f8740
commit f4e4d83a02
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 4 deletions

View file

@ -3,6 +3,8 @@
# #
# SPDX-License-Identifier: (Apache-2.0 OR MIT) # SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import * from spack.package import *
@ -13,23 +15,34 @@ class LlvmOpenmp(CMakePackage):
homepage = "https://openmp.llvm.org/" homepage = "https://openmp.llvm.org/"
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/openmp-14.0.6.src.tar.xz" url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/openmp-14.0.6.src.tar.xz"
version("16.0.0", sha256="e30f69c6533157ec4399193ac6b158807610815accfbed98695d72074e4bedd0")
version("14.0.6", sha256="4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f") version("14.0.6", sha256="4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f")
version("12.0.1", sha256="60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091") version("12.0.1", sha256="60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091")
version("9.0.0", sha256="9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b") version("9.0.0", sha256="9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b")
version("8.0.0", sha256="f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5") version("8.0.0", sha256="f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5")
depends_on("cmake@3.13.4:", when="@12:", type="build")
depends_on("cmake@2.8:", type="build")
variant( variant(
"multicompat", "multicompat",
default=False, default=False,
description="Support gomp and the Intel openMP runtime library.", description="Support gomp and the Intel openMP runtime library.",
) )
depends_on("cmake@3.13.4:", when="@12:", type="build")
depends_on("cmake@2.8:", type="build")
depends_on("py-lit", type="test")
depends_on("py-filecheck", type="test")
# depends_on("llvm-utils", type="test") # for "not"
resource(
name="cmake",
url="https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/cmake-16.0.0.src.tar.xz",
sha256="04e62ab7d0168688d9102680adf8eabe7b04275f333fe20eef8ab5a3a8ea9fcc",
when="@16.0.0",
)
@property @property
def root_cmakelists_dir(self): def root_cmakelists_dir(self):
if self.spec.satisfies("@14:"): if self.spec.satisfies("@14"):
return "openmp-{}.src".format(self.version) return "openmp-{}.src".format(self.version)
else: else:
return "." return "."
@ -42,6 +55,12 @@ def url_for_version(self, version):
return url.format(version) return url.format(version)
@when("@16:")
def patch(self):
src = os.path.join(self.stage.source_path, f"cmake-{self.version}.src")
dst = os.path.join(self.stage.path, "cmake")
os.rename(src, dst)
def cmake_args(self): def cmake_args(self):
# Disable LIBOMP_INSTALL_ALIASES, otherwise the library is installed as # Disable LIBOMP_INSTALL_ALIASES, otherwise the library is installed as
# libgomp alias which can conflict with GCC's libgomp. # libgomp alias which can conflict with GCC's libgomp.

View file

@ -0,0 +1,17 @@
# Copyright 2013-2023 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 PyFilecheck(PythonPackage):
"""Python port of LLVM's FileCheck, flexible pattern matching file verifier."""
pypi = "filecheck/filecheck-0.0.23.tar.gz"
version("0.0.23", sha256="1c5db511fb7b5a32e1e24736479cfe754ea27c9ae0d5b6d52c0af132c8db3e7d")
depends_on("python@3.6.2:3", type=("build", "run"))
depends_on("py-poetry-core", type="build")