diff options
Diffstat (limited to 'dev-util/nvidia-cuda-sdk')
-rw-r--r-- | dev-util/nvidia-cuda-sdk/Manifest | 2 | ||||
-rw-r--r-- | dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild | 140 |
2 files changed, 142 insertions, 0 deletions
diff --git a/dev-util/nvidia-cuda-sdk/Manifest b/dev-util/nvidia-cuda-sdk/Manifest index 4b5e613c8f13..1771f574a800 100644 --- a/dev-util/nvidia-cuda-sdk/Manifest +++ b/dev-util/nvidia-cuda-sdk/Manifest @@ -1,3 +1,5 @@ DIST cuda_10.2.89_440.33.01_linux.run 2645419389 BLAKE2B 236aa70a7b45e3636c2c229fffa7d1ca0699ab4365865a73edab607a209c42c2899133dd6a83c61c5929fa754668ad15aec4d847639af1c00a8e6657c8487c77 SHA512 ad8da539ff5df7caf411d1e497ff3d6978cfa8a1fd9150fa4846089e92a604ea56be8631f3efdfe7229a655b8d2d28e6edb32f5731530a77d6f00241cc7aab6e +DIST cuda_11.5.1_495.29.05_linux.run 3420998120 BLAKE2B 0d3f9626f97c60291397ebd0edc04e2c84942473d943d95af6fae244e5809721335bb90eaa6c019c9391de516d20599ca5631e99764616b6d25eacf1899d99d9 SHA512 71fb354714cac09265b5102223f919e34e3a8503593dd4f2e7b9542ae7787de96d64c490276b36b685da9e691cc2704419b67cfa376dcd3647e4d0f93b02db9b EBUILD nvidia-cuda-sdk-10.2.89-r1.ebuild 3873 BLAKE2B 6af411229608873efcb1cab6b1883f3727b304708fdbc3bf959b307198e33f5c6c3d94b86d51fb1cb4fca5c32858e7efba3cc0a57623c8c6491ebdfa4df89dde SHA512 930fb95d6c805322ac76644846fda59aecb2ac1852686ecdd17f66d0002a42c62f20a0df30d2502d3dce7ca80ed48fe1b59185df0926b12e2ab80269c00dd681 +EBUILD nvidia-cuda-sdk-11.5.1.ebuild 3864 BLAKE2B b82883013137562211db19ddbfe6a16cf7d1ecc77ec31a0eee0faa18a210576e69ead55c6e61d3292059f5c60f69cecf3c60aadcce1bd8863ea0a314d286e8b0 SHA512 18fea69d2ccc4e115d2b3135998cd25c548db7d6584841fbbfa32fb38e284b38dd3de61df5675e2d836ee427551648ab19a46c56e4e80ba94cb0c2a046da345f MISC metadata.xml 367 BLAKE2B 380a027ceec1e6e23fbde9a39fa2a7653a12b5e9e4cb409538245ddbe7420bf1b8ba46b5cc21aed44c6e67966a6e163061114e755ef0fd077ebbe61aebbd06c0 SHA512 7127047682608f4e36f2d44f8bebc26d48b0fa83b010d439a346bd1282034e8711a5de43d76c4cf17e11a12921ef821b9dbb0209a34c514965e05612f742edeb diff --git a/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild new file mode 100644 index 000000000000..f919d837304d --- /dev/null +++ b/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-11.5.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cuda flag-o-matic portability toolchain-funcs unpacker + +DRIVER_PV="495.29.05" + +DESCRIPTION="NVIDIA CUDA Software Development Kit" +HOMEPAGE="https://developer.nvidia.com/cuda-zone" +SRC_URI="https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run" +S="${WORKDIR}/builds/cuda_samples" + +LICENSE="CUDPP" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~amd64-linux" +IUSE="+cuda debug +doc +examples opencl mpi" + +RDEPEND=" + ~dev-util/nvidia-cuda-toolkit-${PV} + media-libs/freeglut + examples? ( + media-libs/freeimage + media-libs/glew:0= + !prefix? ( >=x11-drivers/nvidia-drivers-${DRIVER_PV}[uvm(+)] ) + mpi? ( virtual/mpi ) + )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +RESTRICT="test" + +QA_EXECSTACK=( + opt/cuda/sdk/0_Simple/cdpSimplePrint/cdpSimplePrint + opt/cuda/sdk/0_Simple/cdpSimpleQuicksort/cdpSimpleQuicksort + opt/cuda/sdk/bin/x86_64/linux/release/cdpSimplePrint + opt/cuda/sdk/bin/x86_64/linux/release/cdpSimpleQuicksort + ) + +src_prepare() { + cuda_src_prepare + + export RAWLDFLAGS="$(raw-ldflags)" + + local file + while IFS="" read -d $'\0' -r file; do + sed \ + -e 's:-O[23]::g' \ + -e "/LINK/s:gcc:$(tc-getCC) ${LDFLAGS}:g" \ + -e "/LINK/s:g++:$(tc-getCXX) ${LDFLAGS}:g" \ + -e "/CC/s:gcc:$(tc-getCC):g" \ + -e "/GCC/s:g++:$(tc-getCXX):g" \ + -e "/NVCC /s|\(:=\).*|:= ${EPREFIX}/opt/cuda/bin/nvcc|g" \ + -e "/ CFLAGS/s|\(:=\)|\1 ${CFLAGS}|g" \ + -e "/ CXXFLAGS/s|\(:=\)|\1 ${CXXFLAGS}|g" \ + -e "/NVCCFLAGS/s|\(:=\)|\1 ${NVCCFLAGS} |g" \ + -e 's:-Wimplicit::g' \ + -e "s|../../common/lib/linux/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ + -e "s|../../common/lib/\$(OSLOWER)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ + -e "s|../../common/lib/\$(OSLOWER)/\$(OS_ARCH)/libGLEW.a|$($(tc-getPKG_CONFIG) --libs glew)|g" \ + -i "${file}" || die + done < <(find . -type f -name 'Makefile' -print0) + + # Upstream suggested us skip cudaNvSci https://github.com/NVIDIA/cuda-samples/issues/22 + rm -rf 0_Simple/cudaNvSci || die + rm -rf common/inc/GL || die + find . -type f -name '*.a' -delete || die + + eapply_user +} + +src_compile() { + use examples || return + local myopts=("verbose=1") + use debug && myopts+=("dbg=1") + export FAKEROOTKEY=1 # Workaround sandbox issue in #462602 + emake \ + cuda-install="${EPREFIX}/opt/cuda" \ + CUDA_PATH="${EPREFIX}/opt/cuda/" \ + MPI_GCC=10 \ + "${myopts[@]}" +} + +src_test() { + addwrite /dev/nvidiactl + addwrite /dev/nvidia0 + + local i + for i in {0..9}*/*; do + emake -C "${i}" run + done +} + +src_install() { + local f t crap=( *.txt Samples.htm* ) + + if use doc; then + ebegin "Installing docs ..." + while IFS="" read -d $'\0' -r f; do + treecopy "${f}" "${ED}"/usr/share/doc/${PF}/ + done < <(find -type f \( -name 'readme.txt' -o -name '*.pdf' \) -print0) + + while IFS="" read -d $'\0' -r f; do + docompress -x "${f#${ED}}" + done < <(find "${ED}"/usr/share/doc/${PF}/ -type f -name 'readme.txt' -print0) + eend "Done" + fi + + ebegin "Cleaning before installation..." + for f in "${crap[@]}"; do + rm -f "${f}" || die + done + find -type f \( -name '*.o' -o -name '*.pdf' -o -name 'readme.txt' \) -delete || die + eend "Done" + + ebegin "Moving files..." + while IFS="" read -d $'\0' -r f; do + t="$(dirname ${f})" + if [[ ${t/obj\/} != ${t} || ${t##*.} == a ]]; then + continue + fi + if [[ -x ${f} ]]; then + exeinto /opt/cuda/sdk/"${t}" + doexe "${f}" + else + insinto /opt/cuda/sdk/"${t}" + doins "${f}" + fi + done < <(find . -type f -print0) + eend "Done" +} + +pkg_postinst() { + if use examples && use prefix; then + ewarn "Gentoo Prefix does not manage kernel modules. You need to make certain" + ewarn "the function counterpart to >=x11-drivers/nvidia-drivers-${DRIVER_PV}" + ewarn "is available from the host" + fi +} |