Subject: [bug#68112] Update openimageio and Blender [1/2]

From: Christine Lemmer-Webber <[email-masked]>
Date: Fri, 29 Dec 2023 11:24:15 -0500

Two patches.  We need a newer version of openimageio to update to the
newest Blender LTS version.  However the newer version of openimageio
doesn't work with our old version of openshadinglanguage... for now,
I've just preserved an older version of openimageio for
openshadinglanguage to use.

It would be ideal to update openshadinglanguage and add that as an input
to Blender too since that would open up custom shading nodes for our
Blender users, but alas, I ran into trouble upgrading
openshadinglanguage and don't have time to do that right now.
I suggest we get in the Blender update and if someone wants to take a
crack at upgrading OSL and adding to Blender too they can do that as a
future patch series.

 - Christine

From e3f1d5554676dc40bd4e76b6b01554472aa8a939 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: Christine Lemmer-Webber <[email-masked]>
Date: Fri, 29 Dec 2023 11:07:20 -0500
Subject: [PATCH 1/2] gnu: openimageio: Update to 2.5.6.0.

For the sake of supporting the older version of openshadinglanguage
we have, we also introduce openimageio-2.2 which preserves the
older version

* gnu/packages/graphics.scm (openimageio): Update to 2.5.6.0.
(openimageio-2.2): New variable, inherits from openimageio
and provides old version of 2.2.21.0.
(openshadinglanguage): Switch input to using openimageio-2.2.

Change-Id: I6e9b9563a367f86d2159ac0079c69ce38207fd14
Signed-off-by: Christine Lemmer-Webber <[email-masked]>
---
 gnu/packages/graphics.scm | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 9bc81a3a81..edbdc74dc8 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2023 David Thompson <[email-masked]>
 ;;; Copyright © 2023 Eric Bavier <[email-masked]>
 ;;; Copyright © 2023 Artyom V. Poptsov <[email-masked]>
+;;; Copyright © 2023 Christine Lemmer-Webber <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -759,7 +760,7 @@ (define-public openshadinglanguage
      (list boost
            imath
            openexr-2
-           openimageio
+           openimageio-2.2
            pugixml
            qtbase-5
            zlib))
@@ -1313,16 +1314,16 @@ (define-public openexr-2
 (define-public openimageio
   (package
     (name "openimageio")
-    (version "2.2.21.0")
+    (version "2.5.6.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/OpenImageIO/oiio")
-                    (commit (string-append "Release-" version))))
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0aicxbshzv1g9d8d08vsj1a9klaycxaifvvp565qjv70wyma2vkr"))))
+                "14hxydp55cqp5v1kqjpqz7ifv4j9h92hgycqql8hi7n3s4vzjc6j"))))
     (build-system cmake-build-system)
     ;; FIXME: To run all tests successfully, test image sets from multiple
     ;; third party sources have to be present.  For details see
@@ -1354,6 +1355,23 @@ (define-public openimageio
 on formats and functionality used in professional, large-scale animation and
 visual effects work for film.")
     (home-page "https://www.openimageio.org")
+    (license license:asl2.0)))
+
+;; This is here to support our older version of openimageio.
+;; Once openimageio is upgraded, this can be removed.
+(define-public openimageio-2.2
+  (package
+    (inherit openimageio)
+    (version "2.2.21.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/OpenImageIO/oiio")
+                    (commit (string-append "Release-" version))))
+              (file-name (git-file-name "openimageio" version))
+              (sha256
+               (base32
+                "0aicxbshzv1g9d8d08vsj1a9klaycxaifvvp565qjv70wyma2vkr"))))
     (license license:bsd-3)))
 
 (define-public openscenegraph

base-commit: 4d8b93e865ba71d2baa606d11529c3ecb5f14aea
-- 
2.41.0