Compare commits

...

11 Commits

Author SHA1 Message Date
Jaelyn Litzinger
88e738c343 Allow exago to use hiop@develop past v1.0.1 (#41384) 2023-12-02 14:06:22 -06:00
Cameron Rutherford
8bbc2e2ade resolve: add package with cuda and rocm support (#40871) 2023-12-01 20:49:11 -06:00
Julien Cortial
1509e54435 Add MUMPS versions 5.6.0, 5.6.1 and 5.6.2 (#41386)
The patch for version 5.5.x still applies to 5.6.x.
2023-12-01 18:48:00 -07:00
Dom Heinzeller
ca164d6619 Fix curl install using Intel compilers (#41380)
When using Intel to build curl, add 'CFLAGS=-we147' to the configure
args to fix error 'compiler does not halt on function prototype
mismatch'
2023-12-01 17:24:05 -07:00
Felix Werner
a632576231 Add XCDF. (#41379) 2023-12-01 14:56:18 -08:00
Felix Werner
70b16cfb59 Add PhotoSpline. (#41374) 2023-12-01 14:44:53 -08:00
Brian Vanderwende
1d89d4dc13 MET fixes for 11.1 and HDF4 support (#41372)
* MET fixes for 11.1 and HDF4 support
* Fix zlib reference in MET
2023-12-01 14:42:36 -08:00
Dewi
bc8a0f56ed removed cmake build version pointing to fork (#41368) 2023-12-01 14:39:45 -08:00
Jack Morrison
4e09396f8a Libfabric: Introduce OPX provider conflict for v1.20.0 (#41343)
* Libfabric: Introduce OPX provider conflict for v1.20.0
* Add message to libfabric 1.20.0 opx provider conflict
2023-12-01 14:35:54 -08:00
Weiqun Zhang
0d488c6e4f amrex: add v23.12 (#41385) 2023-12-01 22:45:58 +01:00
Erik Heeren
50e76bc3d3 py-pyglet: version bump (#41082)
* py-pyglet: version bump

* py-pyglet: use zip instead of whl, update dependencies

* py-pyglet: 2.0.9 and 2.0.10 zips should be downloaded from github

* py-pyglet: style

* py-pyglet: use virtual packages in dependencies

Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>

* py-pyglet: doesn't depend on py-future any more

* py-pyglet: remove glx dependency

* py-pyglet: back to the pypi zipfiles with patch instead

---------

Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>
2023-12-01 21:44:30 +01:00
12 changed files with 171 additions and 8 deletions

View File

@@ -18,7 +18,6 @@ class Amg2023(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/AMG2023.git"
version("develop", branch="main")
version("cmake-build", git="https://github.com/dyokelson/AMG2023.git", branch="cmake")
variant("mpi", default=True, description="Enable MPI support")
variant("openmp", default=False, description="Enable OpenMP support")

View File

@@ -24,6 +24,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
maintainers("WeiqunZhang", "asalmgren", "atmyers")
version("develop", branch="development")
version("23.12", sha256="90e00410833d7a82bf6d9e71a70ce85d2bfb89770da7e34d0dda940f2bf5384a")
version("23.11", sha256="49b9fea10cd2a2b6cb0fedf7eac8f7889eacc68a05ae5ac7c5702bc0eb1b3848")
version("23.10", sha256="3c85aa0ad5f96303e797960a6e0aa37c427f6483f39cdd61dbc2f7ca16357714")
version("23.09", sha256="1a539c2628041b17ad910afd9270332060251c8e346b1482764fdb87a4f25053")

View File

@@ -345,6 +345,12 @@ def determine_variants(cls, exes, version):
def command(self):
return Executable(self.prefix.bin.join("curl-config"))
def flag_handler(self, name, flags):
build_system_flags = []
if name == "cflags" and self.spec.compiler.name in ["intel", "oneapi"]:
build_system_flags = ["-we147"]
return flags, None, build_system_flags
class AutotoolsBuilder(AutotoolsBuilder):
def configure_args(self):

View File

@@ -140,7 +140,8 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hiop@0.3.99:", when="@0.99:+hiop")
depends_on("hiop@0.5.1:", when="@1.1.0:+hiop")
depends_on("hiop@0.5.3:", when="@1.3.0:+hiop")
depends_on("hiop@0.7.0:1.0.0", when="@1.5.0:+hiop")
depends_on("hiop@0.7.0:1.0.0", when="@1.5.0:1.6.0+hiop")
depends_on("hiop@1.0.1:", when="@develop:+hiop")
depends_on("hiop~mpi", when="+hiop~mpi")
depends_on("hiop+mpi", when="+hiop+mpi")
@@ -160,7 +161,7 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("petsc@3.13:3.14", when="@:1.2")
depends_on("petsc@3.16", when="@1.3:1.4")
depends_on("petsc@3.18:3.19", when="@1.5")
depends_on("petsc@3.20:", when="@1.6:")
depends_on("petsc@3.19:", when="@1.6:")
depends_on("petsc~mpi", when="~mpi")

View File

@@ -125,6 +125,12 @@ class Libfabric(AutotoolsPackage):
conflicts("@1.9.0", when="platform=darwin", msg="This distribution is missing critical files")
conflicts("fabrics=opx", when="@:1.14.99")
conflicts(
"fabrics=opx",
when="@1.20.0",
msg="Libfabric 1.20.0 uses values in memory that are not correctly "
"set by OPX, resulting in undefined behavior.",
)
flag_handler = build_system_flags

View File

@@ -106,7 +106,7 @@ def setup_build_environment(self, env):
ldflags.append(nc_config("--libs", "--static", output=str).strip())
libs.append(nc_config("--libs", "--static", output=str).strip())
zlib = spec["zlib"]
zlib = spec["zlib-api"]
cppflags.append("-D__64BIT__")
ldflags.append("-L" + zlib.prefix.lib)
libs.append("-lz")
@@ -128,6 +128,7 @@ def setup_build_environment(self, env):
if "+python" in spec:
python = spec["python"]
env.set("MET_PYTHON", python.command.path)
env.set("MET_PYTHON_BIN_EXE", python.command.path)
env.set("MET_PYTHON_CC", "-I" + python.headers.directories[0])
py_ld = [python.libs.ld_flags]
if spec["python"].satisfies("~shared"):
@@ -143,6 +144,11 @@ def setup_build_environment(self, env):
env.set("MET_HDF5", hdf.prefix)
env.set("MET_HDFEOS", hdfeos.prefix)
if "+szip" in hdf:
libs.append(" ".join(hdf["szip"].libs))
if "+external-xdr" in hdf:
libs.append(" ".join(hdf["rpc"].libs))
if "+graphics" in spec:
cairo = spec["cairo"]
freetype = spec["freetype"]

View File

@@ -18,6 +18,9 @@ class Mumps(Package):
maintainers("jcortial-safran")
version("5.6.2", sha256="13a2c1aff2bd1aa92fe84b7b35d88f43434019963ca09ef7e8c90821a8f1d59a")
version("5.6.1", sha256="1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896")
version("5.6.0", sha256="3e08c1bdea7aaaba303d3cf03059f3b4336fa49bef93f4260f478f067f518289")
version("5.5.1", sha256="1abff294fa47ee4cfd50dfd5c595942b72ebfcedce08142a75a99ab35014fa15")
version("5.5.0", sha256="e54d17c5e42a36c40607a03279e0704d239d71d38503aab68ef3bfe0a9a79c13")
version("5.4.1", sha256="93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8")

View File

@@ -0,0 +1,28 @@
# 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 Photospline(CMakePackage):
"""Library for interpolating multi-dimensional detector response histograms."""
homepage = "https://github.com/icecube/photospline"
url = "https://github.com/icecube/photospline/archive/refs/tags/v2.2.1.tar.gz"
license("BSD-2-Clause")
version("2.2.1", sha256="2b455daf8736d24bf57cae9eb67d48463a6c4bd6a66c3ffacf52296454bb82ad")
version("2.2.0", sha256="81f79b42fd63e12c13cc369fb5c6ef356389f7c7aaa10a584aae2e22dba79ccf")
version("2.1.1", sha256="0a0dae8e1b994a35be23896982bd572fa97c617ad55a99b3da34782ad9435de8")
version("2.1.0", sha256="bd6c58df8893917909b79ef2510a2043f909fbb7020bdace328d4d36e0222b60")
version("2.0.7", sha256="59a3607c4aa036c55bcd233e8a0ec11575bd74173f3b4095cc6a77aa50baebcd")
version("2.0.6", sha256="2f87c377e548f5fb44f8090c7559b2895f463a395b40a3276a04db44f39b1a4d")
version("2.0.5", sha256="7e2679fac733fb4d881ff9d16fc99348a62b421811f256641f2449b98a6fb041")
version("2.0.4", sha256="0a675ffe27e1d99fe482cdd7692320d6852c11c9a63de7e710ba075989e0bfb5")
version("2.0.3", sha256="7045a631c41489085037b05fac98fd9cad73dc4262b7eead143d09e5f8265dec")
version("2.0.2", sha256="0a3368205a7971a6919483ad5b5f0fbebb74614ec1891c95bb6a4fc9d3b950d4")
depends_on("cfitsio")

View File

@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
@@ -11,12 +13,30 @@ class PyPyglet(PythonPackage):
for developing games and other visually rich applications.
"""
homepage = "https://github.com/pyglet/pygle://github.com/pyglet/pyglet"
pypi = "pyglet/pyglet-1.4.2.tar.gz"
homepage = "https://github.com/pyglet/pyglet"
pypi = "pyglet/pyglet-2.0.9.zip"
version("2.0.10", sha256="242beb1b3bd67c5bebdfe5ba11ec56b696ad86b50c6e7f2a317f8d783256b9c9")
version("2.0.9", sha256="a0922e42f2d258505678e2f4a355c5476c1a6352c3f3a37754042ddb7e7cf72f")
version("1.4.2", sha256="fda25ae5e99057f05bd339ea7972196d2f44e6fe8fb210951ab01f6609cdbdb7")
version("1.2.1", sha256="d1afb253d6de230e73698377566da333ef42e1c82190216aa7a0c1b729d6ff4d")
depends_on("py-setuptools", type="build")
depends_on("py-future", type=("build", "run"))
depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
depends_on("py-future", type=("build", "run"), when="@:1")
depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@:1")
depends_on("python@3.8:", type=("build", "run"), when="@2.0:")
depends_on("gl", type=("build", "run"), when="@2.0: platform=linux")
depends_on("pil", type=("build", "run"), when="@2.0: platform=linux")
depends_on("pulseaudio", type=("build", "run"), when="@2.0: platform=linux")
def url_for_version(self, version):
if version <= Version("1.4.2"):
return (
f"https://files.pythonhosted.org/packages/source/p/pyglet/pyglet-{version}.tar.gz"
)
@when("@2.0.9:2.0.10")
def patch(self):
# 2.0.9 and 2.0.10 had a broken pyproject.toml in their PyPI zipfile
if os.path.exists("pyproject.toml"):
os.remove("pyproject.toml")

View File

@@ -0,0 +1,62 @@
# 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 Resolve(CMakePackage, CudaPackage, ROCmPackage):
"""ReSolve is a library of GPU-resident sparse linear solvers. It contains iterative and direct
solvers designed to run on NVIDIA and AMD GPUs, as well as CPU devices."""
homepage = "https://github.com/ORNL/ReSolve"
git = "https://github.com/ORNL/ReSolve.git"
maintainers("cameronrutherford", "pelesh", "ryandanehy", "kswirydo")
# version("1.0.0", submodules=False, branch="develop")
version("develop", submodules=False, branch="develop")
variant("klu", default=True, description="Use KLU, AMD and COLAMD Libraries from SuiteSparse")
depends_on("suite-sparse", when="+klu")
with when("+rocm"):
# Need at least 5.6+
depends_on("rocsparse@5.6:")
depends_on("rocblas@5.6:")
depends_on("rocsolver@5.6:")
# Optional profiling dependecies
# Will be controlled by variant in the future
# depends_on("roctracer-dev@5.6:")
# depends_on("roctracer-dev-api@5.6:")
# depends_on("rocprofiler-dev@5.6:")
def cmake_args(self):
args = []
spec = self.spec
args.extend(
[self.define("RESOLVE_USE_KLU", "klu"), self.define("RESOLVE_TEST_WITH_BSUB", False)]
)
if "+cuda" in spec:
cuda_arch_list = spec.variants["cuda_arch"].value
if cuda_arch_list[0] != "none":
args.append(self.define("CMAKE_CUDA_ARCHITECTURES", cuda_arch_list))
else:
args.append(self.define("CMAKE_CUDA_ARCHITECTURES", "70;75;80"))
args.append(self.define("RESOLVE_USE_CUDA", True))
elif "+rocm" in spec:
rocm_arch_list = spec.variants["amdgpu_target"].value
# `+rocm` conflicts with amdgpu_target == "none"...
# if rocm_arch_list[0] == "none":
# rocm_arch_list = "gfx90a"
args.append(self.define("GPU_TARGETS", rocm_arch_list))
args.append(self.define("AMDGPU_TARGETS", rocm_arch_list))
args.append(self.define("RESOLVE_USE_HIP", True))
return args

View File

@@ -0,0 +1,19 @@
# 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 Xcdf(CMakePackage):
"""Binary data format designed to store data fields with user-specified accuracy."""
homepage = "https://github.com/jimbraun/XCDF"
url = "https://github.com/jimbraun/XCDF/archive/refs/tags/v3.00.03.tar.gz"
license("BSD-2-Clause")
version("3.00.03", sha256="4e445a2fea947ba14505d08177c8d5b55856f8411f28de1fe4d4c00f6824b711")
patch("remove_python_support.patch")

View File

@@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3270f47..e5648d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,7 +45,6 @@ SET (XCDF_PATCH_VERSION 1 CACHE STRING "Patch number")
# ------------------------------------------------------------------------------
SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
INCLUDE (Utility)
-INCLUDE (Python)
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include/utility)