blob: 88de9ea03ab7da8004f3905fd60135748a317284 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# Maintainer: crl <crl18039102576@126.com>
pkgbase=cuvs
pkgname=(libcuvs python-cuvs)
pkgver=26.04.00
pkgrel=1
pkgdesc="cuVS - a library for vector search and clustering on the GPU"
url="https://github.com/rapidsai/cuvs"
arch=('x86_64')
license=('Apache-2.0')
depends=('cuda' 'rmm' 'libraft' 'dlpack')
makedepends=('cuda' 'python-setuptools' 'cmake' 'python-scikit-build-core' 'python-rapids-build-backend' 'ninja' 'cython' 'cucollections')
source=(
"$url/archive/refs/tags/v$pkgver.tar.gz"
"system-lib.patch"
"missing-pkg.patch"
"system-dlpack.patch"
"missing-include.patch"
"disable-warning.patch"
"fix-compile.patch"
)
sha256sums=(
'34b8328d11a1359cb1c958804edb7c1ab84913f8b72607165c4b4b7a9df2d1f3'
'd18e7391dfd2a7c4231b65d1fc89ece90d9c5f49e21bcb480cf6166f265b3541'
'08089b4409698b5aeab59a248b7de325b9e8b9d788e2dcab7e22b88ec5194b0d'
'4391f34eab05396af8a6c6dac3cf918ae4fe0200c7a302052225be22950d820b'
'052865d777b4404ae68bd1272af301484adb70a8d9ab989287e2c59102011ac8'
'926b6540d21e6c964528b0eb235cca26690c7504cf52eed4a8098404b855d880'
'4a06a07695ef47815dda2d9a2f943440bd538b990ee7b34abf9e438fd006f231'
)
prepare() {
cd "$srcdir/$pkgbase-$pkgver"
patch -p1 "cpp/CMakeLists.txt" < "$srcdir/system-lib.patch"
patch -p1 "c/CMakeLists.txt" < "$srcdir/system-dlpack.patch"
patch -p1 "cpp/include/cuvs/util/file_io.hpp" < "$srcdir/missing-include.patch"
patch -p1 "python/cuvs/CMakeLists.txt" < "$srcdir/missing-pkg.patch"
patch -p1 "cpp/cmake/modules/ConfigureCUDA.cmake" < "$srcdir/disable-warning.patch"
patch -p1 "cpp/src/preprocessing/quantize/detail/pq.cuh" < "$srcdir/fix-compile.patch"
}
build() {
cd "$srcdir/$pkgbase-$pkgver"
CXX_FLAGS+=" -DCCCL_IGNORE_DEPRECATED_STREAM_REF_HEADER"
CUDA_FLAGS="-DCCCL_IGNORE_DEPRECATED_STREAM_REF_HEADER"
cmake -B build -S cpp \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CUDA_ARCHITECTURES="native" \
-DBUILD_TESTS=OFF \
-DCUVS_COMPILE_DYNAMIC_ONLY=ON \
-G Ninja
cmake --build build
cd "$srcdir/$pkgbase-$pkgver/python/cuvs"
export cuvs_DIR="$srcdir/$pkgbase-$pkgver/build"
python -m build --wheel --no-isolation --skip-dependency-check
}
package_libcuvs() {
# depends+=('dlpack')
cd "$srcdir/$pkgbase-$pkgver"
DESTDIR="$pkgdir" cmake --install build
}
package_python-cuvs() {
depends+=('libcuvs' 'python-pylibraft')
cd "$srcdir/$pkgbase-$pkgver/python/cuvs"
python -m installer --destdir="$pkgdir" dist/*.whl
}
|