gnu: ilmbase: Update to 2.5.2.

* gnu/packages/patches/ilmbase-fix-test-arm.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/graphics.scm (ilmbase): Update to 2.5.2.
[source](patches): Remove 'ilmbase-fix-test-arm.patch'.
(openexr)[arguments]: Really increase test timeout, as the previous fix was
ineffective.
This commit is contained in:
Marius Bakke 2020-06-27 15:57:12 +02:00
parent ea60beeb3d
commit e0bb6391a9
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 9 additions and 67 deletions

View file

@ -1106,7 +1106,6 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/ilmbase-fix-test-arm.patch \
%D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \

View file

@ -359,7 +359,7 @@ (define-public cgal
(define-public ilmbase
(package
(name "ilmbase")
(version "2.5.0")
(version "2.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -368,9 +368,8 @@ (define-public ilmbase
(file-name (git-file-name "ilmbase" version))
(sha256
(base32
"1k50cvi3sk6gf6w713lkk2gv5cvs74vkc7s7k4z6nmyhi4g89w4y"))
(patches (search-patches "ilmbase-fix-tests.patch"
"ilmbase-fix-test-arm.patch"))))
"1vf8bqld2bpcdi99jbr043y6vp01cp3fvbiasrn66xn91mf6imbn"))
(patches (search-patches "ilmbase-fix-tests.patch"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -589,11 +588,15 @@ (define-public openexr
(lambda _
(chdir "OpenEXR")
#t))
(add-before 'check 'increase-test-timeout
(add-after 'change-directory 'increase-test-timeout
(lambda _
;; On armhf-linux, we need to override the CTest default
;; timeout of 1500 seconds for the OpenEXR.IlmImf test.
(setenv "CTEST_TEST_TIMEOUT" "2000")
(substitute* "IlmImfTest/CMakeLists.txt"
(("add_test\\(NAME OpenEXR\\.IlmImf.*" all)
(string-append
all
"set_tests_properties(OpenEXR.IlmImf PROPERTIES TIMEOUT 2000)")))
#t))
,@(if (not (target-64bit?))
`((add-after 'change-directory 'disable-broken-test

View file

@ -1,60 +0,0 @@
Fix a test failure on ARM platforms:
https://github.com/AcademySoftwareFoundation/openexr/issues/713
Taken from upstream:
https://github.com/AcademySoftwareFoundation/openexr/commit/76d9839cd1b300398f8b801dfcb4bcf2f8c0096f
diff --git a/OpenEXR/IlmImfTest/testHuf.cpp b/OpenEXR/IlmImfTest/testHuf.cpp
index 4c887ee8..a93b8ea9 100644
--- a/OpenEXR/IlmImfTest/testHuf.cpp
+++ b/OpenEXR/IlmImfTest/testHuf.cpp
@@ -181,9 +181,9 @@ compressUncompressSubset(const unsigned short raw[], int n)
// This DEK hash is determined from an aprior initial run of this
// test noting its value from the assert message compressVerify().
//
-#define HUF_COMPRESS_DEK_HASH_FOR_FILL4_USHRT_MAX_PLUS_ONE 2956869585U
-#define HUF_COMPRESS_DEK_HASH_FOR_FILL4_N 3414126535U
-#define HUF_COMPRESS_DEK_HASH_FOR_FILL5_N 169791374U
+#define HUF_COMPRESS_DEK_HASH_FOR_FILL4_USHRT_MAX_PLUS_ONE 2013380646U
+#define HUF_COMPRESS_DEK_HASH_FOR_FILL4_N 213880353U
+#define HUF_COMPRESS_DEK_HASH_FOR_FILL5_N 2492982090U
void
compressVerify (const unsigned short raw[],
@@ -200,7 +200,7 @@ compressVerify (const unsigned short raw[],
// under the topic of sorting and search chapter 6.4.
//
unsigned int compressedHash = nCompressed;
- const char* cptr = compressed;
+ const unsigned char* cptr = reinterpret_cast<const unsigned char*>( (const char*) compressed);
for (int i = 0; i < nCompressed; ++i)
{
compressedHash =
@@ -210,6 +210,25 @@ compressVerify (const unsigned short raw[],
cout << "verifying compressed checksum hash = "
<< compressedHash << std::endl;
+ if (compressedHash != dekHash)
+ {
+ cout << "hash verification failed. Got " << compressedHash << " expected " << dekHash << std::endl;
+ const unsigned char* cptr = reinterpret_cast<const unsigned char*>( (const char*) compressed);
+ for(int i = 0 ; i < nCompressed ; ++i )
+ {
+ cout << std::hex << (0xFF & (int) (*cptr++));
+ if ( (i & 0xF) ==0 )
+ {
+ cout << '\n';
+ }
+ else
+ {
+ cout << ' ';
+ }
+ }
+ cout << "\n";
+ }
+
assert (compressedHash == dekHash);
}