diff options
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/graphics.scm | 11 | ||||
-rw-r--r-- | gnu/packages/patches/ilmbase-fix-test-arm.patch | 60 | ||||
-rw-r--r-- | gnu/packages/patches/ilmbase-openexr-pkg-config.patch | 40 |
4 files changed, 65 insertions, 48 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index fb2e90b413..eb149cbd51 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1093,7 +1093,7 @@ 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-openexr-pkg-config.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 \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 16ab9d20a4..97dff5b3b9 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -299,7 +299,7 @@ many more.") (define-public ilmbase (package (name "ilmbase") - (version "2.4.1") + (version "2.5.0") (source (origin (method git-fetch) (uri (git-reference @@ -308,9 +308,9 @@ many more.") (file-name (git-file-name "ilmbase" version)) (sha256 (base32 - "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01")) + "1k50cvi3sk6gf6w713lkk2gv5cvs74vkc7s7k4z6nmyhi4g89w4y")) (patches (search-patches "ilmbase-fix-tests.patch" - "ilmbase-openexr-pkg-config.patch")))) + "ilmbase-fix-test-arm.patch")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -426,10 +426,7 @@ graphics.") ;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748 (lambda _ (substitute* "IlmImfTest/main.cpp" - ((".*testOptimizedInterleavePatterns.*") "") - ;; This test is broken in 2.4.0 and will be fixed in a later - ;; release: <https://github.com/openexr/openexr/issues/571>. - ((".*testLargeDataWindowOffsets.*") "")) + ((".*testOptimizedInterleavePatterns.*") "")) #t))) '())))) (native-inputs diff --git a/gnu/packages/patches/ilmbase-fix-test-arm.patch b/gnu/packages/patches/ilmbase-fix-test-arm.patch new file mode 100644 index 0000000000..2dbc55e8c4 --- /dev/null +++ b/gnu/packages/patches/ilmbase-fix-test-arm.patch @@ -0,0 +1,60 @@ +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); + } + diff --git a/gnu/packages/patches/ilmbase-openexr-pkg-config.patch b/gnu/packages/patches/ilmbase-openexr-pkg-config.patch deleted file mode 100644 index 99613080d8..0000000000 --- a/gnu/packages/patches/ilmbase-openexr-pkg-config.patch +++ /dev/null @@ -1,40 +0,0 @@ -Fix pkg-config files when using the CMake build system. - -Upstream bug report: -https://github.com/openexr/openexr/issues/567 - -diff --git a/IlmBase/config/CMakeLists.txt b/IlmBase/config/CMakeLists.txt -index 508176a..9e6ab91 100644 ---- a/IlmBase/config/CMakeLists.txt -+++ b/IlmBase/config/CMakeLists.txt -@@ -71,9 +71,9 @@ if(ILMBASE_INSTALL_PKG_CONFIG) - # use a helper function to avoid variable pollution, but pretty simple - function(ilmbase_pkg_config_help pcinfile) - set(prefix ${CMAKE_INSTALL_PREFIX}) -- set(exec_prefix ${CMAKE_INSTALL_BINDIR}) -- set(libdir ${CMAKE_INSTALL_LIBDIR}) -- set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) -+ set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR}) -+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) -+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) - set(LIB_SUFFIX_DASH ${ILMBASE_LIB_SUFFIX}) - if(TARGET Threads::Threads) - # hrm, can't use properties as they end up as generator expressions -diff --git a/OpenEXR/config/CMakeLists.txt b/OpenEXR/config/CMakeLists.txt -index 1ef829a..b8dc141 100644 ---- a/OpenEXR/config/CMakeLists.txt -+++ b/OpenEXR/config/CMakeLists.txt -@@ -72,9 +72,9 @@ if(OPENEXR_INSTALL_PKG_CONFIG) - # use a helper function to avoid variable pollution, but pretty simple - function(openexr_pkg_config_help pcinfile) - set(prefix ${CMAKE_INSTALL_PREFIX}) -- set(exec_prefix ${CMAKE_INSTALL_BINDIR}) -- set(libdir ${CMAKE_INSTALL_LIBDIR}) -- set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) -+ set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR}) -+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) -+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) - set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}) - if(TARGET Threads::Threads) - # hrm, can't use properties as they end up as generator expressions - |