summaryrefslogtreecommitdiff
path: root/media-libs/openpgl/openpgl-0.5.0-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/openpgl/openpgl-0.5.0-r1.ebuild')
-rw-r--r--media-libs/openpgl/openpgl-0.5.0-r1.ebuild48
1 files changed, 48 insertions, 0 deletions
diff --git a/media-libs/openpgl/openpgl-0.5.0-r1.ebuild b/media-libs/openpgl/openpgl-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..79487e34b3a1
--- /dev/null
+++ b/media-libs/openpgl/openpgl-0.5.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Intel Open Path Guiding Library"
+HOMEPAGE="https://github.com/OpenPathGuidingLibrary/openpgl"
+SRC_URI="https://github.com/OpenPathGuidingLibrary/openpgl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="-* ~amd64 ~arm64"
+
+X86_CPU_FLAGS=( sse4_2 avx2 avx512dq )
+CPU_FLAGS=( cpu_flags_arm_neon "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
+IUSE="${CPU_FLAGS[*]} debug"
+
+REQUIRED_USE="
+ amd64? ( || ( ${X86_CPU_FLAGS[*]/#/cpu_flags_x86_} ) )
+ arm64? ( cpu_flags_arm_neon )
+"
+
+RDEPEND="
+ media-libs/embree:=
+ dev-cpp/tbb:=
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOPENPGL_ISA_SSE4="$(usex cpu_flags_x86_sse4_2)"
+ -DOPENPGL_ISA_AVX2="$(usex cpu_flags_x86_avx2)"
+ -DOPENPGL_ISA_AVX512="$(usex cpu_flags_x86_avx512dq)"
+ -DOPENPGL_ISA_NEON="$(usex cpu_flags_arm_neon)"
+ # TODO look into neon 2x support
+ # -DOPENPGL_ISA_NEON2X="$(usex cpu_flags_arm_neon2x)"
+ )
+
+ # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
+ use cpu_flags_arm_neon && append-flags -flax-vector-conversions
+
+ # Disable asserts
+ append-cppflags "$(usex debug '' '-DNDEBUG')"
+
+ cmake_src_configure
+}