diff --git a/dev-libs/optix/Manifest b/dev-libs/optix/Manifest index 8443181a23abc..14ed1d389e306 100644 --- a/dev-libs/optix/Manifest +++ b/dev-libs/optix/Manifest @@ -1,5 +1,9 @@ DIST NVIDIA-OptiX-SDK-7.4.0-linux64-x86_64.sh 57923655 BLAKE2B c3e159106ec6c8c446090ebd182fd3b0a75ec48b62e6984ae6559578688fd9a6cb29ea6065cb89aecdeb02247acbf3fb3bb0cbf69b10c29c222eb9fcbb0c6d90 SHA512 04f50c49d08c5e4e9be73ee322c4bff4f10a5e30445bc431e213c879a35cc5e36e0ceb8c864313f417628575a3c71593e65467ea13dd111b432fdf1db9383ae0 DIST NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64.sh 57849566 BLAKE2B 98ab7b92002325dacd1d12e57e83c1ba905d5950e4db5ba78cadcef7aab7067e0077e0f1214a8f953a19d40baa5b20574f95daae98ff55ab9e59023beeb7f4d9 SHA512 76469f3b19819922d668228ca6c75efdca980f48c4c2620a679908c4ac945ab2b06a134cf79dbd2a08b181419601dc70e63f055a95c586c8e7490fdb68735547 +DIST NVIDIA-OptiX-SDK-8.1.0-linux64-aarch64-35015278.sh 252 BLAKE2B 08ba303e6c09cce09c9f38415963654d7ebfd3393df81635c80ffca062d85a3c4efb562abf97d520cd6d6b25d29eabef6a78f60339ec307059334a4450b71fae SHA512 7a96dd0a04b92b54cd9dcc06a5ab076a873cf73a27b04a02f06c8a7cb17deaffe16c574b2ff89d91b74b525b93898f56110e3c27862a4c52d4e1db6bce2b5e2e +DIST NVIDIA-OptiX-SDK-8.1.0-linux64-x86_64-35015278.sh 252 BLAKE2B 08ba303e6c09cce09c9f38415963654d7ebfd3393df81635c80ffca062d85a3c4efb562abf97d520cd6d6b25d29eabef6a78f60339ec307059334a4450b71fae SHA512 7a96dd0a04b92b54cd9dcc06a5ab076a873cf73a27b04a02f06c8a7cb17deaffe16c574b2ff89d91b74b525b93898f56110e3c27862a4c52d4e1db6bce2b5e2e +DIST NVIDIA-OptiX-SDK-9.0.0-linux64-aarch64.sh 252 BLAKE2B 08ba303e6c09cce09c9f38415963654d7ebfd3393df81635c80ffca062d85a3c4efb562abf97d520cd6d6b25d29eabef6a78f60339ec307059334a4450b71fae SHA512 7a96dd0a04b92b54cd9dcc06a5ab076a873cf73a27b04a02f06c8a7cb17deaffe16c574b2ff89d91b74b525b93898f56110e3c27862a4c52d4e1db6bce2b5e2e +DIST NVIDIA-OptiX-SDK-9.0.0-linux64-x86_64.sh 252 BLAKE2B 08ba303e6c09cce09c9f38415963654d7ebfd3393df81635c80ffca062d85a3c4efb562abf97d520cd6d6b25d29eabef6a78f60339ec307059334a4450b71fae SHA512 7a96dd0a04b92b54cd9dcc06a5ab076a873cf73a27b04a02f06c8a7cb17deaffe16c574b2ff89d91b74b525b93898f56110e3c27862a4c52d4e1db6bce2b5e2e DIST optix-7.4.0-internal-optix_7_device_impl.h 331318 BLAKE2B f0f5bba73b8b13fcd7a9c6cad9df1e7da7a8bd6c2b62c8fd69baebffb597ae4f6fdef72fd5005517ed3684921ab3213466dcfcc6ed5a5025a94fce8cba93fcdd SHA512 e3aa42816154737b5d80ec837cf5cb1dc5ee579a68b73b0e9cbf175e396cee622ec3a5b8c0a9e8c65f5dfee3a2dcba7feef54acc9970bf9792e7e8c9fe4db0f2 DIST optix-7.4.0-internal-optix_7_device_impl_exception.h 15611 BLAKE2B 0c4023d2a89df3886f1478ecf8520e077075a53659d4c56d31bbe0396dbf87228329e57105ad2b8df86aa87829d03d04341790a6c5a996403563cf2f2fdee3d4 SHA512 4b4de0502c82b7810c5cb7b7db34f1d78b43b2551f79b351ebc8c0a8d3e4a91918629ff980623dd861ac7fc786d2ecc880935d48e2619ab8c297f39bfb5ed453 DIST optix-7.4.0-internal-optix_7_device_impl_transformations.h 17987 BLAKE2B 666f642cd5596f44e587187d1810df7815ce06fae0bc8ac609a24928789904b56a33693573ccd0719442386e090e3056792d34b9a3980367dc9c26822afb1598 SHA512 8280c529565b8af2ef2765c3da7d0821e2f2f2361aacb2bef1a3237effe272f21990d273e2ea423056c1af91946b5d2b07af4532c6168be2370add858ad9775f @@ -30,3 +34,5 @@ DIST optix-7.5.0-optix_host.h 1661 BLAKE2B 85e0bd7b256e40a6672e668ba2781d2ffe2be DIST optix-7.5.0-optix_stack_size.h 17447 BLAKE2B 3e95fce2eb9e1a03725e4259ad3327361baf52cdf3ddda1204cfae83b44261e97ec56dd3713f926e6fe880c69db674395c4bd6f466cba826f70fbafaa835c386 SHA512 ae5c6a9efedbc87e33bef5475a10ff8df0e3f53ee52bbea3aba78126b5e099961a6c34abfba6b37d076d6eb2dad458040c7f558cd2d3d090586d701fbef164e7 DIST optix-7.5.0-optix_stubs.h 30722 BLAKE2B 0474c780164b6a6f6c645b724e03f77725e2fd7c18b7e2760dfa5d2cf5883d375c484dbbdcb568e0e2cc36524510c5e513a43164827010395f8db29004ad2522 SHA512 57959e4a1d9c57e5f691f3ab55749476a48111b0364ee09c4123a75b9690cbbb0f67481d7e5a532b2abf3f80b380d628cecccb7cf5a85c0c42adfa53fa5fc2b2 DIST optix-7.5.0-optix_types.h 1777 BLAKE2B 87ceb8dca1c8014fa87c67983cc5d1f674e72ff5649007d8d1ee1d832f8e94c5131002299a1a7f8e1261ca84578d01765bef2bacb185ac3cd43c453346caf237 SHA512 11c637572e4a493f5fc5e125c9a15919412126b2d5876ff8e3f53ccd88280e8a7d4ec0894f44a3514e3d5dea81abea3ba207dc901e3d3bf54c7cb3407bb63767 +DIST optix-8.1.0.tar.gz 84938 BLAKE2B 9fff1881c05e36cb5b689284646be7931a92b7c59c5593b80544b5cb5ca15867d2b28b3913675c5ecb21d5fff817c2278afec778a15966bb4562c4d97a297980 SHA512 a5b4918d7848df5b1e22853d0c9011cbb9d244651b2670c8bd876470cea6af4795dbea4f84cb8286079c2b005ecf337ea4b8bdc926c47eb6a5ead43ba562aab5 +DIST optix-9.0.0.tar.gz 104546 BLAKE2B 4bf50bcbf5b93631ead218ab27d0fb0704c00fd219c00dc505b50d03a10cbcf314ffb29c032c4c80b2dc00f68e11922bf1543810ffe7425418f838350826bd5f SHA512 0e8cff175b15d886760028361a179116f600bb2821283a376e675026d48345cee2929ecfdf723d91497ae50f80ec8d55393c6c03301fa2291103564fed7f3c00 diff --git a/dev-libs/optix/optix-8.1.0.ebuild b/dev-libs/optix/optix-8.1.0.ebuild new file mode 100644 index 0000000000000..aac4a60536a2b --- /dev/null +++ b/dev-libs/optix/optix-8.1.0.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda flag-o-matic toolchain-funcs +MY_PV=$(ver_cut 1-2) +PV_BUILD="-35015278" + +DESCRIPTION="NVIDIA Ray Tracing Engine" +HOMEPAGE="https://developer.nvidia.com/rtx/ray-tracing/optix" +SRC_URI=" + !headers-only? ( + amd64? ( + https://developer.download.nvidia.com/designworks/optix/secure/${PV}/NVIDIA-OptiX-SDK-${PV}-linux64-x86_64${PV_BUILD}.sh + ) + arm64? ( + https://developer.download.nvidia.com/designworks/optix/secure/${PV}/NVIDIA-OptiX-SDK-${PV}-linux64-aarch64${PV_BUILD}.sh + ) + ) + headers-only? ( + https://github.com/NVIDIA/optix-dev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ) +" +S="${WORKDIR}" + +LICENSE="NVIDIA-SDK" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64" +IUSE="+headers-only" +RESTRICT="bindist mirror !headers-only? ( fetch ) test" + +RDEPEND=">=x11-drivers/nvidia-drivers-555" + +pkg_nofetch() { + einfo "Please download ${A} from:" + einfo " ${HOMEPAGE}" + einfo "and move it to your distfiles directory." +} + +src_unpack() { + if use headers-only; then + default + else + skip="$(grep -a ^tail "${DISTDIR}/${A}" | tail -n1 | cut -d' ' -f 3)" + tail -n "${skip}" "${DISTDIR}/${A}" | tar -zx -f - + assert "unpacking ${A} failed" + fi +} + +src_prepare() { + if use headers-only; then + default + else + export CMAKE_USE_DIR="${WORKDIR}/SDK" + sed -e "s/CMAKE_CXX_STANDARD 11/CMAKE_CXX_STANDARD 17/" -i "SDK/CMakeLists.txt" || die + + cmake_src_prepare + fi +} + +src_configure() { + use headers-only && return + + filter-lto + + # cmake-4 #951350 + : "${CMAKE_POLICY_VERSION_MINIMUM:=3.10}" + export CMAKE_POLICY_VERSION_MINIMUM + + # allow slotted install + : "${CUDA_PATH:=${ESYSROOT}/opt/cuda}" + export CUDA_PATH + + local -x CUDAHOSTCXX="$(cuda_gccdir)" + local -x CUDAHOSTLD="$(tc-getCXX)" + local mycmakeargs=( + -DCUDA_HOST_COMPILER="$(cuda_gccdir)" + -DGLFW_INSTALL="no" + -DCUDA_CHECK_DEPENDENCIES_DURING_COMPILE="yes" + -DOPTIX_OPTIXIR_BUILD_CONFIGURATION="${CMAKE_BUILD_TYPE}" + ) + + if [[ -v CUDAARCHS ]]; then + local optix_CUDAARCHS="$(echo "${CUDAARCHS}" | tr ';' '\n' | sort | head -n1)" + + mycmakeargs+=( + -DCUDA_MIN_SM_TARGET="sm_${optix_CUDAARCHS}" + -DCUDA_MIN_SM_COMPUTE_TARGET="compute_${optix_CUDAARCHS}" + ) + fi + + cmake_src_configure +} + +src_compile() { + use headers-only && return + + cmake_src_compile +} + +src_test() { + use headers-only && return + + cmake_src_test +} + +src_install() { + insinto "/opt/${PN}" + + if use headers-only; then + cd "${PN}-dev-${PV}" || die + doins -r include/ + + dodoc README.md + return + fi + + # missing a install target so cmake_src_install fails + cmake_run_in "${BUILD_DIR}" cmake -P cmake_install.cmake + + local DOCS=( "doc/OptiX_"{API_Reference,Programming_Guide}"_${PV}.pdf" ) + einstalldocs +} diff --git a/dev-libs/optix/optix-9.0.0.ebuild b/dev-libs/optix/optix-9.0.0.ebuild new file mode 100644 index 0000000000000..a083647ea3a0a --- /dev/null +++ b/dev-libs/optix/optix-9.0.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda flag-o-matic toolchain-funcs +MY_PV=$(ver_cut 1-2) + +DESCRIPTION="NVIDIA Ray Tracing Engine" +HOMEPAGE="https://developer.nvidia.com/rtx/ray-tracing/optix" +SRC_URI=" + !headers-only? ( + amd64? ( + https://developer.download.nvidia.com/designworks/optix/secure/${PV}/NVIDIA-OptiX-SDK-${PV}-linux64-x86_64.sh + ) + arm64? ( + https://developer.download.nvidia.com/designworks/optix/secure/${PV}/NVIDIA-OptiX-SDK-${PV}-linux64-aarch64.sh + ) + ) + headers-only? ( + https://github.com/NVIDIA/optix-dev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ) +" +S="${WORKDIR}" + +LICENSE="NVIDIA-SDK" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64" +IUSE="+headers-only" +RESTRICT="bindist mirror !headers-only? ( fetch ) test" + +RDEPEND=">=x11-drivers/nvidia-drivers-570" + +pkg_nofetch() { + einfo "Please download ${A} from:" + einfo " ${HOMEPAGE}" + einfo "and move it to your distfiles directory." +} + +src_unpack() { + if use headers-only; then + default + else + skip="$(grep -a ^tail "${DISTDIR}/${A}" | tail -n1 | cut -d' ' -f 3)" + tail -n "${skip}" "${DISTDIR}/${A}" | tar -zx -f - + assert "unpacking ${A} failed" + fi +} + +src_prepare() { + if use headers-only; then + default + else + export CMAKE_USE_DIR="${WORKDIR}/SDK" + sed -e "s/CMAKE_CXX_STANDARD 11/CMAKE_CXX_STANDARD 17/" -i "SDK/CMakeLists.txt" || die + + sed \ + -e "s/SAMPLES_NVCC_FLAGS/CUDA_NVCC_FLAGS/g" \ + -e "s/-arch sm_60/\${CUDA_NVCC_FLAGS}/g" \ + -i SDK/optixNeuralTexture/CMakeLists.txt || die + + cmake_src_prepare + fi +} + +src_configure() { + use headers-only && return + + filter-lto + + # cmake-4 #951350 + : "${CMAKE_POLICY_VERSION_MINIMUM:=3.10}" + export CMAKE_POLICY_VERSION_MINIMUM + + # allow slotted install + : "${CUDA_PATH:=${ESYSROOT}/opt/cuda}" + export CUDA_PATH + + local -x CUDAHOSTCXX="$(cuda_gccdir)" + local -x CUDAHOSTLD="$(tc-getCXX)" + local mycmakeargs=( + -DCUDA_HOST_COMPILER="$(cuda_gccdir)" + -DGLFW_INSTALL="no" + -DCUDA_CHECK_DEPENDENCIES_DURING_COMPILE="yes" + -DOPTIX_OPTIXIR_BUILD_CONFIGURATION="${CMAKE_BUILD_TYPE}" + ) + + if [[ -v CUDAARCHS ]]; then + local optix_CUDAARCHS="$(echo "${CUDAARCHS}" | tr ';' '\n' | sort | head -n1)" + + mycmakeargs+=( + -DCUDA_MIN_SM_TARGET="sm_${optix_CUDAARCHS}" + -DCUDA_MIN_SM_COMPUTE_TARGET="compute_${optix_CUDAARCHS}" + ) + fi + + cmake_src_configure +} + +src_compile() { + use headers-only && return + + cmake_src_compile +} + +src_test() { + use headers-only && return + + cmake_src_test +} + +src_install() { + insinto "/opt/${PN}" + + if use headers-only; then + cd "${PN}-dev-${PV}" || die + doins -r include/ + + dodoc README.md + return + fi + + # missing a install target so cmake_src_install fails + cmake_run_in "${BUILD_DIR}" cmake -P cmake_install.cmake + + local DOCS=( "doc/OptiX_"{API_Reference,Programming_Guide}"_${PV}.pdf" ) + einstalldocs +} diff --git a/media-gfx/blender/blender-4.2.9.ebuild b/media-gfx/blender/blender-4.2.9.ebuild index f535b6c8080c6..ffb87759ffcca 100644 --- a/media-gfx/blender/blender-4.2.9.ebuild +++ b/media-gfx/blender/blender-4.2.9.ebuild @@ -106,7 +106,7 @@ RDEPEND="${PYTHON_DEPS} >=media-gfx/openvdb-11.0.0:=[nanovdb?] dev-libs/c-blosc:= ) - optix? ( dev-libs/optix ) + optix? ( =media-libs/osl-1.13:=[${LLVM_USEDEP}] media-libs/mesa[${LLVM_USEDEP}] @@ -183,6 +183,8 @@ PATCHES=( "${FILESDIR}/${PN}-4.2.9-python3.12.patch" "${FILESDIR}/${PN}-4.2.9-python3.13.patch" "${FILESDIR}/${PN}-4.2.9-python3.12_1.patch" + "${FILESDIR}/${PN}-4.3.2-optix-8.1.0.patch" + "${FILESDIR}/${PN}-4.4.0-optix-compile-flags.patch" ) blender_check_requirements() { diff --git a/media-gfx/blender/blender-4.3.2-r3.ebuild b/media-gfx/blender/blender-4.3.2-r3.ebuild index 2e55db4820635..86d617ba27404 100644 --- a/media-gfx/blender/blender-4.3.2-r3.ebuild +++ b/media-gfx/blender/blender-4.3.2-r3.ebuild @@ -157,7 +157,7 @@ RDEPEND="${PYTHON_DEPS} >=media-gfx/openvdb-11.0.0:=[nanovdb?] dev-libs/c-blosc:= ) - optix? ( dev-libs/optix ) + optix? ( =media-libs/osl-1.13:=[${LLVM_USEDEP}] media-libs/mesa[${LLVM_USEDEP}] diff --git a/media-gfx/blender/blender-4.4.1.ebuild b/media-gfx/blender/blender-4.4.1.ebuild index 2b1ff7f91a991..e138b5e0bfff1 100644 --- a/media-gfx/blender/blender-4.4.1.ebuild +++ b/media-gfx/blender/blender-4.4.1.ebuild @@ -156,7 +156,7 @@ RDEPEND="${PYTHON_DEPS} >=media-gfx/openvdb-11.0.0:=[nanovdb?] dev-libs/c-blosc:= ) - optix? ( dev-libs/optix ) + optix? ( =media-libs/osl-1.13:=[${LLVM_USEDEP}] media-libs/mesa[${LLVM_USEDEP}]