diff options
Diffstat (limited to 'media-libs/openexr/files/openexr-2.3.0-bigendian.patch')
-rw-r--r-- | media-libs/openexr/files/openexr-2.3.0-bigendian.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/media-libs/openexr/files/openexr-2.3.0-bigendian.patch b/media-libs/openexr/files/openexr-2.3.0-bigendian.patch new file mode 100644 index 000000000000..0851fe957354 --- /dev/null +++ b/media-libs/openexr/files/openexr-2.3.0-bigendian.patch @@ -0,0 +1,71 @@ +Description: Fix test-suite on some big-endian archs +Author: Dennis Gilmore <dennis@ausil.us> +Bug-Debian: https://bugs.debian.org/793040 +Origin: vendor, https://github.com/openexr/openexr/issues/81 +Reviewed-by: Mathieu Malaterre <malat@debian.org> + +Index: openexr/IlmImfTest/testFutureProofing.cpp +=================================================================== +--- openexr.orig/IlmImfTest/testFutureProofing.cpp ++++ openexr/IlmImfTest/testFutureProofing.cpp +@@ -40,6 +40,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <assert.h> ++#include <byteswap.h> + + #include "tmpDir.h" + #include "testFutureProofing.h" +@@ -64,6 +65,7 @@ + #include <ImfNamespace.h> + #include <ImathNamespace.h> + #include <IlmThreadNamespace.h> ++#include <ImfSystemSpecific.h> + + namespace IMF = OPENEXR_IMF_NAMESPACE; + using namespace IMF; +@@ -1234,6 +1236,12 @@ modifyType (bool modify_version) + + //length of attribute + fread(&length,4,1,f); ++ if (!GLOBAL_SYSTEM_LITTLE_ENDIAN) ++ { ++ int tmp = bswap_32(length); ++ length = tmp; ++ } ++ + if(!modify_version && attrib_name=="type") + { + // modify the type of part 1 to be 'X<whatevever>' +Index: openexr/IlmImfTest/testMultiPartFileMixingBasic.cpp +=================================================================== +--- openexr.orig/IlmImfTest/testMultiPartFileMixingBasic.cpp ++++ openexr/IlmImfTest/testMultiPartFileMixingBasic.cpp +@@ -40,6 +40,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <assert.h> ++#include <byteswap.h> + + #include "tmpDir.h" + #include "testMultiPartFileMixingBasic.h" +@@ -59,6 +60,7 @@ + #include <ImfDeepScanLineInputPart.h> + #include <ImfPartType.h> + #include <ImfMisc.h> ++#include <ImfSystemSpecific.h> + + namespace IMF = OPENEXR_IMF_NAMESPACE; + using namespace IMF; +@@ -1383,6 +1385,11 @@ killOffsetTables (const std::string & fn + + //length of attribute + fread(&length,4,1,f); ++ if (!GLOBAL_SYSTEM_LITTLE_ENDIAN) ++ { ++ int tmp = bswap_32(length); ++ length = tmp; ++ } + + //value of attribute + for(int i=0;i<length;i++) |