Сравнение embree-3.13.5-r1 с embree-4.3.3

/usr/portage/media-libs/embree/embree-4.3.3.ebuild 2025-07-29 16:22:14.348455401 +0300
10 10
SRC_URI="https://github.com/RenderKit/embree/archive/v${PV}.tar.gz -> ${P}.tar.gz"
11 11

  
12 12
LICENSE="Apache-2.0"
13
SLOT="3"
13
SLOT="$(ver_cut 1)"
14 14
KEYWORDS="-* amd64 ~arm64"
15 15
X86_CPU_FLAGS=( sse2 sse4_2 avx avx2 avx512dq )
16
CPU_FLAGS=( cpu_flags_arm_neon ${X86_CPU_FLAGS[@]/#/cpu_flags_x86_} )
17
IUSE="+compact-polys ispc +raymask ssp +tbb tutorial ${CPU_FLAGS[@]}"
18
REQUIRED_USE="|| ( ${CPU_FLAGS[@]} )"
16
CPU_FLAGS=( cpu_flags_arm_neon "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
17
IUSE="compact-polys ispc +raymask ssp +tbb test ${CPU_FLAGS[*]}"
18
RESTRICT="!test? ( test )"
19
REQUIRED_USE="
20
	amd64? ( || ( ${X86_CPU_FLAGS[*]/#/cpu_flags_x86_} ) )
21
	arm? ( cpu_flags_arm_neon )
22
"
19 23

  
20 24
BDEPEND="
21 25
	virtual/pkgconfig
22 26
"
23 27
RDEPEND="
24
	>=media-libs/glfw-3.2.1
25
	virtual/opengl
26 28
	ispc? ( dev-lang/ispc )
27 29
	tbb? ( dev-cpp/tbb:= )
28
	tutorial? (
29
		media-libs/libjpeg-turbo
30
		>=media-libs/libpng-1.6.34:0=
31
		>=media-libs/openimageio-1.8.7:0=
32
	)
33 30
"
34 31
DEPEND="${RDEPEND}"
35 32

  
36 33
DOCS=( CHANGELOG.md README.md readme.pdf )
37 34

  
38 35
PATCHES=(
39
	"${FILESDIR}"/${PN}-3.13.5-fix-openimageio-test.patch
40
	"${FILESDIR}"/${PN}-3.13.5-fix-arm64.patch
41
	"${FILESDIR}/${PN}-4.3.2-fix-output-operator.patch"
36
	"${FILESDIR}/embree-4.3.1-dont-install-tutorials.patch"
42 37
)
43 38

  
44 39
pkg_setup() {
......
54 49
	# disable RPM package building
55 50
	sed -e 's|CPACK_RPM_PACKAGE_RELEASE 1|CPACK_RPM_PACKAGE_RELEASE 0|' \
56 51
		-i CMakeLists.txt || die
52

  
53
	# don't redefine _FORTIFY_SOURCE https://bugs.gentoo.org/895016
54
	sed -e '/-D_FORTIFY_SOURCE=2/d' \
55
		-i common/cmake/*.cmake \
56
		|| die
57

  
58
	# raise cmake minimum version to silence warning
59
	sed -e 's#CMAKE_MINIMUM_REQUIRED(VERSION 3.[0-9].0)#CMAKE_MINIMUM_REQUIRED(VERSION 3.5)#I' \
60
	    -i \
61
	        CMakeLists.txt \
62
	        kernels/rthwif/CMakeLists.txt \
63
	        tutorials/embree_info/CMakeLists.txt \
64
	        tutorials/minimal/CMakeLists.txt \
65
	    || die
57 66
}
58 67

  
59 68
src_configure() {
......
76 85
	tc-is-clang && filter-lto
77 86

  
78 87
	local mycmakeargs=(
79
		# Currently Intel only host their test files on their internal network.
80
		# So it seems like users can't easily get a hold of these and do
81
		# regression testing on their own.
82
		-DBUILD_TESTING:BOOL=OFF
83 88
		-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON
84 89

  
85
		# default
90
		# Default culling settings for Blender
91
		# (Cycles will not render correctly without these)
92
		# Some Embree tests will fail with these settings though...
86 93
		-DEMBREE_BACKFACE_CULLING=OFF
94
		-DEMBREE_BACKFACE_CULLING_CURVES=ON
95
		-DEMBREE_BACKFACE_CULLING_SPHERES=ON
96

  
87 97
		-DEMBREE_COMPACT_POLYS=$(usex compact-polys)
88 98

  
89
		# default
90
		-DEMBREE_FILTER_FUNCTION=ON
91
		# default
92
		-DEMBREE_GEOMETRY_CURVE=ON
93
		# default
94
		-DEMBREE_GEOMETRY_GRID=ON
95
		# default
96
		-DEMBREE_GEOMETRY_INSTANCE=ON
97
		# default
98
		-DEMBREE_GEOMETRY_POINT=ON
99
		# default
100
		-DEMBREE_GEOMETRY_QUAD=ON
101
		# default
102
		-DEMBREE_GEOMETRY_SUBDIVISION=ON
103
		# default
104
		-DEMBREE_GEOMETRY_TRIANGLE=ON
105
		# default
106
		-DEMBREE_GEOMETRY_USER=ON
107
		# default
99
		# Make sure that we are using our custom compilie flags
108 100
		-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF
109
		# default
110
		-DEMBREE_IGNORE_INVALID_RAYS=OFF
111 101

  
112 102
		# Set to NONE so we can manually switch on ISAs below
113 103
		-DEMBREE_MAX_ISA:STRING="NONE"
114 104
		-DEMBREE_ISA_AVX=$(usex cpu_flags_x86_avx)
115 105
		-DEMBREE_ISA_AVX2=$(usex cpu_flags_x86_avx2)
116 106
		-DEMBREE_ISA_AVX512=$(usex cpu_flags_x86_avx512dq)
117
		# TODO look into neon 2x support
118
		-DEMBREE_ISA_NEON=$(usex cpu_flags_arm_neon)
119 107
		-DEMBREE_ISA_SSE2=$(usex cpu_flags_x86_sse2)
120 108
		-DEMBREE_ISA_SSE42=$(usex cpu_flags_x86_sse4_2)
121 109
		-DEMBREE_ISPC_SUPPORT=$(usex ispc)
122 110
		-DEMBREE_RAY_MASK=$(usex raymask)
123
		# default
124
		-DEMBREE_RAY_PACKETS=ON
111

  
112
		# TODO figure out sycl support
113
		-DEMBREE_SYCL_SUPPORT="no"
114

  
125 115
		-DEMBREE_STACK_PROTECTOR=$(usex ssp)
126 116
		-DEMBREE_STATIC_LIB=OFF
127
		-DEMBREE_STAT_COUNTERS=OFF
128 117
		-DEMBREE_TASKING_SYSTEM:STRING=$(usex tbb "TBB" "INTERNAL")
129
		-DEMBREE_TUTORIALS=$(usex tutorial))
118
		# Tutorial binaries are required by the tests
119
		-DEMBREE_TUTORIALS=$(usex test)
120
		-DEMBREE_ZIP_MODE=OFF
121
	)
122

  
123
	if { use arm && usex cpu_flags_arm_neon; } || use arm64; then
124
		mycmakeargs+=(
125
			-DEMBREE_ISA_NEON="yes"
126
			# TODO look into neon 2x support
127
			# -DEMBREE_ISA_NEON2X="yes"
128
		)
129
	fi
130 130

  
131 131
	# Disable asserts
132 132
	append-cppflags -DNDEBUG
133 133

  
134
	if use tutorial; then
134
	if use test; then
135 135
		mycmakeargs+=(
136
			-DEMBREE_TUTORIALS_LIBJPEG=ON
137
			-DEMBREE_TUTORIALS_LIBPNG=ON
138
			-DEMBREE_TUTORIALS_OPENIMAGEIO=ON
136
			-DBUILD_TESTING=ON
137
			-DEMBREE_TESTING_INSTALL_TESTS=OFF
138
			-DEMBREE_TESTING_INTENSITY=4
139
			# These tutorials are not used by the default tests
140
			-DEMBREE_TUTORIALS_GLFW=OFF
141
			-DEMBREE_TUTORIALS_INSTALL=OFF
139 142
		)
140 143
	fi
141 144

  
142 145
	cmake_src_configure
143 146
}
147

  
148
src_test() {
149
	# NOTE Some Embree tests will fail due to EMBREE_BACKFACE_CULLING settings for blender...
150
	local CMAKE_SKIP_TESTS=(
151
		'^embree_verify$'
152
		'^embree_verify_i2$'
153
		'^viewer_models_curves_round_line_segments_3.ecs(|_ispc)$'
154
		'^viewer_models_curves_round_line_segments_7.ecs(|_ispc)$'
155
		'^viewer_models_curves_round_line_segments_8.ecs(|_ispc)$'
156
		'^viewer_models_curves_round_line_segments_9.ecs(|_ispc)$'
157
		'^viewer_coherent_models_curves_round_line_segments_3.ecs(|_ispc)$'
158
		'^viewer_coherent_models_curves_round_line_segments_7.ecs(|_ispc)$'
159
		'^viewer_coherent_models_curves_round_line_segments_8.ecs(|_ispc)$'
160
		'^viewer_coherent_models_curves_round_line_segments_9.ecs(|_ispc)$'
161
		'^viewer_quad_coherent_models_curves_round_line_segments_3.ecs(|_ispc)$'
162
		'^viewer_quad_coherent_models_curves_round_line_segments_7.ecs(|_ispc)$'
163
		'^viewer_quad_coherent_models_curves_round_line_segments_8.ecs(|_ispc)$'
164
		'^viewer_quad_coherent_models_curves_round_line_segments_9.ecs(|_ispc)$'
165
		'^viewer_grid_coherent_models_curves_round_line_segments_3.ecs(|_ispc)$'
166
		'^viewer_grid_coherent_models_curves_round_line_segments_7.ecs(|_ispc)$'
167
		'^viewer_grid_coherent_models_curves_round_line_segments_8.ecs(|_ispc)$'
168
		'^viewer_grid_coherent_models_curves_round_line_segments_9.ecs(|_ispc)$'
169
		'^hair_geometry(|_ispc)$'
170
		'^embree_tests$'
171
	)
172

  
173
	cmake_src_test
174
}
Спасибо!