kokkos: fix conflict for deprecated sycl namespace

We're seeing errors pop up with older versions of Kokkos and newer versions of
`oneapi`, specifically:

    error: no member named 'ONEAPI' in namespace 'sycl'

This hapens because `sycl::ONEAPI` is `sycl::ext::oneapi` since oneapi `2022.0.0`.
`kokkos@3.6:` uses the new namespace. A conflict was present for this, but it was too
specific -- both to `dpcpp` and to the `2022.0.0` version.

- [x] Expand version ranges in `kokkos` conflict
- [x] Add conflict for `oneapi` in addition to `dpcpp`
This commit is contained in:
Todd Gamblin 2022-08-16 10:44:44 -07:00
parent 8f34a3ac5c
commit 2d6087995c

View File

@ -54,7 +54,8 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+openmptarget", when="@:3.5")
# https://github.com/spack/spack/issues/29052
conflicts("@:3.5.00 +sycl", when="%dpcpp@2022.0.0")
conflicts("@:3.5 +sycl", when="%dpcpp@2022:")
conflicts("@:3.5 +sycl", when="%oneapi@2022:")
tpls_variants = {
"hpx": [False, "Whether to enable the HPX library"],