commit:     130798de3e0e6eb70956b32eb72d0ede71a0b3c1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 12 17:59:51 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb 15 19:49:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=130798de

media-libs/openexr: unslot

We've tried hard to make this work but it can't, for two reasons:
1. As time goes on, more and more packages port to OpenEXR 3 upstream,
which means we have to fix more and more of them to use our special/different
paths (e.g. OpenEXR-3, Imath-3);

2. ABI breakage. We _must_ have everything (or a significant portion of the 
stack
for e.g. Blender, including OIIO and OCIO) built against the same major 
versions,
or we hit both runtime and build-time breakages (depending on the situation).

I've tried to keep fixing the avalanche of build failures but it's brittle
and ultimately doesn't end up solving all the problems anyway. Indeed, this
effort to unslot started after I did a sprint to fix the remaining issues, and
then more popped up in their place.

Most packages now support OpenEXR 3.

Bug: https://bugs.gentoo.org/833158
Bug: https://bugs.gentoo.org/831357
Bug: https://bugs.gentoo.org/832862
Bug: https://bugs.gentoo.org/821247
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/openexr/openexr-3.1.4-r1.ebuild | 74 ++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/media-libs/openexr/openexr-3.1.4-r1.ebuild 
b/media-libs/openexr/openexr-3.1.4-r1.ebuild
new file mode 100644
index 000000000000..d9484ddf8328
--- /dev/null
+++ b/media-libs/openexr/openexr-3.1.4-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN=OpenEXR
+MY_PV=$(ver_cut 1)
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="ILM's OpenEXR high dynamic-range image file format libraries"
+HOMEPAGE="https://www.openexr.com/";
+SRC_URI="https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/30" # based on SONAME
+# -ppc -sparc because broken on big endian, bug #818424
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 -ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux 
~x86-linux ~x64-macos ~x86-solaris"
+IUSE="cpu_flags_x86_avx doc examples large-stack static-libs utils test 
threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-libs/imath-3.1.4-r1:=
+       sys-libs/zlib
+       !media-libs/openexr:3
+       !media-libs/ilmbase
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       doc? ( dev-python/breathe )
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.1.1-0003-disable-failing-test.patch
+)
+
+DOCS=( CHANGES.md GOVERNANCE.md PATENTS README.md SECURITY.md 
docs/SymbolVisibility.md )
+
+src_prepare() {
+       # Fix path for testsuite
+       sed -e "s:/var/tmp/:${T}:" \
+               -i "${S}"/src/test/${MY_PN}{,Fuzz,Util}Test/tmpDir.h || die 
"failed to set temp path for tests"
+
+       cmake_src_prepare
+
+       #mv "${S}"/cmake/${MY_PN}.pc.in "${S}"/cmake/${MY_P}.pc.in || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_SHARED_LIBS=$(usex !static-libs)
+               -DBUILD_TESTING=$(usex test)
+               -DDOCS=$(usex doc)
+               -DOPENEXR_BUILD_TOOLS=$(usex utils)
+               -DOPENEXR_ENABLE_LARGE_STACK=$(usex large-stack)
+               -DOPENEXR_ENABLE_THREADING=$(usex threads)
+               -DOPENEXR_INSTALL_EXAMPLES=$(usex examples)
+               -DOPENEXR_INSTALL_PKG_CONFIG=ON
+               -DOPENEXR_INSTALL_TOOLS=$(usex utils)
+               -DOPENEXR_USE_CLANG_TIDY=OFF # don't look for clang-tidy
+       )
+
+       use test && mycmakeargs+=( -DOPENEXR_RUN_FUZZ_TESTS=ON )
+
+       cmake_src_configure
+}
+
+src_install() {
+       use examples && docompress -x /usr/share/doc/${PF}/examples
+
+       cmake_src_install
+}

Reply via email to