From 05cd3c43801dc07c1807695082ada63a37040156 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 30 Oct 2020 15:36:49 -0400 Subject: [PATCH] New package: py-cudf (#19111) * [py-cudf] created template * [py-cudf] set build directory * [py-cudf] adding dependencies * [py-cudf] fixed phases * [py-cudf] added cmake to fetch some third party dependencies * [py-cudf] flake8 * [py-cudf] added homepage and description. removed fixmes * [py-cudf] added dependency of py-cupy * [py-cudf] depends on py-fsspec * [py-cudf] py-pyarrow requires +orc * [py-cudf] py-pyarrow requires +parquet * [py-cudf] removed upper python limit * [py-cudf] checksum changed --- .../repos/builtin/packages/py-cudf/package.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-cudf/package.py diff --git a/var/spack/repos/builtin/packages/py-cudf/package.py b/var/spack/repos/builtin/packages/py-cudf/package.py new file mode 100644 index 00000000000..7d6e42db016 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-cudf/package.py @@ -0,0 +1,46 @@ +# Copyright 2013-2020 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) + +import os +from spack import * + + +class PyCudf(PythonPackage): + """Built based on the Apache Arrow columnar memory format, + cuDF is a GPU DataFrame library for loading, joining, + aggregating, filtering, and otherwise manipulating data.""" + + homepage = "https://rapids.ai" + url = "https://github.com/rapidsai/cudf/archive/v0.15.0.tar.gz" + + version('0.15.0', sha256='2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4') + + build_directory = 'python/cudf' + + depends_on('cmake@3.14:', type='build') + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-cython', type='build') + depends_on('py-numba@0.40.0:', type=('build', 'run')) + depends_on('py-numpy@1.14.4:', type=('build', 'run')) + depends_on('py-pyarrow+cuda+orc+parquet', type=('build', 'run')) + depends_on('py-pandas@0.23.4:', type=('build', 'run')) + depends_on('py-rmm', type=('build', 'run')) + depends_on('cuda@10:') + depends_on('py-cupy', type=('build', 'run')) + depends_on('py-fsspec', type=('build', 'run')) + + for v in ('@0.15.0',): + depends_on('libcudf' + v, when=v) + + phases = ['cmake', 'build_ext', 'install'] + + def cmake(self, spec, prefix): + cmake = which('cmake') + + build_dir = os.path.join(self.stage.source_path, 'cpp', 'build') + + with working_dir(build_dir, create=True): + cmake('..')