diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/openexr/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/openexr/files')
8 files changed, 993 insertions, 0 deletions
diff --git a/media-libs/openexr/files/openexr-1.7.0-gcc43.patch b/media-libs/openexr/files/openexr-1.7.0-gcc43.patch new file mode 100644 index 000000000000..ab99eb9a19fb --- /dev/null +++ b/media-libs/openexr/files/openexr-1.7.0-gcc43.patch @@ -0,0 +1,11 @@ +--- exrenvmap/blurImage.cpp ++++ exrenvmap/blurImage.cpp +@@ -39,6 +39,8 @@ + // + //----------------------------------------------------------------------------- + ++#include <cstring> ++ + #include <blurImage.h> + + #include <resizeImage.h> diff --git a/media-libs/openexr/files/openexr-2.2.0-CVE-2017-9110-to-9116-security-fixes.patch b/media-libs/openexr/files/openexr-2.2.0-CVE-2017-9110-to-9116-security-fixes.patch new file mode 100644 index 000000000000..0a37ee9c2d99 --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-CVE-2017-9110-to-9116-security-fixes.patch @@ -0,0 +1,98 @@ +From c2b32f21cbe2db7c7ef485d62ffe9bec8eaa5165 Mon Sep 17 00:00:00 2001 +From: Shawn Walker-Salas <shawn.walker@oracle.com> +Date: Tue, 30 May 2017 19:07:52 -0700 +Subject: [PATCH] CVE-2017-{9110,9111,9112,9113,9114,9115,9116} fixes + +--- + OpenEXR/IlmImf/ImfDwaCompressor.cpp | 7 ++++++- + OpenEXR/IlmImf/ImfHuf.cpp | 10 ++++++---- + OpenEXR/IlmImf/ImfPizCompressor.cpp | 6 ++++++ + 3 files changed, 18 insertions(+), 5 deletions(-) + +diff --git a/IlmImf/ImfDwaCompressor.cpp b/IlmImf/ImfDwaCompressor.cpp +index 1c1bd45..2ef8878 100644 +--- a/IlmImf/ImfDwaCompressor.cpp ++++ b/IlmImf/ImfDwaCompressor.cpp +@@ -2377,7 +2377,12 @@ DwaCompressor::uncompress + + const char *dataPtr = inPtr + NUM_SIZES_SINGLE * sizeof(Int64); + +- if (inSize < headerSize + compressedSize) ++ /* Both the sum and individual sizes are checked in case of overflow. */ ++ if (inSize < (headerSize + compressedSize) || ++ inSize < unknownCompressedSize || ++ inSize < acCompressedSize || ++ inSize < dcCompressedSize || ++ inSize < rleCompressedSize) + { + throw Iex::InputExc("Error uncompressing DWA data" + "(truncated file)."); +diff --git a/IlmImf/ImfHuf.cpp b/IlmImf/ImfHuf.cpp +index a375d05..97909a5 100644 +--- a/IlmImf/ImfHuf.cpp ++++ b/IlmImf/ImfHuf.cpp +@@ -822,7 +822,7 @@ hufEncode // return: output size (in bits) + } + + +-#define getCode(po, rlc, c, lc, in, out, oe) \ ++#define getCode(po, rlc, c, lc, in, out, ob, oe)\ + { \ + if (po == rlc) \ + { \ +@@ -835,6 +835,8 @@ hufEncode // return: output size (in bits) + \ + if (out + cs > oe) \ + tooMuchData(); \ ++ else if (out - 1 < ob) \ ++ notEnoughData(); \ + \ + unsigned short s = out[-1]; \ + \ +@@ -895,7 +897,7 @@ hufDecode + // + + lc -= pl.len; +- getCode (pl.lit, rlc, c, lc, in, out, oe); ++ getCode (pl.lit, rlc, c, lc, in, out, outb, oe); + } + else + { +@@ -925,7 +927,7 @@ hufDecode + // + + lc -= l; +- getCode (pl.p[j], rlc, c, lc, in, out, oe); ++ getCode (pl.p[j], rlc, c, lc, in, out, outb, oe); + break; + } + } +@@ -952,7 +954,7 @@ hufDecode + if (pl.len) + { + lc -= pl.len; +- getCode (pl.lit, rlc, c, lc, in, out, oe); ++ getCode (pl.lit, rlc, c, lc, in, out, outb, oe); + } + else + { +diff --git a/IlmImf/ImfPizCompressor.cpp b/IlmImf/ImfPizCompressor.cpp +index 46c6fba..8b3ee38 100644 +--- a/IlmImf/ImfPizCompressor.cpp ++++ b/IlmImf/ImfPizCompressor.cpp +@@ -573,6 +573,12 @@ PizCompressor::uncompress (const char *inPtr, + int length; + Xdr::read <CharPtrIO> (inPtr, length); + ++ if (length > inSize) ++ { ++ throw InputExc ("Error in header for PIZ-compressed data " ++ "(invalid array length)."); ++ } ++ + hufUncompress (inPtr, length, _tmpBuffer, tmpBufferEnd - _tmpBuffer); + + // +-- +2.14.1 + diff --git a/media-libs/openexr/files/openexr-2.2.0-Fix-typo-in-C-bindings.patch b/media-libs/openexr/files/openexr-2.2.0-Fix-typo-in-C-bindings.patch new file mode 100644 index 000000000000..966e95e72c3c --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-Fix-typo-in-C-bindings.patch @@ -0,0 +1,26 @@ +From c229dfe63380f41dfae1e977b10dfc7c49c7efc7 Mon Sep 17 00:00:00 2001 +From: Edward Kmett <ekmett@gmail.com> +Date: Wed, 9 Dec 2015 12:15:48 -0500 +Subject: [PATCH] Fix typo in C bindings (Close #140) + +IMF_RAMDOM_Y should be IMF_RANDOM_Y +--- + OpenEXR/IlmImf/ImfCRgbaFile.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/IlmImf/ImfCRgbaFile.h b/IlmImf/ImfCRgbaFile.h +index 5ac2bf8..db58247 100644 +--- a/IlmImf/ImfCRgbaFile.h ++++ b/IlmImf/ImfCRgbaFile.h +@@ -98,7 +98,7 @@ typedef struct ImfRgba ImfRgba; + + #define IMF_INCREASING_Y 0 + #define IMF_DECREASING_Y 1 +-#define IMF_RAMDOM_Y 2 ++#define IMF_RANDOM_Y 2 + + + /* +-- +2.14.1 + diff --git a/media-libs/openexr/files/openexr-2.2.0-Install-missing-header-files.patch b/media-libs/openexr/files/openexr-2.2.0-Install-missing-header-files.patch new file mode 100644 index 000000000000..1075cd9a30fa --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-Install-missing-header-files.patch @@ -0,0 +1,60 @@ +From a018f82655402421a995565dd4a5192259cbc207 Mon Sep 17 00:00:00 2001 +From: Jonathan Scruggs <j.scruggs@gmail.com> +Date: Sat, 23 Sep 2017 10:36:40 +0100 +Subject: [PATCH] OpenEXR: Install missing header files + +Some header files are not installed via Autotools, but are with +CMake which breaks compatibility with certain programs. This patch +enables Autotools to install these header files. + +Signed-off by: Jonathan Scruggs <j.scruggs@gmail.com> +--- + OpenEXR/IlmImf/Makefile.am | 3 ++- + OpenEXR/IlmImfUtil/Makefile.am | 17 +++++++++++++++++ + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/IlmImf/Makefile.am b/IlmImf/Makefile.am +index a7c219c..b7b96ac 100644 +--- a/IlmImf/Makefile.am ++++ b/IlmImf/Makefile.am +@@ -162,7 +162,8 @@ libIlmImfinclude_HEADERS = ImfForward.h ImfAttribute.h ImfBoxAttribute.h \ + ImfMisc.h \ + ImfPartHelper.h \ + ImfDeepImageState.h \ +- ImfDeepImageStateAttribute.h ++ ImfDeepImageStateAttribute.h \ ++ ImfFloatVectorAttribute.h + + noinst_HEADERS = ImfCompressor.h \ + ImfRleCompressor.h \ +diff --git a/IlmImfUtil/Makefile.am b/IlmImfUtil/Makefile.am +index 8005ee1..e1d3674 100644 +--- a/IlmImfUtil/Makefile.am ++++ b/IlmImfUtil/Makefile.am +@@ -33,6 +33,23 @@ libIlmImfUtil_la_LIBADD = -L$(top_builddir)/IlmImf $(ILMBASE_LIBS) -lIlmImf + + libIlmImfUtilincludedir = $(includedir)/OpenEXR + ++libIlmImfUtilinclude_HEADERS = ImfFlatImage.h \ ++ ImfDeepImage.h \ ++ ImfDeepImageChannel.h \ ++ ImfImageLevel.h \ ++ ImfDeepImageLevel.h \ ++ ImfDeepImageIO.h \ ++ ImfImageChannelRenaming.h \ ++ ImfImageIO.h \ ++ ImfFlatImageChannel.h \ ++ ImfImage.h \ ++ ImfFlatImageLevel.h \ ++ ImfImageDataWindow.h \ ++ ImfSampleCountChannel.h \ ++ ImfFlatImageIO.h \ ++ ImfImageChannel.h ++ ++ + EXTRA_DIST = CMakeLists.txt + + INCLUDES = \ +-- +2.14.1 + diff --git a/media-libs/openexr/files/openexr-2.2.0-fix-build-system.patch b/media-libs/openexr/files/openexr-2.2.0-fix-build-system.patch new file mode 100644 index 000000000000..3ccfb1da7ac5 --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-fix-build-system.patch @@ -0,0 +1,620 @@ +* Fix completely broken build system +* Change pdf+examples installation directory + +--- a/configure.ac ++++ b/configure.ac +@@ -1,6 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + + AC_INIT(OpenEXR, 2.2.0) ++AC_CONFIG_MACRO_DIR([m4]) + + AC_SUBST(OPENEXR_VERSION_MAJOR, 2) + AC_SUBST(OPENEXR_VERSION_MINOR, 2) +@@ -11,9 +12,8 @@ + + AC_CANONICAL_HOST + AC_CONFIG_SRCDIR(IlmImfTest/main.cpp) +-AC_CONFIG_HEADER(config/OpenEXRConfig.h) +-AM_INIT_AUTOMAKE(1.6.3) dnl Require automake 1.6.3 or better +-AM_MAINTAINER_MODE ++AC_CONFIG_HEADERS([config/OpenEXRConfig.h]) ++AM_INIT_AUTOMAKE + + + LIBTOOL_CURRENT=22 +@@ -27,46 +27,21 @@ + AC_PROG_INSTALL + AC_PROG_CC + AC_PROG_LN_S +-AC_PROG_LIBTOOL ++LT_INIT + AC_PROG_MAKE_SET + + dnl + dnl PKGCONFIG preparations + dnl +- +-if test -z "${PKG_CONFIG_PATH}"; then +- PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig +-fi +- +-LIB64_IF_EXISTS="" +-if [[ -e /usr/lib64 ]]; then +- LIB64_IF_EXISTS="-L/usr/lib64" +-fi +- +- +- +-export PKG_CONFIG_PATH +- +-dnl +-dnl get ccflags and libs from openexr packages, then check +-dnl whether test programs compile +-AM_PATH_PKGCONFIG( +- [ILMBASE_CXXFLAGS], +- [ILMBASE_LDFLAGS], +- [ILMBASE_LIBS], +- [IlmBase], +- [OpenEXR], +- [$LIB64_IF_EXISTS -L/usr/local/lib], +- [-lImath -lHalf -lIex -lIlmThread -lpthread], +- [ilmbase-prefix]) ++PKG_CHECK_MODULES([ILMBASE], [IlmBase]) + + + dnl Define the version string +-AC_DEFINE_UNQUOTED(OPENEXR_VERSION_STRING, "${VERSION}") +-AC_DEFINE_UNQUOTED(OPENEXR_PACKAGE_STRING, "${PACKAGE_STRING}") +-AC_DEFINE_UNQUOTED(OPENEXR_VERSION_MAJOR, ${OPENEXR_VERSION_MAJOR}) +-AC_DEFINE_UNQUOTED(OPENEXR_VERSION_MINOR, ${OPENEXR_VERSION_MINOR}) +-AC_DEFINE_UNQUOTED(OPENEXR_VERSION_PATCH, ${OPENEXR_VERSION_PATCH}) ++AC_DEFINE_UNQUOTED([OPENEXR_VERSION_STRING], ["${VERSION}"], [OpenEXR version string]) ++AC_DEFINE_UNQUOTED([OPENEXR_PACKAGE_STRING], ["${PACKAGE_STRING}"], [OpenEXR version string]) ++AC_DEFINE_UNQUOTED([OPENEXR_VERSION_MAJOR], [${OPENEXR_VERSION_MAJOR}], [OpenEXR version string]) ++AC_DEFINE_UNQUOTED([OPENEXR_VERSION_MINOR], [${OPENEXR_VERSION_MINOR}], [OpenEXR version string]) ++AC_DEFINE_UNQUOTED([OPENEXR_VERSION_PATCH], [${OPENEXR_VERSION_PATCH}], [OpenEXR version string]) + + + dnl --enable-threading +@@ -75,19 +50,16 @@ + [enable multi-threading [[default=yes]]]), + [multithread="${enableval}"], [multithread=yes]) + +-if test x$PKG_CONFIG == xno && test "x${multithread}" != xno ; then +- ACX_PTHREAD( +- [ +- AC_DEFINE(OPENEXR_IMF_HAVE_PTHREAD) +- ILMBASE_LIBS="$PTHREAD_LIBS $ILMBASE_LIBS" +- ILMBASE_CXXFLAGS="$ILMBASE_CXXFLAGS $PTHREAD_CFLAGS" +- CC="$PTHREAD_CC" +- +- AM_POSIX_SEM() +- ], +- [AC_MSG_ERROR([POSIX thread support required])]) +- AC_MSG_NOTICE([multithread true, LIBS = $LIBS, CC = $CC, CXXFLAGS = $CXXFLAGS]) +-fi ++AS_IF([test "x${multithread}" != xno], [ ++ AX_PTHREAD ++ ++ AC_DEFINE([OPENEXR_IMF_HAVE_PTHREAD], [1], [Define if pthreads are available]) ++ ++ CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" ++ CXXFLAGS="${CXXFLAGS} ${PTHREAD_CFLAGS}" ++ LIBS="${LIBS} ${PTHREAD_CFLAGS}" ++]) ++ + + dnl --enable-large-stack + case "$host" in +@@ -110,21 +82,25 @@ + esac + + if test "x${large_stack}" != xno ; then +- AC_DEFINE(OPENEXR_IMF_HAVE_LARGE_STACK) ++ AC_DEFINE([OPENEXR_IMF_HAVE_LARGE_STACK], [1], [Define if large stack sizes are supported]) + fi + +-AM_COMPILELINKRUN( +- [IlmBase], +- [ilmbasetest], +- [$ILMBASE_CXXFLAGS], +- [$ILMBASE_LDFLAGS], +- [$ILMBASE_LIBS],[[ +-#include <stdlib.h> +-#include <ImathFun.h> +-]], +- [[double d = IMATH_NAMESPACE::succd(.23); d+= .2;]], +- AC_MSG_RESULT([Compiled and ran IlmBase test program.]), +- AC_MSG_ERROR([Could not compile IlmBase test program.])) ++ ++ ++save_CXXFLAGS="${CXXFLAGS}" ++save_LIBS="${LIBS}" ++CXXFLAGS="${save_CXXFLAGS} ${ILMBASE_CFLAGS}" ++LIBS="${save_LIBS} ${ILMBASE_LIBS}" ++AC_LINK_IFELSE([ ++ AC_LANG_PROGRAM([[ ++ #include <stdlib.h> ++ #include <ImathFun.h> ++ ]], [[ ++ double d = IMATH_NAMESPACE::succd(.23); d+= .2; ++ ]]) ++]) ++CXXFLAGS="${save_CXXFLAGS}" ++LIBS="${save_LIBS}" + + + dnl Checks for header files. +@@ -137,74 +113,27 @@ + AC_TYPE_SIZE_T + + dnl Checks for zlib +-AC_CHECK_LIB(z, compress, +- [:], +- [AC_MSG_ERROR([ +-*** OpenEXR requires a recent version of zlib, which you don't appear to +-*** have. +-*** +-*** This could be because the run-time linker is not finding zlib, or it +-*** is finding the wrong version. In this case, you'll need to set your +-*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point +-*** to the proper version. Also, make sure you have run ldconfig if +-*** that is required on your system. +- ])] +-) ++PKG_CHECK_MODULES([ZLIB], [zlib]) ++ ++ ++dnl We use a modern toolchain, don't care ++dnl about ancient broken stuff ++AC_DEFINE([OPENEXR_IMF_HAVE_COMPLETE_IOMANIP], [1], [Define when std::right is available]) + +-dnl Checks for std::right etc. in iomanip +-AC_MSG_CHECKING(for complete iomanip support in C++ standard library) +-complete_iomanip="no" +-AC_LANG_SAVE +-AC_LANG_CPLUSPLUS +-AC_TRY_COMPILE([#include <iomanip>],[ +- +- std::right; +-], +-AC_DEFINE(OPENEXR_IMF_HAVE_COMPLETE_IOMANIP) complete_iomanip=yes) +-AC_MSG_RESULT($complete_iomanip) +-AC_LANG_RESTORE +- +- +-AC_MSG_CHECKING(for gcc optimization flags) +-old_cflags=$CFLAGS +-CFLAGS="$CFLAGS -pipe" +-AC_TRY_COMPILE([#include <stdio.h>], +-[ printf ("hello, world"); ], +-[ EXTRA_OPT_CFLAGS="-pipe"],[ EXTRA_OPT_CFLAGS=""]) +-CFLAGS=$old_cflags +-AC_MSG_RESULT([$EXTRA_OPT_CFLAGS]) + + dnl Check to see if the toolset supports AVX instructions in inline asm +-AC_MSG_CHECKING(for AVX instructions in GCC style inline asm) +-gcc_inline_asm_avx="no" +-AC_COMPILE_IFELSE( +- [ +- AC_LANG_PROGRAM([], +- [ +- #if defined(__GNUC__) && defined(__SSE2__) +- int n = 0; +- int eax = 0; +- int edx = 0; +- __asm__( +- "xgetbv \n" +- "vzeroupper " +- : "=a"(eax), "=d"(edx) : "c"(n) : ); +- #else +- #error No GCC style inline asm supported for AVX instructions +- #endif +- ]) +- ], +- [ +- gcc_inline_asm_avx="yes" +- ], +- [ +- gcc_inline_asm_avx="no" +- ] +-) +-AC_MSG_RESULT([$gcc_inline_asm_avx]) +-if test "x${gcc_inline_asm_avx}" == xyes ; then +- AC_DEFINE(OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX) +-fi ++AC_ARG_ENABLE([avx], ++ AS_HELP_STRING([--enable-avx], [Enable avx optimization])) ++ ++AS_IF([test "x$enable_avx" = "xyes"], [ ++ dnl Enable AVX ++ gcc_inline_asm_avx="yes" ++ AC_DEFINE([OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX], [1], [Define if AVX is available]) ++], [ ++ dnl Disable AVX ++ gcc_inline_asm_avx="no" ++]) ++ + + dnl Check if sysconf(_SC_NPROCESSORS_ONLN) can be used for CPU count + AC_MSG_CHECKING([for sysconf(_SC_NPROCESSORS_ONLN)]) +@@ -221,16 +150,16 @@ + ) + AC_MSG_RESULT([$sysconf_nproc]) + if test "x${sysconf_nproc}" == xyes ; then +- AC_DEFINE(OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN) ++ AC_DEFINE([OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN], [1], [Define if sysconf(_SC_NPROCESSORS_ONLN) can be used for CPU count]) + fi + + dnl Platform-specific stuff + case "$host" in + *linux*) +- AC_DEFINE(OPENEXR_IMF_HAVE_LINUX_PROCFS) ++ AC_DEFINE([OPENEXR_IMF_HAVE_LINUX_PROCFS], [1], [Define if procfs is available]) + ;; + *darwin*) +- AC_DEFINE(OPENEXR_IMF_HAVE_DARWIN) ++ AC_DEFINE([OPENEXR_IMF_HAVE_DARWIN], [1], [Define if on Darwin]) + + dnl OS X universal binary support, requires --disable-dependency-tracking + AC_ARG_ENABLE(osx-universal-binaries, +@@ -245,19 +174,13 @@ + --disable-dependency-tracking --enable-osx-universal-binary + ]) + fi +- CXXFLAGS="$CXXFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" ++ dnl CXXFLAGS="$CXXFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" + dnl LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" + fi + + ;; + esac + +-AM_CFLAGS="$EXTRA_OPT_CFLAGS" +-AM_CXXFLAGS="$EXTRA_OPT_CFLAGS" +- +-AC_SUBST(AM_CFLAGS) +-AC_SUBST(AM_CXXFLAGS) +- + dnl build imfexamples example program? + build_imfexamples="no" + AC_ARG_ENABLE(imfexamples, +@@ -286,7 +209,7 @@ + AM_CONDITIONAL(BUILD_IMFHUGETEST, test "x$build_imfhugetest" = xyes) + + if test "x${build_imfhugetest}" != xno ; then +- AC_DEFINE(OPENEXR_IMF_HUGETEST) ++ AC_DEFINE([OPENEXR_IMF_HUGETEST], [1], [Define if IlmImf huge input resilience]) + fi + + +@@ -307,19 +230,19 @@ + + lib_namespace="Imf" + if test "x${library_namespace_versioning}" == xyes ; then +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_INTERNAL_NAMESPACE, Imf_${OPENEXR_VERSION_API}) +- AC_DEFINE(OPENEXR_IMF_INTERNAL_NAMESPACE_CUSTOM) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_INTERNAL_NAMESPACE], [Imf_${OPENEXR_VERSION_API}], [OpenEXR]) ++ AC_DEFINE([OPENEXR_IMF_INTERNAL_NAMESPACE_CUSTOM], [1], [OpenEXR]) + + lib_namespace="Imf_${OPENEXR_VERSION_API}" + LIB_SUFFIX="${OPENEXR_VERSION_API}" + lib_suffix_valid="yes" + elif test "x${library_namespace_versioning}" == xno ; then +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_INTERNAL_NAMESPACE, Imf) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_INTERNAL_NAMESPACE], [Imf], [OpenEXR]) + + lib_namespace="Imf" + else +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_INTERNAL_NAMESPACE, ${library_namespace_versioning} ) +- AC_DEFINE(OPENEXR_IMF_INTERNAL_NAMESPACE_CUSTOM) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_INTERNAL_NAMESPACE], [${library_namespace_versioning}], [OpenEXR]) ++ AC_DEFINE([OPENEXR_IMF_INTERNAL_NAMESPACE_CUSTOM], [1], [OpenEXR]) + + lib_namespace="${library_namespace_versioning}" + LIB_SUFFIX="${library_namespace_versioning}" +@@ -349,14 +272,14 @@ + + if test "x${custom_usr_namespace}" == xyes ; then + AC_MSG_WARN([Enabling 'custom user namespace' requires an additional argument, reverting to 'Imf']) +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_NAMESPACE, Imf) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_NAMESPACE], [Imf], [OpenEXR]) + usr_namespace="Imf" + elif test "x${custom_usr_namespace}" == xno ; then +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_NAMESPACE, Imf) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_NAMESPACE], [Imf], [OpenEXR]) + usr_namespace="Imf" + else +- AC_DEFINE_UNQUOTED(OPENEXR_IMF_NAMESPACE, ${custom_usr_namespace}) +- AC_DEFINE(OPENEXR_IMF_NAMESPACE_CUSTOM) ++ AC_DEFINE_UNQUOTED([OPENEXR_IMF_NAMESPACE], [${custom_usr_namespace}], [OpenEXR]) ++ AC_DEFINE([OPENEXR_IMF_NAMESPACE_CUSTOM], [1], [OpenEXR]) + + usr_namespace=${custom_usr_namespace} + fi +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -6,5 +6,4 @@ + InterpretingDeepPixels.pdf \ + TheoryDeepPixels.pdf + +-docdir=$(datadir)/doc/OpenEXR-@OPENEXR_VERSION@ + doc_DATA = $(EXTRA_DIST) +--- a/exrenvmap/Makefile.am ++++ b/exrenvmap/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@\ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrenvmap_SOURCES = main.cpp EnvmapImage.cpp EnvmapImage.h \ + readInputImage.cpp readInputImage.h \ +--- a/exrheader/Makefile.am ++++ b/exrheader/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrheader_SOURCES = main.cpp + +--- a/exrmakepreview/Makefile.am ++++ b/exrmakepreview/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@\ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrmakepreview_SOURCES = main.cpp makePreview.cpp makePreview.h + +--- a/exrmaketiled/Makefile.am ++++ b/exrmaketiled/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrmaketiled_SOURCES = main.cpp \ + Image.h Image.cpp \ +--- a/exrmultipart/Makefile.am ++++ b/exrmultipart/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +-@ILMBASE_CXXFLAGS@ ++$(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ +-$(top_builddir)/IlmImf/libIlmImf.la \ +--lz ++LDADD = $(ILMBASE_LIBS) \ ++ $(top_builddir)/IlmImf/libIlmImf.la \ ++ $(ZLIB_LIBS) + + exrmultipart_SOURCES = exrmultipart.cpp + +--- a/exrmultiview/Makefile.am ++++ b/exrmultiview/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrmultiview_SOURCES = main.cpp \ + Image.h Image.cpp \ +--- a/exrstdattr/Makefile.am ++++ b/exrstdattr/Makefile.am +@@ -4,11 +4,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + +-LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ ++LDADD = $(ILMBASE_LIBS) \ + $(top_builddir)/IlmImf/libIlmImf.la \ +- -lz ++ $(ZLIB_LIBS) + + exrstdattr_SOURCES = main.cpp CMakeLists.txt + +--- a/IlmImf/Makefile.am ++++ b/IlmImf/Makefile.am +@@ -93,7 +93,7 @@ + ImfSystemSpecific.cpp ImfZip.h ImfZip.cpp + + +-libIlmImf_la_LDFLAGS = @ILMBASE_LDFLAGS@ -version-info @LIBTOOL_VERSION@ \ ++libIlmImf_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ \ + -no-undefined + + +@@ -102,7 +102,7 @@ + endif + + +-libIlmImf_la_LIBADD = -lz @ILMBASE_LIBS@ ++libIlmImf_la_LIBADD = $(ZLIB_LIBS) $(ILMBASE_LIBS) + + libIlmImfincludedir = $(includedir)/OpenEXR + +@@ -188,20 +188,21 @@ + EXTRA_DIST = $(noinst_HEADERS) b44ExpLogTable.cpp b44ExpLogTable.h dwaLookups.cpp dwaLookups.h CMakeLists.txt + + +-INCLUDES = @ILMBASE_CXXFLAGS@ \ +- -I$(top_builddir) \ +- -I$(top_srcdir)/config ++INCLUDES = \ ++ -I$(top_builddir) \ ++ -I$(top_srcdir)/config \ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + + CLEANFILES = b44ExpLogTable b44ExpLogTable.h dwaLookups dwaLookups.h + + b44ExpLogTable_SOURCES = b44ExpLogTable.cpp +-b44ExpLogTable_LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ ++b44ExpLogTable_LDADD = $(ILMBASE_LIBS) + + b44ExpLogTable.h: b44ExpLogTable + ./b44ExpLogTable > b44ExpLogTable.h + + dwaLookups_SOURCES = dwaLookups.cpp +-dwaLookups_LDADD = @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ ++dwaLookups_LDADD = $(ILMBASE_LIBS) + + dwaLookups.h: dwaLookups + ./dwaLookups > dwaLookups.h +--- a/IlmImfExamples/Makefile.am ++++ b/IlmImfExamples/Makefile.am +@@ -6,11 +6,11 @@ + + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + + LDADD = -L$(top_builddir)/IlmImf \ +- @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ +- -lIlmImf -lz ++ $(ILMBASE_LIBS) \ ++ -lIlmImf $(ZLIB_CFLAGS) + + imfexamples_SOURCES = main.cpp drawImage.cpp rgbaInterfaceExamples.cpp \ + rgbaInterfaceTiledExamples.cpp \ +@@ -23,7 +23,7 @@ + lowLevelIoExamples.h previewImageExamples.h \ + namespaceAlias.h + +-examplesdir = $(datadir)/doc/OpenEXR-@OPENEXR_VERSION@/examples ++examplesdir = $(docdir)/examples + examples_DATA = $(imfexamples_SOURCES) + + imfexamplesdir = $(examplesdir) +--- a/IlmImfFuzzTest/Makefile.am ++++ b/IlmImfFuzzTest/Makefile.am +@@ -14,11 +14,11 @@ + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf \ + -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + + LDADD = -L$(top_builddir)/IlmImf \ +- @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ +- -lIlmImf -lz ++ $(ILMBASE_LIBS) \ ++ -lIlmImf $(ZLIB_LIBS) + + if BUILD_IMFFUZZTEST + TESTS = IlmImfFuzzTest +--- a/IlmImfTest/Makefile.am ++++ b/IlmImfTest/Makefile.am +@@ -62,11 +62,11 @@ + INCLUDES = -I$(top_builddir) \ + -I$(top_srcdir)/IlmImf \ + -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + + LDADD = -L$(top_builddir)/IlmImf \ +- @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ +- -lIlmImf -lz ++ $(ILMBASE_LIBS) \ ++ -lIlmImf $(ZLIB_LIBS) + + TESTS = IlmImfTest + +--- a/IlmImfUtil/Makefile.am ++++ b/IlmImfUtil/Makefile.am +@@ -20,7 +20,7 @@ + ImfImageChannelRenaming.h + + +-libIlmImfUtil_la_LDFLAGS = @ILMBASE_LDFLAGS@ -version-info @LIBTOOL_VERSION@ \ ++libIlmImfUtil_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ \ + -no-undefined + + +@@ -29,14 +29,15 @@ + endif + + +-libIlmImfUtil_la_LIBADD = -L$(top_builddir)/IlmImf @ILMBASE_LIBS@ -lIlmImf ++libIlmImfUtil_la_LIBADD = -L$(top_builddir)/IlmImf $(ILMBASE_LIBS) -lIlmImf + + libIlmImfUtilincludedir = $(includedir)/OpenEXR + + EXTRA_DIST = CMakeLists.txt + +-INCLUDES = @ILMBASE_CXXFLAGS@ \ +- -I$(top_builddir) \ +- -I$(top_srcdir)/IlmImf \ +- -I$(top_srcdir)/config ++INCLUDES = \ ++ -I$(top_builddir) \ ++ -I$(top_srcdir)/IlmImf \ ++ -I$(top_srcdir)/config \ ++ $(ILMBASE_CFLAGS) + +--- a/IlmImfUtilTest/Makefile.am ++++ b/IlmImfUtilTest/Makefile.am +@@ -11,12 +11,12 @@ + -I$(top_srcdir)/IlmImf \ + -I$(top_srcdir)/IlmImfUtil \ + -I$(top_srcdir)/config \ +- @ILMBASE_CXXFLAGS@ ++ $(ILMBASE_CFLAGS) $(ZLIB_CFLAGS) + + LDADD = -L$(top_builddir)/IlmImf \ + -L$(top_builddir)/IlmImfUtil \ +- @ILMBASE_LDFLAGS@ @ILMBASE_LIBS@ \ +- -lIlmImfUtil -lIlmImf -lz ++ $(ILMBASE_LIBS) \ ++ -lIlmImfUtil -lIlmImf $(ZLIB_LIBS) + + TESTS = IlmImfUtilTest + diff --git a/media-libs/openexr/files/openexr-2.2.0-fix-config.h-collision.patch b/media-libs/openexr/files/openexr-2.2.0-fix-config.h-collision.patch new file mode 100644 index 000000000000..53421194c2da --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-fix-config.h-collision.patch @@ -0,0 +1,43 @@ +Rename enum from VERSION to MYVERSION due to +collision with VERSION from autoheader. + +--- a/IlmImf/ImfDwaCompressor.cpp ++++ b/IlmImf/ImfDwaCompressor.cpp +@@ -1944,7 +1944,7 @@ + + #define OBIDX(x) (Int64 *)&_outBuffer[x * sizeof (Int64)] + +- Int64 *version = OBIDX (VERSION); ++ Int64 *version = OBIDX (MYVERSION); + Int64 *unknownUncompressedSize = OBIDX (UNKNOWN_UNCOMPRESSED_SIZE); + Int64 *unknownCompressedSize = OBIDX (UNKNOWN_COMPRESSED_SIZE); + Int64 *acCompressedSize = OBIDX (AC_COMPRESSED_SIZE); +@@ -2356,7 +2356,7 @@ + + const Int64 *inPtr64 = (const Int64*) inPtr; + +- Int64 version = *(inPtr64 + VERSION); ++ Int64 version = *(inPtr64 + MYVERSION); + Int64 unknownUncompressedSize = *(inPtr64 + UNKNOWN_UNCOMPRESSED_SIZE); + Int64 unknownCompressedSize = *(inPtr64 + UNKNOWN_COMPRESSED_SIZE); + Int64 acCompressedSize = *(inPtr64 + AC_COMPRESSED_SIZE); +@@ -3142,7 +3142,7 @@ + + + // +-// Setup channel classification rules when reading files with VERSION < 2 ++// Setup channel classification rules when reading files with MYVERSION < 2 + // + + void +--- a/IlmImf/ImfDwaCompressor.h ++++ b/IlmImf/ImfDwaCompressor.h +@@ -124,7 +124,7 @@ + + enum DataSizesSingle + { +- VERSION = 0, // Version number: ++ MYVERSION = 0, // Version number: + // 0: classic + // 1: adds "end of block" to the AC RLE + diff --git a/media-libs/openexr/files/openexr-2.2.0-fix-cpuid-on-abi_x86_32.patch b/media-libs/openexr/files/openexr-2.2.0-fix-cpuid-on-abi_x86_32.patch new file mode 100644 index 000000000000..1dc13c724074 --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-fix-cpuid-on-abi_x86_32.patch @@ -0,0 +1,75 @@ +$NetBSD: patch-IlmImf_ImfSystemSpecific.cpp,v 1.2 2014/08/19 13:34:42 joerg Exp $ + +Rework cpuid function to use gnuc __get_cpuid (requiring at least gcc 4.3) +This get's over issues such as encountered with PIC builds. +Upstream issue : https://github.com/openexr/openexr/issues/128 + +https://raw.githubusercontent.com/jsonn/pkgsrc/trunk/graphics/openexr/patches/patch-IlmImf_ImfSystemSpecific.cpp +https://github.com/jsonn/pkgsrc/commit/5158af44e65b6d7b9f1a8aca2eb24cb87d003724 +https://bugs.gentoo.org/show_bug.cgi?id=626760 + +--- a/IlmImf/ImfSystemSpecific.cpp.orig 2014-08-10 04:23:57.000000000 +0000 ++++ b/IlmImf/ImfSystemSpecific.cpp +@@ -40,21 +40,30 @@ OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_EN + + namespace { + #if defined(IMF_HAVE_SSE2) && defined(__GNUC__) +- + // Helper functions for gcc + SSE enabled +- void cpuid(int n, int &eax, int &ebx, int &ecx, int &edx) ++ void cpuid(unsigned int n, unsigned int &eax, unsigned int &ebx, ++ unsigned int &ecx, unsigned int &edx) + { ++#ifdef __i386__ ++ __asm__ __volatile__ ( ++ "pushl %%ebx; cpuid; movl %%ebx, %0; popl %%ebx" ++ : /* Output */ "=m"(ebx), "=a"(eax), "=c"(ecx), "=d"(edx) ++ : /* Input */ "a"(n) ++ : /* Clobber */); ++#else + __asm__ __volatile__ ( + "cpuid" + : /* Output */ "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx) + : /* Input */ "a"(n) + : /* Clobber */); ++#endif + } + + #else // IMF_HAVE_SSE2 && __GNUC__ + + // Helper functions for generic compiler - all disabled +- void cpuid(int n, int &eax, int &ebx, int &ecx, int &edx) ++ void cpuid(unsigned int n, unsigned int &eax, unsigned int &ebx, ++ unsigned int &ecx, unsigned int &edx) + { + eax = ebx = ecx = edx = 0; + } +@@ -64,7 +73,7 @@ namespace { + + #ifdef OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX + +- void xgetbv(int n, int &eax, int &edx) ++ void xgetbv(unsigned int n, unsigned int &eax, unsigned int &edx) + { + __asm__ __volatile__ ( + "xgetbv" +@@ -75,7 +84,7 @@ namespace { + + #else // OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX + +- void xgetbv(int n, int &eax, int &edx) ++ void xgetbv(unsigned int n, unsigned int &eax, unsigned int &edx) + { + eax = edx = 0; + } +@@ -94,8 +103,8 @@ CpuId::CpuId(): + f16c(false) + { + bool osxsave = false; +- int max = 0; +- int eax, ebx, ecx, edx; ++ unsigned int max = 0; ++ unsigned int eax, ebx, ecx, edx; + + cpuid(0, max, ebx, ecx, edx); + if (max > 0) diff --git a/media-libs/openexr/files/openexr-2.2.0-use-ull-for-64-bit-literals.patch b/media-libs/openexr/files/openexr-2.2.0-use-ull-for-64-bit-literals.patch new file mode 100644 index 000000000000..6b107af29927 --- /dev/null +++ b/media-libs/openexr/files/openexr-2.2.0-use-ull-for-64-bit-literals.patch @@ -0,0 +1,60 @@ +From 57ecf581d053f5cacf2e8fc3c024490e0bbe536f Mon Sep 17 00:00:00 2001 +From: Brendan Bolles <brendan@fnordware.com> +Date: Wed, 13 Aug 2014 19:54:10 -0700 +Subject: [PATCH] Use ULL for 64-bit literals + +On a 32-bit architecture, these literals are too big for just a long, +they need to be ULL, since Int64 is unsigned. +--- + IlmImf/ImfFastHuf.cpp | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/IlmImf/ImfFastHuf.cpp b/IlmImf/ImfFastHuf.cpp +index 86c84dc..01edad4 100644 +--- a/IlmImf/ImfFastHuf.cpp ++++ b/IlmImf/ImfFastHuf.cpp +@@ -107,7 +107,7 @@ FastHufDecoder::FastHufDecoder + for (int i = 0; i <= MAX_CODE_LEN; ++i) + { + codeCount[i] = 0; +- base[i] = 0xffffffffffffffffL; ++ base[i] = 0xffffffffffffffffULL; + offset[i] = 0; + } + +@@ -352,7 +352,7 @@ FastHufDecoder::buildTables (Int64 *base, Int64 *offset) + + for (int i = 0; i <= MAX_CODE_LEN; ++i) + { +- if (base[i] != 0xffffffffffffffffL) ++ if (base[i] != 0xffffffffffffffffULL) + { + _ljBase[i] = base[i] << (64 - i); + } +@@ -362,7 +362,7 @@ FastHufDecoder::buildTables (Int64 *base, Int64 *offset) + // Unused code length - insert dummy values + // + +- _ljBase[i] = 0xffffffffffffffffL; ++ _ljBase[i] = 0xffffffffffffffffULL; + } + } + +@@ -417,7 +417,7 @@ FastHufDecoder::buildTables (Int64 *base, Int64 *offset) + + int minIdx = TABLE_LOOKUP_BITS; + +- while (minIdx > 0 && _ljBase[minIdx] == 0xffffffffffffffffL) ++ while (minIdx > 0 && _ljBase[minIdx] == 0xffffffffffffffffULL) + minIdx--; + + if (minIdx < 0) +@@ -427,7 +427,7 @@ FastHufDecoder::buildTables (Int64 *base, Int64 *offset) + // Set the min value such that the table is never tested. + // + +- _tableMin = 0xffffffffffffffffL; ++ _tableMin = 0xffffffffffffffffULL; + } + else + { |