diff options
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | OSL-01.13.7.patch | 357 | ||||
-rw-r--r-- | PKGBUILD | 54 | ||||
-rw-r--r-- | appleseed.cli_wrap | 4 | ||||
-rw-r--r-- | appleseed.studio_wrap | 4 | ||||
-rw-r--r-- | oiio_cxx_std_14.patch | 36 | ||||
-rw-r--r-- | opencolorio1.patch | 82 | ||||
-rw-r--r-- | openexr3.patch | 398 | ||||
-rw-r--r-- | openimageio.patch | 46 |
9 files changed, 993 insertions, 16 deletions
@@ -1,7 +1,7 @@ pkgbase = appleseed-git pkgdesc = Physically-based global illumination rendering engine primarily designed for animation and visual effects (development vesion). - pkgver = 2.1.0.beta.r275.g390d5cda9 - pkgrel = 1 + pkgver = 2.1.0.beta.r284.g1e60a023d + pkgrel = 7 epoch = 1 url = https://appleseedhq.net arch = i686 @@ -19,7 +19,7 @@ pkgbase = appleseed-git depends = boost-libs depends = boost-python2-libs depends = openexr - depends = opencolorio + depends = opencolorio1 depends = openimageio depends = openshadinglanguage depends = xerces-c @@ -30,14 +30,34 @@ pkgbase = appleseed-git source = boost_107400.patch source = cmake.extra.install.dirs.remove.patch source = osl_1.11.8.patch::https://github.com/appleseedhq/appleseed/pull/2900.patch + source = oiio_cxx_std_14.patch + source = openexr3.patch + source = opencolorio1.patch + source = openimageio.patch + source = OSL-01.13.7.patch + source = appleseed.studio_wrap + source = appleseed.cli_wrap sha256sums = SKIP sha256sums = 8e7d453ced2a58b162b6e8e2ace09916755b70821837b2c7502a3417f03a25a3 sha256sums = 87b987f006e45d11cc4dfec2bd37fd2b760fd2bdbf06f48e7d467cbca9b2b301 sha256sums = 0171eaa9ec499ecf74ac8878dbacfb28f81094e9a7bed46819314613e6ae7133 + sha256sums = 194902d8c32f23155dddd4205ce3744852e0b86fc22e74739ce5ab7bf97924a7 + sha256sums = b6ed6ca0034a2ec81ecf8f44e11dba7b3469130a3106fcca58318174003e2642 + sha256sums = 881b53983e24ade13480d2be2cfe10990890286cd9910c14e83284da427a1713 + sha256sums = e0c1730745e756a85d633ab1dd50c39b1f744b173b50ca38595d4ee9325b5670 + sha256sums = 2eebb1faff7c6b9d24cea79ba489d194d832b18e446ff88866180904467bdf1e + sha256sums = 8f6f7dfc816b10079692f27e717a80c05c7fe94ad6149a3d78859fefe808996f + sha256sums = 6f80a201373610facce02b0bd6764af2c1730d6f39932117767e3dcfa7b72804 b2sums = SKIP b2sums = 8461888dc541113700f377379b0e688bdbc6a5b79bfda4c1b061c2e3811a03c43583272862d6b084f092c6bb372c15b31d2a25849b9e2d89d1e3ed657f680846 b2sums = 85d278ea12672e44657fbfe8695744508db88cea54dbc93410632b05175c94a5e29e28dfb739ba88ec10a2449ff499484854ba177db03f5e41b24d2b8e6b9328 b2sums = cc21c08931d4e5060bbf9b8d2732e68eb28edc923e952db09665e2f63a0918e24f6d35f39a2ea2048a6b5ad67833df08bc9a5e1fea065e1df975ca5e40d414f0 + b2sums = e999b4aaf4efcb3671de7f197d9ab92fd90cee34aaf879d30f959c88cea55416b0715ce85ce0452203484e4b336aed453ecff9166e12b9da9170101a3118138c + b2sums = 9499c09e99fba96958861f1da7833728850c5581cf371a8f6994012288445d8fd24ec3cfe4f9e22a5860c930d91e710ffed9b33ba3cf2d8385ffa1cda4909528 + b2sums = 6a92e81297d3bdc8c8b77034d9dac1864dd59b106503b6c711fbdd04122ef8374b908054844ec2999ba6a845363afebf566b2769cf306843c8bc017453e54de1 + b2sums = 316300d0540c16c3bcaf1ea37ee470957c35ff995129dafc28249db4526f07a22b67058fd4abbc685691604716048fef039661ba06f5515fff858f7c16d2906e + b2sums = d2acec93ceb18fbe6b98a4901def16691e9d5c55daf84e1d3e427d4799b4cd4a22aaa1869b41dba19a8de0c0da3c68e4b71fc060e7b3c249e93d97553bda4d87 + b2sums = b87bd4812393340507c642470084764d770a593cb868538cb8580710dc4d1ae7708db6749a7034afcbd2b78af8498264299e1352df695b47b31277711ca66c87 + b2sums = 47a3ff0cee076be409111f860b93ac638999da5ed7e6cda1ca7dfdb3efa34d92b7720612855471939c742be69c5a6c413d1de022b6f6c764780c47b064aef93f pkgname = appleseed-git - diff --git a/OSL-01.13.7.patch b/OSL-01.13.7.patch new file mode 100644 index 000000000000..6ad8bb9d8282 --- /dev/null +++ b/OSL-01.13.7.patch @@ -0,0 +1,357 @@ +From 16d44f637e092e86d98eb968b1a0e9e213892f94 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sun, 3 Mar 2024 21:05:30 +0100 +Subject: [PATCH] OSL 01.13.7 + +--- + .../kernel/rendering/rendererservices.cpp | 108 +++++++++--------- + .../kernel/rendering/rendererservices.h | 42 +++---- + 2 files changed, 75 insertions(+), 75 deletions(-) + +diff --git a/src/appleseed/renderer/kernel/rendering/rendererservices.cpp b/src/appleseed/renderer/kernel/rendering/rendererservices.cpp +index fcb491ea8..acd56a896 100644 +--- a/src/appleseed/renderer/kernel/rendering/rendererservices.cpp ++++ b/src/appleseed/renderer/kernel/rendering/rendererservices.cpp +@@ -99,46 +99,46 @@ RendererServices::RendererServices( + , m_texture_store(nullptr) + { + // Set up attribute getters. +- m_global_attr_getters[OIIO::ustring("object:object_instance_id")] = &RendererServices::get_attr_object_instance_id; +- m_global_attr_getters[OIIO::ustring("object:object_instance_index")] = &RendererServices::get_attr_object_instance_index; +- m_global_attr_getters[OIIO::ustring("object:assembly_instance_id")] = &RendererServices::get_attr_assembly_instance_id; +- m_global_attr_getters[OIIO::ustring("object:assembly_name")] = &RendererServices::get_attr_assembly_name; +- m_global_attr_getters[OIIO::ustring("object:assembly_instance_name")] = &RendererServices::get_attr_assembly_instance_name; +- m_global_attr_getters[OIIO::ustring("object:object_instance_name")] = &RendererServices::get_attr_object_instance_name; +- m_global_attr_getters[OIIO::ustring("object:object_name")] = &RendererServices::get_attr_object_name; +- +- m_global_attr_getters[OIIO::ustring("camera:resolution")] = &RendererServices::get_attr_camera_resolution; +- m_global_attr_getters[OIIO::ustring("camera:projection")] = &RendererServices::get_attr_camera_projection; +- m_global_attr_getters[OIIO::ustring("camera:pixelaspect")] = &RendererServices::get_attr_camera_pixelaspect; +- m_global_attr_getters[OIIO::ustring("camera:screen_window")] = &RendererServices::get_attr_camera_screen_window; +- m_global_attr_getters[OIIO::ustring("camera:fov")] = &RendererServices::get_attr_camera_fov; +- m_global_attr_getters[OIIO::ustring("camera:clip")] = &RendererServices::get_attr_camera_clip; +- m_global_attr_getters[OIIO::ustring("camera:clip_near")] = &RendererServices::get_attr_camera_clip_near; +- m_global_attr_getters[OIIO::ustring("camera:clip_far")] = &RendererServices::get_attr_camera_clip_far; +- m_global_attr_getters[OIIO::ustring("camera:shutter")] = &RendererServices::get_attr_camera_shutter; +- m_global_attr_getters[OIIO::ustring("camera:shutter_open")] = &RendererServices::get_attr_camera_shutter_open; +- m_global_attr_getters[OIIO::ustring("camera:shutter_close")] = &RendererServices::get_attr_camera_shutter_close; +- +- m_global_attr_getters[OIIO::ustring("path:ray_depth")] = &RendererServices::get_attr_ray_depth; +- m_global_attr_getters[OIIO::ustring("path:ray_length")] = &RendererServices::get_attr_ray_length; +- m_global_attr_getters[OIIO::ustring("path:ray_ior")] = &RendererServices::get_attr_ray_ior; +- m_global_attr_getters[OIIO::ustring("path:ray_has_differentials")] = &RendererServices::get_attr_ray_has_differentials; +- +- m_global_attr_getters[OIIO::ustring("surface_shader:diffuse")] = &RendererServices::get_attr_surface_shader_diffuse; +- m_global_attr_getters[OIIO::ustring("surface_shader:glossy")] = &RendererServices::get_attr_surface_shader_glossy; +- m_global_attr_getters[OIIO::ustring("surface_shader:emission")] = &RendererServices::get_attr_surface_shader_emission; +- +- m_global_attr_getters[OIIO::ustring("appleseed:version_major")] = &RendererServices::get_attr_appleseed_version_major; +- m_global_attr_getters[OIIO::ustring("appleseed:version_minor")] = &RendererServices::get_attr_appleseed_version_minor; +- m_global_attr_getters[OIIO::ustring("appleseed:version_patch")] = &RendererServices::get_attr_appleseed_version_patch; +- m_global_attr_getters[OIIO::ustring("appleseed:version")] = &RendererServices::get_attr_appleseed_version; ++ m_global_attr_getters[OIIO::ustringhash("object:object_instance_id")] = &RendererServices::get_attr_object_instance_id; ++ m_global_attr_getters[OIIO::ustringhash("object:object_instance_index")] = &RendererServices::get_attr_object_instance_index; ++ m_global_attr_getters[OIIO::ustringhash("object:assembly_instance_id")] = &RendererServices::get_attr_assembly_instance_id; ++ m_global_attr_getters[OIIO::ustringhash("object:assembly_name")] = &RendererServices::get_attr_assembly_name; ++ m_global_attr_getters[OIIO::ustringhash("object:assembly_instance_name")] = &RendererServices::get_attr_assembly_instance_name; ++ m_global_attr_getters[OIIO::ustringhash("object:object_instance_name")] = &RendererServices::get_attr_object_instance_name; ++ m_global_attr_getters[OIIO::ustringhash("object:object_name")] = &RendererServices::get_attr_object_name; ++ ++ m_global_attr_getters[OIIO::ustringhash("camera:resolution")] = &RendererServices::get_attr_camera_resolution; ++ m_global_attr_getters[OIIO::ustringhash("camera:projection")] = &RendererServices::get_attr_camera_projection; ++ m_global_attr_getters[OIIO::ustringhash("camera:pixelaspect")] = &RendererServices::get_attr_camera_pixelaspect; ++ m_global_attr_getters[OIIO::ustringhash("camera:screen_window")] = &RendererServices::get_attr_camera_screen_window; ++ m_global_attr_getters[OIIO::ustringhash("camera:fov")] = &RendererServices::get_attr_camera_fov; ++ m_global_attr_getters[OIIO::ustringhash("camera:clip")] = &RendererServices::get_attr_camera_clip; ++ m_global_attr_getters[OIIO::ustringhash("camera:clip_near")] = &RendererServices::get_attr_camera_clip_near; ++ m_global_attr_getters[OIIO::ustringhash("camera:clip_far")] = &RendererServices::get_attr_camera_clip_far; ++ m_global_attr_getters[OIIO::ustringhash("camera:shutter")] = &RendererServices::get_attr_camera_shutter; ++ m_global_attr_getters[OIIO::ustringhash("camera:shutter_open")] = &RendererServices::get_attr_camera_shutter_open; ++ m_global_attr_getters[OIIO::ustringhash("camera:shutter_close")] = &RendererServices::get_attr_camera_shutter_close; ++ ++ m_global_attr_getters[OIIO::ustringhash("path:ray_depth")] = &RendererServices::get_attr_ray_depth; ++ m_global_attr_getters[OIIO::ustringhash("path:ray_length")] = &RendererServices::get_attr_ray_length; ++ m_global_attr_getters[OIIO::ustringhash("path:ray_ior")] = &RendererServices::get_attr_ray_ior; ++ m_global_attr_getters[OIIO::ustringhash("path:ray_has_differentials")] = &RendererServices::get_attr_ray_has_differentials; ++ ++ m_global_attr_getters[OIIO::ustringhash("surface_shader:diffuse")] = &RendererServices::get_attr_surface_shader_diffuse; ++ m_global_attr_getters[OIIO::ustringhash("surface_shader:glossy")] = &RendererServices::get_attr_surface_shader_glossy; ++ m_global_attr_getters[OIIO::ustringhash("surface_shader:emission")] = &RendererServices::get_attr_surface_shader_emission; ++ ++ m_global_attr_getters[OIIO::ustringhash("appleseed:version_major")] = &RendererServices::get_attr_appleseed_version_major; ++ m_global_attr_getters[OIIO::ustringhash("appleseed:version_minor")] = &RendererServices::get_attr_appleseed_version_minor; ++ m_global_attr_getters[OIIO::ustringhash("appleseed:version_patch")] = &RendererServices::get_attr_appleseed_version_patch; ++ m_global_attr_getters[OIIO::ustringhash("appleseed:version")] = &RendererServices::get_attr_appleseed_version; + + // Set up user data getters. +- m_global_user_data_getters[OIIO::ustring("Tn")] = &RendererServices::get_user_data_tn; +- m_global_user_data_getters[OIIO::ustring("Bn")] = &RendererServices::get_user_data_bn; +- m_global_user_data_getters[OIIO::ustring("dNdu")] = &RendererServices::get_user_data_dndu; +- m_global_user_data_getters[OIIO::ustring("dNdv")] = &RendererServices::get_user_data_dndv; +- m_global_user_data_getters[OIIO::ustring("vertex_color")] = &RendererServices::get_user_data_vertex_color; ++ m_global_user_data_getters[OIIO::ustringhash("Tn")] = &RendererServices::get_user_data_tn; ++ m_global_user_data_getters[OIIO::ustringhash("Bn")] = &RendererServices::get_user_data_bn; ++ m_global_user_data_getters[OIIO::ustringhash("dNdu")] = &RendererServices::get_user_data_dndu; ++ m_global_user_data_getters[OIIO::ustringhash("dNdv")] = &RendererServices::get_user_data_dndv; ++ m_global_user_data_getters[OIIO::ustringhash("vertex_color")] = &RendererServices::get_user_data_vertex_color; + } + + void RendererServices::initialize(TextureStore& texture_store) +@@ -240,7 +240,7 @@ bool RendererServices::get_inverse_matrix( + bool RendererServices::get_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OIIO::ustring from, ++ OIIO::ustringhash from, + float time) + { + if (from == g_camera_ustr) +@@ -258,7 +258,7 @@ bool RendererServices::get_matrix( + bool RendererServices::get_inverse_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OSL::ustring to, ++ OSL::ustringhash to, + float time) + { + if (to == g_camera_ustr) +@@ -280,7 +280,7 @@ bool RendererServices::get_inverse_matrix( + bool RendererServices::get_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OIIO::ustring from) ++ OIIO::ustringhash from) + { + if (from == g_camera_ustr) + { +@@ -299,7 +299,7 @@ bool RendererServices::get_matrix( + bool RendererServices::get_inverse_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OSL::ustring to) ++ OSL::ustringhash to) + { + if (to == g_camera_ustr) + { +@@ -340,8 +340,8 @@ namespace + + bool RendererServices::transform_points( + OSL::ShaderGlobals* sg, +- OSL::ustring from, +- OSL::ustring to, ++ OSL::ustringhash from, ++ OSL::ustringhash to, + float time, + const OSL::Vec3* Pin, + OSL::Vec3* Pout, +@@ -515,8 +515,8 @@ bool RendererServices::trace( + + bool RendererServices::getmessage( + OSL::ShaderGlobals* sg, +- OIIO::ustring source, +- OIIO::ustring name, ++ OIIO::ustringhash source, ++ OIIO::ustringhash name, + OIIO::TypeDesc type, + void* val, + bool derivatives) +@@ -559,9 +559,9 @@ bool RendererServices::getmessage( + bool RendererServices::get_attribute( + OSL::ShaderGlobals* sg, + bool derivatives, +- OIIO::ustring object, ++ OIIO::ustringhash object, + OIIO::TypeDesc type, +- OIIO::ustring name, ++ OIIO::ustringhash name, + void* val) + { + // We don't support getting attributes from named objects, yet. +@@ -586,9 +586,9 @@ bool RendererServices::get_attribute( + bool RendererServices::get_array_attribute( + OSL::ShaderGlobals* sg, + bool derivatives, +- OIIO::ustring object, ++ OIIO::ustringhash object, + OIIO::TypeDesc type, +- OIIO::ustring name, ++ OIIO::ustringhash name, + int index, + void* val) + { +@@ -597,7 +597,7 @@ bool RendererServices::get_array_attribute( + + bool RendererServices::get_userdata( + bool derivatives, +- OIIO::ustring name, ++ OIIO::ustringhash name, + OIIO::TypeDesc type, + OSL::ShaderGlobals* sg, + void* val) +@@ -616,9 +616,9 @@ bool RendererServices::get_userdata( + bool RendererServices::get_attr_##name( \ + OSL::ShaderGlobals* sg, \ + bool derivs, \ +- OIIO::ustring object, \ ++ OIIO::ustringhash object, \ + OIIO::TypeDesc type, \ +- OIIO::ustring name, \ ++ OIIO::ustringhash name, \ + void* val) const + + IMPLEMENT_ATTR_GETTER(object_instance_id) +@@ -1108,7 +1108,7 @@ IMPLEMENT_ATTR_GETTER(appleseed_version) + #define IMPLEMENT_USER_DATA_GETTER(name) \ + bool RendererServices::get_user_data_##name( \ + bool derivatives, \ +- OIIO::ustring name, \ ++ OIIO::ustringhash name, \ + OIIO::TypeDesc type, \ + OSL::ShaderGlobals* sg, \ + void* val) const +diff --git a/src/appleseed/renderer/kernel/rendering/rendererservices.h b/src/appleseed/renderer/kernel/rendering/rendererservices.h +index 2bde0746a..4710a7e0e 100644 +--- a/src/appleseed/renderer/kernel/rendering/rendererservices.h ++++ b/src/appleseed/renderer/kernel/rendering/rendererservices.h +@@ -123,7 +123,7 @@ class RendererServices + bool get_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OIIO::ustring from, ++ OIIO::ustringhash from, + float time) override; + + // Get the 4x4 matrix that transforms points from "common" space to +@@ -134,7 +134,7 @@ class RendererServices + bool get_inverse_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OSL::ustring to, ++ OSL::ustringhash to, + float time) override; + + // Get the 4x4 matrix that transforms 'from' to "common" space. +@@ -144,7 +144,7 @@ class RendererServices + bool get_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OIIO::ustring from) override; ++ OIIO::ustringhash from) override; + + // Get the 4x4 matrix that transforms points from "common" space to + // the named 'to' coordinate system. Since there is no time value +@@ -156,7 +156,7 @@ class RendererServices + bool get_inverse_matrix( + OSL::ShaderGlobals* sg, + OSL::Matrix44& result, +- OSL::ustring to) override; ++ OSL::ustringhash to) override; + + // Transform points Pin[0..npoints-1] in named coordinate system + // 'from' into 'to' coordinates, storing the result in Pout[] using +@@ -183,8 +183,8 @@ class RendererServices + // two spaces. + bool transform_points( + OSL::ShaderGlobals* sg, +- OSL::ustring from, +- OSL::ustring to, ++ OSL::ustringhash from, ++ OSL::ustringhash to, + float time, + const OSL::Vec3* Pin, + OSL::Vec3* Pout, +@@ -208,8 +208,8 @@ class RendererServices + // called for "sourced" messages, not ordinary intra-group messages. + bool getmessage( + OSL::ShaderGlobals* sg, +- OIIO::ustring source, +- OIIO::ustring name, ++ OIIO::ustringhash source, ++ OIIO::ustringhash name, + OIIO::TypeDesc type, + void* val, + bool derivatives) override; +@@ -229,9 +229,9 @@ class RendererServices + bool get_attribute( + OSL::ShaderGlobals* sg, + bool derivatives, +- OIIO::ustring object, ++ OIIO::ustringhash object, + OIIO::TypeDesc type, +- OIIO::ustring name, ++ OIIO::ustringhash name, + void* val) override; + + // Similar to get_attribute(); this method will return the 'index' +@@ -239,9 +239,9 @@ class RendererServices + bool get_array_attribute( + OSL::ShaderGlobals* sg, + bool derivatives, +- OIIO::ustring object, ++ OIIO::ustringhash object, + OIIO::TypeDesc type, +- OIIO::ustring name, ++ OIIO::ustringhash name, + int index, + void* val) override; + +@@ -250,7 +250,7 @@ class RendererServices + // as well. Return false if no user-data with the given name and type was found. + bool get_userdata( + bool derivatives, +- OIIO::ustring name, ++ OIIO::ustringhash name, + OIIO::TypeDesc type, + OSL::ShaderGlobals* sg, + void* val) override; +@@ -260,21 +260,21 @@ class RendererServices + typedef bool (RendererServices::*AttrGetterFun)( + OSL::ShaderGlobals* sg, + bool derivs, +- OIIO::ustring object, ++ OIIO::ustringhash object, + OIIO::TypeDesc type, +- OIIO::ustring name, ++ OIIO::ustringhash name, + void* val) const; + +- typedef std::unordered_map<OIIO::ustring, AttrGetterFun, OIIO::ustringHash> AttrGetterMapType; ++ typedef std::unordered_map<OIIO::ustringhash, AttrGetterFun> AttrGetterMapType; + + typedef bool (RendererServices::*UserDataGetterFun)( + bool derivatives, +- OIIO::ustring name, ++ OIIO::ustringhash name, + OIIO::TypeDesc type, + OSL::ShaderGlobals* sg, + void* val) const; + +- typedef std::unordered_map<OIIO::ustring, UserDataGetterFun, OIIO::ustringHash> UserDataGetterMapType; ++ typedef std::unordered_map<OIIO::ustringhash, UserDataGetterFun> UserDataGetterMapType; + + OIIO::TextureSystem& m_texture_sys; + AttrGetterMapType m_global_attr_getters; +@@ -291,9 +291,9 @@ class RendererServices + bool get_attr_##name( \ + OSL::ShaderGlobals* sg, \ + bool derivs, \ +- OIIO::ustring object, \ ++ OIIO::ustringhash object, \ + OIIO::TypeDesc type, \ +- OIIO::ustring name, \ ++ OIIO::ustringhash name, \ + void* val) const + + // Object attributes. +@@ -340,7 +340,7 @@ class RendererServices + #define DECLARE_USER_DATA_GETTER(name) \ + bool get_user_data_##name( \ + bool derivatives,\ +- OIIO::ustring name, \ ++ OIIO::ustringhash name, \ + OIIO::TypeDesc type, \ + OSL::ShaderGlobals* sg, \ + void* val) const +-- +2.44.0 + @@ -4,8 +4,8 @@ #_fragment="#branch=2.0.5-beta-maintenance" pkgname=appleseed-git -pkgver=2.1.0.beta.r275.g390d5cda9 -pkgrel=1 +pkgver=2.1.0.beta.r284.g1e60a023d +pkgrel=7 epoch=1 pkgdesc="Physically-based global illumination rendering engine primarily designed for animation and visual effects (development vesion)." arch=(i686 x86_64) @@ -13,34 +13,57 @@ url="https://appleseedhq.net" license=('MIT') provides=('appleseed') conflicts=('appleseed') -depends=(python2 python embree qt5-base boost{,-python2}-libs openexr opencolorio openimageio openshadinglanguage xerces-c zlib) +depends=(python2 python embree qt5-base boost{,-python2}-libs openexr opencolorio1 openimageio openshadinglanguage xerces-c zlib) makedepends=(boost{,-python2} cmake git ninja) options=() source=("${pkgname}::git+https://github.com/appleseedhq/appleseed.git${_fragment}" "boost_107400.patch" "cmake.extra.install.dirs.remove.patch" osl_1.11.8.patch::"https://github.com/appleseedhq/appleseed/pull/2900.patch" + "oiio_cxx_std_14.patch" + "openexr3.patch" + "opencolorio1.patch" + "openimageio.patch" + "OSL-01.13.7.patch" + "appleseed.studio_wrap" + "appleseed.cli_wrap" ) sha256sums=('SKIP' '8e7d453ced2a58b162b6e8e2ace09916755b70821837b2c7502a3417f03a25a3' '87b987f006e45d11cc4dfec2bd37fd2b760fd2bdbf06f48e7d467cbca9b2b301' - '0171eaa9ec499ecf74ac8878dbacfb28f81094e9a7bed46819314613e6ae7133') + '0171eaa9ec499ecf74ac8878dbacfb28f81094e9a7bed46819314613e6ae7133' + '194902d8c32f23155dddd4205ce3744852e0b86fc22e74739ce5ab7bf97924a7' + 'b6ed6ca0034a2ec81ecf8f44e11dba7b3469130a3106fcca58318174003e2642' + '881b53983e24ade13480d2be2cfe10990890286cd9910c14e83284da427a1713' + 'e0c1730745e756a85d633ab1dd50c39b1f744b173b50ca38595d4ee9325b5670' + '2eebb1faff7c6b9d24cea79ba489d194d832b18e446ff88866180904467bdf1e' + '8f6f7dfc816b10079692f27e717a80c05c7fe94ad6149a3d78859fefe808996f' + '6f80a201373610facce02b0bd6764af2c1730d6f39932117767e3dcfa7b72804') b2sums=('SKIP' '8461888dc541113700f377379b0e688bdbc6a5b79bfda4c1b061c2e3811a03c43583272862d6b084f092c6bb372c15b31d2a25849b9e2d89d1e3ed657f680846' '85d278ea12672e44657fbfe8695744508db88cea54dbc93410632b05175c94a5e29e28dfb739ba88ec10a2449ff499484854ba177db03f5e41b24d2b8e6b9328' - 'cc21c08931d4e5060bbf9b8d2732e68eb28edc923e952db09665e2f63a0918e24f6d35f39a2ea2048a6b5ad67833df08bc9a5e1fea065e1df975ca5e40d414f0') + 'cc21c08931d4e5060bbf9b8d2732e68eb28edc923e952db09665e2f63a0918e24f6d35f39a2ea2048a6b5ad67833df08bc9a5e1fea065e1df975ca5e40d414f0' + 'e999b4aaf4efcb3671de7f197d9ab92fd90cee34aaf879d30f959c88cea55416b0715ce85ce0452203484e4b336aed453ecff9166e12b9da9170101a3118138c' + '9499c09e99fba96958861f1da7833728850c5581cf371a8f6994012288445d8fd24ec3cfe4f9e22a5860c930d91e710ffed9b33ba3cf2d8385ffa1cda4909528' + '6a92e81297d3bdc8c8b77034d9dac1864dd59b106503b6c711fbdd04122ef8374b908054844ec2999ba6a845363afebf566b2769cf306843c8bc017453e54de1' + '316300d0540c16c3bcaf1ea37ee470957c35ff995129dafc28249db4526f07a22b67058fd4abbc685691604716048fef039661ba06f5515fff858f7c16d2906e' + 'd2acec93ceb18fbe6b98a4901def16691e9d5c55daf84e1d3e427d4799b4cd4a22aaa1869b41dba19a8de0c0da3c68e4b71fc060e7b3c249e93d97553bda4d87' + 'b87bd4812393340507c642470084764d770a593cb868538cb8580710dc4d1ae7708db6749a7034afcbd2b78af8498264299e1352df695b47b31277711ca66c87' + '47a3ff0cee076be409111f860b93ac638999da5ed7e6cda1ca7dfdb3efa34d92b7720612855471939c742be69c5a6c413d1de022b6f6c764780c47b064aef93f') + +_pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") +_pyver_short=$(python -c "from sys import version_info; print(\"%d%d\" % (version_info[0],version_info[1]))") pkgver() { git -C "${srcdir}/${pkgname}" describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' } prepare() { - git -C "${srcdir}/${pkgname}" apply -v "${srcdir}"/{boost_107400,cmake.extra.install.dirs.remove,osl_1.11.8}.patch - sed '/python37/s/37/39/' -i "${srcdir}/${pkgname}"/src/appleseed.python/CMakeLists.txt + git -C "${srcdir}/${pkgname}" apply -v "${srcdir}"/{boost_107400,cmake.extra.install.dirs.remove,osl_1.11.8,oiio_cxx_std_14,open{exr3,colorio1,imageio},OSL-01.13.7}.patch + sed '/python37/s/37/${_pyver_short}/' -i "${srcdir}/${pkgname}"/src/appleseed.python/CMakeLists.txt } build() { - _pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") CMAKE_FLAGS=( -DWITH_EMBREE=ON -DCMAKE_BUILD_TYPE=Ship -DCMAKE_INSTALL_PREFIX=/opt/appleseed @@ -53,13 +76,15 @@ CMAKE_FLAGS=( -DWITH_EMBREE=ON -DUSE_STATIC_OSL=OFF -DWARNINGS_AS_ERRORS=OFF -DWITH_BENCH=OFF + -DINSTALL_TESTS=OFF + -DINSTALL_API_EXAMPLES=OFF -DPYTHON3_INCLUDE_DIR="/usr/include/python${_pyver}" -Wno-dev ) - grep -q avx /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_AVX=ON) - grep -q avx2 /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_AVX2=ON) - grep -q f16c /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_F16C=ON) - grep -q sse4_2 /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_SSE42=ON) + grep -qw avx /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_AVX=ON) + grep -qw avx2 /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_AVX2=ON) + grep -qw f16c /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_F16C=ON) + grep -qw sse4_2 /proc/cpuinfo && CMAKE_FLAGS+=(-DUSE_SSE42=ON) cmake "${CMAKE_FLAGS[@]}" -S "${srcdir}/${pkgname}" -B build -G Ninja # shellcheck disable=SC2086 # allow MAKEFLAGS to carry multiple flags @@ -67,8 +92,13 @@ CMAKE_FLAGS=( -DWITH_EMBREE=ON } package() { + # Application DESTDIR="${pkgdir}" ninja -C build install install -D -m644 "${srcdir}/${pkgname}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + # Wrapper scripts + install -D -m755 appleseed.studio_wrap -T "${pkgdir}/usr/bin/appleseed.studio" + install -D -m755 appleseed.cli_wrap -T "${pkgdir}/usr/bin/appleseed.cli" } # vim:set ts=2 sw=2 et: diff --git a/appleseed.cli_wrap b/appleseed.cli_wrap new file mode 100644 index 000000000000..1b6a8d2cdcb9 --- /dev/null +++ b/appleseed.cli_wrap @@ -0,0 +1,4 @@ +#!/bin/sh +export PYTHONHOME=/usr/lib/python2.7 +export PYTHONPATH=/usr/lib/python2.7 +exec /opt/appleseed/bin/appleseed.cli "$@" diff --git a/appleseed.studio_wrap b/appleseed.studio_wrap new file mode 100644 index 000000000000..83024cb4780c --- /dev/null +++ b/appleseed.studio_wrap @@ -0,0 +1,4 @@ +#!/bin/sh +export PYTHONHOME=/usr/lib/python2.7 +export PYTHONPATH=/usr/lib/python2.7 +exec /opt/appleseed/bin/appleseed.studio "$@" diff --git a/oiio_cxx_std_14.patch b/oiio_cxx_std_14.patch new file mode 100644 index 000000000000..c0c9e7875aea --- /dev/null +++ b/oiio_cxx_std_14.patch @@ -0,0 +1,36 @@ +diff --git a/src/appleseed.qtcommon/CMakeLists.txt b/src/appleseed.qtcommon/CMakeLists.txt +index 5bed9b025..2be2ceebb 100644 +--- a/src/appleseed.qtcommon/CMakeLists.txt ++++ b/src/appleseed.qtcommon/CMakeLists.txt +@@ -192,6 +192,7 @@ add_library (appleseed.qtcommon STATIC + ) + + set_target_properties (appleseed.qtcommon PROPERTIES FOLDER "Core") ++set_target_properties (appleseed.qtcommon PROPERTIES CXX_STANDARD 14) + + + #-------------------------------------------------------------------------------------------------- +diff --git a/src/appleseed.studio/CMakeLists.txt b/src/appleseed.studio/CMakeLists.txt +index 0c191c815..9587c060c 100644 +--- a/src/appleseed.studio/CMakeLists.txt ++++ b/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
+diff --git a/src/appleseed/CMakeLists.txt b/src/appleseed/CMakeLists.txt +index d56d5ed18..20a18ff04 100644 +--- a/src/appleseed/CMakeLists.txt ++++ b/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/opencolorio1.patch b/opencolorio1.patch new file mode 100644 index 000000000000..96146f6f33de --- /dev/null +++ b/opencolorio1.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/modules/FindOpenColorIO.cmake b/cmake/modules/FindOpenColorIO.cmake +index b83972220..e40bf65aa 100644 +--- a/cmake/modules/FindOpenColorIO.cmake ++++ b/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 OpenColorIO1/OpenColorIO.h) + + # Look for the library. +-find_library (OPENCOLORIO_LIBRARY NAMES OpenColorIO) ++find_library (OPENCOLORIO_LIBRARY NAMES OpenColorIO1) + + # handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if all listed variables are TRUE + include (FindPackageHandleStandardArgs) +diff --git a/src/appleseed.bench/mainwindow/mainwindow.h b/src/appleseed.bench/mainwindow/mainwindow.h +index b7827d927..453b86f24 100644 +--- a/src/appleseed.bench/mainwindow/mainwindow.h ++++ b/src/appleseed.bench/mainwindow/mainwindow.h +@@ -57,7 +57,7 @@ + #include <QtGlobal> + + // OpenColorIO headers. +-#include <OpenColorIO/OpenColorIO.h> ++#include <OpenColorIO1/OpenColorIO.h> + namespace OCIO = OCIO_NAMESPACE; + + // Boost headers. +diff --git a/src/appleseed.qtcommon/widgets/renderwidget.h b/src/appleseed.qtcommon/widgets/renderwidget.h +index e4020b438..745df88d3 100644 +--- a/src/appleseed.qtcommon/widgets/renderwidget.h ++++ b/src/appleseed.qtcommon/widgets/renderwidget.h +@@ -38,7 +38,7 @@ + #include "foundation/math/vector.h" + + // OpenColorIO headers. +-#include <OpenColorIO/OpenColorIO.h> ++#include <OpenColorIO1/OpenColorIO.h> + namespace OCIO = OCIO_NAMESPACE; + + // Qt headers. +diff --git a/src/appleseed.studio/mainwindow/mainwindow.h b/src/appleseed.studio/mainwindow/mainwindow.h +index ba6b8c20c..ec2bbbd78 100644 +--- a/src/appleseed.studio/mainwindow/mainwindow.h ++++ b/src/appleseed.studio/mainwindow/mainwindow.h +@@ -51,7 +51,7 @@ + #include <QObject> + + // OpenColorIO headers. +-#include <OpenColorIO/OpenColorIO.h> ++#include <OpenColorIO1/OpenColorIO.h> + namespace OCIO = OCIO_NAMESPACE; + + // Standard headers. +diff --git a/src/appleseed.studio/mainwindow/rendering/rendertab.cpp b/src/appleseed.studio/mainwindow/rendering/rendertab.cpp +index 3cbb684bf..1a786aaff 100644 +--- a/src/appleseed.studio/mainwindow/rendering/rendertab.cpp ++++ b/src/appleseed.studio/mainwindow/rendering/rendertab.cpp +@@ -46,7 +46,7 @@ + #include "foundation/image/image.h" + + // OpenColorIO headers. +-#include <OpenColorIO/OpenColorIO.h> ++#include <OpenColorIO1/OpenColorIO.h> + + // Qt headers. + #include <QComboBox> +diff --git a/src/appleseed.studio/mainwindow/rendering/rendertab.h b/src/appleseed.studio/mainwindow/rendering/rendertab.h +index eeb76edaa..2de9e6a6a 100644 +--- a/src/appleseed.studio/mainwindow/rendering/rendertab.h ++++ b/src/appleseed.studio/mainwindow/rendering/rendertab.h +@@ -44,7 +44,7 @@ + #include "widgets/widgetzoomhandler.h" + + // OpenColorIO headers. +-#include <OpenColorIO/OpenColorIO.h> ++#include <OpenColorIO1/OpenColorIO.h> + namespace OCIO = OCIO_NAMESPACE; + + // Qt headers. diff --git a/openexr3.patch b/openexr3.patch new file mode 100644 index 000000000000..3cd09316c872 --- /dev/null +++ b/openexr3.patch @@ -0,0 +1,398 @@ +diff --git a/cmake/modules/FindOpenEXR.cmake b/cmake/modules/FindOpenEXR.cmake +index 287342e9d..a2f7b4c62 100644 +--- a/cmake/modules/FindOpenEXR.cmake ++++ b/cmake/modules/FindOpenEXR.cmake +@@ -1,93 +1,138 @@ +- +-# +-# This source file is part of appleseed. +-# Visit https://appleseedhq.net/ for additional information and resources. +-# +-# This software is released under the MIT license. +-# +-# Copyright (c) 2013-2018 Esteban Tovagliari, The appleseedhq Organization ++# - Find OpenEXR library ++# Find the native OpenEXR includes and library ++# This module defines ++# OPENEXR_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when ++# OPENEXR_INCLUDE_DIR is found. ++# OPENEXR_LIBRARIES, libraries to link against to use OpenEXR. ++# OPENEXR_ROOT_DIR, The base directory to search for OpenEXR. ++# This can also be an environment variable. ++# OPENEXR_FOUND, If false, do not try to use OpenEXR. + # +-# Permission is hereby granted, free of charge, to any person obtaining a copy +-# of this software and associated documentation files (the "Software"), to deal +-# in the Software without restriction, including without limitation the rights +-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-# copies of the Software, and to permit persons to whom the Software is +-# furnished to do so, subject to the following conditions: ++# For individual library access these advanced settings are available ++# OPENEXR_HALF_LIBRARY, Path to Half library ++# OPENEXR_IEX_LIBRARY, Path to Half library ++# OPENEXR_ILMIMF_LIBRARY, Path to Ilmimf library ++# OPENEXR_ILMTHREAD_LIBRARY, Path to IlmThread library ++# OPENEXR_IMATH_LIBRARY, Path to Imath library + # +-# The above copyright notice and this permission notice shall be included in +-# all copies or substantial portions of the Software. +-# +-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-# THE SOFTWARE. +-# +- ++# also defined, but not for general use are ++# OPENEXR_LIBRARY, where to find the OpenEXR library. + ++#============================================================================= ++# Copyright 2011 Blender Foundation. + # +-# Find OpenEXR headers and libraries. +-# +-# This module can take the following variables to define +-# custom search locations: +-# +-# OPENEXR_ROOT +-# OPENEXR_LOCATION ++# Distributed under the OSI-approved BSD 3-Clause License, ++# see accompanying file BSD-3-Clause-license.txt for details. ++#============================================================================= + +-# This module defines the following variables: +-# +-# OPENEXR_FOUND True if OpenEXR was found +-# OPENEXR_INCLUDE_DIRS Where to find OpenEXR header files +-# OPENEXR_LIBRARIES List of OpenEXR libraries to link against +-# ++# If OPENEXR_ROOT_DIR was defined in the environment, use it. ++IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "") ++ SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR}) ++ENDIF() + +-include (FindPackageHandleStandardArgs) ++# Old versions (before 2.0?) do not have any version string, just assuming this should be fine though. ++SET(_openexr_libs_ver_init "2.0") + +-find_path (OPENEXR_INCLUDE_DIR NAMES ImfHeader.h +- PATH_SUFFIXES OpenEXR +- HINTS ${OPENEXR_ROOT}/include +- ${OPENEXR_LOCATION}/include +- /usr/local/include +- /usr/include ++SET(_openexr_FIND_COMPONENTS ++ Iex ++ Imath ++ OpenEXR ++ IlmThread + ) + +-find_library (OPENEXR_IMF_LIBRARY NAMES IlmImf-2_3 IlmImf-2_2 IlmImf +- PATH_SUFFIXES lib64 lib +- HINTS ${OPENEXR_ROOT} +- ${OPENEXR_LOCATION} +- /usr/local +- /usr ++SET(_openexr_SEARCH_DIRS ++ ${OPENEXR_ROOT_DIR} ++ /opt/lib/openexr + ) + +-find_library (OPENEXR_THREADS_LIBRARY +- NAMES IlmThread-2_3 IlmThread-2_2 IlmThread +- PATH_SUFFIXES lib64 lib +- HINTS ${OPENEXR_ROOT} +- ${OPENEXR_LOCATION} +- /usr/local +- /usr ++FIND_PATH(OPENEXR_INCLUDE_DIR ++ NAMES ++ OpenEXR/ImfXdr.h ++ HINTS ++ ${_openexr_SEARCH_DIRS} ++ PATH_SUFFIXES ++ include + ) + +-# Handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND. +-find_package_handle_standard_args (OPENEXR DEFAULT_MSG +- OPENEXR_INCLUDE_DIR +- OPENEXR_IMF_LIBRARY +- OPENEXR_THREADS_LIBRARY +-) ++# If the headers were found, get the version from config file, if not already set. ++IF(OPENEXR_INCLUDE_DIR) ++ IF(NOT OPENEXR_VERSION) ++ ++ FIND_FILE(_openexr_CONFIG ++ NAMES ++ OpenEXRConfig.h ++ PATHS ++ "${OPENEXR_INCLUDE_DIR}" ++ "${OPENEXR_INCLUDE_DIR}/OpenEXR" ++ NO_DEFAULT_PATH ++ ) + +-# Set the output variables. +-if (OPENEXR_FOUND) +- set (OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}) +- set (OPENEXR_LIBRARIES ${OPENEXR_IMF_LIBRARY} ${OPENEXR_THREADS_LIBRARY}) +-else () +- set (OPENEXR_INCLUDE_DIRS) +- set (OPENEXR_LIBRARIES) +-endif () +- +-mark_as_advanced ( +- OPENEXR_INCLUDE_DIR +- OPENEXR_IMF_LIBRARY +- OPENEXR_THREADS_LIBRARY ++ IF(_openexr_CONFIG) ++ FILE(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION ++ REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$") ++ ELSE() ++ MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${OPENEXR_INCLUDE_DIR}\"") ++ ENDIF() ++ ++ IF(OPENEXR_BUILD_SPECIFICATION) ++ MESSAGE(STATUS "${OPENEXR_BUILD_SPECIFICATION}") ++ STRING(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*" ++ "\\1" _openexr_libs_ver_init ${OPENEXR_BUILD_SPECIFICATION}) ++ ELSE() ++ MESSAGE(WARNING "Could not determine ILMBase library version, assuming ${_openexr_libs_ver_init}.") ++ ENDIF() ++ ++ UNSET(_openexr_CONFIG CACHE) ++ ++ ENDIF() ++ENDIF() ++ ++SET("OPENEXR_VERSION" ${_openexr_libs_ver_init} CACHE STRING "Version of OpenEXR lib") ++UNSET(_openexr_libs_ver_init) ++ ++STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION}) ++ ++SET(_openexr_LIBRARIES) ++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) ++ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) ++ ++ FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY ++ NAMES ++ ${COMPONENT}-${_openexr_libs_ver} ${COMPONENT} ++ NAMES_PER_DIR ++ HINTS ++ ${_openexr_SEARCH_DIRS} ++ PATH_SUFFIXES ++ lib64 lib ++ ) ++ LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}") ++ENDFOREACH() ++ ++UNSET(_openexr_libs_ver) ++ ++# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if ++# all listed variables are TRUE ++INCLUDE(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG ++ _openexr_LIBRARIES OPENEXR_INCLUDE_DIR) ++ ++IF(OPENEXR_FOUND) ++ SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) ++ # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :( ++ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath) ++ENDIF() ++ ++MARK_AS_ADVANCED( ++ OPENEXR_INCLUDE_DIR ++ OPENEXR_VERSION + ) ++FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) ++ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) ++ MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY) ++ENDFOREACH() ++ ++UNSET(COMPONENT) ++UNSET(UPPERCOMPONENT) ++UNSET(_openexr_FIND_COMPONENTS) ++UNSET(_openexr_LIBRARIES) ++UNSET(_openexr_SEARCH_DIRS) +diff --git a/src/appleseed/foundation/core/thirdparties.cpp b/src/appleseed/foundation/core/thirdparties.cpp +index 7196557bc..845cd205e 100644 +--- a/src/appleseed/foundation/core/thirdparties.cpp ++++ b/src/appleseed/foundation/core/thirdparties.cpp +@@ -42,7 +42,6 @@ + + // IlmBase headers. + #include "foundation/platform/_beginexrheaders.h" +-#include <OpenEXR/IlmBaseConfig.h> + #include "foundation/platform/_endexrheaders.h" + + // LZ4 headers. +@@ -121,7 +120,6 @@ LibraryVersionArray ThirdParties::get_versions() + versions.push_back(APIStringPair("OpenColorIO", OCIO_VERSION)); + #endif + +- versions.push_back(APIStringPair("IlmBase", ILMBASE_VERSION_STRING)); + versions.push_back(APIStringPair("libjpeg-turbo", LibJpegTurboVersion)); + versions.push_back(APIStringPair("LibTIFF", LibTIFFVersion)); + versions.push_back(APIStringPair("LZ4", format("{0}.{1}.{2}", LZ4_VERSION_MAJOR, LZ4_VERSION_MINOR, LZ4_VERSION_RELEASE))); +diff --git a/src/appleseed/foundation/image/color.h b/src/appleseed/foundation/image/color.h +index 6b97efcd8..3f288b032 100644 +--- a/src/appleseed/foundation/image/color.h ++++ b/src/appleseed/foundation/image/color.h +@@ -40,7 +40,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathColor.h" ++#include "Imath/ImathColor.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/math/aabb.h b/src/appleseed/foundation/math/aabb.h +index 7d0de2e47..b3dcf65d8 100644 +--- a/src/appleseed/foundation/math/aabb.h ++++ b/src/appleseed/foundation/math/aabb.h +@@ -37,7 +37,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathBox.h" ++#include "Imath/ImathBox.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/math/matrix.h b/src/appleseed/foundation/math/matrix.h +index f8b9f8f23..80441e320 100644 +--- a/src/appleseed/foundation/math/matrix.h ++++ b/src/appleseed/foundation/math/matrix.h +@@ -44,7 +44,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathMatrix.h" ++#include "Imath/ImathMatrix.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/math/quaternion.h b/src/appleseed/foundation/math/quaternion.h +index a73f99327..8e9899c46 100644 +--- a/src/appleseed/foundation/math/quaternion.h ++++ b/src/appleseed/foundation/math/quaternion.h +@@ -37,7 +37,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathQuat.h" ++#include "Imath/ImathQuat.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/math/vector.h b/src/appleseed/foundation/math/vector.h +index 8eca71fcf..f67de5e49 100644 +--- a/src/appleseed/foundation/math/vector.h ++++ b/src/appleseed/foundation/math/vector.h +@@ -36,7 +36,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathVec.h" ++#include "Imath/ImathVec.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/meta/tests/test_aabb.cpp b/src/appleseed/foundation/meta/tests/test_aabb.cpp +index 54547752e..3ece33e18 100644 +--- a/src/appleseed/foundation/meta/tests/test_aabb.cpp ++++ b/src/appleseed/foundation/meta/tests/test_aabb.cpp +@@ -36,7 +36,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathBox.h" ++#include "Imath/ImathBox.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/meta/tests/test_color.cpp b/src/appleseed/foundation/meta/tests/test_color.cpp +index d47fdfcdf..23ff5bff6 100644 +--- a/src/appleseed/foundation/meta/tests/test_color.cpp ++++ b/src/appleseed/foundation/meta/tests/test_color.cpp +@@ -36,7 +36,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathColor.h" ++#include "Imath/ImathColor.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/meta/tests/test_half.cpp b/src/appleseed/foundation/meta/tests/test_half.cpp +index 523dfd97b..418819cf9 100644 +--- a/src/appleseed/foundation/meta/tests/test_half.cpp ++++ b/src/appleseed/foundation/meta/tests/test_half.cpp +@@ -33,7 +33,7 @@ + + // OpenEXR headers. + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/half.h" ++#include "Imath/half.h" + #include "foundation/platform/_endexrheaders.h" + + // Standard headers. +diff --git a/src/appleseed/foundation/meta/tests/test_matrix.cpp b/src/appleseed/foundation/meta/tests/test_matrix.cpp +index 72afb2a54..46f429712 100644 +--- a/src/appleseed/foundation/meta/tests/test_matrix.cpp ++++ b/src/appleseed/foundation/meta/tests/test_matrix.cpp +@@ -38,7 +38,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathMatrix.h" ++#include "Imath/ImathMatrix.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/meta/tests/test_quaternion.cpp b/src/appleseed/foundation/meta/tests/test_quaternion.cpp +index 7ea991f8f..cf42002bf 100644 +--- a/src/appleseed/foundation/meta/tests/test_quaternion.cpp ++++ b/src/appleseed/foundation/meta/tests/test_quaternion.cpp +@@ -38,8 +38,8 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathQuat.h" +-#include "OpenEXR/ImathVec.h" ++#include "Imath/ImathQuat.h" ++#include "Imath/ImathVec.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/appleseed/foundation/meta/tests/test_vector.cpp b/src/appleseed/foundation/meta/tests/test_vector.cpp +index 3904f37fd..6bf0b25d1 100644 +--- a/src/appleseed/foundation/meta/tests/test_vector.cpp ++++ b/src/appleseed/foundation/meta/tests/test_vector.cpp +@@ -35,7 +35,7 @@ + // Imath headers. + #ifdef APPLESEED_ENABLE_IMATH_INTEROP + #include "foundation/platform/_beginexrheaders.h" +-#include "OpenEXR/ImathVec.h" ++#include "Imath/ImathVec.h" + #include "foundation/platform/_endexrheaders.h" + #endif + +diff --git a/src/thirdparty/bcd/bcd/ImageIO.cpp b/src/thirdparty/bcd/bcd/ImageIO.cpp +index afb350ca6..62721f39b 100644 +--- a/src/thirdparty/bcd/bcd/ImageIO.cpp ++++ b/src/thirdparty/bcd/bcd/ImageIO.cpp +@@ -13,6 +13,7 @@ + // BCD headers. + #include "DeepImage.h" + #include "ImageIO.h" ++#include "ImfHeader.h" + + // OpenEXR headers. + #if defined _MSC_VER diff --git a/openimageio.patch b/openimageio.patch new file mode 100644 index 000000000000..db61057d932f --- /dev/null +++ b/openimageio.patch @@ -0,0 +1,46 @@ +From f90de3f01f7872c754f815287b6eaebd8e4c7fa1 Mon Sep 17 00:00:00 2001 +From: howetuft <howetuft@gmail.com> +Date: Sun, 13 Mar 2022 19:52:17 +0100 +Subject: [PATCH] OpenImageIO v2.3 + +--- + cmake/modules/FindOpenImageIO.cmake | 3 ++- + .../kernel/rendering/final/texturecontrolledpixelrenderer.cpp | 1 + + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/FindOpenImageIO.cmake b/cmake/modules/FindOpenImageIO.cmake +index 64f6dc48d..0538b89b2 100644 +--- a/cmake/modules/FindOpenImageIO.cmake ++++ b/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 (OPENIMAGEIO_UTIL_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_MSG + # Set the output variables. + if (OPENIMAGEIO_FOUND) + set (OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) +- set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) ++ set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY}) + else () + set (OPENIMAGEIO_INCLUDE_DIRS) + set (OPENIMAGEIO_LIBRARIES) +diff --git a/src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp b/src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp +index f30fcc911..389b3d909 100644 +--- a/src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp ++++ b/src/appleseed/renderer/kernel/rendering/final/texturecontrolledpixelrenderer.cpp +@@ -61,6 +61,7 @@ + #include "foundation/platform/_beginoiioheaders.h" + #include "OpenImageIO/imagebufalgo.h" + #include "OpenImageIO/typedesc.h" ++#include "OpenImageIO/imagecache.h" + #include "foundation/platform/_endoiioheaders.h" + + // Standard headers. +-- +2.35.1 + |