git: ba86aef8c7c3 - main - graphics/appleseed: try to unbreak and undeprecate the port

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Wed, 29 Nov 2023 17:54:29 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ba86aef8c7c3439a736f9f021ddc342ae68d81bb

commit ba86aef8c7c3439a736f9f021ddc342ae68d81bb
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-11-29 17:52:02 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-11-29 17:52:02 +0000

    graphics/appleseed: try to unbreak and undeprecate the port
    
    Loosely based on the patches obtained from Arch/AUR package.
---
 graphics/appleseed/Makefile                        |  6 +-
 .../patch-cmake_modules_FindOpenImageIO.cmake      | 19 ++++++
 graphics/appleseed/files/patch-oiio-cxx-std-14     | 20 +++++++
 graphics/appleseed/files/patch-opencolorio1        | 70 ++++++++++++++++++++++
 ...dering_final_texturecontrolledpixelrenderer.cpp | 10 ++++
 ...seed_renderer_modeling_project_assethandler.cpp | 11 ++++
 6 files changed, 131 insertions(+), 5 deletions(-)

diff --git a/graphics/appleseed/Makefile b/graphics/appleseed/Makefile
index 107d9e93274f..3c8864ec92f1 100644
--- a/graphics/appleseed/Makefile
+++ b/graphics/appleseed/Makefile
@@ -15,7 +15,7 @@ LIB_DEPENDS=	libboost_thread.so:devel/boost-libs \
 		libpng.so:graphics/png \
 		libIlmThread.so:graphics/openexr \
 		libImath.so:math/Imath \
-		libOpenColorIO.so:graphics/opencolorio \
+		libOpenColorIOv1.so:graphics/opencoloriov1 \
 		libOpenImageIO.so:graphics/openimageio \
 		libxerces-c.so:textproc/xerces-c3 \
 		liboslexec.so:graphics/openshadinglanguage
@@ -23,10 +23,6 @@ LIB_DEPENDS=	libboost_thread.so:devel/boost-libs \
 USE_GITHUB=	yes
 GH_ACCOUNT=	${PORTNAME}hq
 
-BROKEN=		cannot build with recent Boost and OCIO libs
-DEPRECATED=	Fails to build and marked broken for several months
-EXPIRATION_DATE=2023-11-30
-
 ONLY_FOR_ARCHS=	i386 amd64
 ONLY_FOR_ARCHS_REASON=	not ported to it yet
 
diff --git a/graphics/appleseed/files/patch-cmake_modules_FindOpenImageIO.cmake b/graphics/appleseed/files/patch-cmake_modules_FindOpenImageIO.cmake
new file mode 100644
index 000000000000..d7d94dab7446
--- /dev/null
+++ b/graphics/appleseed/files/patch-cmake_modules_FindOpenImageIO.cmake
@@ -0,0 +1,19 @@
+--- cmake/modules/FindOpenImageIO.cmake.orig	2019-08-31 15:49:01 UTC
++++ cmake/modules/FindOpenImageIO.cmake
+@@ -42,6 +42,7 @@ include (FindPackageHandleStandardArgs)
+ find_path (OPENIMAGEIO_INCLUDE_DIR NAMES OpenImageIO/imageio.h)
+ 
+ find_library (OPENIMAGEIO_LIBRARY NAMES OpenImageIO)
++find_library (OPENIMAGEIOUTIL_LIBRARY NAMES OpenImageIO_Util)
+ 
+ find_program (OPENIMAGEIO_OIIOTOOL NAMES oiiotool)
+ find_program (OPENIMAGEIO_IDIFF NAMES idiff)
+@@ -57,7 +58,7 @@ find_package_handle_standard_args (OPENIMAGEIO DEFAULT
+ # Set the output variables.
+ if (OPENIMAGEIO_FOUND)
+     set (OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
+-    set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
++    set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIOUTIL_LIBRARY})
+ else ()
+     set (OPENIMAGEIO_INCLUDE_DIRS)
+     set (OPENIMAGEIO_LIBRARIES)
diff --git a/graphics/appleseed/files/patch-oiio-cxx-std-14 b/graphics/appleseed/files/patch-oiio-cxx-std-14
new file mode 100644
index 000000000000..e1459aef5764
--- /dev/null
+++ b/graphics/appleseed/files/patch-oiio-cxx-std-14
@@ -0,0 +1,20 @@
+--- src/appleseed.studio/CMakeLists.txt.orig
++++ src/appleseed.studio/CMakeLists.txt
+@@ -438,6 +438,7 @@ add_executable (appleseed.studio
+ )
+ 
+ set_target_properties (appleseed.studio PROPERTIES FOLDER "Applications")
++set_target_properties (appleseed.studio PROPERTIES CXX_STANDARD 14)
+ 
+ if (WIN32)
+     set_target_properties (appleseed.studio PROPERTIES
+--- src/appleseed/CMakeLists.txt.orig
++++ src/appleseed/CMakeLists.txt
+@@ -2340,6 +2340,7 @@ add_library (appleseed SHARED
+ )
+ 
+ set_target_properties (appleseed PROPERTIES FOLDER "Core")
++set_target_properties (appleseed PROPERTIES CXX_STANDARD 14)
+ 
+ if (USE_VISIBILITY_MAP)
+     set_target_properties (appleseed PROPERTIES
diff --git a/graphics/appleseed/files/patch-opencolorio1 b/graphics/appleseed/files/patch-opencolorio1
new file mode 100644
index 000000000000..9ec5f27baea5
--- /dev/null
+++ b/graphics/appleseed/files/patch-opencolorio1
@@ -0,0 +1,70 @@
+--- cmake/modules/FindOpenColorIO.cmake.orig
++++ cmake/modules/FindOpenColorIO.cmake
+@@ -35,10 +35,10 @@
+ #  OPENCOLORIO_FOUND        - True if OpenColorIO found.
+ 
+ # Look for the header file.
+-find_path (OPENCOLORIO_INCLUDE_DIR NAMES OpenColorIO/OpenColorIO.h)
++find_path (OPENCOLORIO_INCLUDE_DIR NAMES OpenColorIOv1/OpenColorIO.h)
+ 
+ # Look for the library.
+-find_library (OPENCOLORIO_LIBRARY NAMES OpenColorIO)
++find_library (OPENCOLORIO_LIBRARY NAMES OpenColorIOv1)
+ 
+ # handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if all listed variables are TRUE
+ include (FindPackageHandleStandardArgs)
+--- src/appleseed/foundation/core/thirdparties.cpp.orig
++++ src/appleseed/foundation/core/thirdparties.cpp
+@@ -49,7 +49,7 @@
+ #include <lz4.h>
+ 
+ // OpenColorIO headers.
+-#include <OpenColorIO/OpenColorABI.h>
++#include <OpenColorIOv1/OpenColorABI.h>
+ 
+ // OpenEXR headers.
+ #include "foundation/platform/_beginexrheaders.h"
+--- src/appleseed.studio/mainwindow/mainwindow.h.orig
++++ src/appleseed.studio/mainwindow/mainwindow.h
+@@ -49,7 +49,7 @@
+ #include <QObject>
+ 
+ // OpenColorIO headers.
+-#include <OpenColorIO/OpenColorIO.h>
++#include <OpenColorIOv1/OpenColorIO.h>
+ namespace OCIO = OCIO_NAMESPACE;
+ 
+ // Standard headers.
+--- src/appleseed.studio/mainwindow/rendering/rendertab.cpp.orig
++++ src/appleseed.studio/mainwindow/rendering/rendertab.cpp
+@@ -44,7 +44,7 @@
+ #include "foundation/image/image.h"
+ 
+ // OpenColorIO headers.
+-#include <OpenColorIO/OpenColorIO.h>
++#include <OpenColorIOv1/OpenColorIO.h>
+ 
+ // Qt headers.
+ #include <QComboBox>
+--- src/appleseed.studio/mainwindow/rendering/rendertab.h.orig
++++ src/appleseed.studio/mainwindow/rendering/rendertab.h
+@@ -42,7 +42,7 @@
+ #include "utility/widgetzoomhandler.h"
+ 
+ // OpenColorIO headers.
+-#include <OpenColorIO/OpenColorIO.h>
++#include <OpenColorIOv1/OpenColorIO.h>
+ namespace OCIO = OCIO_NAMESPACE;
+ 
+ // Qt headers.
+--- src/appleseed.studio/mainwindow/rendering/renderwidget.h.orig
++++ src/appleseed.studio/mainwindow/rendering/renderwidget.h
+@@ -38,7 +38,7 @@
+ #include "foundation/math/vector.h"
+ 
+ // OpenColorIO headers.
+-#include <OpenColorIO/OpenColorIO.h>
++#include <OpenColorIOv1/OpenColorIO.h>
+ namespace OCIO = OCIO_NAMESPACE;
+ 
+ // Qt headers.
diff --git a/graphics/appleseed/files/patch-src_appleseed_renderer_kernel_rendering_final_texturecontrolledpixelrenderer.cpp b/graphics/appleseed/files/patch-src_appleseed_renderer_kernel_rendering_final_texturecontrolledpixelrenderer.cpp
new file mode 100644
index 000000000000..5f36bf4e1e28
--- /dev/null
+++ b/graphics/appleseed/files/patch-src_appleseed_renderer_kernel_rendering_final_texturecontrolledpixelrenderer.cpp
@@ -0,0 +1,10 @@
+--- src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp.orig	2019-08-31 15:49:01 UTC
++++ src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp
+@@ -61,6 +61,7 @@
+ // OpenImageIO headers.
+ #include "foundation/platform/_beginoiioheaders.h"
+ #include "OpenImageIO/imagebufalgo.h"
++#include "OpenImageIO/imagecache.h"
+ #include "OpenImageIO/typedesc.h"
+ #include "foundation/platform/_endoiioheaders.h"
+ 
diff --git a/graphics/appleseed/files/patch-src_appleseed_renderer_modeling_project_assethandler.cpp b/graphics/appleseed/files/patch-src_appleseed_renderer_modeling_project_assethandler.cpp
new file mode 100644
index 000000000000..ea0fbaa9021a
--- /dev/null
+++ b/graphics/appleseed/files/patch-src_appleseed_renderer_modeling_project_assethandler.cpp
@@ -0,0 +1,11 @@
+--- src/appleseed/renderer/modeling/project/assethandler.cpp.orig	2019-08-31 15:49:01 UTC
++++ src/appleseed/renderer/modeling/project/assethandler.cpp
+@@ -80,7 +80,7 @@ namespace
+         try
+         {
+             create_directories(dest_path.parent_path());
+-            copy_file(source_path, dest_path, copy_option::overwrite_if_exists);
++            copy_file(source_path, dest_path, copy_options::overwrite_existing);
+             return true;
+         }
+         catch (const std::exception& e)     // namespace qualification required