Skip to content

Commit a7c6b18

Browse files
committed
Imath 3.2.0 and rawtoaces 1.1-rc3
Also enable building Python bindings for OCIO Signed-off-by: Jean-Francois Panisset <[email protected]>
1 parent c0556b5 commit a7c6b18

File tree

21 files changed

+201
-27
lines changed

21 files changed

+201
-27
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ consumers of these new images.
3232
- python 3.11.13 (was 3.11.11)
3333
- Qt 6.5.6 (was 6.5.4)
3434
- OIIO 2.5.19.0 (was 2.5.18.0)
35-
- OpenFX 1.5s
35+
- OpenFX 1.5s (new)
3636
- PySide 6.5.6 (was 6.5.4)
37+
- rawtoaces 1.1-rc3 (new)
3738
- 2025.2
3839
- updated versions
3940
- Conan 2.18.1 (was 2.14.0)
@@ -55,6 +56,7 @@ consumers of these new images.
5556
- OSL 1.14.7.0 (was 1.14.5.1)
5657
- PySide 6.5.6 (was 6.5.4)
5758
- USD 25.05.01 (was 25.05)
59+
- rawtoaces 1.1-rc3 (new)
5860
- 2026.0 draft images
5961
- pre-release for testing purposes, does not yet include final versions of late releasing packages for VFX Platform 2026 (OOCIO, OpenEXR, OpenVDB, OpenSubDiv)
6062
- OpenEXR includes a pre-release of 3.4.x
@@ -64,9 +66,11 @@ consumers of these new images.
6466
- adds dependant Conan package cimg, spdlog
6567
- new [Conan package and build images for rawtoaces](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/273)
6668
- adds dependant Conan packages libraw, jasper, jsonformoderncpp, ceres-solver, eigen , aces_container
69+
- pre-release 1.1-rc3
6770
- Alembic now [built with hdf5 dependency](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/254)
6871
- OpenVDB now [built as a Conan package](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/231)
6972
- OpenImageIO builds with libraw support](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/264) and OpenJPEG/JPEG2000 support
73+
- OpenColorIO Python bindings now being built
7074
- system wrapper Conan packages
7175
- improved wrapper packages no longer declare include directories and libraries they don't include
7276
- query container OS for installed system package version instead of hard coding (pkgconfig / rpm)

ci-osl/README.md

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci-otio/README.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci-rawtoaces/README.md

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci-usd/README.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci-vfxall/README.md

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/conan/recipes/imath/conandata.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
# From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/imath/all/conandata.yml
66

77
sources:
8+
"3.2.0":
9+
url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.2.0.tar.gz"
10+
sha256: "f3c0c4210b5e6fe17d90cd7ebbe9638eea9fb458421d00eddb4d1a9d5ad47b36"
811
"3.1.12":
912
url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.12.tar.gz"
1013
sha256: "8a1bc258f3149b5729c2f4f8ffd337c0e57f09096e4ba9784329f40c4a9035da"
@@ -21,6 +24,9 @@ sources:
2124
url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.8.tar.gz"
2225
sha256: "a23a4e2160ca8ff68607a4e129e484edd1d0d13f707394d32af7aed659020803"
2326
patches:
27+
"3.2.0":
28+
- patch_file: "patches/3.2.0-clang-format.patch"
29+
patch_description: "Don't add heavyweight dependency on clang-format"
2430
"3.1.10":
2531
- patch_file: "patches/3.1.10-gcc5-backport.patch"
2632
patch_description: "Add std:: prefix for isfinite (Backport from main, two commits on the file fix the issue)"

packages/conan/recipes/imath/conanfile.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
from conan import ConanFile
88
from conan.tools.build import check_min_cppstd
99
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
10-
from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir
10+
from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir
1111
from conan.tools.microsoft import is_msvc
12+
from conan.tools.scm import Version
1213
import os
1314

1415
required_conan_version = ">=1.53.0"
@@ -69,14 +70,31 @@ def generate(self):
6970
# when msvc is working with a C++ standard level higher
7071
# than the default, we need the __cplusplus macro to be correct
7172
tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus"
72-
# ASWF: Build Python and Pybind11 bindings
73+
# ASWF: Build Python bindings, pybind11 not quire ready yet
7374
tc.variables["PYTHON"] = "ON"
74-
tc.variables["PYBIND11"] = "ON"
75+
tc.variables["PYBIND11"] = "OFF"
7576
tc.generate()
7677

7778
def build(self):
7879
apply_conandata_patches(self)
7980

81+
# ASWF: starting with version 3.2.0, src/python/CMakeLists.txt calls:
82+
# find_package(Boost REQUIRED COMPONENTS python)
83+
# but our buils of boost::python bake in the python version, so we have
84+
# to add the suffix based on the current Python version (can't be done
85+
# by a static patch in conandat.yml)
86+
if Version(self.version) >= "3.2.0":
87+
python_version = Version(self.dependencies["cpython"].ref.version)
88+
boost_component = f"python{python_version.major}{python_version.minor}" # 'python313'
89+
replace_in_file(self, os.path.join(self.source_folder, "src", "python", "CMakeLists.txt"),
90+
"find_package(Boost REQUIRED COMPONENTS python)",
91+
f"find_package(Boost REQUIRED COMPONENTS {boost_component})")
92+
dirs = [ "PyImath", "PyImathNumpy", "PyImathTest" ]
93+
for cmake_file in [os.path.join(self.source_folder, "src", "python", d, "CMakeLists.txt") for d in dirs]:
94+
replace_in_file(self, cmake_file,
95+
"Boost::python",
96+
f"Boost::{boost_component}")
97+
8098
cmake = CMake(self)
8199
cmake.configure()
82100
cmake.build()
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index bfec292..c8c2e7e 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -138,7 +138,7 @@
6+
# Including this module will add a `clang-format` target to the build
7+
# if the clang-format executable can be found. Only do this if we are
8+
# top level.
9+
-if(NOT IMATH_IS_SUBPROJECT)
10+
- include(cmake/clang-format.cmake)
11+
-endif()
12+
+#if(NOT IMATH_IS_SUBPROJECT)
13+
+# include(cmake/clang-format.cmake)
14+
+#endif()
15+

packages/conan/recipes/imath/test_package/conanfile.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ def layout(self):
2020

2121
def requirements(self):
2222
self.requires(self.tested_reference_str)
23+
# ASWF: this shouldn't be required but boost_python doesn't correctly encode its dependency on libpython
24+
self.requires(f"cpython/{os.environ['ASWF_CPYTHON_VERSION']}@{self.user}/{self.channel}", transitive_headers=True, transitive_libs=True)
2325

2426
def build(self):
2527
cmake = CMake(self)

0 commit comments

Comments
 (0)