summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2023-04-11 23:47:42 -0500
committerGitHub <noreply@github.com>2023-04-12 06:47:42 +0200
commitd79423fe9e86d20f22119e8a8edbfaacc741850a (patch)
tree630e700f91f6795fadeb57889b3352aee5a9f9c0
parentf4658a520cb5772e7846fd80df9f3c7a15b70a48 (diff)
downloadspack-d79423fe9e86d20f22119e8a8edbfaacc741850a.tar.gz
spack-d79423fe9e86d20f22119e8a8edbfaacc741850a.tar.bz2
spack-d79423fe9e86d20f22119e8a8edbfaacc741850a.tar.xz
spack-d79423fe9e86d20f22119e8a8edbfaacc741850a.zip
protobuf: add new versions (#36711)
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py3
-rw-r--r--var/spack/repos/builtin/packages/protobuf/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-protobuf/package.py19
3 files changed, 27 insertions, 21 deletions
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index 9cde62acdf..724e1b32a7 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -137,6 +137,9 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
msg="Use paraview@5.9.0 with %xl_r. Earlier versions are not able to build with xl.",
)
+ # Newer abseil-cpp requires C++14, but paraview uses C++11 by default
+ conflicts("^abseil-cpp@2023:")
+
# We only support one single Architecture
for _arch, _other_arch in itertools.permutations(CudaPackage.cuda_arch_values, 2):
conflicts(
diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py
index 56e0a4e3bb..a9378cef4c 100644
--- a/var/spack/repos/builtin/packages/protobuf/package.py
+++ b/var/spack/repos/builtin/packages/protobuf/package.py
@@ -3,8 +3,6 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-import sys
-
import spack.util.web
from spack.package import *
@@ -16,7 +14,9 @@ class Protobuf(CMakePackage):
url = "https://github.com/protocolbuffers/protobuf/archive/v3.18.0.tar.gz"
maintainers("hyoklee")
+ version("3.22.2", sha256="2118051b4fb3814d59d258533a4e35452934b1ddb41230261c9543384cbb4dfc")
version("3.21.12", sha256="930c2c3b5ecc6c9c12615cf5ad93f1cd6e12d0aba862b572e076259970ac3a53")
+ version("3.21.9", sha256="1add10f9bd92775b91f326da259f243881e904dd509367d5031d4c782ba82810")
version("3.21.7", sha256="ce2fbea3c78147a41b2a922485d283137845303e5e1b6cbd7ece94b96ade7031")
version("3.21.5", sha256="d7d204a59fd0d2d2387bd362c2155289d5060f32122c4d1d922041b61191d522")
version("3.21.4", sha256="85d42d4485f36f8cec3e475a3b9e841d7d78523cd775de3a86dba77081f4ca25")
@@ -78,6 +78,8 @@ class Protobuf(CMakePackage):
values=("Debug", "Release", "RelWithDebInfo"),
)
+ # https://github.com/protocolbuffers/protobuf/issues/11828#issuecomment-1433557509
+ depends_on("abseil-cpp@20230125:", when="@3.22:")
depends_on("zlib")
conflicts("%gcc@:4.6", when="@3.6.0:") # Requires c++11
@@ -113,12 +115,22 @@ class Protobuf(CMakePackage):
def cmake_args(self):
args = [
- "-DBUILD_SHARED_LIBS=%s" % int("+shared" in self.spec),
- "-Dprotobuf_BUILD_TESTS:BOOL=OFF",
- "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON",
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("protobuf_BUILD_TESTS", False),
+ self.define("CMAKE_POSITION_INDEPENDENT_CODE", True),
]
- if sys.platform == "darwin":
- args.extend(["-DCMAKE_MACOSX_RPATH=ON"])
+
+ if self.spec.satisfies("@3.22:"):
+ args.extend(
+ [
+ self.define("protobuf_ABSL_PROVIDER", "package"),
+ self.define("CMAKE_CXX_STANDARD", 14),
+ ]
+ )
+
+ if self.spec.satisfies("platform=darwin"):
+ args.append(self.define("CMAKE_MACOSX_RPATH", True))
+
return args
@property
diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py
index 40cc53f5a3..59f9e44cfc 100644
--- a/var/spack/repos/builtin/packages/py-protobuf/package.py
+++ b/var/spack/repos/builtin/packages/py-protobuf/package.py
@@ -19,13 +19,12 @@ class PyProtobuf(PythonPackage):
variant("cpp", default=True, description="Enable the cpp implementation")
+ # Newer versions seem to require bazel to build?
+ # https://github.com/protocolbuffers/protobuf/tree/main/python
+ version("4.21.9", sha256="61f21493d96d2a77f9ca84fefa105872550ab5ef71d21c458eb80edcf4885a99")
version("4.21.7", sha256="71d9dba03ed3432c878a801e2ea51e034b0ea01cf3a4344fb60166cb5f6c8757")
version("4.21.5", sha256="eb1106e87e095628e96884a877a51cdb90087106ee693925ec0a300468a9be3a")
- version(
- "3.20.1",
- sha256="adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9",
- preferred=True,
- )
+ version("3.20.1", sha256="adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9")
version("3.20.0", sha256="71b2c3d1cd26ed1ec7c8196834143258b2ad7f444efff26fdc366c6f5e752702")
version("3.19.4", sha256="9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a")
version("3.19.3", sha256="d975a6314fbf5c524d4981e24294739216b5fb81ef3c14b86fb4b045d6690907")
@@ -60,10 +59,8 @@ class PyProtobuf(PythonPackage):
version("3.3.0", sha256="1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04")
version("3.0.0", sha256="ecc40bc30f1183b418fe0ec0c90bc3b53fa1707c4205ee278c6b90479e5b6ff5")
- depends_on("python@3.5:", when="@3.18:", type=("build", "run"))
- depends_on("python@3.7:", when="@3.20:", type=("build", "run"))
depends_on("py-setuptools", type=("build", "run"))
- depends_on("py-six@1.9:", when="@3:", type=("build", "run"))
+ depends_on("py-six@1.9:", when="@3.0:3.17", type=("build", "run"))
# Setup dependencies for protobuf to use the same minor version as py-protobuf
# Handle mapping the 4.x release to the protobuf 3.x releases
@@ -88,9 +85,3 @@ class PyProtobuf(PythonPackage):
@when("+cpp")
def install_options(self, spec, prefix):
return ["--cpp_implementation"]
-
- @run_after("install")
- def fix_import_error(self):
- if str(self.spec["python"].version.up_to(1)) == "2":
- touch = which("touch")
- touch(join_path(python_platlib, "google", "__init__.py"))