From ba3d6ddada23eaa04f85228bee3438ab479b4442 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 23 Oct 2022 21:50:52 +0100 Subject: gentoo auto-resync : 23:10:2022 - 21:50:51 --- dev-util/Manifest.gz | Bin 69155 -> 69154 bytes dev-util/lldb/Manifest | 3 + dev-util/lldb/lldb-16.0.0_pre20221023.ebuild | 115 +++++++++ dev-util/nvidia-cuda-toolkit/Manifest | 2 +- .../nvidia-cuda-toolkit-11.8.0-r1.ebuild | 271 +++++++++++++++++++++ .../nvidia-cuda-toolkit-11.8.0.ebuild | 271 --------------------- 6 files changed, 390 insertions(+), 272 deletions(-) create mode 100644 dev-util/lldb/lldb-16.0.0_pre20221023.ebuild create mode 100644 dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0-r1.ebuild delete mode 100644 dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0.ebuild (limited to 'dev-util') diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz index 29e35122ff1d..92d3b8bdbf37 100644 Binary files a/dev-util/Manifest.gz and b/dev-util/Manifest.gz differ diff --git a/dev-util/lldb/Manifest b/dev-util/lldb/Manifest index 125535105019..5a1e2ed1c5a7 100644 --- a/dev-util/lldb/Manifest +++ b/dev-util/lldb/Manifest @@ -1,8 +1,10 @@ +DIST llvm-gentoo-patchset-16.0.0_pre20221023.tar.xz 5876 BLAKE2B 496f2db3dd9b4c8d3a87bb098f0c995124c594a24095abc351ba3f13652ff2ee7a988dfb49652ab7780a5107f16509f56531375ab46f330797b0df562b6541d8 SHA512 518aca413537ce2e1aee8252692bc008e520c94fccc6c1b4a106decd4042cf21bbae95e3520a0c76cb7be81ad7a6a705734117ecaa254725dbc1f597f8ec6172 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 +DIST llvm-project-b34ea582774c057d9bf5591174d683fd3d8aa02b.tar.gz 169735900 BLAKE2B d3a82a07f855b038071fc8eb3f41a88b4c220a577219985ecddeb9a535ea8b159dbad575699997d90a49db74c074b5f4354ad707e91d6934daaa7319e0d8ee9b SHA512 3f5525c7d893bdac701cff4cf82dafc31608920d788d9b7401654f320b2432528cf4ae8ef013182807b3dc0c5b758c71f1efeedb672dd47fdb8aa6f434dfb583 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD lldb-13.0.1.ebuild 2587 BLAKE2B 1e017726c7d7f9879c96c744c63f950ff2837d3082e5e5f81202b9b6259d71d013285fb48e81a25d8cbdb81b1db8b2f6807f897ea83b9742a24c3c35ac9761c0 SHA512 6e626b26f6ed4c51e9b2c732de21a60d3a5db90ee57c890b40dd8a6c82f738d6e8bd7a02f8f7fe7cdb9cb067ead82513b3ce7d35e20210f10f4d525cb3baed77 EBUILD lldb-14.0.6.ebuild 2661 BLAKE2B 272053742b016bf234e75bb6b05e4b113b1f8b34249e8a601842412216665cf00df1b93bf590815d1dd1a709ce5006671bddb92cda7d42a5d099f3cfc3968368 SHA512 91a303661ae706bde45a7d12da928735690fdbb48901a31d6477c2d8595a42a59d4e07dc0ffe4eeb64e0775c61c329b05c0f12ccdece7bed1d5a9093db690f34 @@ -10,4 +12,5 @@ EBUILD lldb-15.0.3.9999.ebuild 2673 BLAKE2B 0c01470e8916e102a0478bf11e8d37b7ccf7 EBUILD lldb-15.0.3.ebuild 2696 BLAKE2B 7eda6ca848fdf9053e99363263cf54df4f658971b7201fdce7b789a43caaec2beea0ace930c86ff303d128305b578c13657e404023ffc06f9c964acd212f4b6f SHA512 a47c1c7cca3c7ba33d7517f059f0a983f1cb23a489f15d0ad13c4b95057b99faf982dcd6c85c6562e3c99b3004d69d6e6710d9077266bd95f2fd50a6566fa08a EBUILD lldb-16.0.0.9999.ebuild 2630 BLAKE2B 2c603a9c2de88501977cf49958858eda09c30dc04a5e7345b081c8597eefb1a6a568a0e285eff1cf4dff106e1efd98abc5a3c2ed6d233180c86a3e6564a78f9e SHA512 288528aa3b4c9aecd8a79f9e69265d719111ddf065fba9df34b2629c4cf1ad4164658410c9830feb1a157494126253f2e6c8778c88e3433e30eaede6faa518c1 EBUILD lldb-16.0.0_pre20221016.ebuild 2673 BLAKE2B 0c01470e8916e102a0478bf11e8d37b7ccf7e5582917c57da47aa740b1b67788ecd21e264fe9e69bb922faf731df046e0db77305aabd7beed3332d0c2a51063c SHA512 4b6ce3d052910dd175795ff62184fbbf3efd297d43ff5bd45718728103fd0811eace71a9b5415503e242f7d97fe3e96dc1811444a459b1a52669218ad494e0b8 +EBUILD lldb-16.0.0_pre20221023.ebuild 2650 BLAKE2B 16cff433eeed391615fa5352e8929f1221a71935d02b1a91152effa137909c33aa79b79cadd7c2d2ee4dd3c39f2f378b831887444d5affca8703d3ff56fc3b3b SHA512 c6342de53f3151bc20d3fc3a7e04628ecec57baca3495b41611aec6c8a42cda1c79124d13d9f52483bbf9f75c121a3d00986558e5f7687339c9dd0e5e92c4cf2 MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685 diff --git a/dev-util/lldb/lldb-16.0.0_pre20221023.ebuild b/dev-util/lldb/lldb-16.0.0_pre20221023.ebuild new file mode 100644 index 000000000000..0caeee2c517d --- /dev/null +++ b/dev-util/lldb/lldb-16.0.0_pre20221023.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake llvm llvm.org python-single-r1 + +DESCRIPTION="The LLVM debugger" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0/${LLVM_SOABI}" +KEYWORDS="" +IUSE="debug +libedit lzma ncurses +python test +xml" +RESTRICT="test" +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +DEPEND=" + libedit? ( dev-libs/libedit:0= ) + lzma? ( app-arch/xz-utils:= ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0= ) + xml? ( dev-libs/libxml2:= ) + ~sys-devel/clang-${PV} + ~sys-devel/llvm-${PV} +" +RDEPEND=" + ${DEPEND} + python? ( + $(python_gen_cond_dep ' + dev-python/six[${PYTHON_USEDEP}] + ') + ${PYTHON_DEPS} + ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/cmake-3.16 + python? ( + >=dev-lang/swig-3.0.11 + $(python_gen_cond_dep ' + dev-python/six[${PYTHON_USEDEP}] + ') + ) + test? ( + $(python_gen_cond_dep " + ~dev-python/lit-${PV}[\${PYTHON_USEDEP}] + dev-python/psutil[\${PYTHON_USEDEP}] + ") + sys-devel/lld + ) +" + +LLVM_COMPONENTS=( lldb cmake llvm/utils ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support ) +LLVM_PATCHSET=${PV} +llvm.org_set_globals + +pkg_setup() { + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local mycmakeargs=( + -DLLDB_ENABLE_CURSES=$(usex ncurses) + -DLLDB_ENABLE_LIBEDIT=$(usex libedit) + -DLLDB_ENABLE_PYTHON=$(usex python) + -DLLDB_ENABLE_LZMA=$(usex lzma) + -DLLDB_ENABLE_LIBXML2=$(usex xml) + -DLLDB_USE_SYSTEM_SIX=1 + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + + -DLLDB_INCLUDE_TESTS=$(usex test) + + -DCLANG_LINK_CLANG_DYLIB=ON + # TODO: fix upstream to detect this properly + -DHAVE_LIBDL=ON + -DHAVE_LIBPTHREAD=ON + + # normally we'd have to set LLVM_ENABLE_TERMINFO, HAVE_TERMINFO + # and TERMINFO_LIBS... so just force FindCurses.cmake to use + # ncurses with complete library set (including autodetection + # of -ltinfo) + -DCURSES_NEED_NCURSES=ON + + -DLLDB_EXTERNAL_CLANG_RESOURCE_DIR="${BROOT}/usr/lib/clang/${LLVM_VERSION}" + + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lldb-{shell,unit} + # failures + hangs + #use python && cmake_build check-lldb-api +} + +src_install() { + cmake_src_install + find "${D}" -name '*.a' -delete || die + + use python && python_optimize +} diff --git a/dev-util/nvidia-cuda-toolkit/Manifest b/dev-util/nvidia-cuda-toolkit/Manifest index 9448c39f210d..e5e51176fe98 100644 --- a/dev-util/nvidia-cuda-toolkit/Manifest +++ b/dev-util/nvidia-cuda-toolkit/Manifest @@ -10,5 +10,5 @@ EBUILD nvidia-cuda-toolkit-11.6.0.ebuild 7885 BLAKE2B 738dddb098d327bc4bcfdb464e EBUILD nvidia-cuda-toolkit-11.6.1.ebuild 7885 BLAKE2B cde8e87114871685e4891be06633065dc181c1ede3c7690a6d8cfe5537f518147862b426d01187c9265c452628b3db340aa1d7bcc3a63507c3d576aa79005ea7 SHA512 aff120e1c3140cb353aa37366d58c9a08185ab4ca603f4161ff33253d1e5fd065ec1a8e9d73490ca8fa2eff87464c1a15a35944b012c93c5d8560f46de1d1b57 EBUILD nvidia-cuda-toolkit-11.6.2.ebuild 7885 BLAKE2B cde8e87114871685e4891be06633065dc181c1ede3c7690a6d8cfe5537f518147862b426d01187c9265c452628b3db340aa1d7bcc3a63507c3d576aa79005ea7 SHA512 aff120e1c3140cb353aa37366d58c9a08185ab4ca603f4161ff33253d1e5fd065ec1a8e9d73490ca8fa2eff87464c1a15a35944b012c93c5d8560f46de1d1b57 EBUILD nvidia-cuda-toolkit-11.7.0-r2.ebuild 7901 BLAKE2B e17c9639dde2e4f3d237a993589a35b2b73ccb881c67a494552dcafc8531286b2f18c6c191453779cd79b2a9c9a93eff611dc359d70156cc9fd32d8f8b21c97c SHA512 146327a76cb8d01808f4537db3bc77ec24cfb5b91c442e33451c7b8fdaad9939a5a2023b30a52eee9052bcc0750dffde1e30b200b2cd66712c403c4e0c58c519 -EBUILD nvidia-cuda-toolkit-11.8.0.ebuild 7901 BLAKE2B 4c3ca921d6f3639fe653195b78e023b9a3aac60b00faeeaa9301d857a9a5ef29223d6619d53a2a658e9e066e47654519767906ab0875408baf5850d8f2d174c0 SHA512 c67fe216257a308a11d03b9439cabb681e607185020549956a8037d7342fe2514369be11c52d75137bf95da6fcb1bb66c98cefba426f519d4b6bf00a9ae1173c +EBUILD nvidia-cuda-toolkit-11.8.0-r1.ebuild 7926 BLAKE2B d42c1047d0b8d32ad6423f44f541a34e9dc9e6b9e5219b278aa3185908244d38d0b393c16b92b287f79383c21d55e4d0974aca302f2da7b8ca7dbb4bd0c9b247 SHA512 27cfdc191f459320547f4cd42185b17870539a8afb35d26acc38d9981fcd96862d5183e6e65f2f5b1e77f891031583ad995e5c8a27ad1cc6393a1ef1de545aff MISC metadata.xml 671 BLAKE2B 20d0b15061270bdb0604e9e76e8913c9d304c51a05102f92b2ef64cddb1b369705a742aefca28f4d36976bb633d0a2cf090bf3d307ea579121578d29c41264e1 SHA512 09fe8a1c60ca7924e433c5aca460d6a757c9962371b3f2a3c42c2ff1b0dd819f1704dd5943bd31a3e74337ad0f14aa4d7836912a435396c15e4f0daaed33800e diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0-r1.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0-r1.ebuild new file mode 100644 index 000000000000..6892b8af6f78 --- /dev/null +++ b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0-r1.ebuild @@ -0,0 +1,271 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs toolchain-funcs unpacker + +DRIVER_PV="520.61.05" + +DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)" +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}" + +LICENSE="NVIDIA-CUDA" +SLOT="0/${PV}" +KEYWORDS="-* ~amd64 ~amd64-linux" +IUSE="debugger nsight profiler vis-profiler sanitizer" +RESTRICT="bindist mirror" + +# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the +# actual required minimum driver version are different. Lowering the +# bound helps Kepler sm_35 and sm_37 users. +# https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions +RDEPEND=" + =x11-drivers/nvidia-drivers-450.80.02 + nsight? ( + dev-libs/libpfm + dev-libs/wayland + || ( + dev-libs/openssl-compat:1.1.1 + =dev-libs/openssl-1.1.1* + ) + sys-libs/zlib + ) + vis-profiler? ( + >=virtual/jre-1.8:* + )" + +QA_PREBUILT="opt/cuda/*" +CHECKREQS_DISK_BUILD="6800M" + +pkg_setup() { + check-reqs_pkg_setup +} + +src_prepare() { + # ATTENTION: change requires revbump + local cuda_supported_gcc="8.5 9.4 9.5 10.3 10.4 11.1 11.2 11.3" + + sed \ + -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \ + "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die + + default +} + +src_install() { + local cudadir=/opt/cuda + local ecudadir="${EPREFIX}${cudadir}" + local pathextradirs ldpathextradirs + dodir ${cudadir} + into ${cudadir} + + # Install standard sub packages + local builddirs=( + builds/cuda_{cccl,cudart,cuobjdump,cuxxfilt,memcheck,nvcc,nvdisasm,nvml_dev,nvprune,nvrtc,nvtx} + builds/lib{cublas,cufft,curand,cusolver,cusparse,npp,nvjpeg} + $(usex profiler "builds/cuda_nvprof builds/cuda_cupti builds/cuda_profiler_api" "") + $(usex vis-profiler "builds/cuda_nvvp" "") + $(usex debugger "builds/cuda_gdb" "") + ) + + local d f + for d in "${builddirs[@]}"; do + ebegin "Installing ${d}" + [[ -d ${d} ]] || die "Directory does not exist: ${d}" + + if [[ -d ${d}/bin ]]; then + for f in ${d}/bin/*; do + if [[ -f ${f} ]]; then + dobin "${f}" + else + insinto ${cudadir}/bin + doins -r "${f}" + fi + done + fi + + insinto ${cudadir} + if [[ -d ${d}/targets ]]; then + doins -r "${d}"/targets + fi + if [[ -d ${d}/share ]]; then + doins -r "${d}"/share + fi + if [[ -d ${d}/extras ]]; then + doins -r "${d}"/extras + fi + eend $? + done + dobin "${T}"/cuda-config + + doins builds/EULA.txt + # nvml and nvvm need special handling + ebegin "Installing nvvm" + doins -r builds/cuda_nvcc/nvvm + fperms +x ${cudadir}/nvvm/bin/cicc + eend $? + + ebegin "Installing nvml" + doins -r builds/cuda_nvml_dev/nvml + eend $? + + if use sanitizer; then + ebegin "Installing sanitizer" + dobin builds/integration/Sanitizer/compute-sanitizer + doins -r builds/cuda_sanitizer_api/compute-sanitizer + # special handling for the executable + fperms +x ${cudadir}/compute-sanitizer/compute-sanitizer + eend $? + fi + + use profiler && ldpathextradirs+=":${ecudadir}/extras/CUPTI/lib64" + + if use vis-profiler; then + ebegin "Installing libnvvp" + doins -r builds/cuda_nvvp/libnvvp + # special handling for the executable + fperms +x ${cudadir}/libnvvp/nvvp + eend $? + pathextradirs+=":${ecudadir}/libnvvp" + fi + + if use nsight; then + local ncu_dir=$(grep -o 'nsight-compute-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml) + ebegin "Installing ${ncu_dir}" + mv builds/nsight_compute builds/${ncu_dir} || die + doins -r builds/${ncu_dir} + + # check this list on every bump + local exes=( + ${ncu_dir}/ncu + ${ncu_dir}/ncu-ui + ${ncu_dir}/nv-nsight-cu + ${ncu_dir}/nv-nsight-cu-cli + ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/libexec/QtWebEngineProcess + ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/CrashReporter + ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/OpenGLVersionChecker + ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui + ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui.bin + ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherTargetLdPreloadHelper + ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherSubreaper + ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/ncu + ) + + dobin builds/integration/nsight-compute/{ncu,ncu-ui,nv-nsight-cu,nv-nsight-cu-cli} + eend $? + + local nsys_dir=$(grep -o 'nsight-systems-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml) + ebegin "Installing ${nsys_dir}" + mv builds/nsight_systems builds/${nsys_dir} || die + doins -r builds/${nsys_dir} + + # check this list on every bump + exes+=( + ${nsys_dir}/host-linux-x64/nsys-ui + ${nsys_dir}/host-linux-x64/nsys-ui.bin + ${nsys_dir}/host-linux-x64/ResolveSymbols + ${nsys_dir}/host-linux-x64/ImportNvtxt + ${nsys_dir}/host-linux-x64/CrashReporter + ${nsys_dir}/host-linux-x64/QdstrmImporter + ${nsys_dir}/host-linux-x64/libexec/QtWebEngineProcess + ${nsys_dir}/target-linux-x64/nsys + ${nsys_dir}/target-linux-x64/launcher + ${nsys_dir}/target-linux-x64/nvgpucs + ${nsys_dir}/target-linux-x64/nsys-launcher + ${nsys_dir}/target-linux-x64/sqlite3 + ${nsys_dir}/target-linux-x64/python/bin/python + ) + + dobin builds/integration/nsight-systems/{nsight-sys,nsys,nsys-exporter,nsys-ui} + eend $? + + # nsight scripts and binaries need to have their executable bit set, #691284 + for f in "${exes[@]}"; do + fperms +x ${cudadir}/${f} + done + + # remove foreign archs (triggers SONAME warning, #749903) + rm -r "${ED}"/${cudadir}/${ncu_dir}/target/linux-desktop-glibc_2_19_0-ppc64le || die + rm -r "${ED}"/${cudadir}/${ncu_dir}/target/linux-desktop-t210-a64 || die + + # unbundle libstdc++ + rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libstdc++.so.6 || die + + # unbundle openssl + rm "${ED}"/${cudadir}/${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/libssl.so* || die + rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libssl.so* || die + + # unbundle libz + rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libz.so* || die + + # unbundle libpfm + rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libpfm.so* || die + + # TODO: unbundle qt5 + # TODO: unbundle boost + # TODO: unbundle icu + # TODO: unbundle mesa + # TODO: unbundle libSshClient + # TODO: unbundle sqlite + fi + + # Add include and lib symlinks + dosym targets/x86_64-linux/include ${cudadir}/include + dosym targets/x86_64-linux/lib ${cudadir}/lib64 + + newenvd - 99cuda <<-EOF + PATH=${ecudadir}/bin${pathextradirs} + ROOTPATH=${ecudadir}/bin + LDPATH=${ecudadir}/lib64:${ecudadir}/nvvm/lib64${ldpathextradirs} + EOF + + # Cuda prepackages libraries, don't revdep-build on them + insinto /etc/revdep-rebuild + newins - 80${PN} <<-EOF + SEARCH_DIRS_MASK="${ecudadir}" + EOF + # TODO: Add pkgconfig files for installed libraries +} + +pkg_postinst_check() { + local a="$(${EROOT}/opt/cuda/bin/cuda-config -s)" + local b="0.0" + local v + for v in ${a}; do + ver_test "${v}" -gt "${b}" && b="${v}" + done + + # if gcc and if not gcc-version is at least greatest supported + if tc-is-gcc && \ + ver_test $(gcc-version) -gt "${b}"; then + ewarn + ewarn "gcc > ${b} will not work with CUDA" + ewarn "Make sure you set an earlier version of gcc with gcc-config" + ewarn "or append --compiler-bindir= pointing to a gcc bindir like" + ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}" + ewarn "to the nvcc compiler flags" + ewarn + fi +} + +pkg_postinst() { + if [[ ${MERGE_TYPE} != binary ]]; then + pkg_postinst_check + fi + + if use profiler || use nsight; then + einfo + einfo "nvidia-drivers restrict access to performance counters." + einfo "You'll need to either run profiling tools (nvprof, nsight) " + einfo "using sudo (needs cap SYS_ADMIN) or add the following line to " + einfo "a modprobe configuration file " + einfo "(e.g. /etc/modprobe.d/nvidia-prof.conf): " + einfo + einfo "options nvidia NVreg_RestrictProfilingToAdminUsers=0" + einfo + fi +} diff --git a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0.ebuild b/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0.ebuild deleted file mode 100644 index b36b219bb292..000000000000 --- a/dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-11.8.0.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit check-reqs toolchain-funcs unpacker - -DRIVER_PV="520.61.05" - -DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)" -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}" - -LICENSE="NVIDIA-CUDA" -SLOT="0/${PV}" -KEYWORDS="-* ~amd64 ~amd64-linux" -IUSE="debugger nsight profiler vis-profiler sanitizer" -RESTRICT="bindist mirror" - -# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the -# actual required minimum driver version are different. Lowering the -# bound helps Kepler sm_35 and sm_37 users. -# https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions -RDEPEND=" - =x11-drivers/nvidia-drivers-450.80.02 - nsight? ( - dev-libs/libpfm - dev-libs/wayland - || ( - dev-libs/openssl-compat:1.1.1 - =dev-libs/openssl-1.1.1* - ) - sys-libs/zlib - ) - vis-profiler? ( - >=virtual/jre-1.8:* - )" - -QA_PREBUILT="opt/cuda/*" -CHECKREQS_DISK_BUILD="6800M" - -pkg_setup() { - check-reqs_pkg_setup -} - -src_prepare() { - # ATTENTION: change requires revbump - local cuda_supported_gcc="8.5 9.4 9.5 10.3 10.4 11.1 11.2 11.3" - - sed \ - -e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc}:g" \ - "${FILESDIR}"/cuda-config.in > "${T}"/cuda-config || die - - default -} - -src_install() { - local cudadir=/opt/cuda - local ecudadir="${EPREFIX}${cudadir}" - local pathextradirs ldpathextradirs - dodir ${cudadir} - into ${cudadir} - - # Install standard sub packages - local builddirs=( - builds/cuda_{cccl,cudart,cuobjdump,cuxxfilt,memcheck,nvcc,nvdisasm,nvml_dev,nvprune,nvrtc,nvtx} - builds/lib{cublas,cufft,curand,cusolver,cusparse,npp,nvjpeg} - $(usex profiler "builds/cuda_nvprof builds/cuda_cupti" "") - $(usex vis-profiler "builds/cuda_nvvp" "") - $(usex debugger "builds/cuda_gdb" "") - ) - - local d f - for d in "${builddirs[@]}"; do - ebegin "Installing ${d}" - [[ -d ${d} ]] || die "Directory does not exist: ${d}" - - if [[ -d ${d}/bin ]]; then - for f in ${d}/bin/*; do - if [[ -f ${f} ]]; then - dobin "${f}" - else - insinto ${cudadir}/bin - doins -r "${f}" - fi - done - fi - - insinto ${cudadir} - if [[ -d ${d}/targets ]]; then - doins -r "${d}"/targets - fi - if [[ -d ${d}/share ]]; then - doins -r "${d}"/share - fi - if [[ -d ${d}/extras ]]; then - doins -r "${d}"/extras - fi - eend $? - done - dobin "${T}"/cuda-config - - doins builds/EULA.txt - # nvml and nvvm need special handling - ebegin "Installing nvvm" - doins -r builds/cuda_nvcc/nvvm - fperms +x ${cudadir}/nvvm/bin/cicc - eend $? - - ebegin "Installing nvml" - doins -r builds/cuda_nvml_dev/nvml - eend $? - - if use sanitizer; then - ebegin "Installing sanitizer" - dobin builds/integration/Sanitizer/compute-sanitizer - doins -r builds/cuda_sanitizer_api/compute-sanitizer - # special handling for the executable - fperms +x ${cudadir}/compute-sanitizer/compute-sanitizer - eend $? - fi - - use profiler && ldpathextradirs+=":${ecudadir}/extras/CUPTI/lib64" - - if use vis-profiler; then - ebegin "Installing libnvvp" - doins -r builds/cuda_nvvp/libnvvp - # special handling for the executable - fperms +x ${cudadir}/libnvvp/nvvp - eend $? - pathextradirs+=":${ecudadir}/libnvvp" - fi - - if use nsight; then - local ncu_dir=$(grep -o 'nsight-compute-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml) - ebegin "Installing ${ncu_dir}" - mv builds/nsight_compute builds/${ncu_dir} || die - doins -r builds/${ncu_dir} - - # check this list on every bump - local exes=( - ${ncu_dir}/ncu - ${ncu_dir}/ncu-ui - ${ncu_dir}/nv-nsight-cu - ${ncu_dir}/nv-nsight-cu-cli - ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/libexec/QtWebEngineProcess - ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/CrashReporter - ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/OpenGLVersionChecker - ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui - ${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/ncu-ui.bin - ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherTargetLdPreloadHelper - ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/TreeLauncherSubreaper - ${ncu_dir}/target/linux-desktop-glibc_2_11_3-x64/ncu - ) - - dobin builds/integration/nsight-compute/{ncu,ncu-ui,nv-nsight-cu,nv-nsight-cu-cli} - eend $? - - local nsys_dir=$(grep -o 'nsight-systems-[0-9][0-9\.]*' -m1 manifests/cuda_x86_64.xml) - ebegin "Installing ${nsys_dir}" - mv builds/nsight_systems builds/${nsys_dir} || die - doins -r builds/${nsys_dir} - - # check this list on every bump - exes+=( - ${nsys_dir}/host-linux-x64/nsys-ui - ${nsys_dir}/host-linux-x64/nsys-ui.bin - ${nsys_dir}/host-linux-x64/ResolveSymbols - ${nsys_dir}/host-linux-x64/ImportNvtxt - ${nsys_dir}/host-linux-x64/CrashReporter - ${nsys_dir}/host-linux-x64/QdstrmImporter - ${nsys_dir}/host-linux-x64/libexec/QtWebEngineProcess - ${nsys_dir}/target-linux-x64/nsys - ${nsys_dir}/target-linux-x64/launcher - ${nsys_dir}/target-linux-x64/nvgpucs - ${nsys_dir}/target-linux-x64/nsys-launcher - ${nsys_dir}/target-linux-x64/sqlite3 - ${nsys_dir}/target-linux-x64/python/bin/python - ) - - dobin builds/integration/nsight-systems/{nsight-sys,nsys,nsys-exporter,nsys-ui} - eend $? - - # nsight scripts and binaries need to have their executable bit set, #691284 - for f in "${exes[@]}"; do - fperms +x ${cudadir}/${f} - done - - # remove foreign archs (triggers SONAME warning, #749903) - rm -r "${ED}"/${cudadir}/${ncu_dir}/target/linux-desktop-glibc_2_19_0-ppc64le || die - rm -r "${ED}"/${cudadir}/${ncu_dir}/target/linux-desktop-t210-a64 || die - - # unbundle libstdc++ - rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libstdc++.so.6 || die - - # unbundle openssl - rm "${ED}"/${cudadir}/${ncu_dir}/host/linux-desktop-glibc_2_11_3-x64/libssl.so* || die - rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libssl.so* || die - - # unbundle libz - rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libz.so* || die - - # unbundle libpfm - rm "${ED}"/${cudadir}/${nsys_dir}/host-linux-x64/libpfm.so* || die - - # TODO: unbundle qt5 - # TODO: unbundle boost - # TODO: unbundle icu - # TODO: unbundle mesa - # TODO: unbundle libSshClient - # TODO: unbundle sqlite - fi - - # Add include and lib symlinks - dosym targets/x86_64-linux/include ${cudadir}/include - dosym targets/x86_64-linux/lib ${cudadir}/lib64 - - newenvd - 99cuda <<-EOF - PATH=${ecudadir}/bin${pathextradirs} - ROOTPATH=${ecudadir}/bin - LDPATH=${ecudadir}/lib64:${ecudadir}/nvvm/lib64${ldpathextradirs} - EOF - - # Cuda prepackages libraries, don't revdep-build on them - insinto /etc/revdep-rebuild - newins - 80${PN} <<-EOF - SEARCH_DIRS_MASK="${ecudadir}" - EOF - # TODO: Add pkgconfig files for installed libraries -} - -pkg_postinst_check() { - local a="$(${EROOT}/opt/cuda/bin/cuda-config -s)" - local b="0.0" - local v - for v in ${a}; do - ver_test "${v}" -gt "${b}" && b="${v}" - done - - # if gcc and if not gcc-version is at least greatest supported - if tc-is-gcc && \ - ver_test $(gcc-version) -gt "${b}"; then - ewarn - ewarn "gcc > ${b} will not work with CUDA" - ewarn "Make sure you set an earlier version of gcc with gcc-config" - ewarn "or append --compiler-bindir= pointing to a gcc bindir like" - ewarn "--compiler-bindir=${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/gcc${b}" - ewarn "to the nvcc compiler flags" - ewarn - fi -} - -pkg_postinst() { - if [[ ${MERGE_TYPE} != binary ]]; then - pkg_postinst_check - fi - - if use profiler || use nsight; then - einfo - einfo "nvidia-drivers restrict access to performance counters." - einfo "You'll need to either run profiling tools (nvprof, nsight) " - einfo "using sudo (needs cap SYS_ADMIN) or add the following line to " - einfo "a modprobe configuration file " - einfo "(e.g. /etc/modprobe.d/nvidia-prof.conf): " - einfo - einfo "options nvidia NVreg_RestrictProfilingToAdminUsers=0" - einfo - fi -} -- cgit v1.2.3