Diff opencolorio-2.1.3 with a opencolorio-2.2.1

/usr/portage/media-libs/opencolorio/opencolorio-2.2.1.ebuild 2023-10-09 14:52:31.704368406 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
PYTHON_COMPAT=( python3_{10..11} )
6
PYTHON_COMPAT=( python3_{10..12} )
7 7

  
8
inherit cmake flag-o-matic python-single-r1
8
inherit cmake python-single-r1 virtualx
9 9

  
10
DESCRIPTION="Color management framework for visual effects and animation"
10
DESCRIPTION="A color management framework for visual effects and animation"
11 11
HOMEPAGE="https://opencolorio.org https://github.com/AcademySoftwareFoundation/OpenColorIO"
12 12
SRC_URI="https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
13 13
S="${WORKDIR}/OpenColorIO-${PV}"
14 14

  
15 15
LICENSE="BSD"
16
# TODO: drop .1 on next SONAME bump (2.1 -> 2.2?) as we needed to nudge it
17
# to force rebuild of consumers due to changing to openexr 3 changing API.
18
SLOT="0/$(ver_cut 1-2).1"
19
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv"
20
IUSE="cpu_flags_x86_sse2 doc opengl python static-libs test"
16
SLOT="0/$(ver_cut 1-2)"
17
# minizip-ng: ~arm ~arm64 ~ppc64 ~riscv
18
# osl: ~riscv
19
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
20
IUSE="apps cpu_flags_x86_sse2 doc opengl python static-libs test"
21
# TODO: drop opengl? It does nothing without building either the apps or the testsuite
21 22
REQUIRED_USE="
23
	apps? ( opengl )
22 24
	doc? ( python )
23 25
	python? ( ${PYTHON_REQUIRED_USE} )
26
	test? ( opengl )
24 27
"
25 28

  
26
# Restricting tests, bugs #439790 and #447908
27
RESTRICT="test"
28

  
29
# Works with older OIIO but need to force a version w/ OpenEXR 3
30 29
RDEPEND="
31 30
	dev-cpp/pystring
32
	dev-python/pybind11
33 31
	<dev-cpp/yaml-cpp-0.8.0:=
34
	>=dev-libs/imath-3.1.4-r2:=
35
	dev-libs/tinyxml
36
	opengl? (
32
	dev-libs/expat
33
	>=dev-libs/imath-3.1.5:=
34
	sys-libs/minizip-ng
35
	sys-libs/zlib
36
	apps? (
37 37
		media-libs/lcms:2
38
		>=media-libs/openimageio-2.3.12.0-r3:=
39
		media-libs/glew:=
38
		>=media-libs/openexr-3.1.5:=
39
	)
40
	opengl? (
40 41
		media-libs/freeglut
41
		virtual/opengl
42
		media-libs/glew:=
43
		media-libs/libglvnd
44
	)
45
	python? (
46
		${PYTHON_DEPS}
47
		$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')
42 48
	)
43
	python? ( ${PYTHON_DEPS} )
44 49
"
45 50
DEPEND="${RDEPEND}"
51
# TODO: OSL tests would need OIIO, leading to a circular dependency. If OIIO
52
# isn't found this test will be skipped (automagic if found?)
46 53
BDEPEND="
47 54
	virtual/pkgconfig
48 55
	doc? (
56
		app-doc/doxygen
49 57
		$(python_gen_cond_dep '
58
			dev-python/breathe[${PYTHON_USEDEP}]
59
			dev-python/recommonmark[${PYTHON_USEDEP}]
60
			dev-python/six[${PYTHON_USEDEP}]
50 61
			dev-python/sphinx[${PYTHON_USEDEP}]
62
			dev-python/sphinx-press-theme[${PYTHON_USEDEP}]
63
			dev-python/sphinx-tabs[${PYTHON_USEDEP}]
51 64
			dev-python/testresources[${PYTHON_USEDEP}]
52 65
		')
53 66
	)
67
	opengl? (
68
		media-libs/freeglut
69
		media-libs/glew:=
70
		media-libs/libglvnd
71
	)
54 72
"
73
# 	test? (
74
# 		>=media-libs/openimageio-2.2.14
75
# 		>=media-libs/osl-1.11
76
# 	)
77
# "
78

  
79
# Restricting tests, bugs #439790 and #447908
80
RESTRICT="!test? ( test )"
55 81

  
56 82
PATCHES=(
57
	"${FILESDIR}"/${PN}-2.1.1-gcc12.patch
58
	"${FILESDIR}"/${PN}-2.1.2-musl-strtol.patch
83
	"${FILESDIR}/${PN}-2.2.1-adjust-python-installation.patch"
84
	"${FILESDIR}/${PN}-2.2.1-support-minizip-ng-4.patch"
59 85
)
60 86

  
61 87
pkg_setup() {
......
65 91
src_prepare() {
66 92
	cmake_src_prepare
67 93

  
68
	sed -i -e "s|LIBRARY DESTINATION lib|LIBRARY DESTINATION $(get_libdir)|g" {,src/bindings/python/,src/OpenColorIO/,src/libutils/oiiohelpers/,src/libutils/oglapphelpers/}CMakeLists.txt || die
69
	sed -i -e "s|ARCHIVE DESTINATION lib|ARCHIVE DESTINATION $(get_libdir)|g" {,src/bindings/python/,src/OpenColorIO/,src/libutils/oiiohelpers/,src/libutils/oglapphelpers/}CMakeLists.txt || die
70

  
71 94
	# Avoid automagic test dependency on OSL, bug #833933
72 95
	# Can cause problems during e.g. OpenEXR unsplitting migration
73 96
	cmake_run_in tests cmake_comment_add_subdirectory osl
......
78 101
	# - Truelight and Nuke are not in portage for now, so their support are disabled
79 102
	# - Java bindings was not tested, so disabled
80 103
	# Notes:
81
	# - OpenImageIO is required for building ociodisplay and ocioconvert (USE opengl)
104
	# - OpenImageIO or OpenEXR (default) is required for building ociodisplay and
105
	#	ocioconvert (USE opengl)
82 106
	# - OpenGL, GLUT and GLEW is required for building ociodisplay (USE opengl)
83 107
	local mycmakeargs=(
84
		-DOCIO_USE_OPENEXR_HALF=OFF
85
		-DOCIO_BUILD_STATIC=$(usex static-libs)
108
		-DBUILD_SHARED_LIBS=$(usex !static-libs)
109
		-DOCIO_BUILD_APPS=$(usex apps)
86 110
		-DOCIO_BUILD_DOCS=$(usex doc)
87
		-DOCIO_BUILD_APPS=$(usex opengl)
88
		-DOCIO_BUILD_PYTHON=$(usex python)
89
		-DOCIO_PYTHON_VERSION="${EPYTHON/python/}"
111
		-DOCIO_BUILD_FROZEN_DOCS=$(usex doc)
112
		-DOCIO_BUILD_GPU_TESTS=$(usex test)
90 113
		-DOCIO_BUILD_JAVA=OFF
91
		-DOCIO_USE_SSE=$(usex cpu_flags_x86_sse2)
114
		-DOCIO_BUILD_PYTHON=$(usex python)
92 115
		-DOCIO_BUILD_TESTS=$(usex test)
93
		-DOCIO_BUILD_GPU_TESTS=$(usex test)
94
		-DOCIO_BUILD_FROZEN_DOCS=$(usex doc)
95 116
		-DOCIO_INSTALL_EXT_PACKAGES=NONE
117
		-DOCIO_USE_OIIO_CMAKE_CONFIG=ON
118
		-DOCIO_USE_SSE=$(usex cpu_flags_x86_sse2)
119
	)
120
	use python && mycmakeargs+=(
121
		-DOCIO_PYTHON_VERSION="${EPYTHON/python/}"
122
		-DPython_EXECUTABLE="${PYTHON}"
123
		-DPYTHON_VARIANT_PATH=$(python_get_sitedir)
96 124
	)
97

  
98
	# We need this to work around asserts that can trigger even in proper use cases.
99
	# See https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1235
100
	append-flags -DNDEBUG
101 125

  
102 126
	cmake_src_configure
103 127
}
128

  
129
src_test() {
130
	virtx cmake_src_test
131
}
Thank you!