~ruther/guix-local

186e516400d0676fcf50c653772cfe9ed3370db0 — Leo Famulari 3 years ago 2a8e92f
gnu: OpenColorIO: Fix build with GCC 11.

* gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/image-processing.scm (opencolorio)[source]: Use it.
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1626,6 1626,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/openboardview-use-system-imgui.patch	\
  %D%/packages/patches/openboardview-use-system-mpc.patch	\
  %D%/packages/patches/openbox-python3.patch			\
  %D%/packages/patches/opencolorio-fix-build-with-gcc11.patch	\
  %D%/packages/patches/openfoam-4.1-cleanup.patch			\
  %D%/packages/patches/openjdk-9-pointer-comparison.patch       \
  %D%/packages/patches/openjdk-9-setsignalhandler.patch         \

M gnu/packages/image-processing.scm => gnu/packages/image-processing.scm +1 -0
@@ 262,6 262,7 @@ of external libraries that provide additional functionality.")
       (uri (git-reference
             (url "https://github.com/AcademySoftwareFoundation/OpenColorIO")
             (commit (string-append "v" version))))
       (patches (search-patches "opencolorio-fix-build-with-gcc11.patch"))
       (sha256
        (base32 "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb"))
       (file-name (git-file-name name version))

A gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch => gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch +37 -0
@@ 0,0 1,37 @@
Fix build failure with GCC 11:

------
[...]
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:60:51: error: ‘this’ pointer is null [-Werror=nonnull]
   60 |             os << "width=" << packedImg->getWidth() << ", ";
      |                                                   ^
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:274:10: note: in a call to non-static member function ‘long int OpenColorIO::v1::PackedImageDesc::getWidth() const’
  274 |     long PackedImageDesc::getWidth() const
      |          ^~~~~~~~~~~~~~~
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:61:53: error: ‘this’ pointer is null [-Werror=nonnull]
   61 |             os << "height=" << packedImg->getHeight() << ", ";
      |                                                     ^
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:279:10: note: in a call to non-static member function ‘long int OpenColorIO::v1::PackedImageDesc::getHeight() const’
  279 |     long PackedImageDesc::getHeight() const
      |          ^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[...]
------

Patch copied from Gentoo:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e726d850502018b6760da78dbd4a419603016b8

diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 1eb691b6..cff9bd83 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -23,8 +23,6 @@ if(WIN32)
     if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
         set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX")
     endif()
-else()
-    set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror")
 endif()
 
 # SHARED