summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-02-12 17:59:51 +0000
committerSam James <sam@gentoo.org>2022-02-15 19:49:34 +0000
commit130798de3e0e6eb70956b32eb72d0ede71a0b3c1 (patch)
tree63e25f72593f1163a4f428a8e617fa99bae32678 /media-libs/openexr
parentopenib.eclass: treeclean (diff)
downloadgentoo-130798de3e0e6eb70956b32eb72d0ede71a0b3c1.tar.gz
gentoo-130798de3e0e6eb70956b32eb72d0ede71a0b3c1.tar.bz2
gentoo-130798de3e0e6eb70956b32eb72d0ede71a0b3c1.zip
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@gentoo.org>
Diffstat (limited to 'media-libs/openexr')
-rw-r--r--media-libs/openexr/openexr-3.1.4-r1.ebuild74
1 files changed, 74 insertions, 0 deletions
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
+}