From ed359cb00b8caee9f16e96641fa7d23294fe9470 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Mon, 14 Mar 2022 13:21:54 -0700 Subject: Update: py-cmake (#28760) * Update: py-cmake Add additional dependencies as declared by the `py-cmake` repository. Note: for either from-source or from-binary builds, this downloads additional software via the network. We might want to propose upstream patches to make this work on nodes without internet connection. * Add Review Comments + Newest Version * Add: Ninja Preferred generator according to outputs and upstream repo logic * Attempt to use resource() for CMake source --- .../repos/builtin/packages/py-cmake/package.py | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py index e5c0aaee1d..ad1f62504a 100644 --- a/var/spack/repos/builtin/packages/py-cmake/package.py +++ b/var/spack/repos/builtin/packages/py-cmake/package.py @@ -11,16 +11,33 @@ class PyCmake(PythonPackage): build, test and package software """ - homepage = "https://cmake.org/" - pypi = "cmake/cmake-3.18.0.tar.gz" + homepage = "https://cmake.org" + git = "https://github.com/scikit-build/cmake-python-distributions.git" + pypi = "cmake/cmake-3.22.2.tar.gz" + version('3.22.2', sha256='b5bd5eeb488b13cf64ec963800f3d979eaeb90b4382861b86909df503379e219') version('3.21.4', sha256='30fa5ed8a5ad66dcd263adb87f3ce3dc2d0ec0ac3958f5becff577e4b62cd065') version('3.18.0', sha256='52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b') + depends_on('ninja', type='build') depends_on('py-scikit-build@0.12:', type='build') depends_on('py-setuptools@42:', type='build') + depends_on('git', type='build') + depends_on('cmake@3.22.2', type=('build', 'link', 'run'), when='@3.22.2') depends_on('cmake@3.21.4', type=('build', 'link', 'run'), when='@3.21.4') depends_on('cmake@3.18.0', type=('build', 'link', 'run'), when='@3.18.0') + # see: + # https://github.com/scikit-build/cmake-python-distributions/issues/227 + # https://github.com/spack/spack/pull/28760#issuecomment-1029362288 + for v in ['3.22.2', '3.21.4', '3.18.0']: + resource(name='cmake-src', + git='https://gitlab.kitware.com/cmake/cmake.git', + commit='v{0}'.format(v), when='@{0}'.format(v), + destination='cmake-src', placement='cmake-src') + def install_options(self, spec, prefix): - return ['-DBUILD_CMAKE_FROM_SOURCE=OFF'] + return [ + '-DBUILD_CMAKE_FROM_SOURCE=ON', + '-DCMakeProject_SOURCE_DIR=cmake-src' + ] -- cgit v1.2.3-60-g2f50