diff options
author | Bernd Waibel <waebbl@gmail.com> | 2020-03-03 23:46:55 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2020-07-21 20:58:25 +0200 |
commit | dffcb2e509541795dae8dc842d07fe44525fa277 (patch) | |
tree | a503732c92ae3eccb5520b215b3e21148a40486f /media-libs/openexr | |
parent | media-libs/ilmbase: bump to 2.5.2 (diff) | |
download | gentoo-dffcb2e509541795dae8dc842d07fe44525fa277.tar.gz gentoo-dffcb2e509541795dae8dc842d07fe44525fa277.tar.bz2 gentoo-dffcb2e509541795dae8dc842d07fe44525fa277.zip |
media-libs/openexr: bump to 2.5.2
Move from an autotools based ebuild to a cmake based one.
Solves CVE issues from bug #717474
Bug: https://bugs.gentoo.org/711456
Bug: https://bugs.gentoo.org/717474
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Bernd Waibel <waebbl@gmail.com>
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-libs/openexr')
-rw-r--r-- | media-libs/openexr/Manifest | 1 | ||||
-rw-r--r-- | media-libs/openexr/files/openexr-2.5.2-0001-IlmImfTest-main.cpp-disable-tests.patch | 40 | ||||
-rw-r--r-- | media-libs/openexr/metadata.xml | 7 | ||||
-rw-r--r-- | media-libs/openexr/openexr-2.5.2.ebuild | 63 |
4 files changed, 110 insertions, 1 deletions
diff --git a/media-libs/openexr/Manifest b/media-libs/openexr/Manifest index dc720965b72b..434706220555 100644 --- a/media-libs/openexr/Manifest +++ b/media-libs/openexr/Manifest @@ -1 +1,2 @@ DIST openexr-2.3.0.tar.gz 18412067 BLAKE2B c73c4db4e414010ed8cc9f9631f3e8b17f47edf89b4ecb459aa00ff54a316b3bb1489e332bc029e0917ac4ffe7e152082244102029fd375f183da6741788dab7 SHA512 003f5bb3bd010be1ad9ff1798643ef711c683c8191625fe9b59070c9cb0c649c277cd506d890c6b239d9cbab80e83e16f1c1d1d74117c916ee3a80e061953123 +DIST openexr-2.5.2.tar.gz 27525326 BLAKE2B c48a61513457f2c04f3a512963ae27eaf154933ffe7c6ff3e2d71f27f246ae624a34dbe6f8ab500c51a56898ad0f61e6784f5cd3f9c3df591ce347b46ba4ac88 SHA512 62f98695cf56600303db9c2d13d34cacc1851a103d8ffb7e7ce8c6d9d14e6bf02804836c718ae03e8d685ef3dda0cf7b2130e2d363f8095b22a15bf30d706fab diff --git a/media-libs/openexr/files/openexr-2.5.2-0001-IlmImfTest-main.cpp-disable-tests.patch b/media-libs/openexr/files/openexr-2.5.2-0001-IlmImfTest-main.cpp-disable-tests.patch new file mode 100644 index 000000000000..a77705cb5a7d --- /dev/null +++ b/media-libs/openexr/files/openexr-2.5.2-0001-IlmImfTest-main.cpp-disable-tests.patch @@ -0,0 +1,40 @@ +From 866442b28b53f773efbb3690b6252d2e75bee137 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl@gmail.com> +Date: Fri, 3 Jul 2020 15:34:47 +0200 +Subject: [PATCH] IlmImfTest/main.cpp: disable tests + +Disable testOptimizedInterleavePatterns and testDwaLookup, which +are not working on x86. +For testOptimizedInterleavePatterns, see +https://github.com/AcademySoftwareFoundation/openexr/issues/67#issuecomment-21169748 + +Signed-off-by: Bernd Waibel <waebbl@gmail.com> +--- + IlmImfTest/main.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/IlmImfTest/main.cpp b/IlmImfTest/main.cpp +index 3245fc4..4ab45b1 100644 +--- a/IlmImfTest/main.cpp ++++ b/IlmImfTest/main.cpp +@@ -228,7 +228,7 @@ main (int argc, char *argv[]) + TEST (testExistingStreams, "core"); + TEST (testStandardAttributes, "core"); + TEST (testOptimized, "basic"); +- TEST (testOptimizedInterleavePatterns, "basic"); ++// TEST (testOptimizedInterleavePatterns, "basic"); + TEST (testYca, "basic"); + TEST (testTiledYa, "basic"); + TEST (testNativeFormat, "basic"); +@@ -255,7 +255,7 @@ main (int argc, char *argv[]) + TEST (testDwaCompressorSimd, "basic"); + TEST (testRle, "core"); + TEST (testB44ExpLogTable, "core"); +- TEST (testDwaLookups, "core"); ++// TEST (testDwaLookups, "core"); + + + //#ifdef ENABLE_IMFHUGETEST +-- +2.27.0 + diff --git a/media-libs/openexr/metadata.xml b/media-libs/openexr/metadata.xml index fc9e500d69e1..6214595905dc 100644 --- a/media-libs/openexr/metadata.xml +++ b/media-libs/openexr/metadata.xml @@ -4,7 +4,12 @@ <maintainer type="project"> <email>media-video@gentoo.org</email> </maintainer> + <use> + <flag name="utils"> + Build several utility binaries for verifying and manipulating EXR files. + </flag> + </use> <upstream> - <remote-id type="github">openexr/openexr</remote-id> + <remote-id type="github">AcademySoftwareFoundation/openexr</remote-id> </upstream> </pkgmetadata> diff --git a/media-libs/openexr/openexr-2.5.2.ebuild b/media-libs/openexr/openexr-2.5.2.ebuild new file mode 100644 index 000000000000..7ea5a2cb6834 --- /dev/null +++ b/media-libs/openexr/openexr-2.5.2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +inherit cmake-multilib flag-o-matic toolchain-funcs + +DESCRIPTION="ILM's OpenEXR high dynamic-range image file format libraries" +HOMEPAGE="https://www.openexr.com/" +SRC_URI="https://github.com/AcademySoftwareFoundation/openexr/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/25" # based on SONAME +KEYWORDS="~amd64 -arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" +IUSE="cpu_flags_x86_avx doc examples static-libs utils test" +RESTRICT="!test? ( test )" + +RDEPEND=" + media-libs/ilmbase:= + sys-libs/zlib[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${P}/OpenEXR" + +DOCS=( PATENTS README.md ) + +MULTILIB_WRAPPED_HEADERS=( /usr/include/OpenEXR/OpenEXRConfigInternal.h ) + +src_prepare() { + cmake_src_prepare + + # Fix path for testsuite + sed -i -e "s:/var/tmp/:${T}:" "${S}"/IlmImfTest/tmpDir.h || die "failed to set temp path for tests" + + if use abi_x86_32 && use test; then + eapply "${FILESDIR}/${P}-0001-IlmImfTest-main.cpp-disable-tests.patch" + fi +} + +multilib_src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DINSTALL_OPENEXR_DOCS=$(usex doc) + -DINSTALL_OPENEXR_EXAMPLES=$(usex examples) + -DOPENEXR_BUILD_BOTH_STATIC_SHARED=$(usex static-libs) + -DOPENEXR_BUILD_UTILS=$(usex utils) + -DOPENEXR_INSTALL_PKG_CONFIG=ON # default + ) + + cmake_src_configure +} + +multilib_src_install_all() { + if use doc; then + DOCS+=( doc/*.pdf ) + fi + einstalldocs + + use examples && docompress -x /usr/share/doc/${PF}/examples +} |