From 837532e16cc929c33d755719a9faad3330dc7635 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 12 Jul 2026 17:19:02 -0700 Subject: [PATCH 1/4] Build ispc and openimagednoise from source - All releases - [ispc built from source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/426) - tight coupling with LLVM means more versions are required to line up with our supported LLVM versions - 2023 : 1.21.0 / LLVM 15 - 2024 : 1.24.0 / LLVM 17 - 2025 : 1.26.0 / LLVM 18 - 2026 : 1.31.0 / LLVM 20 - 2027 : 1.31.0 / LLVM 22 - [openimagedenoise build frmo source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/428) - disable compute_100 and compute_120 (aka Blackwell) CUDA support in 2.3.3 since in 2023/2024/2025 we have CUDA Toolkit 12.6.3 which is too old - 2023 : 2.3.3 - 2024 : 2.3.3 - 2025 : 2.5.0 - 2026 : 2.5.0 - 2027 : 2.5.0 - [better clang/llvm version propagation](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/437) - 4 separate packages require clang/llvm to build: - ispc - pyside - openvdb - osl - rather than piggybacking on ASWF_PYSIDE_CLANG_VERSION environment variable, each now has its own ASWF_XXXX_CLANG_MAJOR_VERSION which get injected into packages/conan/settings/profiles/vfx202X as `[conf]` configuration variables Assisted-By: Claude Sonnet 5 Signed-off-by: Jean-Francois Panisset --- CHANGELOG.md | 25 ++++ ci-base/Dockerfile | 6 - ci-baseos-gl-conan/Dockerfile | 6 - ci-baseqt/Dockerfile | 6 - ci-common/Dockerfile | 6 - ci-imath/Dockerfile | 6 - ci-materialx/Dockerfile | 6 - ci-moonray/Dockerfile | 6 - ci-ocio/Dockerfile | 6 - ci-oiio/Dockerfile | 6 - ci-opencue/Dockerfile | 6 - ci-openexr/Dockerfile | 6 - ci-openfx/Dockerfile | 6 - ci-openrv/Dockerfile | 6 - ci-openvdb/Dockerfile | 6 - ci-osl/Dockerfile | 6 - ci-otio/Dockerfile | 6 - ci-rawtoaces/Dockerfile | 6 - ci-usd/Dockerfile | 6 - ci-vfxall/Dockerfile | 6 - packages/conan/recipes/ispc/conandata.yml | 19 +-- packages/conan/recipes/ispc/conanfile.py | 105 +++++++++++++---- .../recipes/openimagedenoise/conandata.yml | 29 +++-- .../recipes/openimagedenoise/conanfile.py | 111 +++++++++--------- .../patches/2.3.3-cmake-bpath-cuda.diff | 81 +++++++++++++ .../patches/2.3.3-tbb-min-version.diff | 13 ++ .../patches/2.5.0-cmake-bpath-cuda.diff | 34 ++++++ packages/conan/recipes/openvdb/conanfile.py | 4 +- packages/conan/recipes/osl/conanfile.py | 6 +- packages/conan/recipes/pyside/conanfile.py | 2 +- packages/conan/settings/profiles/vfx2023 | 7 +- packages/conan/settings/profiles/vfx2024 | 11 +- packages/conan/settings/profiles/vfx2025 | 9 +- packages/conan/settings/profiles/vfx2026 | 11 +- packages/conan/settings/profiles/vfx2027 | 11 +- .../data/ci-image-dockerfile.jinja2 | 6 - .../aswfdocker/data/conan-profile-vfx.jinja2 | 5 + python/aswfdocker/data/versions.yaml | 46 +++++--- python/aswfdocker/dockergen.py | 13 +- 39 files changed, 413 insertions(+), 249 deletions(-) create mode 100644 packages/conan/recipes/openimagedenoise/patches/2.3.3-cmake-bpath-cuda.diff create mode 100644 packages/conan/recipes/openimagedenoise/patches/2.3.3-tbb-min-version.diff create mode 100644 packages/conan/recipes/openimagedenoise/patches/2.5.0-cmake-bpath-cuda.diff diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e64128f..32fe1a0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,31 @@ All notable changes to this project will be documented in this file. +# 2026-07-12 + +- All releases + - [ispc built from source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/426) + - tight coupling with LLVM means more versions are required to line up with our supported LLVM versions + - 2023 : 1.21.0 / LLVM 15 + - 2024 : 1.24.0 / LLVM 17 + - 2025 : 1.26.0 / LLVM 18 + - 2026 : 1.31.0 / LLVM 20 + - 2027 : 1.31.0 / LLVM 22 + - [openimagedenoise build frmo source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/428) + - disable compute_100 and compute_120 (aka Blackwell) CUDA support in 2.3.3 since in 2023/2024/2025 we have CUDA Toolkit 12.6.3 which is too old + - 2023 : 2.3.3 + - 2024 : 2.3.3 + - 2025 : 2.5.0 + - 2026 : 2.5.0 + - 2027 : 2.5.0 + - [better clang/llvm version propagation](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/437) + - 4 separate packages require clang/llvm to build: + - ispc + - pyside + - openvdb + - osl + - rather than piggybacking on ASWF_PYSIDE_CLANG_VERSION environment variable, each now has its own ASWF_XXXX_CLANG_MAJOR_VERSION which get injected into packages/conan/settings/profiles/vfx202X as `[conf]` configuration variables + # 2026-07-05 - All releases diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 992f269c..b25c3ab3 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -67,8 +65,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -170,8 +166,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-baseos-gl-conan/Dockerfile b/ci-baseos-gl-conan/Dockerfile index f3f36b40..99fc741b 100644 --- a/ci-baseos-gl-conan/Dockerfile +++ b/ci-baseos-gl-conan/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -40,8 +38,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -86,8 +82,6 @@ LABEL io.aswf.docker.versions.yq="$ASWF_YQ_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-baseqt/Dockerfile b/ci-baseqt/Dockerfile index af92b050..b73c2a35 100644 --- a/ci-baseqt/Dockerfile +++ b/ci-baseqt/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -72,8 +70,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -185,8 +181,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-common/Dockerfile b/ci-common/Dockerfile index fbbc5e95..178378f7 100644 --- a/ci-common/Dockerfile +++ b/ci-common/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -42,8 +40,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -92,8 +88,6 @@ LABEL io.aswf.docker.versions.yq="$ASWF_YQ_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-imath/Dockerfile b/ci-imath/Dockerfile index 6d257db1..99b4a569 100644 --- a/ci-imath/Dockerfile +++ b/ci-imath/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-materialx/Dockerfile b/ci-materialx/Dockerfile index 8c868c5f..6e28aa40 100644 --- a/ci-materialx/Dockerfile +++ b/ci-materialx/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-moonray/Dockerfile b/ci-moonray/Dockerfile index 31df2764..c18fbaaf 100644 --- a/ci-moonray/Dockerfile +++ b/ci-moonray/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -31,8 +29,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -63,8 +59,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-ocio/Dockerfile b/ci-ocio/Dockerfile index 6eac86c3..bc5f5fb3 100644 --- a/ci-ocio/Dockerfile +++ b/ci-ocio/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -34,8 +32,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -72,8 +68,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-oiio/Dockerfile b/ci-oiio/Dockerfile index dbb3e74b..d81ef23d 100644 --- a/ci-oiio/Dockerfile +++ b/ci-oiio/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -36,8 +34,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -78,8 +74,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-opencue/Dockerfile b/ci-opencue/Dockerfile index 0361561a..6c7f0248 100644 --- a/ci-opencue/Dockerfile +++ b/ci-opencue/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-openexr/Dockerfile b/ci-openexr/Dockerfile index aaad2a37..100beb81 100644 --- a/ci-openexr/Dockerfile +++ b/ci-openexr/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-openfx/Dockerfile b/ci-openfx/Dockerfile index 1e35cbd5..f596ceab 100644 --- a/ci-openfx/Dockerfile +++ b/ci-openfx/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-openrv/Dockerfile b/ci-openrv/Dockerfile index 39707557..fd799c58 100644 --- a/ci-openrv/Dockerfile +++ b/ci-openrv/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -34,8 +32,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -72,8 +68,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-openvdb/Dockerfile b/ci-openvdb/Dockerfile index 010cfbfc..52a3f630 100644 --- a/ci-openvdb/Dockerfile +++ b/ci-openvdb/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -33,8 +31,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -69,8 +65,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 471a9e41..199fc4d3 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -34,8 +32,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -72,8 +68,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-otio/Dockerfile b/ci-otio/Dockerfile index 2dca2a04..9498d47a 100644 --- a/ci-otio/Dockerfile +++ b/ci-otio/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-rawtoaces/Dockerfile b/ci-rawtoaces/Dockerfile index 1b7dee1e..338446db 100644 --- a/ci-rawtoaces/Dockerfile +++ b/ci-rawtoaces/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-usd/Dockerfile b/ci-usd/Dockerfile index 7e28437b..d2b1252f 100644 --- a/ci-usd/Dockerfile +++ b/ci-usd/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -32,8 +30,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -66,8 +62,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 75b34107..164b0965 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -52,8 +50,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -125,8 +121,6 @@ LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION" ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/packages/conan/recipes/ispc/conandata.yml b/packages/conan/recipes/ispc/conandata.yml index 441d8737..4d40873e 100644 --- a/packages/conan/recipes/ispc/conandata.yml +++ b/packages/conan/recipes/ispc/conandata.yml @@ -1,11 +1,16 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT sources: + "1.31.0": + url: "https://github.com/ispc/ispc/archive/refs/tags/v1.31.0.tar.gz" + sha256: "671c79bdff2d97aead3897da1a6b67a163af8c4e329350d07cf3e63d592955ff" + "1.26.0": + url: "https://github.com/ispc/ispc/archive/refs/tags/v1.26.0.tar.gz" + sha256: "f75b26894af1429a3dc6929ae03e2c9e99bb8c5930eda14add5d2f6674db7afb" + "1.24.0": + url: "https://github.com/ispc/ispc/archive/refs/tags/v1.24.0.tar.gz" + sha256: "a45ec5402d8a3b23d752125a083fa031becf093b8304ccec55b1c2f37b5479c3" "1.21.0": - x86_64: - url: "https://github.com/ispc/ispc/releases/download/v1.21.0/ispc-v1.21.0-linux.tar.gz" - sha256: "fe658893799af46c9cac0153f0bdc9a2ff93541fff9b17cf6b09ffc7576cfdcc" - armv8: - url: "https://github.com/ispc/ispc/releases/download/v1.21.0/ispc-v1.21.0-linux.aarch64.tar.gz" - sha256: "63002ab88c5e290d69bd9700fba0dcffbb7b95f0c8dfda0a15f1ba157ca6326b" + url: "https://github.com/ispc/ispc/archive/refs/tags/v1.21.0.tar.gz" + sha256: "ac0941ce4a0aae76901133c0d65975a17632734534668ce2871aacb0d99a036c" diff --git a/packages/conan/recipes/ispc/conanfile.py b/packages/conan/recipes/ispc/conanfile.py index e6a27209..22c2f3d1 100644 --- a/packages/conan/recipes/ispc/conanfile.py +++ b/packages/conan/recipes/ispc/conanfile.py @@ -1,12 +1,12 @@ -# Copyright (c) Contributors to the conan-center-index Project. All rights reserved. # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT import os from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import copy, get from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get required_conan_version = ">=2.1" @@ -28,41 +28,100 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.os not in ["Linux", "Macos", "Windows"]: - raise ConanInvalidConfiguration(f"{self.ref} is not available for {self.settings.os}") - if self.settings.os == "Linux" and self.settings.arch not in ["x86_64", "armv8"]: + if self.settings.os != "Linux": + raise ConanInvalidConfiguration( + f"{self.ref} build-from-source is currently Linux-only") + if self.settings.arch not in ("x86_64", "armv8"): raise ConanInvalidConfiguration( - f"{self.ref} Linux binary is only available for x86_64 and armv8") + f"{self.ref} is only available for x86_64 and armv8") + + def requirements(self): + clang_ref = self.conf.get("user.aswf:ispc_clang_ref", check_type=str) + # Host dep: LLVM headers and shared libraries linked into the ispc binary. + self.requires(clang_ref, headers=True, libs=True) + self.requires("onetbb/2023.0.0") + + def build_requirements(self): + clang_ref = self.conf.get("user.aswf:ispc_clang_ref", check_type=str) + # Tool dep: llvm-config, clang, clang++ … on PATH during cmake configure/build. + self.tool_requires(clang_ref) + self.tool_requires("cmake/[>=3.20 <4]") + self.tool_requires("ninja/[>=1.0.0]") + self.tool_requires("cpython/[>=3.9 <4]") def source(self): - # source() cannot use self.settings in Conan 2.x — download in build() - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def _ensure_gnu_stubs_32(self): + if os.path.exists("/usr/include/gnu/stubs-32.h"): + return + # ISPC's 32-bit builtin generation compiles builtins-c-cpu.cpp with + # -m32 --target=i686-unknown-linux-gnu even when only targeting x86_64. + # glibc's stubs.h conditionally includes stubs-32.h which is only + # provided by glibc-devel.i686. Rather than installing the full 32-bit + # RPM (which drags in 32-bit runtime), download it and extract only the + # two header files we need. + self.run("dnf download --downloaddir=/tmp/ispc-rpms glibc-devel.i686") + self.run( + "rpm2cpio /tmp/ispc-rpms/glibc-devel-*.i686.rpm | " + "cpio -id ./usr/include/gnu/stubs-32.h ./usr/include/gnu/lib-names-32.h", + cwd="/" + ) + + def generate(self): + self._ensure_gnu_stubs_32() + # Build env: puts llvm-config, clang, etc. from tool_requires on PATH. + VirtualBuildEnv(self).generate() + # Run env (scope="build"): LLVM DSOs on LD_LIBRARY_PATH so cmake sub- + # processes that invoke clang/llvm-config can find the shared libraries. + VirtualRunEnv(self).generate(scope="build") + + tc = CMakeToolchain(self, generator="Ninja") + # Always link against LLVM DSOs — the clang recipe builds shared LLVM only. + tc.variables["ISPC_STATIC_LINK"] = False + tc.variables["ISPC_NO_DUMPS"] = True + tc.variables["ISPC_INCLUDE_EXAMPLES"] = False + tc.variables["ISPC_INCLUDE_TESTS"] = False + tc.variables["ISPC_INCLUDE_BENCHMARKS"] = False + # Enable only the LLVM backend that matches the build architecture; + # the clang package is built with the host target only (no cross-targets). + tc.variables["X86_ENABLED"] = self.settings.arch == "x86_64" + tc.variables["ARM_ENABLED"] = self.settings.arch == "armv8" + # Bake the Conan-cache LLVM lib dir into RPATH so the ispc binary + # finds LLVM DSOs both in the cache and after patchelf relocation. + tc.variables["CMAKE_INSTALL_RPATH_USE_LINK_PATH"] = True + tc.variables["CMAKE_BUILD_WITH_INSTALL_RPATH"] = True + tc.generate() + CMakeDeps(self).generate() def build(self): - arch = str(self.settings.arch) - get(self, **self.conan_data["sources"][self.version][arch], - strip_root=True, destination=self.build_folder) + cmake = CMake(self) + # VirtualRunEnv ensures LLVM DSOs are on LD_LIBRARY_PATH for cmake + # configure child processes (llvm-config, clang invocations in cmake). + with VirtualRunEnv(self).vars().apply(): + cmake.configure() + cmake.build() def package(self): copy(self, "LICENSE.txt", - src=self.build_folder, + src=self.source_folder, dst=os.path.join(self.package_folder, "licenses", self.name)) - copy(self, "ispc", - src=os.path.join(self.build_folder, "bin"), - dst=os.path.join(self.package_folder, "bin")) - copy(self, "*", - src=os.path.join(self.build_folder, "include"), - dst=os.path.join(self.package_folder, "include")) + cmake = CMake(self) + cmake.install() def package_id(self): - # Binary-only: package id is OS + arch only (no compiler settings) - pass + # ispc is a standalone application; the C++ compiler used to build it + # does not affect the package's identity from a consumer's perspective. + del self.info.settings.compiler def package_info(self): - self.cpp_info.bindirs = ["bin"] - self.cpp_info.libdirs = [] self.cpp_info.includedirs = ["include"] - # Expose the ispc executable path for downstream CMake consumers + self.cpp_info.libdirs = [] + self.cpp_info.bindirs = ["bin"] + self.cpp_info.set_property("cmake_find_mode", "none") ispc_bin = os.path.join(self.package_folder, "bin", "ispc") + # Downstream CMake consumers can locate the ispc compiler via conf. self.conf_info.define("user.ispc:compiler", ispc_bin) + # Expose ispc on PATH for consumers' build environments. self.buildenv_info.define_path("ISPC", ispc_bin) + self.runenv_info.prepend_path("PATH", os.path.join(self.package_folder, "bin")) diff --git a/packages/conan/recipes/openimagedenoise/conandata.yml b/packages/conan/recipes/openimagedenoise/conandata.yml index 09178c66..17e9e823 100644 --- a/packages/conan/recipes/openimagedenoise/conandata.yml +++ b/packages/conan/recipes/openimagedenoise/conandata.yml @@ -1,12 +1,27 @@ +# Copyright (c) Contributors to the conan-center-index Project. All rights reserved. # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: Apache-2.0 sources: + "2.5.0": + url: "https://github.com/RenderKit/oidn/releases/download/v2.5.0/oidn-2.5.0.src.tar.gz" + sha256: "96c3a46122759803d5f6701ffba4bef6eac0981dced5279e66f2815e3ed3c2cc" "2.3.3": - x86_64: - url: "https://github.com/OpenImageDenoise/oidn/releases/download/v2.3.3/oidn-2.3.3.x86_64.linux.tar.gz" - sha256: "3c385230d9e6f63527ba72f2229594dbac5051674219d72e0044b5d0b841796f" - "1.2.4": - x86_64: - url: "https://github.com/OpenImageDenoise/oidn/releases/download/v1.2.4/oidn-1.2.4.x86_64.linux.tar.gz" - sha256: "49fcec0f82cd2874f374e878262c41a52635325d7f100b4f70487686d7a01104" \ No newline at end of file + url: "https://github.com/RenderKit/oidn/releases/download/v2.3.3/oidn-2.3.3.src.tar.gz" + sha256: "ccf221535b4007607fb53d3ff5afa74de25413bb8ef5d03d215f46c7cc2f96cf" + "2.3.2": + url: "https://github.com/RenderKit/oidn/releases/download/v2.3.2/oidn-2.3.2.src.tar.gz" + sha256: "0ca50e621294e8be238bee2d814fb0391e252e3f3c93fdd4bc253a60e0d00c68" + +patches: + "2.5.0": + - patch_file: "patches/2.5.0-cmake-bpath-cuda.diff" + patch_description: "Fix issue with binary weight destination directory and cuda install" + patch_type: "conan" + "2.3.3": + - patch_file: "patches/2.3.3-cmake-bpath-cuda.diff" + patch_description: "Fix issue with binary weight destination directory and cuda install" + patch_type: "conan" + - patch_file: "patches/2.3.3-tbb-min-version.diff" + patch_description: "Raise OIDN_TBB_MIN_VERSION to 2020.0 so CMake's find_package(TBB) CONFIG lookup accepts onetbb 2020.x; Conan's default SameMajorVersion compatibility check otherwise always rejects the 2017.0 floor against onetbb's year-as-major legacy versioning" + patch_type: "conan" diff --git a/packages/conan/recipes/openimagedenoise/conanfile.py b/packages/conan/recipes/openimagedenoise/conanfile.py index dadf9929..205689e3 100644 --- a/packages/conan/recipes/openimagedenoise/conanfile.py +++ b/packages/conan/recipes/openimagedenoise/conanfile.py @@ -5,79 +5,82 @@ import os from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv required_conan_version = ">=2.1" - class OpenImageDenoiseConan(ConanFile): name = "openimagedenoise" - description = ( - "Intel® Open Image Denoise is an open source library of high-performance, " - "high-quality denoising filters for images rendered with ray tracing." - ) - license = "Apache-2.0" - url = "https://www.openimagedenoise.org/" - homepage = "https://www.openimagedenoise.org/" - topics = ("denoising", "rendering", "deep-learning", "intel") package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_cuda": [True, False], + "with_sycl": [True, False], + "with_hip": [True, False], + } + default_options = { + "shared": True, + "fPIC": True, + "with_cuda": True, # ASWF: CI containers have CUDA system install + "with_sycl": False, + "with_hip": False, + } + implements = ["auto_shared_fpic"] - def layout(self): - cmake_layout(self, src_folder="src") - - def requirements(self): - self.requires("onetbb/2023.0.0") + def export_sources(self): + export_conandata_patches(self) def validate(self): if self.settings.os != "Linux": - raise ConanInvalidConfiguration( - f"{self.ref} prebuilt binary is only available for Linux") + raise ConanInvalidConfiguration("Linux only") if self.settings.arch != "x86_64": - raise ConanInvalidConfiguration( - f"{self.ref} prebuilt binary is only available for x86_64") + raise ConanInvalidConfiguration("x86_64 only") + + def requirements(self): + self.requires("onetbb/2023.0.0") # version redirected by profile per year + + def build_requirements(self): + clang_ref = self.conf.get("user.aswf:openimagedenoise_clang_ref", check_type=str) + # Tool dep: llvm-config, clang, clang++ … on PATH during cmake configure/build. + self.tool_requires(clang_ref) + # ispc compiles CPU SIMD kernels; version redirected by profile's + # [replace_tool_requires] (e.g. ispc/1.24.0 for vfx2024). + self.tool_requires("ispc/1.21.0") + self.tool_requires("cmake/[>=3.15 <4]") + self.tool_requires("ninja/[>=1.0.0]") def source(self): - pass # download in build() — self.settings not available in source() + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() # puts ispc on PATH for cmake find_program() + tc = CMakeToolchain(self, generator="Ninja") + tc.variables["OIDN_APPS"] = False + tc.variables["OIDN_INSTALL_DEPENDENCIES"] = False + tc.variables["OIDN_DEVICE_CPU"] = True + tc.variables["OIDN_DEVICE_CUDA"] = self.options.with_cuda + tc.variables["OIDN_DEVICE_SYCL"] = self.options.with_sycl + tc.variables["OIDN_DEVICE_HIP"] = self.options.with_hip + tc.generate() + CMakeDeps(self).generate() def build(self): - arch = str(self.settings.arch) - # tarball has a top-level dir: oidn-.x86_64.linux/ - get(self, **self.conan_data["sources"][self.version][arch], - destination=self.build_folder, strip_root=True) + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - copy(self, "LICENSE.txt", - src=os.path.join(self.build_folder, "doc"), + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses", self.name)) - # Headers - copy(self, "*", - src=os.path.join(self.build_folder, "include"), - dst=os.path.join(self.package_folder, "include")) - # All OIDN shared libs; deliberately exclude the bundled TBB - # (libtbb.so.12) that OIDN ships alongside itself — copying it - # to /usr/local would overwrite the base-image TBB 2020.3 symlink - # and break packages that rely on tbb::internal::* symbols. - copy(self, "libOpenImageDenoise*", - src=os.path.join(self.build_folder, "lib"), - dst=os.path.join(self.package_folder, "lib")) - # Remove the rpath from the DSOs as it prevents finding our libtbb - import glob - for lib in glob.glob(os.path.join(self.package_folder, "lib", "libOpenImageDenoise*")): - self.run(f"/usr/bin/patchelf --remove-rpath {lib}") - # ASWF: keep cmake config files - copy(self, "*", - src=os.path.join(self.build_folder, "lib", "cmake"), - dst=os.path.join(self.package_folder, "lib", "cmake")) - # CLI tools (oidnDenoise, oidnTest, oidnBenchmark) - copy(self, "*", - src=os.path.join(self.build_folder, "bin"), - dst=os.path.join(self.package_folder, "bin")) - - def package_id(self): - # Binary-only: OS + arch only - pass + cmake = CMake(self) + cmake.install() + # ASWF: keep cmake config files; moonray and other consumers use them + # rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenImageDenoise") @@ -87,4 +90,4 @@ def package_info(self): self.cpp_info.includedirs = ["include"] self.cpp_info.bindirs = ["bin"] if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread", "dl", "m"] + self.cpp_info.system_libs = ["pthread", "dl", "m"] \ No newline at end of file diff --git a/packages/conan/recipes/openimagedenoise/patches/2.3.3-cmake-bpath-cuda.diff b/packages/conan/recipes/openimagedenoise/patches/2.3.3-cmake-bpath-cuda.diff new file mode 100644 index 00000000..c38bd04e --- /dev/null +++ b/packages/conan/recipes/openimagedenoise/patches/2.3.3-cmake-bpath-cuda.diff @@ -0,0 +1,81 @@ +diff --git cmake/oidn_macros.cmake cmake/oidn_macros.cmake +index d99dd79ac..bfda2778a 100644 +--- cmake/oidn_macros.cmake ++++ cmake/oidn_macros.cmake +@@ -38,7 +38,7 @@ + get_filename_component(path "${path}" ABSOLUTE) + string(FIND "${path}" "${CMAKE_CURRENT_BINARY_DIR}" _path_binary_dir_pos) + if(_path_binary_dir_pos EQUAL 0) +- set(build_path ${path}) ++ set(bpath ${path}) + else() + file(RELATIVE_PATH bpath ${CMAKE_CURRENT_SOURCE_DIR} ${path}) + string(REGEX REPLACE "^[/]+" "" bpath "${bpath}") +diff --git devices/CMakeFiles.txt devices/CMakeFiles.txt +index d99dd79ac..bfda2778a 100644 +--- devices/CMakeLists.txt ++++ devices/CMakeLists.txt +@@ -56,7 +56,6 @@ + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall + -DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR} + -DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR} +- -DCUDAToolkit_ROOT:PATH=${CUDAToolkit_ROOT} + -DOIDN_ROOT_BINARY_DIR:PATH=${OIDN_ROOT_BINARY_DIR} + -DOIDN_INSTALL_RPATH_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DOIDN_INSTALL_DEPENDENCIES:BOOL=${OIDN_INSTALL_DEPENDENCIES} +@@ -71,14 +70,19 @@ + DEPENDS + OpenImageDenoise_core + ) ++ if(DEFINED CUDAToolkit_ROOT) ++ list(APPEND _oidn_cuda_cache_args ++ -DCUDAToolkit_ROOT:PATH=${CUDAToolkit_ROOT} ++ ) ++ endif() + + # Due to limitations of CMake, the module is pre-installed at build time to a temporary location, + # and then copied to the real install location at install time. +- install(DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall/ +- DESTINATION "." +- USE_SOURCE_PERMISSIONS +- ) ++ #install(DIRECTORY ++ # ${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall/ ++ # DESTINATION "." ++ # USE_SOURCE_PERMISSIONS ++ #) + endif() + + if(OIDN_DEVICE_HIP) +diff --git devices/cuda/CMakeFiles.txt devices/cuda/CMakeFiles.txt +index d99dd79ac..bfda2778a 100644 +--- devices/cuda/CMakeLists.txt ++++ devices/cuda/CMakeLists.txt +@@ -20,7 +20,7 @@ + ) + + # CUDA +-find_package(CUDAToolkit 12.8 REQUIRED) ++find_package(CUDAToolkit 12.6 REQUIRED) + set(CMAKE_CUDA_COMPILER ${CUDAToolkit_NVCC_EXECUTABLE}) + enable_language(CUDA) + +@@ -56,7 +56,7 @@ + set(${output_var} "${${output_var}}" PARENT_SCOPE) + endfunction() + +-oidn_set_cuda_sm_flags(OIDN_CUDA_SM_FLAGS 70 75 80 90 100 120) ++oidn_set_cuda_sm_flags(OIDN_CUDA_SM_FLAGS 70 75 80 90) + set_source_files_properties( + cuda_conv.cu + cuda_device.cu +@@ -76,7 +76,7 @@ + PROPERTIES COMPILE_FLAGS ${OIDN_CUDA_SM75_FLAGS} + ) + +-oidn_set_cuda_sm_flags(OIDN_CUDA_SM80_FLAGS 80 90 100 120) ++oidn_set_cuda_sm_flags(OIDN_CUDA_SM80_FLAGS 80 90) + set_source_files_properties( + cutlass_conv_sm80.cu + PROPERTIES COMPILE_FLAGS ${OIDN_CUDA_SM80_FLAGS} diff --git a/packages/conan/recipes/openimagedenoise/patches/2.3.3-tbb-min-version.diff b/packages/conan/recipes/openimagedenoise/patches/2.3.3-tbb-min-version.diff new file mode 100644 index 00000000..f8f454f8 --- /dev/null +++ b/packages/conan/recipes/openimagedenoise/patches/2.3.3-tbb-min-version.diff @@ -0,0 +1,13 @@ +diff --git devices/cpu/CMakeLists.txt devices/cpu/CMakeLists.txt +index f509aa1..5435e46 100644 +--- devices/cpu/CMakeLists.txt ++++ devices/cpu/CMakeLists.txt +@@ -4,7 +4,7 @@ + find_package(Threads REQUIRED) + + # oneTBB +-set(OIDN_TBB_MIN_VERSION 2017.0) ++set(OIDN_TBB_MIN_VERSION 2020.0) + if(TBB_ROOT) + find_package(TBB ${OIDN_TBB_MIN_VERSION} COMPONENTS tbb CONFIG NO_DEFAULT_PATH) + else() diff --git a/packages/conan/recipes/openimagedenoise/patches/2.5.0-cmake-bpath-cuda.diff b/packages/conan/recipes/openimagedenoise/patches/2.5.0-cmake-bpath-cuda.diff new file mode 100644 index 00000000..b88ee95e --- /dev/null +++ b/packages/conan/recipes/openimagedenoise/patches/2.5.0-cmake-bpath-cuda.diff @@ -0,0 +1,34 @@ +diff --git cmake/oidn_macros.cmake cmake/oidn_macros.cmake +index d99dd79ac..bfda2778a 100644 +--- cmake/oidn_macros.cmake ++++ cmake/oidn_macros.cmake +@@ -38,7 +38,7 @@ + get_filename_component(path "${path}" ABSOLUTE) + string(FIND "${path}" "${CMAKE_CURRENT_BINARY_DIR}" _path_binary_dir_pos) + if(_path_binary_dir_pos EQUAL 0) +- set(build_path ${path}) ++ set(bpath ${path}) + else() + file(RELATIVE_PATH bpath ${CMAKE_CURRENT_SOURCE_DIR} ${path}) + string(REGEX REPLACE "^[/]+" "" bpath "${bpath}") +diff --git devices/CMakeFiles.txt devices/CMakeFiles.txt +index d99dd79ac..bfda2778a 100644 +--- devices/CMakeLists.txt ++++ devices/CMakeLists.txt +@@ -81,11 +81,11 @@ + + # Due to limitations of CMake, the module is pre-installed at build time to a temporary location, + # and then copied to the real install location at install time. +- install(DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall/ +- DESTINATION "." +- USE_SOURCE_PERMISSIONS +- ) ++ #install(DIRECTORY ++ # ${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall/ ++ # DESTINATION "." ++ # USE_SOURCE_PERMISSIONS ++ #) + endif() + + if(OIDN_DEVICE_HIP) diff --git a/packages/conan/recipes/openvdb/conanfile.py b/packages/conan/recipes/openvdb/conanfile.py index da6a8b9a..dd755a35 100644 --- a/packages/conan/recipes/openvdb/conanfile.py +++ b/packages/conan/recipes/openvdb/conanfile.py @@ -176,8 +176,8 @@ def _settings_build(self): def build_requirements(self): self.tool_requires("cmake/[>=3.20]") if self.options.build_ax: - # ASWF: need clang / llvm to build AX, FIXME need better way to determine llvm version - self.tool_requires(f"clang/{os.environ['ASWF_OSL_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + # ASWF: need clang / llvm to build AX + self.tool_requires(self.conf.get("user.aswf:openvdb_clang_ref", check_type=str)) if self._settings_build.os == "Windows": self.tool_requires("winflexbison/2.5.25") else: diff --git a/packages/conan/recipes/osl/conanfile.py b/packages/conan/recipes/osl/conanfile.py index 0e0390e8..210e2d42 100644 --- a/packages/conan/recipes/osl/conanfile.py +++ b/packages/conan/recipes/osl/conanfile.py @@ -57,8 +57,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - # FIXME need better way to determine llvm version - self.requires(f"clang/{os.environ['ASWF_OSL_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + self.requires(self.conf.get("user.aswf:osl_clang_ref", check_type=str)) # Required libraries self.requires("zlib/[>=1.2.11 <2]") self.requires("fmt/10.2.1", transitive_headers=True) @@ -75,8 +74,7 @@ def requirements(self): self.requires("qt/6.5.6") def build_requirements(self): - # FIXME need better way to determine llvm version - self.tool_requires(f"clang/{os.environ['ASWF_OSL_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + self.tool_requires(self.conf.get("user.aswf:osl_clang_ref", check_type=str)) self.tool_requires("cmake/[>=3.19]") self.tool_requires("bison/[>=2.7]") self.tool_requires("flex/[>=2.5.35]") diff --git a/packages/conan/recipes/pyside/conanfile.py b/packages/conan/recipes/pyside/conanfile.py index 92d94175..0609a52e 100644 --- a/packages/conan/recipes/pyside/conanfile.py +++ b/packages/conan/recipes/pyside/conanfile.py @@ -68,7 +68,7 @@ def build_requirements(self): if Version(self.version) < "6.0": self.tool_requires("cpython/[>=3.0.0]") self.tool_requires("qt/[>=5.0.0]") - self.tool_requires(f"clang/{os.environ['ASWF_PYSIDE_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + self.tool_requires(self.conf.get("user.aswf:pyside_clang_ref", check_type=str)) def export_sources(self): export_conandata_patches(self) diff --git a/packages/conan/settings/profiles/vfx2023 b/packages/conan/settings/profiles/vfx2023 index d1aaec42..087e37ba 100644 --- a/packages/conan/settings/profiles/vfx2023 +++ b/packages/conan/settings/profiles/vfx2023 @@ -90,7 +90,7 @@ opencolorio/*: opencolorio/2.2.1@{{ org }}/vfx2023 openexr/*: openexr/3.1.13@{{ org }}/vfx2023 openfx/*: openfx/1.5s@{{ org }}/vfx2023 opengl/*: opengl/system@{{ org }}/vfx2023 -openimagedenoise/*: openimagedenoise/1.2.4@{{ org }}/vfx2023 +openimagedenoise/*: openimagedenoise/2.3.3@{{ org }}/vfx2023 openimageio/*: openimageio/2.4.17.0@{{ org }}/vfx2023 openjpeg/*: openjpeg/2.4.0@{{ org }}/vfx2023 openjph/*: openjph/0.24.5@{{ org }}/vfx2023 @@ -157,3 +157,8 @@ pkgconf/1.4.2 wayland/1.21.0 wayland-protocols/1.25 [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/14.0.6@{{ org }}/ci_common3 +user.aswf:pyside_clang_ref=clang/14.0.6@{{ org }}/ci_common3 +user.aswf:ispc_clang_ref=clang/15.0.7@{{ org }}/ci_common3 +user.aswf:openvdb_clang_ref=clang/14.0.6@{{ org }}/ci_common3 diff --git a/packages/conan/settings/profiles/vfx2024 b/packages/conan/settings/profiles/vfx2024 index 95162b7b..dfca203e 100644 --- a/packages/conan/settings/profiles/vfx2024 +++ b/packages/conan/settings/profiles/vfx2024 @@ -40,7 +40,7 @@ hdf5/*: hdf5/1.14.6@{{ org }}/vfx2024 highway/*: highway/1.2.0@{{ org }}/vfx2024 icu/*: icu/system@{{ org }}/vfx2024 imath/*: imath/3.1.12@{{ org }}/vfx2024 -ispc/*: ispc/1.21.0@{{ org }}/vfx2024 +ispc/*: ispc/1.24.0@{{ org }}/vfx2024 jasper/*: jasper/4.2.5@{{ org }}/vfx2024 jsoncpp/*: jsoncpp/1.9.5@{{ org }}/vfx2024 lcms/*: lcms/2.17@{{ org }}/vfx2024 @@ -90,7 +90,7 @@ opencolorio/*: opencolorio/2.3.2@{{ org }}/vfx2024 openexr/*: openexr/3.2.10@{{ org }}/vfx2024 openfx/*: openfx/1.5s@{{ org }}/vfx2024 opengl/*: opengl/system@{{ org }}/vfx2024 -openimagedenoise/*: openimagedenoise/1.2.4@{{ org }}/vfx2024 +openimagedenoise/*: openimagedenoise/2.3.3@{{ org }}/vfx2024 openimageio/*: openimageio/2.5.19.1@{{ org }}/vfx2024 openjpeg/*: openjpeg/2.4.0@{{ org }}/vfx2024 openjph/*: openjph/0.24.5@{{ org }}/vfx2024 @@ -135,7 +135,7 @@ bison/*: bison/3.0.4@system cpython/*: cpython/3.11.15@{{ org }}/vfx2024 flex/*: flex/2.6.1@system gperf/*: gperf/3.1@system -ispc/*: ispc/1.21.0@{{ org }}/vfx2024 +ispc/*: ispc/1.24.0@{{ org }}/vfx2024 libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@{{ org }}/vfx2024 @@ -157,3 +157,8 @@ pkgconf/1.4.2 wayland/1.21.0 wayland-protocols/1.25 [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/16.0.6@{{ org }}/ci_common4 +user.aswf:pyside_clang_ref=clang/16.0.6@{{ org }}/ci_common4 +user.aswf:ispc_clang_ref=clang/17.0.6@{{ org }}/ci_common4 +user.aswf:openvdb_clang_ref=clang/16.0.6@{{ org }}/ci_common4 diff --git a/packages/conan/settings/profiles/vfx2025 b/packages/conan/settings/profiles/vfx2025 index 2c73ed6c..eeb4953a 100644 --- a/packages/conan/settings/profiles/vfx2025 +++ b/packages/conan/settings/profiles/vfx2025 @@ -40,7 +40,7 @@ hdf5/*: hdf5/1.14.6@{{ org }}/vfx2025 highway/*: highway/1.2.0@{{ org }}/vfx2025 icu/*: icu/system@{{ org }}/vfx2025 imath/*: imath/3.1.12@{{ org }}/vfx2025 -ispc/*: ispc/1.21.0@{{ org }}/vfx2025 +ispc/*: ispc/1.26.0@{{ org }}/vfx2025 jasper/*: jasper/4.2.5@{{ org }}/vfx2025 jsoncpp/*: jsoncpp/1.9.5@{{ org }}/vfx2025 lcms/*: lcms/2.17@{{ org }}/vfx2025 @@ -135,7 +135,7 @@ bison/*: bison/3.0.4@system cpython/*: cpython/3.11.15@{{ org }}/vfx2025 flex/*: flex/2.6.1@system gperf/*: gperf/3.1@system -ispc/*: ispc/1.21.0@{{ org }}/vfx2025 +ispc/*: ispc/1.26.0@{{ org }}/vfx2025 libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@{{ org }}/vfx2025 @@ -157,3 +157,8 @@ pkgconf/1.4.2 wayland/1.21.0 wayland-protocols/1.25 [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/18.1.8@{{ org }}/ci_common5 +user.aswf:pyside_clang_ref=clang/18.1.8@{{ org }}/ci_common5 +user.aswf:ispc_clang_ref=clang/18.1.8@{{ org }}/ci_common5 +user.aswf:openvdb_clang_ref=clang/18.1.8@{{ org }}/ci_common5 diff --git a/packages/conan/settings/profiles/vfx2026 b/packages/conan/settings/profiles/vfx2026 index 39269de0..aa5b2628 100644 --- a/packages/conan/settings/profiles/vfx2026 +++ b/packages/conan/settings/profiles/vfx2026 @@ -42,7 +42,7 @@ hdf5/*: hdf5/1.14.6@{{ org }}/vfx2026 highway/*: highway/1.2.0@{{ org }}/vfx2026 icu/*: icu/system@{{ org }}/vfx2026 imath/*: imath/3.2.2@{{ org }}/vfx2026 -ispc/*: ispc/1.21.0@{{ org }}/vfx2026 +ispc/*: ispc/1.31.0@{{ org }}/vfx2026 jasper/*: jasper/4.2.5@{{ org }}/vfx2026 jsoncpp/*: jsoncpp/1.9.5@{{ org }}/vfx2026 lcms/*: lcms/2.17@{{ org }}/vfx2026 @@ -92,7 +92,7 @@ opencolorio/*: opencolorio/2.5.2@{{ org }}/vfx2026 openexr/*: openexr/3.4.13@{{ org }}/vfx2026 openfx/*: openfx/1.5.1@{{ org }}/vfx2026 opengl/*: opengl/system@{{ org }}/vfx2026 -openimagedenoise/*: openimagedenoise/2.3.3@{{ org }}/vfx2026 +openimagedenoise/*: openimagedenoise/2.5.0@{{ org }}/vfx2026 openimageio/*: openimageio/3.1.14.1@{{ org }}/vfx2026 openjpeg/*: openjpeg/2.4.0@{{ org }}/vfx2026 openjph/*: openjph/0.24.5@{{ org }}/vfx2026 @@ -137,7 +137,7 @@ bison/*: bison/3.0.4@system cpython/*: cpython/3.13.14@{{ org }}/vfx2026 flex/*: flex/2.6.1@system gperf/*: gperf/3.1@system -ispc/*: ispc/1.21.0@{{ org }}/vfx2026 +ispc/*: ispc/1.31.0@{{ org }}/vfx2026 libtool/*: libtool/2.4.6@system meson/*: meson/0.58.2@system nasm/*: nasm/system@{{ org }}/vfx2026 @@ -159,3 +159,8 @@ pkgconf/1.4.2 wayland/1.21.0 wayland-protocols/1.25 [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/19.1.7@{{ org }}/ci_common6 +user.aswf:pyside_clang_ref=clang/19.1.7@{{ org }}/ci_common6 +user.aswf:ispc_clang_ref=clang/20.1.7@{{ org }}/ci_common6 +user.aswf:openvdb_clang_ref=clang/19.1.7@{{ org }}/ci_common6 diff --git a/packages/conan/settings/profiles/vfx2027 b/packages/conan/settings/profiles/vfx2027 index 3205f9d5..db288c96 100644 --- a/packages/conan/settings/profiles/vfx2027 +++ b/packages/conan/settings/profiles/vfx2027 @@ -42,7 +42,7 @@ hdf5/*: hdf5/1.14.6@{{ org }}/vfx2027 highway/*: highway/1.4.0@{{ org }}/vfx2027 icu/*: icu/system@{{ org }}/vfx2027 imath/*: imath/3.2.2@{{ org }}/vfx2027 -ispc/*: ispc/1.21.0@{{ org }}/vfx2027 +ispc/*: ispc/1.31.0@{{ org }}/vfx2027 jasper/*: jasper/4.2.9@{{ org }}/vfx2027 jsoncpp/*: jsoncpp/1.9.5@{{ org }}/vfx2027 lcms/*: lcms/2.19.1@{{ org }}/vfx2027 @@ -92,7 +92,7 @@ opencolorio/*: opencolorio/2.5.2@{{ org }}/vfx2027 openexr/*: openexr/3.4.13@{{ org }}/vfx2027 openfx/*: openfx/1.5.1@{{ org }}/vfx2027 opengl/*: opengl/system@{{ org }}/vfx2027 -openimagedenoise/*: openimagedenoise/2.3.3@{{ org }}/vfx2027 +openimagedenoise/*: openimagedenoise/2.5.0@{{ org }}/vfx2027 openimageio/*: openimageio/3.1.14.1@{{ org }}/vfx2027 openjpeg/*: openjpeg/2.4.0@{{ org }}/vfx2027 openjph/*: openjph/0.27.4@{{ org }}/vfx2027 @@ -137,7 +137,7 @@ bison/*: bison/3.7.4@system cpython/*: cpython/3.13.14@{{ org }}/vfx2027 flex/*: flex/2.6.4@system gperf/*: gperf/3.1.13@system -ispc/*: ispc/1.21.0@{{ org }}/vfx2027 +ispc/*: ispc/1.31.0@{{ org }}/vfx2027 libtool/*: libtool/2.4.6@system meson/*: meson/0.63.3@system nasm/*: nasm/system@{{ org }}/vfx2027 @@ -159,3 +159,8 @@ pkgconf/1.7.3 wayland/1.21.0 wayland-protocols/1.37.1 [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/22.1.7@{{ org }}/ci_common7 +user.aswf:pyside_clang_ref=clang/21.1.8@{{ org }}/ci_common7 +user.aswf:ispc_clang_ref=clang/22.1.7@{{ org }}/ci_common7 +user.aswf:openvdb_clang_ref=clang/22.1.7@{{ org }}/ci_common7 diff --git a/python/aswfdocker/data/ci-image-dockerfile.jinja2 b/python/aswfdocker/data/ci-image-dockerfile.jinja2 index 4cddb0b6..f8f1d7fe 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.jinja2 +++ b/python/aswfdocker/data/ci-image-dockerfile.jinja2 @@ -9,8 +9,6 @@ ARG ASWF_ORG ARG ASWF_PKG_ORG ARG CI_COMMON_VERSION ARG ASWF_CLANG_MAJOR_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD {% if name != "common" and name != "baseos-gl-conan" %} @@ -44,8 +42,6 @@ ARG ASWF_CONAN_HOME ARG ASWF_PKG_ORG ARG ASWF_VERSION ARG CI_COMMON_VERSION -ARG ASWF_OSL_CLANG_VERSION -ARG ASWF_PYSIDE_CLANG_VERSION ARG ASWF_CONAN_CHANNEL ARG ASWF_CXX_STANDARD @@ -87,8 +83,6 @@ LABEL io.aswf.docker.versions.{{ package }}="$ASWF_{{ package|upper|replace("-", ENV ASWF_ORG=${ASWF_ORG} ENV ASWF_VERSION=${ASWF_VERSION} ENV ASWF_INSTALL_PREFIX=/usr/local -ENV ASWF_OSL_CLANG_VERSION=${ASWF_OSL_CLANG_VERSION} -ENV ASWF_PYSIDE_CLANG_VERSION=${ASWF_PYSIDE_CLANG_VERSION} ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} diff --git a/python/aswfdocker/data/conan-profile-vfx.jinja2 b/python/aswfdocker/data/conan-profile-vfx.jinja2 index f495e532..924cf550 100644 --- a/python/aswfdocker/data/conan-profile-vfx.jinja2 +++ b/python/aswfdocker/data/conan-profile-vfx.jinja2 @@ -161,3 +161,8 @@ pkgconf/[[ distro_versions.ASWF_PKGCONF_VERSION ]] wayland/[[ distro_versions.ASWF_WAYLAND_VERSION ]] wayland-protocols/[[ distro_versions.ASWF_WAYLAND_PROTOCOLS_VERSION ]] [buildenv] +[conf] +user.aswf:osl_clang_ref=clang/[[ clang_versions[versions.ASWF_OSL_CLANG_MAJOR_VERSION] ]]@{{ org }}/ci_common[[ ci_common_version ]] +user.aswf:pyside_clang_ref=clang/[[ clang_versions[versions.ASWF_PYSIDE_CLANG_MAJOR_VERSION] ]]@{{ org }}/ci_common[[ ci_common_version ]] +user.aswf:ispc_clang_ref=clang/[[ clang_versions[versions.ASWF_ISPC_CLANG_MAJOR_VERSION] ]]@{{ org }}/ci_common[[ ci_common_version ]] +user.aswf:openvdb_clang_ref=clang/[[ clang_versions[versions.ASWF_OPENVDB_CLANG_MAJOR_VERSION] ]]@{{ org }}/ci_common[[ ci_common_version ]] diff --git a/python/aswfdocker/data/versions.yaml b/python/aswfdocker/data/versions.yaml index ee2b0313..f01c6515 100644 --- a/python/aswfdocker/data/versions.yaml +++ b/python/aswfdocker/data/versions.yaml @@ -613,6 +613,7 @@ versions: ASWF_HDF5_VERSION: "1.14.6" ASWF_HIGHWAY_VERSION: "1.2.0" ASWF_ISPC_VERSION: "1.21.0" + ASWF_ISPC_CLANG_MAJOR_VERSION: "15" ASWF_JASPER_VERSION: "4.2.5" ASWF_JSONCPP_VERSION: "1.9.5" ASWF_LCMS_VERSION: "2.17" @@ -635,7 +636,7 @@ versions: ASWF_MINIZIP_NG_VERSION: "4.0.10" ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" - ASWF_OPENIMAGEDENOISE_VERSION: "1.2.4" + ASWF_OPENIMAGEDENOISE_VERSION: "2.3.3" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" ASWF_PUGIXML_VERSION: "1.14" @@ -658,7 +659,7 @@ versions: ASWF_OPENSUBDIV_VERSION: "3.5.1" ASWF_PTEX_VERSION: "2.4.3" ASWF_PYSIDE_VERSION: "5.15.18" - ASWF_PYSIDE_CLANG_VERSION: "14.0.6" + ASWF_PYSIDE_CLANG_MAJOR_VERSION: "14" ASWF_PYTHON_MAJOR_MINOR_VERSION: "3.10" ASWF_QT_VERSION: "5.15.18" ASWF_ONETBB_VERSION: "2020.3" @@ -675,8 +676,9 @@ versions: ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "10.1.0" + ASWF_OPENVDB_CLANG_MAJOR_VERSION: "14" ASWF_OSL_VERSION: "1.12.14.0" - ASWF_OSL_CLANG_VERSION: "14.0.6" + ASWF_OSL_CLANG_MAJOR_VERSION: "14" ASWF_OPENTIMELINEIO_VERSION: "0.15" ASWF_RAWTOACES_VERSION: "2.1.1" "2023-clang14": @@ -760,7 +762,8 @@ versions: ASWF_HARFBUZZ_VERSION: "11.0.1" ASWF_HDF5_VERSION: "1.14.6" ASWF_HIGHWAY_VERSION: "1.2.0" - ASWF_ISPC_VERSION: "1.21.0" + ASWF_ISPC_VERSION: "1.24.0" + ASWF_ISPC_CLANG_MAJOR_VERSION: "17" ASWF_JASPER_VERSION: "4.2.5" ASWF_JSONCPP_VERSION: "1.9.5" ASWF_LCMS_VERSION: "2.17" @@ -783,7 +786,7 @@ versions: ASWF_MINIZIP_NG_VERSION: "4.0.10" ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" - ASWF_OPENIMAGEDENOISE_VERSION: "1.2.4" + ASWF_OPENIMAGEDENOISE_VERSION: "2.3.3" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" ASWF_PUGIXML_VERSION: "1.14" @@ -806,7 +809,7 @@ versions: ASWF_OPENSUBDIV_VERSION: "3.6.1" ASWF_PTEX_VERSION: "2.4.3" ASWF_PYSIDE_VERSION: "6.5.6" - ASWF_PYSIDE_CLANG_VERSION: "16.0.6" + ASWF_PYSIDE_CLANG_MAJOR_VERSION: "16" ASWF_PYTHON_MAJOR_MINOR_VERSION: "3.11" ASWF_QT_VERSION: "6.5.6" ASWF_ONETBB_VERSION: "2020.3" @@ -823,8 +826,9 @@ versions: ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "11.0.0" + ASWF_OPENVDB_CLANG_MAJOR_VERSION: "16" ASWF_OSL_VERSION: "1.13.11.0" - ASWF_OSL_CLANG_VERSION: "16.0.6" + ASWF_OSL_CLANG_MAJOR_VERSION: "16" ASWF_OPENTIMELINEIO_VERSION: "0.17.0" ASWF_RAWTOACES_VERSION: "2.1.1" "2024-clang16": @@ -908,7 +912,8 @@ versions: ASWF_HARFBUZZ_VERSION: "11.0.1" ASWF_HDF5_VERSION: "1.14.6" ASWF_HIGHWAY_VERSION: "1.2.0" - ASWF_ISPC_VERSION: "1.21.0" + ASWF_ISPC_VERSION: "1.26.0" + ASWF_ISPC_CLANG_MAJOR_VERSION: "18" ASWF_JASPER_VERSION: "4.2.5" ASWF_JSONCPP_VERSION: "1.9.5" ASWF_LCMS_VERSION: "2.17" @@ -955,7 +960,7 @@ versions: ASWF_OPENSUBDIV_VERSION: "3.6.1" ASWF_PTEX_VERSION: "2.4.3" ASWF_PYSIDE_VERSION: "6.5.6" - ASWF_PYSIDE_CLANG_VERSION: "18.1.8" + ASWF_PYSIDE_CLANG_MAJOR_VERSION: "18" ASWF_PYTHON_MAJOR_MINOR_VERSION: "3.11" ASWF_QT_VERSION: "6.5.6" ASWF_VFXPLATFORM_VERSION: "2025" @@ -971,8 +976,9 @@ versions: ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "12.1.1" + ASWF_OPENVDB_CLANG_MAJOR_VERSION: "18" ASWF_OSL_VERSION: "1.14.11.0" - ASWF_OSL_CLANG_VERSION: "18.1.8" + ASWF_OSL_CLANG_MAJOR_VERSION: "18" ASWF_OPENTIMELINEIO_VERSION: "0.17.0" ASWF_RAWTOACES_VERSION: "2.1.1" "2025-clang18": @@ -1057,7 +1063,8 @@ versions: ASWF_HARFBUZZ_VERSION: "11.0.1" ASWF_HDF5_VERSION: "1.14.6" ASWF_HIGHWAY_VERSION: "1.2.0" - ASWF_ISPC_VERSION: "1.21.0" + ASWF_ISPC_VERSION: "1.31.0" + ASWF_ISPC_CLANG_MAJOR_VERSION: "20" ASWF_JASPER_VERSION: "4.2.5" ASWF_JSONCPP_VERSION: "1.9.5" ASWF_LCMS_VERSION: "2.17" @@ -1080,7 +1087,7 @@ versions: ASWF_MINIZIP_NG_VERSION: "4.0.10" ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" - ASWF_OPENIMAGEDENOISE_VERSION: "2.3.3" + ASWF_OPENIMAGEDENOISE_VERSION: "2.5.0" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" ASWF_PUGIXML_VERSION: "1.15" @@ -1104,7 +1111,7 @@ versions: ASWF_OPENSUBDIV_VERSION: "3.7.0" ASWF_PTEX_VERSION: "2.4.3" ASWF_PYSIDE_VERSION: "6.8.3" - ASWF_PYSIDE_CLANG_VERSION: "19.1.7" + ASWF_PYSIDE_CLANG_MAJOR_VERSION: "19" ASWF_PYTHON_MAJOR_MINOR_VERSION: "3.13" ASWF_QT_VERSION: "6.8.3" ASWF_VFXPLATFORM_VERSION: "2026" @@ -1120,8 +1127,9 @@ versions: ASWF_OPENFX_VERSION: "1.5.1" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "13.0.0" + ASWF_OPENVDB_CLANG_MAJOR_VERSION: "19" ASWF_OSL_VERSION: "1.15.5.0" - ASWF_OSL_CLANG_VERSION: "19.1.7" + ASWF_OSL_CLANG_MAJOR_VERSION: "19" ASWF_OPENTIMELINEIO_VERSION: "0.18.1" ASWF_RAWTOACES_VERSION: "2.1.1" "2026-clang19": @@ -1207,7 +1215,8 @@ versions: ASWF_HARFBUZZ_VERSION: "14.2.1" ASWF_HDF5_VERSION: "1.14.6" ASWF_HIGHWAY_VERSION: "1.4.0" - ASWF_ISPC_VERSION: "1.21.0" + ASWF_ISPC_VERSION: "1.31.0" + ASWF_ISPC_CLANG_MAJOR_VERSION: "22" ASWF_JASPER_VERSION: "4.2.9" ASWF_JSONCPP_VERSION: "1.9.5" ASWF_LCMS_VERSION: "2.19.1" @@ -1230,7 +1239,7 @@ versions: ASWF_MINIZIP_NG_VERSION: "4.2.1" ASWF_NANOBIND_VERSION: "2.12.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" - ASWF_OPENIMAGEDENOISE_VERSION: "2.3.3" + ASWF_OPENIMAGEDENOISE_VERSION: "2.5.0" ASWF_OPENJPH_VERSION: "0.27.4" ASWF_OPENUSD_VERSION: "26.05" ASWF_PARTIO_VERSION: "1.20.0" @@ -1254,7 +1263,7 @@ versions: ASWF_OPENSUBDIV_VERSION: "3.7.0" ASWF_PTEX_VERSION: "2.5.2" ASWF_PYSIDE_VERSION: "6.8.3" - ASWF_PYSIDE_CLANG_VERSION: "21.1.8" + ASWF_PYSIDE_CLANG_MAJOR_VERSION: "21" ASWF_PYTHON_MAJOR_MINOR_VERSION: "3.13" ASWF_QT_VERSION: "6.8.3" ASWF_VFXPLATFORM_VERSION: "2027" @@ -1270,8 +1279,9 @@ versions: ASWF_OPENFX_VERSION: "1.5.1" ASWF_OPENRV_VERSION: "3.2.0" ASWF_OPENVDB_VERSION: "13.0.0" + ASWF_OPENVDB_CLANG_MAJOR_VERSION: "22" ASWF_OSL_VERSION: "1.15.5.0" - ASWF_OSL_CLANG_VERSION: "22.1.7" + ASWF_OSL_CLANG_MAJOR_VERSION: "22" ASWF_OPENTIMELINEIO_VERSION: "0.18.1" ASWF_RAWTOACES_VERSION: "2.1.1" "2027-clang21": diff --git a/python/aswfdocker/dockergen.py b/python/aswfdocker/dockergen.py index be3ce427..a666d85c 100644 --- a/python/aswfdocker/dockergen.py +++ b/python/aswfdocker/dockergen.py @@ -78,11 +78,22 @@ def _template_context(self) -> typing.Dict[str, typing.Any]: distro_versions: typing.Dict[str, str] = {} if baseos_distro: distro_versions = self._idx.version_info(baseos_distro).package_versions + ci_common_version = self.version_info.ci_common_version + clang_versions: typing.Dict[str, str] = {} + if ci_common_version: + prefix = f"{ci_common_version}-clang" + for vi in self._idx.iter_version_info(): + if vi.version.startswith(prefix): + major = vi.package_versions.get("ASWF_CLANG_MAJOR_VERSION") + full = vi.package_versions.get("ASWF_CLANG_VERSION") + if major and full: + clang_versions[major] = full return { "versions": self.version_info.all_package_versions, "distro_versions": distro_versions, "conan_profile": self.version_info.conan_profile, - "ci_common_version": self.version_info.ci_common_version, + "ci_common_version": ci_common_version, + "clang_versions": clang_versions, } def _output_path(self) -> str: From eee145f7774daff335ef1e0e805b867b3442efab Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 12 Jul 2026 17:23:50 -0700 Subject: [PATCH 2/4] Adjust Conan recipe licenses to MIT All recipes in packages/conan/recipes are MIT licensed for compatiblity with Conan Center Index. Signed-off-by: Jean-Francois Panisset --- packages/conan/recipes/openimagedenoise/conandata.yml | 3 +-- packages/conan/recipes/openimagedenoise/conanfile.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/conan/recipes/openimagedenoise/conandata.yml b/packages/conan/recipes/openimagedenoise/conandata.yml index 17e9e823..51e60a68 100644 --- a/packages/conan/recipes/openimagedenoise/conandata.yml +++ b/packages/conan/recipes/openimagedenoise/conandata.yml @@ -1,6 +1,5 @@ -# Copyright (c) Contributors to the conan-center-index Project. All rights reserved. # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: MIT sources: "2.5.0": diff --git a/packages/conan/recipes/openimagedenoise/conanfile.py b/packages/conan/recipes/openimagedenoise/conanfile.py index 205689e3..8082ecd0 100644 --- a/packages/conan/recipes/openimagedenoise/conanfile.py +++ b/packages/conan/recipes/openimagedenoise/conanfile.py @@ -1,4 +1,3 @@ -# Copyright (c) Contributors to the conan-center-index Project. All rights reserved. # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT @@ -90,4 +89,4 @@ def package_info(self): self.cpp_info.includedirs = ["include"] self.cpp_info.bindirs = ["bin"] if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread", "dl", "m"] \ No newline at end of file + self.cpp_info.system_libs = ["pthread", "dl", "m"] From 8e864d0a576d9fe07ad344adfd3f3f15adc1db73 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Sun, 12 Jul 2026 18:47:52 -0700 Subject: [PATCH 3/4] Document OIDN cude and cpu plugins Assisted-By: Claude Sonnet 5 Signed-off-by: Jean-Francois Panisset --- CHANGELOG.md | 2 +- packages/conan/recipes/openimagedenoise/conanfile.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32fe1a0b..e31b64a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ All notable changes to this project will be documented in this file. - 2025 : 1.26.0 / LLVM 18 - 2026 : 1.31.0 / LLVM 20 - 2027 : 1.31.0 / LLVM 22 - - [openimagedenoise build frmo source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/428) + - [openimagedenoise build frmo source instead of binary downloads](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/428). Only the cpu and cuda device plugins are currently being built. - disable compute_100 and compute_120 (aka Blackwell) CUDA support in 2.3.3 since in 2023/2024/2025 we have CUDA Toolkit 12.6.3 which is too old - 2023 : 2.3.3 - 2024 : 2.3.3 diff --git a/packages/conan/recipes/openimagedenoise/conanfile.py b/packages/conan/recipes/openimagedenoise/conanfile.py index 8082ecd0..f465655a 100644 --- a/packages/conan/recipes/openimagedenoise/conanfile.py +++ b/packages/conan/recipes/openimagedenoise/conanfile.py @@ -90,3 +90,11 @@ def package_info(self): self.cpp_info.bindirs = ["bin"] if self.settings.os == "Linux": self.cpp_info.system_libs = ["pthread", "dl", "m"] + # _core/_device_cpu/_device_cuda are installed without an + # unversioned .so symlink (upstream uses NAMELINK_SKIP for core, and + # a plugin-style module install for the devices), so none of them + # can be resolved via -l/find_library(). They are not modeled as + # Conan components: libOpenImageDenoise already pulls _core in via + # its own DT_NEEDED, and device_cpu/device_cuda are dlopen()'d as + # plugins at runtime, found next to it in lib/ (already installed + # there by cmake.install() above) without any Conan involvement. From bab41db851e177f538e0b2324428cf04f36cd8c3 Mon Sep 17 00:00:00 2001 From: Jean-Francois Panisset Date: Mon, 13 Jul 2026 00:23:57 -0700 Subject: [PATCH 4/4] Don't mix clang/llvm versions All packages which declares requires() on clang must match versions. Signed-off-by: Jean-Francois Panisset --- packages/conan/settings/profiles/vfx2023 | 2 +- packages/conan/settings/profiles/vfx2024 | 2 +- packages/conan/settings/profiles/vfx2026 | 2 +- python/aswfdocker/data/versions.yaml | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/conan/settings/profiles/vfx2023 b/packages/conan/settings/profiles/vfx2023 index 087e37ba..6b8ed5eb 100644 --- a/packages/conan/settings/profiles/vfx2023 +++ b/packages/conan/settings/profiles/vfx2023 @@ -158,7 +158,7 @@ wayland/1.21.0 wayland-protocols/1.25 [buildenv] [conf] -user.aswf:osl_clang_ref=clang/14.0.6@{{ org }}/ci_common3 +user.aswf:osl_clang_ref=clang/15.0.7@{{ org }}/ci_common3 user.aswf:pyside_clang_ref=clang/14.0.6@{{ org }}/ci_common3 user.aswf:ispc_clang_ref=clang/15.0.7@{{ org }}/ci_common3 user.aswf:openvdb_clang_ref=clang/14.0.6@{{ org }}/ci_common3 diff --git a/packages/conan/settings/profiles/vfx2024 b/packages/conan/settings/profiles/vfx2024 index dfca203e..49b3e3f9 100644 --- a/packages/conan/settings/profiles/vfx2024 +++ b/packages/conan/settings/profiles/vfx2024 @@ -158,7 +158,7 @@ wayland/1.21.0 wayland-protocols/1.25 [buildenv] [conf] -user.aswf:osl_clang_ref=clang/16.0.6@{{ org }}/ci_common4 +user.aswf:osl_clang_ref=clang/17.0.6@{{ org }}/ci_common4 user.aswf:pyside_clang_ref=clang/16.0.6@{{ org }}/ci_common4 user.aswf:ispc_clang_ref=clang/17.0.6@{{ org }}/ci_common4 user.aswf:openvdb_clang_ref=clang/16.0.6@{{ org }}/ci_common4 diff --git a/packages/conan/settings/profiles/vfx2026 b/packages/conan/settings/profiles/vfx2026 index aa5b2628..374d330d 100644 --- a/packages/conan/settings/profiles/vfx2026 +++ b/packages/conan/settings/profiles/vfx2026 @@ -160,7 +160,7 @@ wayland/1.21.0 wayland-protocols/1.25 [buildenv] [conf] -user.aswf:osl_clang_ref=clang/19.1.7@{{ org }}/ci_common6 +user.aswf:osl_clang_ref=clang/20.1.7@{{ org }}/ci_common6 user.aswf:pyside_clang_ref=clang/19.1.7@{{ org }}/ci_common6 user.aswf:ispc_clang_ref=clang/20.1.7@{{ org }}/ci_common6 user.aswf:openvdb_clang_ref=clang/19.1.7@{{ org }}/ci_common6 diff --git a/python/aswfdocker/data/versions.yaml b/python/aswfdocker/data/versions.yaml index f01c6515..72d52b9f 100644 --- a/python/aswfdocker/data/versions.yaml +++ b/python/aswfdocker/data/versions.yaml @@ -678,7 +678,7 @@ versions: ASWF_OPENVDB_VERSION: "10.1.0" ASWF_OPENVDB_CLANG_MAJOR_VERSION: "14" ASWF_OSL_VERSION: "1.12.14.0" - ASWF_OSL_CLANG_MAJOR_VERSION: "14" + ASWF_OSL_CLANG_MAJOR_VERSION: "15" ASWF_OPENTIMELINEIO_VERSION: "0.15" ASWF_RAWTOACES_VERSION: "2.1.1" "2023-clang14": @@ -828,7 +828,7 @@ versions: ASWF_OPENVDB_VERSION: "11.0.0" ASWF_OPENVDB_CLANG_MAJOR_VERSION: "16" ASWF_OSL_VERSION: "1.13.11.0" - ASWF_OSL_CLANG_MAJOR_VERSION: "16" + ASWF_OSL_CLANG_MAJOR_VERSION: "17" ASWF_OPENTIMELINEIO_VERSION: "0.17.0" ASWF_RAWTOACES_VERSION: "2.1.1" "2024-clang16": @@ -1129,7 +1129,7 @@ versions: ASWF_OPENVDB_VERSION: "13.0.0" ASWF_OPENVDB_CLANG_MAJOR_VERSION: "19" ASWF_OSL_VERSION: "1.15.5.0" - ASWF_OSL_CLANG_MAJOR_VERSION: "19" + ASWF_OSL_CLANG_MAJOR_VERSION: "20" ASWF_OPENTIMELINEIO_VERSION: "0.18.1" ASWF_RAWTOACES_VERSION: "2.1.1" "2026-clang19":