mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: OpenEXR: Update to 2.5.0.
* gnu/packages/patches/ilmbase-openexr-pkg-config.patch: Delete file. * gnu/packages/patches/ilmbase-fix-test-arm.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/graphics.scm (ilmbase): Update to 2.5.0.
This commit is contained in:
parent
fef052b1b8
commit
b8bb2f0793
4 changed files with 65 additions and 48 deletions
|
@ -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 \
|
||||
|
|
|
@ -299,7 +299,7 @@ (define-public cgal
|
|||
(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 @@ (define-public ilmbase
|
|||
(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 @@ (define-public openexr
|
|||
;; 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
|
||||
|
|
60
gnu/packages/patches/ilmbase-fix-test-arm.patch
Normal file
60
gnu/packages/patches/ilmbase-fix-test-arm.patch
Normal file
|
@ -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);
|
||||
}
|
||||
|
|
@ -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
|
||||
|
Loading…
Reference in a new issue