~ruther/guix-local

2d62d08e45eaf1d60841582963c9143a680adef9 — Vinicius Monego 2 years ago 1ad77a7
gnu: opencolorio: Update to 2.3.2.

* gnu/packages/image-processing.scm (opencolorio): Update to 2.3.2.
[source]: Remove snippet.
[arguments]: Use G-Expressions.
<#:configure-flags>: Unset "-DCMAKE-CXX_FLAGS",
"-DOCIO_BUILD_STATIC", "-DUSE_EXTERNAL_TINXML", "-DUSE_EXTERNAL_LCMS". Pass
"-DCIO_BUILD_GPU_TESTS=false".
<#:phases>: Delete the patch-test-suite phase.
[native-inputs]: Remove git, pkg-config. Add openimageio, pybind11-2.10,
python-wrapper.
[inputs]: Remove openexr-2, tinyxml. Add expat, freeglut, glew, imath,
libglvnd, minizip-ng, openexr, pystring, yaml-cpp, zlib.
[license]: Simplify.
* gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch: Delete patch.
* gnu/local.mk (dist_patch_DATA): Unregister it.

Change-Id: Iafd87762df81d0f5c23089251b4241a57d414dc4
3 files changed, 20 insertions(+), 81 deletions(-)

M gnu/local.mk
M gnu/packages/image-processing.scm
D gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1769,7 1769,6 @@ 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/openjdk-currency-time-bomb.patch		\
  %D%/packages/patches/openjdk-currency-time-bomb2.patch	\
  %D%/packages/patches/openjdk-9-pointer-comparison.patch       \

M gnu/packages/image-processing.scm => gnu/packages/image-processing.scm +20 -43
@@ 260,57 260,36 @@ of external libraries that provide additional functionality.")
(define-public opencolorio
  (package
    (name "opencolorio")
    (version "1.1.1")
    (version "2.3.2")
    (source
     (origin
       (method git-fetch)
       (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))
       (modules '((guix build utils)))
       (snippet
        `(begin
           ;; Remove bundled tarballs, patches, and .jars(!).  XXX: Upstream
           ;; claims to have fixed USE_EXTERNAL_YAML, but it still fails with:
           ;; https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/517
           ;; When removing it, also remove it from the licence field comment.
           (for-each delete-file-recursively
                     (filter
                      (lambda (full-name)
                        (let ((file (basename full-name)))
                          (not (or (string-prefix? "yaml-cpp-0.3" file)
                                   (string=? "unittest.h" file)))))
                      (find-files "ext" ".*")))

           #t))))
        (base32 "1h33s2pfy28nj836kx6xx3iks7v38g3kx7c4f6zn1dpskl0zf809"))
       (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags
       (list (string-append "-DCMAKE_CXX_FLAGS="
                            "-Wno-error=deprecated-declarations "
                            "-Wno-error=unused-function")
             "-DOCIO_BUILD_STATIC=OFF"
             ;; "-DUSE_EXTERNAL_YAML=ON"
             "-DUSE_EXTERNAL_TINYXML=ON"
             "-DUSE_EXTERNAL_LCMS=ON")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-test-suite
           (lambda _
             (substitute* "src/core_tests/CMakeLists.txt"
               (("/bin/sh") (which "bash")))
             #t)))))
     ;; XXX: GPU tests are failing.
     (list #:configure-flags #~(list "-DOCIO_BUILD_GPU_TESTS=false")))
    (native-inputs
     (list git pkg-config))
     ;; XXX: OCIO has unit tests for OpenShadingLanguage, but they fail.
     ;; They also require OIIO, but OCIO is an optional dependency to it.
     (list pybind11-2.10 python-wrapper))
    (inputs
     ;; XXX Adding freeglut, glew, ilmbase, mesa, and openimageio for
     ;; ocioconvert fails: error: conflicting declaration ?typedef void
     ;; (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*)
     (list lcms openexr-2 tinyxml))
     (list expat
           freeglut
           glew
           imath
           lcms
           libglvnd
           minizip-ng
           openexr
           pystring
           yaml-cpp
           zlib))
    (home-page "https://opencolorio.org")
    (synopsis "Color management for visual effects and animation")
    (description


@@ 323,9 302,7 @@ back-end configuration options suitable for high-end production usage.
OCIO is compatible with the @acronym{ACES, Academy Color Encoding
Specification} and is @acronym{LUT, look-up table}-format agnostic, supporting
many popular formats.")
    (license (list license:expat        ; docs/ociotheme/static, ext/yaml-cpp-*
                   license:zlib         ; src/core/md5
                   license:bsd-3))))    ; the rest
    (license license:bsd-3)))

(define-public vtk
  (package

D gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch => gnu/packages/patches/opencolorio-fix-build-with-gcc11.patch +0 -37
@@ 1,37 0,0 @@
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