summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/oidn/oidn-2.3.0.ebuild')
-rw-r--r--media-libs/oidn/oidn-2.3.0.ebuild103
1 files changed, 103 insertions, 0 deletions
diff --git a/media-libs/oidn/oidn-2.3.0.ebuild b/media-libs/oidn/oidn-2.3.0.ebuild
new file mode 100644
index 000000000000..0dd6f000d711
--- /dev/null
+++ b/media-libs/oidn/oidn-2.3.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+LLVM_COMPAT=( {15..17} )
+ROCM_VERSION=5.7
+
+inherit cmake cuda llvm-r1 python-any-r1 rocm
+
+DESCRIPTION="Intel® Open Image Denoise library"
+HOMEPAGE="https://www.openimagedenoise.org https://github.com/RenderKit/oidn"
+
+if [[ ${PV} = *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/RenderKit/oidn.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RenderKit/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+REQUIRED_USE="
+ test? ( apps )
+"
+IUSE="apps cuda hip openimageio test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-lang/ispc
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ hip? ( dev-util/hip )
+ openimageio? ( media-libs/openimageio:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.2-amdgpu-targets.patch"
+)
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ addpredict "/proc/self/task/"
+ fi
+
+ if use hip; then
+ # https://bugs.gentoo.org/930391
+ sed "/-Wno-unused-result/s:): --rocm-path=${EPREFIX}/usr/lib):" \
+ -i devices/hip/CMakeLists.txt || die
+ fi
+
+ sed -e "/^install.*llvm_macros.cmake.*cmake/d" -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOIDN_APPS="$(usex apps)"
+
+ -DOIDN_DEVICE_CPU="yes"
+ -DOIDN_DEVICE_CUDA="$(usex cuda)"
+ -DOIDN_DEVICE_HIP="$(usex hip)"
+ # -DOIDN_DEVICE_SYCL="$(usex sycl)"
+ )
+
+ if use apps; then
+ mycmakeargs+=( -DOIDN_APPS_OPENIMAGEIO="$(usex openimageio)" )
+ fi
+
+ if use cuda; then
+ export CUDAHOSTCXX="$(cuda_gccdir)"
+ fi
+
+ if use hip; then
+ mycmakeargs+=(
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DOIDN_DEVICE_HIP_COMPILER="$(get_llvm_prefix)/bin/clang++" # use HIPHOSTCOMPILER
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/oidnTest || die "There were test faliures!"
+}
+
+src_install() {
+ cmake_src_install
+
+ if use hip || use cuda ; then
+ # remove garbage in /var/tmp left by subprojects
+ rm -rf "${ED}"/var || die
+ fi
+}