summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/openexr/Manifest1
-rw-r--r--media-libs/openexr/openexr-3.2.4.ebuild141
2 files changed, 142 insertions, 0 deletions
diff --git a/media-libs/openexr/Manifest b/media-libs/openexr/Manifest
index 70d169cd8c7b..3e7335cd43f1 100644
--- a/media-libs/openexr/Manifest
+++ b/media-libs/openexr/Manifest
@@ -3,4 +3,5 @@ DIST openexr-3.1.5.tar.gz 20327926 BLAKE2B 77ece3c62b34292d4714873149a5a54a47fe8
DIST openexr-3.1.7.tar.gz 20494812 BLAKE2B 2cc03ed8da77f4a9523b7a0f55c78e78ab55f8f6de67cb68f1b2b4ad4b512448d80f39d60a0cc9eab451da35539027a573a0c6d6900e7f81b39f90703909b5af SHA512 f72f5e728f10c06fca0172c9b4c1df752225c3aed7384b4eaa502f92f8547bb1df93fe96d4d132a81eb32b729cb9fd615be825aa6c5de78481d3038c0d47c4d5
DIST openexr-3.1.12.tar.gz 20540857 BLAKE2B 94a78e4e45f892b56f9a05cabad5cea999ff1844ff8569995f1f301e8599e0be1c214477f501f351c248eea141db22508eb764c1c91508399e69932026361c04 SHA512 0fce6a1322d74354a29ece9f9afeca1c4874c4d55079ec720f3ef21ab2ab950ec333f793f1ffad6634f57b40c4276af578b31ac8bc3e11856d7b903d5475e5eb
DIST openexr-3.2.3.tar.gz 18855303 BLAKE2B 4f5dbd9033031e988e973ef039b67632ac92e1272cc1d3e4540992f09f6b275c3ecb4c8f690cd98620519993099d132b43bb4bb40bb0d11caa06db868404015a SHA512 6e0a6fdcfae57c6e8b060d9aeed57140d96d39bffe5e40edd6ea5beb06e569323833d07906316ffca05f48e8409d0ea4174e2cd84d554404a4ee432e07d7b5e6
+DIST openexr-3.2.4.tar.gz 18856440 BLAKE2B f29910b2e36808b741860bf603571f607ca929672b3c5b9de7c7c16242f2a38d02627614c10e7b01a8cfd8804923636eb0dfe2c798ec3ff63252dd20e3f8e535 SHA512 ecc3d8b206bda5e5897ac9cd797a8432b76981de10d49cbb107af2b4108c22186de0dda25a9a43b07e18d641ef71508445d95f659a4ca932e029d48ee029a492
DIST openexr-images-1.0.tar.gz 252222962 BLAKE2B d57c458dfbd1b08c964429022b6e08a3309bf11cbd43c64e271ebc620dae6dbe70636e5221f47dabd7fe2aa0806f2cf3f3c9b3f55fd7f45b0a34f3e62b6029e7 SHA512 c1c83a26cd326d0fcda824daccb0044abad46f29e1bd2ceb1c38bc62b3e71f0aeef126dddc4517eb1cb9f7c9d0fe234276a48a754bdb7c7823e9aee459d8670a
diff --git a/media-libs/openexr/openexr-3.2.4.ebuild b/media-libs/openexr/openexr-3.2.4.ebuild
new file mode 100644
index 000000000000..64a9413f9ad3
--- /dev/null
+++ b/media-libs/openexr/openexr-3.2.4.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+MY_PN=OpenEXR
+
+DESCRIPTION="ILM's OpenEXR high dynamic-range image file format libraries"
+HOMEPAGE="https://openexr.com/"
+SRC_URI="
+ https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ test? (
+ utils? (
+ https://github.com/AcademySoftwareFoundation/openexr-images/archive/refs/tags/v1.0.tar.gz
+ -> openexr-images-1.0.tar.gz
+ )
+ )
+"
+
+LICENSE="BSD"
+SLOT="0/31" # based on SONAME
+# -ppc -sparc because broken on big endian, bug #818424
+KEYWORDS="~amd64 ~arm ~arm64 ~loong -ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+IUSE="cpu_flags_x86_avx doc examples large-stack utils test threads"
+REQUIRED_USE="doc? ( utils )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/libdeflate[zlib]
+ >=dev-libs/imath-3.1.6:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( sys-apps/help2man )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.2.1-bintests-iff-utils.patch"
+)
+
+DOCS=( CHANGES.md GOVERNANCE.md PATENTS README.md SECURITY.md )
+
+src_prepare() {
+ # Fix path for testsuite
+ sed -e "s:/var/tmp/:${T}:" \
+ -i "${S}"/src/test/${MY_PN}Test/tmpDir.h || die "failed to set temp path for tests"
+
+ sed -e "s:if(INSTALL_DOCS):if(OPENEXR_INSTALL_DOCS):" \
+ -i docs/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ if use test && use utils; then
+ IMAGES=(
+ Beachball/multipart.0001.exr
+ Beachball/singlepart.0001.exr
+ Chromaticities/Rec709.exr
+ Chromaticities/Rec709_YC.exr
+ Chromaticities/XYZ.exr
+ Chromaticities/XYZ_YC.exr
+ LuminanceChroma/Flowers.exr
+ LuminanceChroma/Garden.exr
+ MultiResolution/ColorCodedLevels.exr
+ MultiResolution/WavyLinesCube.exr
+ MultiResolution/WavyLinesLatLong.exr
+ MultiView/Adjuster.exr
+ TestImages/GammaChart.exr
+ TestImages/GrayRampsHorizontal.exr
+ v2/LeftView/Balls.exr
+ v2/Stereo/Trunks.exr
+ )
+
+ mkdir -p "${BUILD_DIR}/src/test/bin" || die
+
+ for image in "${IMAGES[@]}"; do
+ mkdir -p "${BUILD_DIR}/src/test/bin/$(dirname "${image}")" || die
+ cp -a "${WORKDIR}/openexr-images-1.0/${image}" "${BUILD_DIR}/src/test/bin/${image}" || die
+ done
+ fi
+
+}
+
+src_configure() {
+ if use x86; then
+ replace-cpu-flags native i686
+ fi
+
+ local mycmakeargs=(
+ -DOPENEXR_CXX_STANDARD="17"
+
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+ -DBUILD_WEBSITE="no"
+
+ -DOPENEXR_BUILD_EXAMPLES="$(usex examples)"
+ -DOPENEXR_BUILD_PYTHON="no"
+ -DOPENEXR_BUILD_TOOLS="$(usex utils)"
+ -DOPENEXR_ENABLE_LARGE_STACK="$(usex large-stack)"
+ -DOPENEXR_ENABLE_THREADING="$(usex threads)"
+
+ -DOPENEXR_INSTALL="yes"
+ -DOPENEXR_INSTALL_DOCS="$(usex doc)"
+ -DOPENEXR_INSTALL_PKG_CONFIG="yes"
+ -DOPENEXR_INSTALL_TOOLS="$(usex utils)"
+
+ -DOPENEXR_USE_CLANG_TIDY="no" # don't look for clang-tidy
+
+ -DOPENEXR_FORCE_INTERNAL_DEFLATE="no"
+ -DOPENEXR_FORCE_INTERNAL_IMATH="no"
+ )
+ if use test; then
+ # OPENEXR_RUN_FUZZ_TESTS depends on BUILD_TESTING, see
+ # - https://bugs.gentoo.org/925128
+ # - https://openexr.com/en/latest/install.html#component-options
+
+ # NOTE: the fuzz tests are very slow
+ mycmakeargs+=( -DOPENEXR_RUN_FUZZ_TESTS="ON" )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=()
+
+ use x86 && CMAKE_SKIP_TESTS+=(
+ '^OpenEXR.testDwaLookups$'
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ use examples && docompress -x "/usr/share/doc/${PF}/examples"
+
+ cmake_src_install
+}