diff options
author | Sam James <sam@gentoo.org> | 2022-02-12 17:59:51 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-15 19:49:34 +0000 |
commit | 130798de3e0e6eb70956b32eb72d0ede71a0b3c1 (patch) | |
tree | 63e25f72593f1163a4f428a8e617fa99bae32678 /media-libs/openexr | |
parent | openib.eclass: treeclean (diff) | |
download | gentoo-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.ebuild | 74 |
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 +} |