From d274a6af62141d55e41f424430e192c5c7852dd8 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Sat, 25 Jul 2026 20:58:01 +0200 Subject: [PATCH] New package: cuda-13.2.2 --- srcpkgs/cuda-common | 1 + srcpkgs/cuda-compiler | 1 + srcpkgs/cuda-devel | 1 + srcpkgs/cuda-runtime | 1 + srcpkgs/cuda-tools | 1 + srcpkgs/cuda/template | 474 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 479 insertions(+) create mode 120000 srcpkgs/cuda-common create mode 120000 srcpkgs/cuda-compiler create mode 120000 srcpkgs/cuda-devel create mode 120000 srcpkgs/cuda-runtime create mode 120000 srcpkgs/cuda-tools create mode 100644 srcpkgs/cuda/template diff --git a/srcpkgs/cuda-common b/srcpkgs/cuda-common new file mode 120000 index 00000000000000..5b36a5def24c93 --- /dev/null +++ b/srcpkgs/cuda-common @@ -0,0 +1 @@ +cuda \ No newline at end of file diff --git a/srcpkgs/cuda-compiler b/srcpkgs/cuda-compiler new file mode 120000 index 00000000000000..5b36a5def24c93 --- /dev/null +++ b/srcpkgs/cuda-compiler @@ -0,0 +1 @@ +cuda \ No newline at end of file diff --git a/srcpkgs/cuda-devel b/srcpkgs/cuda-devel new file mode 120000 index 00000000000000..5b36a5def24c93 --- /dev/null +++ b/srcpkgs/cuda-devel @@ -0,0 +1 @@ +cuda \ No newline at end of file diff --git a/srcpkgs/cuda-runtime b/srcpkgs/cuda-runtime new file mode 120000 index 00000000000000..5b36a5def24c93 --- /dev/null +++ b/srcpkgs/cuda-runtime @@ -0,0 +1 @@ +cuda \ No newline at end of file diff --git a/srcpkgs/cuda-tools b/srcpkgs/cuda-tools new file mode 120000 index 00000000000000..5b36a5def24c93 --- /dev/null +++ b/srcpkgs/cuda-tools @@ -0,0 +1 @@ +cuda \ No newline at end of file diff --git a/srcpkgs/cuda/template b/srcpkgs/cuda/template new file mode 100644 index 00000000000000..7ef05d718a9c20 --- /dev/null +++ b/srcpkgs/cuda/template @@ -0,0 +1,474 @@ +# Template file for 'cuda' +pkgname=cuda +version=13.2.2 +revision=1 +_nvidia_ver=595.71.05 +# See this table for compatibility and the archive for available versions: +# https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id10 +# https://developer.nvidia.com/cuda-toolkit-archive +metapackage=yes +archs="x86_64" +build_wrksrc="builds" +hostmakedepends="tar" +depends=" + cuda-compiler + cuda-devel + cuda-runtime + cuda-tools" +short_desc="NVIDIA CUDA Toolkit" +maintainer="Duncaen " +license="custom:NVIDIA Proprietary" +homepage="https://developer.nvidia.com/cuda" +distfiles="https://developer.download.nvidia.com/compute/cuda/${version}/local_installers/cuda_${version}_${_nvidia_ver}_linux.run" +checksum="ba1f73f356810870272e3bfa25fcde98ffe1abb0f603fb65fe3461df7fa85c22" + +repository="nonfree" + +nopie_files=" + /opt/cuda/gds/tools/gds_stats + /opt/cuda/gds/tools/gdscheck + /opt/cuda/gds/tools/gdscp + /opt/cuda/gds/tools/gdsio_verify + /opt/cuda/gds/tools/gdsio + + /opt/cuda/bin/cuda-gdbserver + /opt/cuda/bin/cuda-gdb-minimal + /opt/cuda/bin/cuda-gdb-python3.9-tui + /opt/cuda/bin/cuda-gdb-python3.10-tui + /opt/cuda/bin/cuda-gdb-python3.11-tui + /opt/cuda/bin/cuda-gdb-python3.12-tui + /opt/cuda/bin/cuda-gdb-python3.8-tui + + /opt/cuda/compute-sanitizer/x86/TreeLauncherTargetLdPreloadHelper + /opt/cuda/compute-sanitizer/x86/TreeLauncherSubreaper + /opt/cuda/compute-sanitizer/compute-sanitizer + /opt/cuda/compute-sanitizer/TreeLauncherTargetLdPreloadHelper + /opt/cuda/compute-sanitizer/TreeLauncherSubreaper + + /opt/cuda/nvvm/bin/cicc + + /opt/cuda/bin/tileiras + + /opt/cuda/bin/__nvcc_device_query +" + +do_extract() { + sh "${XBPS_SRCDISTDIR}/${pkgname}-${version}/cuda_${version}_${_nvidia_ver}_linux.run" --target "${wrksrc}" --noexec +} + +_create_pkgconfig() { + vmkdir usr/lib/pkgconfig + cat <<-EOF >"${PKGDESTDIR:-${DESTDIR}}/usr/lib/pkgconfig/${name?}-${ver?}.pc" + cudaroot=/opt/cuda + libdir=\${cudaroot}/targets/x86_64-linux/lib + includedir=\${cudaroot}/targets/x86_64-linux/include + + Name: ${name?} + Description: ${desc?} + Version: ${ver} + Libs: -L\${libdir}${subdir:+/${subdir}} -l${name?} + Cflags: -I\${includedir} + EOF +} + +cuda-common_package() { + short_desc="CUDA common files" + pkg_install() { + vmkdir opt/cuda + ln -s targets/x86_64-linux/lib "${PKGDESTDIR}/opt/cuda/lib64" + ln -s targets/x86_64-linux/lib "${PKGDESTDIR}/opt/cuda/lib" + ln -s targets/x86_64-linux/include "${PKGDESTDIR}/opt/cuda/include" + vlicense EULA.txt + } +} + +cuda-devel_package() { + short_desc="CUDA Toolkit" + depends="cuda-common-${version}_${revision} cuda-runtime-${version}_${revision}" + nostrip=yes + pkg_install() { + # cuda-cccl + vmkdir opt/cuda + vcopy cuda_cccl/targets opt/cuda + + # cuda-cudart-dev + name=cudart ver=13.2 desc="CUDA Runtime Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_cudart/targets/x86_64-linux/lib/"*.a" opt/cuda/targets/x86_64-linux/lib + vcopy cuda_cudart/targets/x86_64-linux/lib/"*.so" opt/cuda/targets/x86_64-linux/lib + vcopy cuda_cudart/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # cuda-driver-dev + name=cuda ver=13.2 subdir=stubs desc="CUDA Driver Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy cuda_cudart/targets/x86_64-linux/lib/stubs/libcuda.so opt/cuda/targets/x86_64-linux/lib/stubs + + # cuda-nvml-dev + name=nvidia-ml ver=13.2 subdir=stubs desc="NVML" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vmkdir opt/cuda/nvml + vcopy cuda_nvml_dev/targets/x86_64-linux/lib/stubs/libnvidia-ml.a opt/cuda/targets/x86_64-linux/lib/stubs + vcopy cuda_nvml_dev/targets/x86_64-linux/lib/stubs/libnvidia-ml.so opt/cuda/targets/x86_64-linux/lib/stubs + vcopy cuda_nvml_dev/targets/x86_64-linux/include/nvml.h opt/cuda/targets/x86_64-linux/include + vcopy cuda_nvml_dev/nvml opt/cuda + + # cuda-nvrtc-dev + name=nvrtc ver=13.2 desc="A runtime compilation library for CUDA C++" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy cuda_nvrtc/targets/x86_64-linux/lib/"*.a" opt/cuda/targets/x86_64-linux/lib + vcopy cuda_nvrtc/targets/x86_64-linux/lib/"*.so" opt/cuda/targets/x86_64-linux/lib + vcopy cuda_nvrtc/targets/x86_64-linux/lib/stubs opt/cuda/targets/x86_64-linux/lib + vcopy cuda_nvrtc/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # cuda-opencl-dev + name=opencl ver=13.2 desc="CUDA Runtime Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include/CL + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_opencl/targets/x86_64-linux/lib/"*.so" opt/cuda/targets/x86_64-linux/lib + vcopy cuda_opencl/targets/x86_64-linux/include/CL opt/cuda/targets/x86_64-linux/include/CL + + # cuda-profiler-api + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_profiler_api/targets/x86_64-linux/include/cuda_profiler_api.h opt/cuda/targets/x86_64-linux/include + vcopy cuda_profiler_api/targets/x86_64-linux/include/cudaProfiler.h opt/cuda/targets/x86_64-linux/include + + # cuda-sandbox-dev + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy cuda_sandbox_dev/targets/x86_64-linux/include/nvsandboxutils.h opt/cuda/targets/x86_64-linux/include + vcopy cuda_sandbox_dev/targets/x86_64-linux/include/nvsandboxutils_loader.h opt/cuda/targets/x86_64-linux/include + vcopy cuda_sandbox_dev/targets/x86_64-linux/lib/stubs/libnvidia-sandboxutils_loader.a opt/cuda/targets/x86_64-linux/lib/stubs + + + # libcublas-dev + name=cublas ver=13 desc="CUDA Basic Linear Algebra Subprograms" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vmkdir opt/cuda/src + vcopy libcublas/targets/x86_64-linux/lib/libcublas.so opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/libcublas_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/libcublasLt.so opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/libcublasLt_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/libnvblas.so opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/stubs/libcublas.so opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcublas/targets/x86_64-linux/lib/stubs/libcublasLt.so opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcublas/targets/x86_64-linux/include/nvblas.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/targets/x86_64-linux/include/cublas_api.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/targets/x86_64-linux/include/cublas.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/targets/x86_64-linux/include/cublas_v2.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/targets/x86_64-linux/include/cublasLt.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/targets/x86_64-linux/include/cublasXt.h opt/cuda/targets/x86_64-linux/include + vcopy libcublas/src/fortran_thunking.c opt/cuda/src + vcopy libcublas/src/fortran_common.h opt/cuda/src + vcopy libcublas/src/fortran.h opt/cuda/src + vcopy libcublas/src/fortran_thunking.h opt/cuda/src + vcopy libcublas/src/fortran.c opt/cuda/src + + # libcufft-dev + name=cufft ver=12.2 desc="CUDA Fast Fourier Transform" _create_pkgconfig + name=cufftw ver=12.2 desc="CUDA Fast Fourier Transform Wide" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcufft/targets/x86_64-linux/lib/"libcufft*.so" opt/cuda/targets/x86_64-linux/lib + vcopy libcufft/targets/x86_64-linux/lib/"libcufft*_static.a" opt/cuda/targets/x86_64-linux/lib + vcopy libcufft/targets/x86_64-linux/lib/stubs/"libcufft*.so*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcufft/targets/x86_64-linux/include/"cufft*" opt/cuda/targets/x86_64-linux/include + vcopy libcufft/targets/x86_64-linux/include/cudalibxt.h opt/cuda/targets/x86_64-linux/include + + # libcufile-dev + name=cufile ver=1.17 desc="NVIDIA GPUDirect Storage Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/gds/man/man3 + vmkdir opt/cuda/gds/tools + vmkdir opt/cuda/gds/doc + vmkdir opt/cuda/"gds-${version%*.*}" + vcopy libcufile/targets/x86_64-linux/lib/libcufile.so opt/cuda/targets/x86_64-linux/lib + vcopy libcufile/targets/x86_64-linux/lib/libcufile_rdma.so opt/cuda/targets/x86_64-linux/lib + vcopy libcufile/targets/x86_64-linux/lib/libcufile_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcufile/targets/x86_64-linux/lib/libcufile_rdma_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcufile/gds/cufile.json opt/cuda/gds + vcopy libcufile/gds/EULA.txt opt/cuda/gds + vcopy libcufile/gds/doc opt/cuda/gds + vcopy libcufile/gds/man/man3 opt/cuda/gds/man + vcopy libcufile/gds/tools opt/cuda/gds + vcopy libcufile/"gds-${version%*.*}" opt/cuda + + # libcuobjclient-dev + name=cuobjclient ver=1.1 desc="NVIDIA GPUDirect Storage Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcuobjclient/targets/x86_64-linux/include/"*.h" opt/cuda/targets/x86_64-linux/include + vcopy libcuobjclient/targets/x86_64-linux/lib/libcuobjclient.so opt/cuda/targets/x86_64-linux/lib + + # libcurand-dev + name=curand ver=10.4 desc="CUDA Random Number Generation Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcurand/targets/x86_64-linux/lib/libcurand.so opt/cuda/targets/x86_64-linux/lib + vcopy libcurand/targets/x86_64-linux/lib/libcurand_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcurand/targets/x86_64-linux/lib/stubs/"libcurand.so*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcurand/targets/x86_64-linux/include/"curand*" opt/cuda/targets/x86_64-linux/include + + # libcusolver-dev + name=cusolver ver=12.2 desc="A LAPACK-like library on dense and sparse linear algebra" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcusolver/targets/x86_64-linux/include/"cusolver*" opt/cuda/targets/x86_64-linux/include + vcopy libcusolver/targets/x86_64-linux/lib/"libcusolver*_static.a" opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/libcusolver.so opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/libcusolverMg.so opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/libmetis_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/stubs/"libcusolver*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcusolver/targets/x86_64-linux/lib/stubs/"libcusolverMg*" opt/cuda/targets/x86_64-linux/lib/stubs + + # libcusparse-dev + name=cusparse ver=12.7 desc="CUDA Sparse Matrix Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vmkdir opt/cuda/src + vcopy libcusparse/targets/x86_64-linux/lib/libcusparse.so opt/cuda/targets/x86_64-linux/lib + vcopy libcusparse/targets/x86_64-linux/lib/stubs/"libcusparse.so*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libcusparse/targets/x86_64-linux/lib/libcusparse_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libcusparse/targets/x86_64-linux/include/"cusparse*" opt/cuda/targets/x86_64-linux/include + vcopy libcusparse/src/"cusparse_fortran*" opt/cuda/src + + # libnpp-dev + name=npps ver=13.1 desc="NVIDIA Performance Primitives - Signal Processing" _create_pkgconfig + name=nppi ver=13.1 desc="NVIDIA Performance Primitives - Image Processing" _create_pkgconfig + name=nppial ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Arithmetic and Logic" _create_pkgconfig + name=nppicc ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Color Conversion" _create_pkgconfig + name=nppicom ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Compression" _create_pkgconfig + name=nppidei ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - DEI" _create_pkgconfig + name=nppif ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Filters" _create_pkgconfig + name=nppig ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Geometry" _create_pkgconfig + name=nppim ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Morphological" _create_pkgconfig + name=nppist ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Statistic and Linear" _create_pkgconfig + name=nppisu ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Support and Data Exchange" _create_pkgconfig + name=nppitc ver=13.1 desc="NVIDIA Performance Primitives - Image Processing - Threshold and Compare" _create_pkgconfig + name=nppc ver=13.1 desc="NVIDIA Performance Primitives - Core" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnpp/targets/x86_64-linux/lib/"libnpp*.so" opt/cuda/targets/x86_64-linux/lib + vcopy libnpp/targets/x86_64-linux/lib/stubs/"libnpp*.so*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnpp/targets/x86_64-linux/lib/"libnpp*_static.a" opt/cuda/targets/x86_64-linux/lib + vcopy libnpp/targets/x86_64-linux/include/"npp*" opt/cuda/targets/x86_64-linux/include + + # libnvfatbin-dev + name=nvfatbin ver=13.2 desc="NVIDIA fatbin Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libnvfatbin/targets/x86_64-linux/lib/libnvfatbin.so opt/cuda/targets/x86_64-linux/lib + vcopy libnvfatbin/targets/x86_64-linux/lib/libnvfatbin_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libnvfatbin/targets/x86_64-linux/lib/stubs/libnvfatbin.so opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnvfatbin/targets/x86_64-linux/include/"nvFatbin*" opt/cuda/targets/x86_64-linux/include + + # libnvjitlink-dev + name=nvjitlink ver=13.2 desc="NVIDIA JIT Link Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnvjitlink/targets/x86_64-linux/lib/"*.so" opt/cuda/targets/x86_64-linux/lib + vcopy libnvjitlink/targets/x86_64-linux/lib/"*.a" opt/cuda/targets/x86_64-linux/lib + vcopy libnvjitlink/targets/x86_64-linux/lib/stubs opt/cuda/targets/x86_64-linux + vcopy libnvjitlink/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # libnvjpeg-dev + name=nvjpeg ver=13.1 desc="NVIDIA JPEG Library" _create_pkgconfig + vmkdir opt/cuda/targets/x86_64-linux/include + vmkdir opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnvjpeg/targets/x86_64-linux/lib/libnvjpeg.so opt/cuda/targets/x86_64-linux/lib + vcopy libnvjpeg/targets/x86_64-linux/lib/stubs/"libnvjpeg.so*" opt/cuda/targets/x86_64-linux/lib/stubs + vcopy libnvjpeg/targets/x86_64-linux/lib/libnvjpeg_static.a opt/cuda/targets/x86_64-linux/lib + vcopy libnvjpeg/targets/x86_64-linux/include/"nvjpeg*" opt/cuda/targets/x86_64-linux/include + + # cuda-culibos-dev + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_culibos/targets/x86_64-linux/lib/libculibos.a opt/cuda/targets/x86_64-linux/lib + } +} + +cuda-runtime_package() { + short_desc="CUDA Runtime" + depends="cuda-common-${version}_${revision}" + nostrip=yes + pkg_install() { + # cuda-cudart + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_cudart/targets/x86_64-linux/lib/"*.so.*" opt/cuda/targets/x86_64-linux/lib + + # cuda-nvrtc + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_nvrtc/targets/x86_64-linux/lib/"*.so.*" opt/cuda/targets/x86_64-linux/lib + + # cuda-opencl + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy cuda_opencl/targets/x86_64-linux/lib/"*.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcublas13 + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/"libcublas.so.*" opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/"libcublasLt.so.*" opt/cuda/targets/x86_64-linux/lib + vcopy libcublas/targets/x86_64-linux/lib/"libnvblas.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcufft + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcufft/targets/x86_64-linux/lib/"libcufft*.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcufile + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy libcufile/targets/x86_64-linux/include/cufile.h opt/cuda/targets/x86_64-linux/include + vcopy libcufile/targets/x86_64-linux/lib/"libcufile.so.*" opt/cuda/targets/x86_64-linux/lib + vcopy libcufile/targets/x86_64-linux/lib/"libcufile_rdma.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcuobjclient + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/gds/cuobject + vcopy libcuobjclient/targets/x86_64-linux/lib/"libcuobjclient.so.*" opt/cuda/targets/x86_64-linux/lib + vcopy libcuobjclient/gds/cuobject/cuObjRDMADESCRprotocolformat.pdf opt/cuda/gds/cuobject + vcopy libcuobjclient/gds/cuobject/README opt/cuda/gds/cuobject + vcopy libcuobjclient/gds/cuobject/VERSION opt/cuda/gds/cuobject + vcopy libcuobjclient/gds/cuobject/Doxyfile.in opt/cuda/gds/cuobject + + # libcurand + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcurand/targets/x86_64-linux/lib/"libcurand.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcusolver + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/"libcusolver.so.*" opt/cuda/targets/x86_64-linux/lib + vcopy libcusolver/targets/x86_64-linux/lib/"libcusolverMg.so.*" opt/cuda/targets/x86_64-linux/lib + + # libcucusparse + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libcusparse/targets/x86_64-linux/lib/"libcusparse.so.*" opt/cuda/targets/x86_64-linux/lib + + # libnpp + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libnpp/targets/x86_64-linux/lib/"libnpp*.so.*" opt/cuda/targets/x86_64-linux/lib + + # libnvfatbin + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libnvfatbin/targets/x86_64-linux/lib/"libnvfatbin*.so.*" opt/cuda/targets/x86_64-linux/lib + + # libnvjitlink + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libnvjitlink/targets/x86_64-linux/lib/"*.so.*" opt/cuda/targets/x86_64-linux/lib + + # libnvjpeg + vmkdir opt/cuda/targets/x86_64-linux/lib + vcopy libnvjpeg/targets/x86_64-linux/lib/"libnvjpeg.so.*" opt/cuda/targets/x86_64-linux/lib + + cat <<-EOF >cuda.conf + /opt/cuda/lib64 + /opt/cuda/nvvm/lib64 + EOF + vinstall cuda.conf 644 etc/ld.so.conf.d + } +} + +cuda-tools_package() { + short_desc="CUDA Command Line Tools" + depends="cuda-common-${version}_${revision}" + skiprdeps=" + /opt/cuda/bin/cuda-gdb-python3.8-tui + /opt/cuda/bin/cuda-gdb-python3.9-tui + /opt/cuda/bin/cuda-gdb-python3.10-tui + /opt/cuda/bin/cuda-gdb-python3.11-tui + /opt/cuda/bin/cuda-gdb-python3.12-tui + /opt/cuda/compute-sanitizer/x86/libTreeLauncherTargetUpdatePreloadInjection.so + /opt/cuda/compute-sanitizer/x86/TreeLauncherSubreaper + /opt/cuda/compute-sanitizer/x86/libInterceptorInjectionTarget.so + /opt/cuda/compute-sanitizer/x86/libTreeLauncherTargetInjection.so + /opt/cuda/compute-sanitizer/x86/TreeLauncherTargetLdPreloadHelper + " + nostrip=yes + pkg_install() { + # cuda-cupti + vmkdir opt/cuda/extras + vcopy cuda_cupti/extras/CUPTI opt/cuda/extras + + # cuda-gdb + vmkdir opt/cuda/bin + vmkdir opt/cuda/extras/Debugger + vmkdir opt/cuda/share + vcopy cuda_gdb/bin opt/cuda + vcopy cuda_gdb/extras/Debugger opt/cuda/extras + vcopy cuda_gdb/share opt/cuda + + # nvdisasm + vmkdir opt/cuda/bin + vcopy cuda_nvdisasm/bin/nvdisasm opt/cuda/bin + + # nvtx + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy cuda_nvtx/targets/x86_64-linux/lib opt/cuda/targets/x86_64-linux + vcopy cuda_nvtx/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # compute-sanitizer + vmkdir opt/cuda/compute-sanitizer + vcopy cuda_sanitizer_api/compute-sanitizer opt/cuda + + # compute-sanitizer-integration + vmkdir opt/cuda/bin + vcopy integration/Sanitizer/"*" opt/cuda/bin + } +} + +cuda-compiler_package() { + short_desc="CUDA Compiler" + depends="cuda-common-${version}_${revision}" + nostrip=yes + pkg_install() { + # cuda-crt + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy cuda_crt/targets/x86_64-linux/include/crt opt/cuda/targets/x86_64-linux/include + + # cuda-ctadvisor + vmkdir opt/cuda/bin + vcopy cuda_ctadvisor/bin/ctadvisor opt/cuda/bin + + # cuda-cuobjdump + vmkdir opt/cuda/bin + vcopy cuda_cuobjdump/bin/cuobjdump opt/cuda/bin + + # cuda-cuxxfilt + vmkdir opt/cuda/bin + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy cuda_cuxxfilt/bin/cu++filt opt/cuda/bin + vcopy cuda_cuxxfilt/targets/x86_64-linux/lib opt/cuda/targets/x86_64-linux + vcopy cuda_cuxxfilt/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # cuda-nvcc + vmkdir opt/cuda/bin + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy cuda_nvcc/bin opt/cuda + vcopy cuda_nvcc/targets/x86_64-linux/include/"*.h" opt/cuda/targets/x86_64-linux/include + + # cuda-nvprune + vmkdir opt/cuda/bin + vcopy cuda_nvprune/bin/nvprune opt/cuda/bin + + # tileiras + vmkdir opt/cuda/bin + vcopy cuda_tileiras/bin/tileiras opt/cuda/bin + + # libnvptxcompiler + vmkdir opt/cuda/targets/x86_64-linux/lib + vmkdir opt/cuda/targets/x86_64-linux/include + vcopy libnvptxcompiler/targets/x86_64-linux/lib opt/cuda/targets/x86_64-linux + vcopy libnvptxcompiler/targets/x86_64-linux/include opt/cuda/targets/x86_64-linux + + # libnvvm + vmkdir opt/cuda/nvvm + vcopy libnvvm/nvvm/bin opt/cuda/nvvm + vcopy libnvvm/nvvm/include opt/cuda/nvvm + vcopy libnvvm/nvvm/lib64 opt/cuda/nvvm + vcopy libnvvm/nvvm/libdevice opt/cuda/nvvm + } +}