commit:     dffcb2e509541795dae8dc842d07fe44525fa277
Author:     Bernd Waibel <waebbl <AT> gmail <DOT> com>
AuthorDate: Tue Mar  3 22:46:55 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 21 18:58:25 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dffcb2e5

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 <AT> gmail.com>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/openexr/Manifest                        |  1 +
 ....2-0001-IlmImfTest-main.cpp-disable-tests.patch | 40 ++++++++++++++
 media-libs/openexr/metadata.xml                    |  7 ++-
 media-libs/openexr/openexr-2.5.2.ebuild            | 63 ++++++++++++++++++++++
 4 files changed, 110 insertions(+), 1 deletion(-)

diff --git a/media-libs/openexr/Manifest b/media-libs/openexr/Manifest
index dc720965b72..43470622055 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 00000000000..a77705cb5a7
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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 fc9e500d69e..6214595905d 100644
--- a/media-libs/openexr/metadata.xml
+++ b/media-libs/openexr/metadata.xml
@@ -4,7 +4,12 @@
        <maintainer type="project">
                <email>[email protected]</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 00000000000..7ea5a2cb683
--- /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
+}

Reply via email to