diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dc107ad..f1db8f4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,29 @@ All notable changes to this project will be documented in this file. +# 2026-02-24 + +2024.6 / 2025.5 / 2026.3 releases. + +- All releases + - [clang / llvm now built with dynamic libraries](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/336), significant reduction in image sizes + - OpenShadingLanguage converted to a Conan package + - don't set rpath when building imath, OCIO + - nanobind 2.9.2 (needed by rawtoaces 2.0.0) + +- 2025.5 + - OpenEXR 3.3.6 to 3.3.7 + +- 2026.3 + - Alembic 1.8.8 to 1.8.10 + - [OpenSubdiv 3.6.1 to 3.7.0](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/328), VFX Platform 2026 calls for OpenSubdiv 3.7.x but this was missed in previous 2026 releases + - OpenColorIO 2.5.0 to 2.5.1, note that [2.5.1 is not ABI compatible with 2.5.0](https://opencolorio.readthedocs.io/en/latest/releases/ocio_2_5.html#library-version) + - [MaterialX 1.39.3 to 1.39.4](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/339) + - [OpenEXR 3.4.3 to 3.4.5](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/322) + - [OpenImageIO 3.1.6.2 to 3.1.10.0](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/329) + - [OpenShadingLanguage 1.14.7.0 to 1.15.1.0](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/330) + - [rawtoaces 1.1.0 to 2.0.0](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/324) - Python bindings via nanobind not enabled yet + # 2025-12-06 Re-releasing 2025.5 / 2025.4 / 2026.2 without 1.5GB of Conan download cache bloat. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8f9ac575..4fa1a010 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -408,20 +408,19 @@ as per [Storage Configurations](https://docs.conan.io/2/reference/config_files/g During development it can be convenient to peek into the results of a Conan package build. You can use: ``` -$ docker buildx du --verbose --filter Type=exec.cachemount -ID: ltu9ddgwws6cblhemncn9uzaj -Created at: 2025-03-31 03:09:21.67231777 +0000 UTC -Mutable: true -Reclaimable: true -Shared: false -Size: 93.56GB -Description: cached mount /opt/conan_home/d from exec /bin/sh -c conan create ${ASWF_CONAN_BUILD_MISSING} --profile:all ${ASWF_CONAN_HOME}/.conan2/profiles_${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} --name ${ASWF_PKG_NAME} --version ${ASWF_PKG_VERSION} --user ${ASWF_PKG_ORG} --channel ${ASWF_CONAN_CHANNEL} ${ASWF_CONAN_HOME}/recipes/${ASWF_PKG_NAME} with id "//opt/conan_home/d" -Usage count: 159 -Last used: 14 minutes ago -Type: exec.cachemount +$ docker buildx du --format=json --filter Type=exec.cachemount | jq 'select(.Description | contains("conan_home")) | {ID, LastUsedAt}' +{ + "ID": "1ltu9ddgwws6cblhemncn9uzaj", + "LastUsedAt": "30 minutes ago" +} +{ + "ID": "5u911hfw0umijdpkgrtabyivv", + "LastUsedAt": "3 weeks ago" +} ``` -to retrieve the volume ID for the cache mount, which is then accessible at a path similar to: +to retrieve the volume ID for the cache mount (there may be more than one, typically pick the most recently used), +which is then accessible at a path similar to: ``` /var/lib/docker/overlay2/ltu9ddgwws6cblhemncn9uzaj/diff @@ -615,7 +614,7 @@ Check [#66](https://github.com/AcademySoftwareFoundation/aswf-docker/pull/66) fo aswfdocker release -t IMAGE -g baseos-gl-conan -v 4 -v 5 -v 6 --target baseos-gl-conan --docker-org aswf -m "RELEASE_NOTES!" # Common packages -aswfdocker release -t PACKAGE -g common -v 4 -v 5 -v 6 --target ninja -target cmake --docker-org aswf -m "RELEASE_NOTES!" +aswfdocker release -t PACKAGE -g common -v 4 -v 5 -v 6 --target ninja --target cmake --docker-org aswf -m "RELEASE_NOTES!" aswfdocker release -t PACKAGE -g common -v 4-clang16 -v 4-clang17 -v 5-clang18 -v 5-clang19 -v 6-clang19 -v 6-clang20 --target clang --docker-org aswf -m "RELEASE_NOTES!" # Wait for clang builds to finish (from 2 to 3 hours!) diff --git a/README.md b/README.md index 1b4c5cb4..8c1b2f2c 100644 --- a/README.md +++ b/README.md @@ -165,14 +165,13 @@ as the branch is called `testing`. Images in this org will change without notice and could be broken in many unexpected ways! To get write access to the `aswftesting` Docker Hub organization you can open -a ticket with the [Linux Foundation Project IT Services Support Portal] -(https://jira.linuxfoundation.org/plugins/servlet/desk/portal/2). You may need -to first create a free [Linux Foundation account](https://sso.linuxfoundation.org). +a ticket with the [Linux Foundation Project IT Services Support Portal](https://jira.linuxfoundation.org/plugins/servlet/desk/portal/2). +You may need to first create a free [Linux Foundation account](https://sso.linuxfoundation.org). ### Status -As of July 2025 there are full 2018, 2019, 2020, 2021, 2022, -2023, 2024 and 2025 [VFX Platform](https://vfxplatform.com) compliant images. The 2026 images are for testing purposes only and won't be complete until the fall of 2025 when some major ASWF packages release their new versions called for by the 2026 VFX Platform. +As of December 2025 there are full 2018, 2019, 2020, 2021, 2022, +2023, 2024, 2025 and 2026. [VFX Platform](https://vfxplatform.com) compliant images. Note that the pre-2024 versions of the images still exist but are not maintained / rebuilt anymore, which @@ -197,7 +196,7 @@ folders to be mounted at build time, and is built with `docker buildx`. The new Docker BuildKit system allows the building of many packages in parallel in an efficient way with support for [ccache](https://ccache.dev/). -Starting with the 2023 versions, the non-ASWF dependencies and several of the ASWF +Starting with the 2023 versions, the non-ASWF dependencies and most of the ASWF projects are being built as Conan packages only, with the eventual goal of getting rid of all the ci-package-{packagename} intermediate Docker images, and mostly assembling the CI build images from Conan packages. diff --git a/ci-base/Dockerfile b/ci-base/Dockerfile index 6472b3b3..c2b4acde 100644 --- a/ci-base/Dockerfile +++ b/ci-base/Dockerfile @@ -43,6 +43,7 @@ ARG ASWF_GLEW_VERSION ARG ASWF_GLFW_VERSION ARG ASWF_LOG4CPLUS_VERSION ARG ASWF_MINIZIP_NG_VERSION +ARG ASWF_NANOBIND_VERSION ARG ASWF_BOOST_VERSION ARG ASWF_PYBIND11_VERSION ARG ASWF_NUMPY_VERSION @@ -93,6 +94,7 @@ ARG ASWF_GLEW_VERSION ARG ASWF_GLFW_VERSION ARG ASWF_LOG4CPLUS_VERSION ARG ASWF_MINIZIP_NG_VERSION +ARG ASWF_NANOBIND_VERSION ARG ASWF_BOOST_VERSION ARG ASWF_PYBIND11_VERSION ARG ASWF_NUMPY_VERSION @@ -139,6 +141,7 @@ LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION" LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION" LABEL io.aswf.docker.versions.log4cplus="$ASWF_LOG4CPLUS_VERSION" LABEL io.aswf.docker.versions.minizip-ng="$ASWF_MINIZIP_NG_VERSION" +LABEL io.aswf.docker.versions.nanobind="$ASWF_NANOBIND_VERSION" LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION" LABEL io.aswf.docker.versions.pybind11="$ASWF_PYBIND11_VERSION" LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" @@ -183,6 +186,7 @@ ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION ENV ASWF_LOG4CPLUS_VERSION=$ASWF_LOG4CPLUS_VERSION ENV ASWF_MINIZIP_NG_VERSION=$ASWF_MINIZIP_NG_VERSION +ENV ASWF_NANOBIND_VERSION=$ASWF_NANOBIND_VERSION ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION ENV ASWF_PYBIND11_VERSION=$ASWF_PYBIND11_VERSION ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION @@ -230,6 +234,7 @@ glew/${ASWF_GLEW_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} glfw/${ASWF_GLFW_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} log4cplus/${ASWF_LOG4CPLUS_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} minizip-ng/${ASWF_MINIZIP_NG_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} +nanobind/${ASWF_NANOBIND_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} boost/${ASWF_BOOST_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} pybind11/${ASWF_PYBIND11_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} EOF diff --git a/ci-base/README.md b/ci-base/README.md index 1686f550..e28f1ded 100644 --- a/ci-base/README.md +++ b/ci-base/README.md @@ -92,7 +92,7 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-base:2024.5](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2024.5) +## [aswf/ci-base:2024.6](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2024.6) Contains: * b2-5.2.1 @@ -118,12 +118,13 @@ Contains: * glew-2.2.0 * glfw-3.4 * log4cplus-2.1.2 +* nanobind-2.11.0 * boost-1.82.0 * pybind11-2.13.6 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-base:2025.4](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2025.4) +## [aswf/ci-base:2025.5](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2025.5) Contains: * b2-5.2.1 @@ -149,12 +150,13 @@ Contains: * glew-2.2.0 * glfw-3.4 * log4cplus-2.1.2 +* nanobind-2.11.0 * boost-1.85.0 * pybind11-2.13.6 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-base:2026.2](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2026.2) +## [aswf/ci-base:2026.3](https://hub.docker.com/r/aswf/ci-base/tags?page=1&name=2026.3) Contains: * b2-5.3.2 @@ -180,6 +182,7 @@ Contains: * glew-2.2.0 * glfw-3.4 * log4cplus-2.1.2 +* nanobind-2.11.0 * boost-1.88.0 * pybind11-2.13.6 * numpy-2.3.2 diff --git a/ci-base/image.yaml b/ci-base/image.yaml index 2a5efabe..c78b291b 100644 --- a/ci-base/image.yaml +++ b/ci-base/image.yaml @@ -30,6 +30,7 @@ packages: - glfw - log4cplus - minizip-ng + - nanobind - boost # base1-3 packages - pybind11 implicit_packages: diff --git a/ci-baseos-gl-conan/README.md b/ci-baseos-gl-conan/README.md index 08480661..221477c5 100644 --- a/ci-baseos-gl-conan/README.md +++ b/ci-baseos-gl-conan/README.md @@ -17,7 +17,7 @@ Contains: GCC and all base OS libraries [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-baseos-gl-conan/Dockerfile) -## [aswf/ci-baseos-gl-conan:4.5](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=4.5) +## [aswf/ci-baseos-gl-conan:4.6](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=4.6) Contains: * cuda-12.6.3 @@ -30,7 +30,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-baseos-gl-conan:5.4](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=5.4) +## [aswf/ci-baseos-gl-conan:5.5](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=5.5) Contains: * cuda-12.6.3 @@ -43,7 +43,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-baseos-gl-conan:6.2](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=6.2) +## [aswf/ci-baseos-gl-conan:6.3](https://hub.docker.com/r/aswf/ci-baseos-gl-conan/tags?page=1&name=6.3) Contains: * cuda-12.9.1 diff --git a/ci-baseqt/README.md b/ci-baseqt/README.md index 67eaa89c..80616702 100644 --- a/ci-baseqt/README.md +++ b/ci-baseqt/README.md @@ -102,7 +102,7 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-baseqt:2024.5](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2024.5) +## [aswf/ci-baseqt:2024.6](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2024.6) Contains: * b2-5.2.1 @@ -137,7 +137,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-baseqt:2025.4](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2025.4) +## [aswf/ci-baseqt:2025.5](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2025.5) Contains: * b2-5.2.1 @@ -172,7 +172,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-baseqt:2026.2](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2026.2) +## [aswf/ci-baseqt:2026.3](https://hub.docker.com/r/aswf/ci-baseqt/tags?page=1&name=2026.3) Contains: * b2-5.3.2 diff --git a/ci-common/README.md b/ci-common/README.md index 88da6dd5..0faf8942 100644 --- a/ci-common/README.md +++ b/ci-common/README.md @@ -160,7 +160,7 @@ Contains: * sonar-4.8.0.2856 * conan-1.58.0 -## [aswf/ci-common:3-clang15.2](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=3-clang15.2) +## [aswf/ci-common:3-clang15.](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=3-clang15.) Contains: * clang-15.0.7 @@ -173,7 +173,7 @@ Contains: * sonar-4.8.0.2856 * conan-1.58.0 -## [aswf/ci-common:4-clang16.5](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=4-clang16.5) +## [aswf/ci-common:4-clang16.6](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=4-clang16.6) Contains: * clang-16.0.6 @@ -188,7 +188,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-common:4-clang17.5](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=4-clang17.5) +## [aswf/ci-common:4-clang17.6](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=4-clang17.6) Contains: * clang-17.0.6 @@ -203,7 +203,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-common:5-clang18.4](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=5-clang18.4) +## [aswf/ci-common:5-clang18.5](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=5-clang18.5) Contains: * clang-18.1.8 @@ -218,7 +218,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-common:5-clang19.4](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=5-clang19.4) +## [aswf/ci-common:5-clang19.5](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=5-clang19.5) Contains: * clang-19.1.7 @@ -233,7 +233,7 @@ Contains: * conan-2.18.1 * yq-4.45.2 -## [aswf/ci-common:6-clang19.2](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=6-clang19.2) +## [aswf/ci-common:6-clang19.3](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=6-clang19.3) Contains: * clang-19.1.7 @@ -248,7 +248,7 @@ Contains: * conan-2.18.1 * yq-4.45.4 -## [aswf/ci-common:6-clang20.2](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=6-clang20.2) +## [aswf/ci-common:6-clang20.3](https://hub.docker.com/r/aswf/ci-common/tags?page=1&name=6-clang20.3) Contains: * clang-20.1.7 diff --git a/ci-imath/README.md b/ci-imath/README.md index 92562356..eb2190b5 100644 --- a/ci-imath/README.md +++ b/ci-imath/README.md @@ -18,21 +18,21 @@ Warning: this image does *not* contain Imath itself as it is used to *build* Ima [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-imath/Dockerfile) -## [aswf/ci-imath:2024.5](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2024.5) +## [aswf/ci-imath:2024.6](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2024.6) Contains: * imath-3.1.12 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-imath:2025.4](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2025.4) +## [aswf/ci-imath:2025.5](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2025.5) Contains: * imath-3.1.12 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-imath:2026.2](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2026.2) +## [aswf/ci-imath:2026.3](https://hub.docker.com/r/aswf/ci-imath/tags?page=1&name=2026.3) Contains: * imath-3.2.2 diff --git a/ci-materialx/README.md b/ci-materialx/README.md index 54e1ae78..f6537a50 100644 --- a/ci-materialx/README.md +++ b/ci-materialx/README.md @@ -32,24 +32,24 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-materialx:2024.5](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2024.5) +## [aswf/ci-materialx:2024.6](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2024.6) Contains: * materialx-1.39.1 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-materialx:2025.4](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2025.4) +## [aswf/ci-materialx:2025.5](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2025.5) Contains: * materialx-1.39.3 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-materialx:2026.2](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2026.2) +## [aswf/ci-materialx:2026.3](https://hub.docker.com/r/aswf/ci-materialx/tags?page=1&name=2026.3) Contains: -* materialx-1.39.3 +* materialx-1.39.4 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-ocio/README.md b/ci-ocio/README.md index 49a83ed2..cb1670f3 100644 --- a/ci-ocio/README.md +++ b/ci-ocio/README.md @@ -53,24 +53,24 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-ocio:2024.5](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2024.5) +## [aswf/ci-ocio:2024.6](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2024.6) Contains: * ocio-2.3.2 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-ocio:2025.4](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2025.4) +## [aswf/ci-ocio:2025.5](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2025.5) Contains: * ocio-2.4.2 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-ocio:2026.2](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2026.2) +## [aswf/ci-ocio:2026.3](https://hub.docker.com/r/aswf/ci-ocio/tags?page=1&name=2026.3) Contains: -* ocio-2.5.0 +* ocio-2.5.1 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-oiio/README.md b/ci-oiio/README.md index fcbac0e8..600541e4 100644 --- a/ci-oiio/README.md +++ b/ci-oiio/README.md @@ -18,24 +18,24 @@ Warning: this image does *not* contain OpenImageIO itself as it is used to *buil [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-oiio/Dockerfile) -## [aswf/ci-oiio:2024.5](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2024.5) +## [aswf/ci-oiio:2024.6](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2024.6) Contains: * oiio-2.5.19.0 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-oiio:2025.4](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2025.4) +## [aswf/ci-oiio:2025.5](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2025.5) Contains: * oiio-3.1.6.2 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-oiio:2026.2](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2026.2) +## [aswf/ci-oiio:2026.3](https://hub.docker.com/r/aswf/ci-oiio/tags?page=1&name=2026.3) Contains: -* oiio-3.1.6.2 +* oiio-3.1.10.0 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-opencue/README.md b/ci-opencue/README.md index 990c048e..23d44e3b 100644 --- a/ci-opencue/README.md +++ b/ci-opencue/README.md @@ -53,21 +53,21 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-opencue:2024.5](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2024.5) +## [aswf/ci-opencue:2024.6](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2024.6) Contains: * cpython-3.11.13 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-opencue:2025.4](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2025.4) +## [aswf/ci-opencue:2025.5](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2025.5) Contains: * cpython-3.11.13 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-opencue:2026.2](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2026.2) +## [aswf/ci-opencue:2026.3](https://hub.docker.com/r/aswf/ci-opencue/tags?page=1&name=2026.3) Contains: * cpython-3.13.3 diff --git a/ci-openexr/README.md b/ci-openexr/README.md index 9f7fc1ca..3de6df80 100644 --- a/ci-openexr/README.md +++ b/ci-openexr/README.md @@ -53,24 +53,24 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-openexr:2024.5](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2024.5) +## [aswf/ci-openexr:2024.6](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2024.6) Contains: * openexr-3.2.5 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-openexr:2025.4](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2025.4) +## [aswf/ci-openexr:2025.5](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2025.5) Contains: -* openexr-3.3.6 +* openexr-3.3.7 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-openexr:2026.2](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2026.2) +## [aswf/ci-openexr:2026.3](https://hub.docker.com/r/aswf/ci-openexr/tags?page=1&name=2026.3) Contains: -* openexr-3.4.3 +* openexr-3.4.5 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-openfx/README.md b/ci-openfx/README.md index 01f06247..aea97663 100644 --- a/ci-openfx/README.md +++ b/ci-openfx/README.md @@ -18,21 +18,21 @@ Warning: this image does *not* contain OpenFX itself as it is used to *build* Op [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-openfx/Dockerfile) -## [aswf/ci-openfx:2024.5](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2024.5) +## [aswf/ci-openfx:2024.6](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2024.6) Contains: * openfx-1.5s * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-openfx:2025.4](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2025.4) +## [aswf/ci-openfx:2025.5](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2025.5) Contains: * openfx-1.5s * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-openfx:2026.2](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2026.2) +## [aswf/ci-openfx:2026.3](https://hub.docker.com/r/aswf/ci-openfx/tags?page=1&name=2026.3) Contains: * openfx-1.5s diff --git a/ci-openrv/README.md b/ci-openrv/README.md index ed3c27c9..a03cb08e 100644 --- a/ci-openrv/README.md +++ b/ci-openrv/README.md @@ -18,7 +18,7 @@ Warning: this image does *not* contain OpenRV itself as it is used to *build* Op [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-openrv/Dockerfile) -## [aswf/ci-openrv:2024.5](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2024.5) +## [aswf/ci-openrv:2024.6](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2024.6) Contains: * cpython-3.11.13 @@ -27,7 +27,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-openrv:2025.4](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2025.4) +## [aswf/ci-openrv:2025.5](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2025.5) Contains: * cpython-3.11.13 @@ -36,7 +36,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-openrv:2026.2](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2026.2) +## [aswf/ci-openrv:2026.3](https://hub.docker.com/r/aswf/ci-openrv/tags?page=1&name=2026.3) Contains: * cpython-3.13.3 diff --git a/ci-openvdb/README.md b/ci-openvdb/README.md index b0c2bbf3..b816f7b2 100644 --- a/ci-openvdb/README.md +++ b/ci-openvdb/README.md @@ -122,7 +122,7 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-openvdb:2024-clang16.5](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2024-clang16.5) +## [aswf/ci-openvdb:2024-clang16.6](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2024-clang16.6) Contains: * openvdb-11.0.0 @@ -130,7 +130,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-openvdb:2024-clang17.5](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2024-clang17.5) +## [aswf/ci-openvdb:2024-clang17.6](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2024-clang17.6) Contains: * openvdb-11.0.0 @@ -138,7 +138,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-openvdb:2025-clang18.4](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang18.4) +## [aswf/ci-openvdb:2025-clang18.5](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang18.5) Contains: * openvdb-12.1.1 @@ -146,7 +146,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-openvdb:2025-clang19.4](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang19.4) +## [aswf/ci-openvdb:2025-clang19.5](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2025-clang19.5) Contains: * openvdb-12.1.1 @@ -154,7 +154,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-openvdb:2026-clang19.2](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang19.2) +## [aswf/ci-openvdb:2026-clang19.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang19.3) Contains: * openvdb-13.0.0 @@ -162,7 +162,7 @@ Contains: * numpy-2.3.2 * vfxplatform-2026 -## [aswf/ci-openvdb:2026-clang20.2](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang20.2) +## [aswf/ci-openvdb:2026-clang20.3](https://hub.docker.com/r/aswf/ci-openvdb/tags?page=1&name=2026-clang20.3) Contains: * openvdb-13.0.0 diff --git a/ci-osl/Dockerfile b/ci-osl/Dockerfile index 31208944..5461f9bf 100644 --- a/ci-osl/Dockerfile +++ b/ci-osl/Dockerfile @@ -16,21 +16,11 @@ ARG ASWF_CXX_STANDARD ARG ASWF_VFXPLATFORM_VERSION -ARG ASWF_CPYTHON_VERSION -ARG ASWF_FMT_VERSION -ARG ASWF_IMATH_VERSION -ARG ASWF_OIIO_VERSION -ARG ASWF_PARTIO_VERSION -ARG ASWF_PUGIXML_VERSION -ARG ASWF_PYBIND11_VERSION -ARG ASWF_QT_VERSION -ARG ASWF_TSL_ROBIN_MAP_VERSION -ARG ASWF_ZLIB_VERSION +ARG ASWF_OSL_VERSION ARG ASWF_CUDA_VERSION ARG ASWF_OPTIX_VERSION ARG ASWF_NUMPY_VERSION ARG ASWF_VFXPLATFORM_VERSION -ARG ASWF_OSL_VERSION @@ -50,21 +40,11 @@ ARG ASWF_CXX_STANDARD -ARG ASWF_CPYTHON_VERSION -ARG ASWF_FMT_VERSION -ARG ASWF_IMATH_VERSION -ARG ASWF_OIIO_VERSION -ARG ASWF_PARTIO_VERSION -ARG ASWF_PUGIXML_VERSION -ARG ASWF_PYBIND11_VERSION -ARG ASWF_QT_VERSION -ARG ASWF_TSL_ROBIN_MAP_VERSION -ARG ASWF_ZLIB_VERSION +ARG ASWF_OSL_VERSION ARG ASWF_CUDA_VERSION ARG ASWF_OPTIX_VERSION ARG ASWF_NUMPY_VERSION ARG ASWF_VFXPLATFORM_VERSION -ARG ASWF_OSL_VERSION LABEL org.opencontainers.image.name="$ASWF_ORG/ci-osl" @@ -81,16 +61,7 @@ LABEL org.opencontainers.image.version="${ASWF_VERSION}" LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}" -LABEL io.aswf.docker.versions.cpython="$ASWF_CPYTHON_VERSION" -LABEL io.aswf.docker.versions.fmt="$ASWF_FMT_VERSION" -LABEL io.aswf.docker.versions.imath="$ASWF_IMATH_VERSION" -LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION" -LABEL io.aswf.docker.versions.partio="$ASWF_PARTIO_VERSION" -LABEL io.aswf.docker.versions.pugixml="$ASWF_PUGIXML_VERSION" -LABEL io.aswf.docker.versions.pybind11="$ASWF_PYBIND11_VERSION" -LABEL io.aswf.docker.versions.qt="$ASWF_QT_VERSION" -LABEL io.aswf.docker.versions.tsl-robin-map="$ASWF_TSL_ROBIN_MAP_VERSION" -LABEL io.aswf.docker.versions.zlib="$ASWF_ZLIB_VERSION" +LABEL io.aswf.docker.versions.osl="$ASWF_OSL_VERSION" LABEL io.aswf.docker.versions.cuda="$ASWF_CUDA_VERSION" LABEL io.aswf.docker.versions.optix="$ASWF_OPTIX_VERSION" LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION" @@ -108,21 +79,11 @@ ENV ASWF_CXX_STANDARD=${ASWF_CXX_STANDARD} ENV ASWF_VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION} -ENV ASWF_CPYTHON_VERSION=$ASWF_CPYTHON_VERSION -ENV ASWF_FMT_VERSION=$ASWF_FMT_VERSION -ENV ASWF_IMATH_VERSION=$ASWF_IMATH_VERSION -ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION -ENV ASWF_PARTIO_VERSION=$ASWF_PARTIO_VERSION -ENV ASWF_PUGIXML_VERSION=$ASWF_PUGIXML_VERSION -ENV ASWF_PYBIND11_VERSION=$ASWF_PYBIND11_VERSION -ENV ASWF_QT_VERSION=$ASWF_QT_VERSION -ENV ASWF_TSL_ROBIN_MAP_VERSION=$ASWF_TSL_ROBIN_MAP_VERSION -ENV ASWF_ZLIB_VERSION=$ASWF_ZLIB_VERSION +ENV ASWF_OSL_VERSION=$ASWF_OSL_VERSION ENV ASWF_CUDA_VERSION=$ASWF_CUDA_VERSION ENV ASWF_OPTIX_VERSION=$ASWF_OPTIX_VERSION ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION -ENV ASWF_OSL_VERSION=$ASWF_OSL_VERSION COPY ci-osl/README.md ci-osl/image.yaml /usr/local/aswf/ @@ -141,16 +102,7 @@ COPY < . [requires] -cpython/${ASWF_CPYTHON_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -fmt/${ASWF_FMT_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -imath/${ASWF_IMATH_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -oiio/${ASWF_OIIO_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -partio/${ASWF_PARTIO_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -pugixml/${ASWF_PUGIXML_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -pybind11/${ASWF_PYBIND11_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -qt/${ASWF_QT_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -tsl-robin-map/${ASWF_TSL_ROBIN_MAP_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -zlib/${ASWF_ZLIB_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} +osl/${ASWF_OSL_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} EOF ENV CONAN_HOME=${ASWF_CONAN_HOME}/.conan2 diff --git a/ci-osl/README.md b/ci-osl/README.md index 7b16d5d6..d51e34ce 100644 --- a/ci-osl/README.md +++ b/ci-osl/README.md @@ -21,12 +21,7 @@ Warning: this image does *not* contain OpenShadingLanguage itself as it is used ## [aswf/ci-osl:2019-clang6.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang6.5) Contains: -* cpython-2.7.15 -* imath-2.3.0 -* oiio-2.0.8 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.9 * cuda-10.2 * optix-7.1.0 * numpy-1.14 @@ -35,12 +30,7 @@ Contains: ## [aswf/ci-osl:2019-clang7.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang7.5) Contains: -* cpython-2.7.15 -* imath-2.3.0 -* oiio-2.0.8 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.9 * cuda-10.2 * optix-7.1.0 * numpy-1.14 @@ -49,12 +39,7 @@ Contains: ## [aswf/ci-osl:2019-clang8.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang8.5) Contains: -* cpython-2.7.15 -* imath-2.3.0 -* oiio-2.0.8 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.9 * cuda-10.2 * optix-7.1.0 * numpy-1.14 @@ -63,12 +48,7 @@ Contains: ## [aswf/ci-osl:2019-clang9.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang9.5) Contains: -* cpython-2.7.15 -* imath-2.3.0 -* oiio-2.0.8 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.9 * cuda-10.2 * optix-7.1.0 * numpy-1.14 @@ -77,12 +57,7 @@ Contains: ## [aswf/ci-osl:2019-clang10.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2019-clang10.5) Contains: -* cpython-2.7.15 -* imath-2.3.0 -* oiio-2.0.8 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.9 * cuda-10.2 * optix-7.1.0 * numpy-1.14 @@ -91,12 +66,7 @@ Contains: ## [aswf/ci-osl:2020-clang7.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2020-clang7.5) Contains: -* cpython-3.7.3 -* imath-2.4.0 -* oiio-2.1.13.0 -* partio-1.10.1 -* pybind11-2.4.3 -* qt-5.12.6 +* osl-1.10.10 * cuda-10.2 * optix-7.1.0 * numpy-1.16 @@ -105,12 +75,7 @@ Contains: ## [aswf/ci-osl:2021-clang10.7](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang10.7) Contains: -* cpython-3.7.9 -* imath-2.5.5 -* oiio-2.2.14.0 -* partio-1.14.0 -* pybind11-2.6.2 -* qt-5.15.2 +* osl-1.11.13.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.19 @@ -119,12 +84,7 @@ Contains: ## [aswf/ci-osl:2021-clang11.7](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2021-clang11.7) Contains: -* cpython-3.7.9 -* imath-2.5.5 -* oiio-2.2.14.0 -* partio-1.14.0 -* pybind11-2.6.2 -* qt-5.15.2 +* osl-1.11.13.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.19 @@ -133,12 +93,7 @@ Contains: ## [aswf/ci-osl:2022-clang10.11](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2022-clang10.11) Contains: -* cpython-3.9.15 -* imath-3.1.5 -* oiio-2.4.5.0 -* partio-1.14.0 -* pybind11-2.8.1 -* qt-5.15.2 +* osl-1.12.7.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.20 @@ -147,12 +102,7 @@ Contains: ## [aswf/ci-osl:2022-clang11.11](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2022-clang11.11) Contains: -* cpython-3.9.15 -* imath-3.1.5 -* oiio-2.4.5.0 -* partio-1.14.0 -* pybind11-2.8.1 -* qt-5.15.2 +* osl-1.12.7.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.20 @@ -161,12 +111,7 @@ Contains: ## [aswf/ci-osl:2022-clang12.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2022-clang12.2) Contains: -* cpython-3.9.15 -* imath-3.1.5 -* oiio-2.4.5.0 -* partio-1.14.0 -* pybind11-2.8.1 -* qt-5.15.2 +* osl-1.12.7.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.20 @@ -175,12 +120,7 @@ Contains: ## [aswf/ci-osl:2022-clang13.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2022-clang13.2) Contains: -* cpython-3.9.15 -* imath-3.1.5 -* oiio-2.4.5.0 -* partio-1.14.0 -* pybind11-2.8.1 -* qt-5.15.2 +* osl-1.12.7.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.20 @@ -189,12 +129,7 @@ Contains: ## [aswf/ci-osl:2022-clang14.1](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2022-clang14.1) Contains: -* cpython-3.9.15 -* imath-3.1.5 -* oiio-2.4.5.0 -* partio-1.14.0 -* pybind11-2.8.1 -* qt-5.15.2 +* osl-1.12.7.0 * cuda-11.4.0 * optix-7.2.0 * numpy-1.20 @@ -203,12 +138,7 @@ Contains: ## [aswf/ci-osl:2023-clang14.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2023-clang14.2) Contains: -* cpython-3.10.11 -* imath-3.1.9 -* oiio-2.4.13.0 -* partio-1.17.1 -* pybind11-2.9.2 -* qt-5.15.9 +* osl-1.12.13.0 * cuda-11.8.0 * optix-7.7.0 * numpy-1.23.5 @@ -217,114 +147,61 @@ Contains: ## [aswf/ci-osl:2023-clang15.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2023-clang15.2) Contains: -* cpython-3.10.11 -* imath-3.1.9 -* oiio-2.4.13.0 -* partio-1.17.1 -* pybind11-2.9.2 -* qt-5.15.9 +* osl-1.12.13.0 * cuda-11.8.0 * optix-7.7.0 * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-osl:2024-clang16.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2024-clang16.5) +## [aswf/ci-osl:2024-clang16.6](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2024-clang16.6) Contains: -* cpython-3.11.13 -* fmt-11.2.0 -* imath-3.1.12 -* oiio-2.5.19.0 -* partio-1.19.0 -* pugixml-1.14 -* pybind11-2.13.6 -* qt-6.5.6 -* zlib-1.3.1 +* osl-1.13.11.0 * cuda-12.6.3 * optix-8.0.0 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-osl:2024-clang17.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2024-clang17.5) +## [aswf/ci-osl:2024-clang17.6](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2024-clang17.6) Contains: -* cpython-3.11.13 -* fmt-11.2.0 -* imath-3.1.12 -* oiio-2.5.19.0 -* partio-1.19.0 -* pugixml-1.14 -* pybind11-2.13.6 -* qt-6.5.6 -* zlib-1.3.1 +* osl-1.13.11.0 * cuda-12.6.3 * optix-8.0.0 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-osl:2025-clang18.4](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2025-clang18.4) +## [aswf/ci-osl:2025-clang18.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2025-clang18.5) Contains: -* cpython-3.11.13 -* fmt-11.2.0 -* imath-3.1.12 -* oiio-3.1.6.2 -* partio-1.19.0 -* pugixml-1.14 -* pybind11-2.13.6 -* qt-6.5.6 -* zlib-1.3.1 +* osl-1.14.7.0 * cuda-12.6.3 * optix-8.0.0 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-osl:2025-clang19.4](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2025-clang19.4) +## [aswf/ci-osl:2025-clang19.5](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2025-clang19.5) Contains: -* cpython-3.11.13 -* fmt-11.2.0 -* imath-3.1.12 -* oiio-3.1.6.2 -* partio-1.19.0 -* pugixml-1.14 -* pybind11-2.13.6 -* qt-6.5.6 -* zlib-1.3.1 +* osl-1.14.7.0 * cuda-12.6.3 * optix-8.0.0 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-osl:2026-clang19.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2026-clang19.2) +## [aswf/ci-osl:2026-clang19.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2026-clang19.3) Contains: -* cpython-3.13.3 -* fmt-11.2.0 -* imath-3.2.2 -* oiio-3.1.6.2 -* partio-1.19.0 -* pugixml-1.15 -* pybind11-2.13.6 -* qt-6.8.3 -* zlib-1.3.1 +* osl-1.15.1.0 * cuda-12.9.1 * optix-8.0.0 * numpy-2.3.2 * vfxplatform-2026 -## [aswf/ci-osl:2026-clang20.2](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2026-clang20.2) +## [aswf/ci-osl:2026-clang20.3](https://hub.docker.com/r/aswf/ci-osl/tags?page=1&name=2026-clang20.3) Contains: -* cpython-3.13.3 -* fmt-11.2.0 -* imath-3.2.2 -* oiio-3.1.6.2 -* partio-1.19.0 -* pugixml-1.15 -* pybind11-2.13.6 -* qt-6.8.3 -* zlib-1.3.1 +* osl-1.15.1.0 * cuda-12.9.1 * optix-8.0.0 * numpy-2.3.2 diff --git a/ci-osl/image.yaml b/ci-osl/image.yaml index 039ebfdb..3c0ddc6e 100644 --- a/ci-osl/image.yaml +++ b/ci-osl/image.yaml @@ -4,16 +4,7 @@ description: | Contains: Python, Boost, Qt, OpenEXR, OpenImageIO, Partio and other OpenShadingLanguage upstream dependencies Warning: this image does *not* contain OpenShadingLanguage itself as it is used to *build* OpenShadingLanguage! packages: - - cpython - - fmt - - imath - - oiio - - partio - - pugixml - - pybind11 - - qt - - tsl-robin-map - - zlib + - osl # all dependencies will be installed except osl itself implicit_packages: - cuda - optix diff --git a/ci-otio/README.md b/ci-otio/README.md index 85848b8a..abcb0181 100644 --- a/ci-otio/README.md +++ b/ci-otio/README.md @@ -108,7 +108,7 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-otio:2024.5](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2024.5) +## [aswf/ci-otio:2024.6](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2024.6) Contains: * b2-5.2.1 @@ -143,7 +143,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-otio:2025.4](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2025.4) +## [aswf/ci-otio:2025.5](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2025.5) Contains: * b2-5.2.1 @@ -178,7 +178,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-otio:2026.2](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2026.2) +## [aswf/ci-otio:2026.3](https://hub.docker.com/r/aswf/ci-otio/tags?page=1&name=2026.3) Contains: * b2-5.3.2 diff --git a/ci-rawtoaces/README.md b/ci-rawtoaces/README.md index c54b6a45..e39cb18b 100644 --- a/ci-rawtoaces/README.md +++ b/ci-rawtoaces/README.md @@ -18,24 +18,24 @@ Warning: this image does *not* contain rawtoaces itself as it is used to *build* [Docker Image Source](https://github.com/AcademySoftwareFoundation/aswf-docker/blob/main/ci-rawtoaces/Dockerfile) -## [aswf/ci-rawtoaces:2024.5](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2024.5) +## [aswf/ci-rawtoaces:2024.6](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2024.6) Contains: * rawtoaces-1.1.0 * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-rawtoaces:2025.4](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2025.4) +## [aswf/ci-rawtoaces:2025.5](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2025.5) Contains: * rawtoaces-1.1.0 * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-rawtoaces:2026.2](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2026.2) +## [aswf/ci-rawtoaces:2026.3](https://hub.docker.com/r/aswf/ci-rawtoaces/tags?page=1&name=2026.3) Contains: -* rawtoaces-1.1.0 +* rawtoaces-2.0.0 * numpy-2.3.2 * vfxplatform-2026 diff --git a/ci-usd/README.md b/ci-usd/README.md index 641e0130..0a669635 100644 --- a/ci-usd/README.md +++ b/ci-usd/README.md @@ -150,7 +150,7 @@ Contains: * hdf5-1.8.23 * vfxplatform-2023 -## [aswf/ci-usd:2024.5](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2024.5) +## [aswf/ci-usd:2024.6](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2024.6) Contains: * b2-5.2.1 @@ -198,7 +198,7 @@ Contains: * hdf5-1.14.6 * vfxplatform-2024 -## [aswf/ci-usd:2025.4](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2025.4) +## [aswf/ci-usd:2025.5](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2025.5) Contains: * b2-5.2.1 @@ -237,7 +237,7 @@ Contains: * partio-1.19.0 * ptex-2.4.3 * libjxl-0.11.1 -* openexr-3.3.6 +* openexr-3.3.7 * alembic-1.8.8 * ocio-2.4.2 * oiio-3.1.6.2 @@ -246,7 +246,7 @@ Contains: * hdf5-1.14.6 * vfxplatform-2025 -## [aswf/ci-usd:2026.2](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2026.2) +## [aswf/ci-usd:2026.3](https://hub.docker.com/r/aswf/ci-usd/tags?page=1&name=2026.3) Contains: * b2-5.3.2 @@ -281,15 +281,15 @@ Contains: * imath-3.2.2 * lcms-2.17 * libultrahdr-1.4.0 -* opensubdiv-3.6.1 +* opensubdiv-3.7.0 * partio-1.19.0 * ptex-2.4.3 * libjxl-0.11.1 -* openexr-3.4.3 -* alembic-1.8.8 -* ocio-2.5.0 -* oiio-3.1.6.2 -* materialx-1.39.3 +* openexr-3.4.5 +* alembic-1.8.10 +* ocio-2.5.1 +* oiio-3.1.10.0 +* materialx-1.39.4 * numpy-2.3.2 * hdf5-1.14.6 * vfxplatform-2026 diff --git a/ci-vfxall/Dockerfile b/ci-vfxall/Dockerfile index 11e2cbf0..83a73390 100644 --- a/ci-vfxall/Dockerfile +++ b/ci-vfxall/Dockerfile @@ -45,7 +45,6 @@ ARG ASWF_VFXPLATFORM_VERSION # Comment out this block to use Conan packages FROM ${ASWF_PKG_ORG}/ci-package-usd:$ASWF_VFXPLATFORM_VERSION-$ASWF_USD_VERSION AS ci-package-usd -FROM ${ASWF_PKG_ORG}/ci-package-osl:$ASWF_VFXPLATFORM_VERSION-$ASWF_OSL_VERSION AS ci-package-osl FROM ${ASWF_PKG_ORG}/ci-package-otio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OTIO_VERSION AS ci-package-otio FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} AS ci-vfxall @@ -161,7 +160,6 @@ ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION COPY --from=ci-package-usd /. /usr/local/ -COPY --from=ci-package-osl /. /usr/local/ COPY --from=ci-package-otio /. /usr/local/ COPY ci-vfxall/README.md ci-vfxall/image.yaml /usr/local/aswf/ @@ -195,7 +193,7 @@ openfx/${ASWF_OPENFX_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} openvdb/${ASWF_OPENVDB_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} materialx/${ASWF_MATERIALX_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} # usd/${ASWF_USD_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} -# osl/${ASWF_OSL_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} +osl/${ASWF_OSL_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} # otio/${ASWF_OTIO_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} rawtoaces/${ASWF_RAWTOACES_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL} EOF diff --git a/ci-vfxall/README.md b/ci-vfxall/README.md index 5715d78f..0768748d 100644 --- a/ci-vfxall/README.md +++ b/ci-vfxall/README.md @@ -323,7 +323,7 @@ Contains: * numpy-1.23.5 * vfxplatform-2023 -## [aswf/ci-vfxall:2024-clang16.5](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2024-clang16.5) +## [aswf/ci-vfxall:2024-clang16.6](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2024-clang16.6) Contains: * cppunit-1.15.1 @@ -350,7 +350,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-vfxall:2024-clang17.5](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2024-clang17.5) +## [aswf/ci-vfxall:2024-clang17.6](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2024-clang17.6) Contains: * cppunit-1.15.1 @@ -377,7 +377,7 @@ Contains: * numpy-1.24.3 * vfxplatform-2024 -## [aswf/ci-vfxall:2025-clang18.4](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2025-clang18.4) +## [aswf/ci-vfxall:2025-clang18.5](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2025-clang18.5) Contains: * cppunit-1.15.1 @@ -391,7 +391,7 @@ Contains: * partio-1.19.0 * alembic-1.8.8 * imath-3.1.12 -* openexr-3.3.6 +* openexr-3.3.7 * oiio-3.1.6.2 * ocio-2.4.2 * openfx-1.5s @@ -404,7 +404,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-vfxall:2025-clang19.4](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2025-clang19.4) +## [aswf/ci-vfxall:2025-clang19.5](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2025-clang19.5) Contains: * cppunit-1.15.1 @@ -418,7 +418,7 @@ Contains: * partio-1.19.0 * alembic-1.8.8 * imath-3.1.12 -* openexr-3.3.6 +* openexr-3.3.7 * oiio-3.1.6.2 * ocio-2.4.2 * openfx-1.5s @@ -431,7 +431,7 @@ Contains: * numpy-1.26.4 * vfxplatform-2025 -## [aswf/ci-vfxall:2026-clang19.2](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2026-clang19.2) +## [aswf/ci-vfxall:2026-clang19.3](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2026-clang19.3) Contains: * cppunit-1.15.1 @@ -441,24 +441,24 @@ Contains: * log4cplus-2.1.2 * qt-6.8.3 * pyside-6.8.3 -* opensubdiv-3.6.1 +* opensubdiv-3.7.0 * partio-1.19.0 -* alembic-1.8.8 +* alembic-1.8.10 * imath-3.2.2 -* openexr-3.4.3 -* oiio-3.1.6.2 -* ocio-2.5.0 +* openexr-3.4.5 +* oiio-3.1.10.0 +* ocio-2.5.1 * openfx-1.5s * openvdb-13.0.0 -* materialx-1.39.3 +* materialx-1.39.4 * usd-25.08 -* osl-1.14.7.0 +* osl-1.15.1.0 * otio-0.17.0 -* rawtoaces-1.1.0 +* rawtoaces-2.0.0 * numpy-2.3.2 * vfxplatform-2026 -## [aswf/ci-vfxall:2026-clang20.2](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2026-clang20.2) +## [aswf/ci-vfxall:2026-clang20.3](https://hub.docker.com/r/aswf/ci-vfxall/tags?page=1&name=2026-clang20.3) Contains: * cppunit-1.15.1 @@ -468,20 +468,20 @@ Contains: * log4cplus-2.1.2 * qt-6.8.3 * pyside-6.8.3 -* opensubdiv-3.6.1 +* opensubdiv-3.7.0 * partio-1.19.0 -* alembic-1.8.8 +* alembic-1.8.10 * imath-3.2.2 -* openexr-3.4.3 -* oiio-3.1.6.2 -* ocio-2.5.0 +* openexr-3.4.5 +* oiio-3.1.10.0 +* ocio-2.5.1 * openfx-1.5s * openvdb-13.0.0 -* materialx-1.39.3 +* materialx-1.39.4 * usd-25.08 -* osl-1.14.7.0 +* osl-1.15.1.0 * otio-0.17.0 -* rawtoaces-1.1.0 +* rawtoaces-2.0.0 * numpy-2.3.2 * vfxplatform-2026 diff --git a/packages/conan/recipes/alembic/conandata.yml b/packages/conan/recipes/alembic/conandata.yml index 641e7133..1d871fb5 100644 --- a/packages/conan/recipes/alembic/conandata.yml +++ b/packages/conan/recipes/alembic/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/alembic/all/conandata.yml sources: + "1.8.10": + url: "https://github.com/alembic/alembic/archive/1.8.10.tar.gz" + sha256: "06c9172faf29e9fdebb7be99621ca18b32b474f8e481238a159c87d16b298553" "1.8.8": url: "https://github.com/alembic/alembic/archive/1.8.8.tar.gz" sha256: "ba1f34544608ef7d3f68cafea946ec9cc84792ddf9cda3e8d5590821df71f6c6" @@ -24,6 +27,10 @@ sources: url: "https://github.com/alembic/alembic/archive/refs/tags/1.8.2.tar.gz" sha256: "3f1c466ee1600578689b32b1f2587066d3259704ec7ed1fcf80c324d01274f48" patches: + "1.8.10": + - patch_file: "patches/1.8.10-0001-fix-cmake.patch" + patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" + patch_type: "conan" "1.8.8": - patch_file: "patches/1.8.8-0001-fix-cmake.patch" patch_description: "CMake: fix install layout, don't link directly to zlib if hdf5, relocatable shared lib for macOS" diff --git a/packages/conan/recipes/alembic/patches/1.8.10-0001-fix-cmake.patch b/packages/conan/recipes/alembic/patches/1.8.10-0001-fix-cmake.patch new file mode 100644 index 00000000..60c76133 --- /dev/null +++ b/packages/conan/recipes/alembic/patches/1.8.10-0001-fix-cmake.patch @@ -0,0 +1,28 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -214,7 +214,6 @@ + + # HDF5 + IF (USE_HDF5) +- FIND_PACKAGE(ZLIB REQUIRED) + SET(ALEMBIC_WITH_HDF5 "1") + INCLUDE("./cmake/AlembicHDF5.cmake") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DH5_USE_18_API") +--- a/lib/Alembic/CMakeLists.txt ++++ b/lib/Alembic/CMakeLists.txt +@@ -69,13 +69,12 @@ + + + TARGET_LINK_LIBRARIES(Alembic +- LINK_PUBLIC ++ PUBLIC + Imath::Imath + ${CMAKE_THREAD_LIBS_INIT} + ${EXTERNAL_MATH_LIBS} +- LINK_PRIVATE ++ PRIVATE + ${HDF5_LIBRARIES} +- ${ZLIB_LIBRARY} + ) + + INSTALL(TARGETS Alembic diff --git a/packages/conan/recipes/boost/conandata.yml b/packages/conan/recipes/boost/conandata.yml index fb24d85c..f38d5261 100644 --- a/packages/conan/recipes/boost/conandata.yml +++ b/packages/conan/recipes/boost/conandata.yml @@ -2,44 +2,101 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/22dfbd2b42eed730eca55e14025e8ffa65f723b2/recipes/boost/all/conandata.yml +# From: https://github.com/conan-io/conan-center-index/blob/bd0d8f78f4c7b6a32e7e57bf7b4142face3354b2/recipes/boost/all/conandata.yml sources: + "1.89.0": + url: + - "https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.89.0/boost_1_89_0.tar.bz2" + sha256: "85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a" "1.88.0": - url: "https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.88.0/boost_1_88_0.tar.bz2" sha256: "46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b" "1.87.0": - url: "https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.87.0/boost_1_87_0.tar.bz2" sha256: "af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89" "1.86.0": - url: "https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2" sha256: "1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b" "1.85.0": - url: "https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.85.0/boost_1_85_0.tar.bz2" sha256: "7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617" + "1.84.0": + url: + - "https://archives.boost.io/release/1.84.0/source/boost_1_84_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.84.0/boost_1_84_0.tar.bz2" + sha256: "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454" + "1.83.0": + url: + - "https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2" + sha256: "6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e" "1.82.0": - url: "https://archives.boost.io/release/1.82.0/source/boost_1_82_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.82.0/source/boost_1_82_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.82.0/boost_1_82_0.tar.bz2" sha256: "a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6" + "1.81.0": + url: + - "https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.81.0/boost_1_81_0.tar.bz2" + sha256: "71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa" "1.80.0": - url: "https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.80.0/boost_1_80_0.tar.bz2" sha256: "1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0" + "1.79.0": + url: + - "https://archives.boost.io/release/1.79.0/source/boost_1_79_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.79.0/boost_1_79_0.tar.bz2" + sha256: "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39" + "1.78.0": + url: + - "https://archives.boost.io/release/1.78.0/source/boost_1_78_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.78.0/boost_1_78_0.tar.bz2" + sha256: "8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc" "1.76.0": - url: "https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2" sha256: "f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41" "1.73.0": - url: "https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.73.0/boost_1_73_0.tar.bz2" sha256: "4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402" "1.70.0": - url: "https://archives.boost.io/release/1.70.0/source/boost_1_70_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.70.0/source/boost_1_70_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.bz2" sha256: "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778" "1.66.0": - url: "https://archives.boost.io/release/1.66.0/source/boost_1_66_0.tar.bz2" + url: + - "https://archives.boost.io/release/1.66.0/source/boost_1_66_0.tar.bz2" + - "https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.bz2" sha256: "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9" patches: + "1.89.0": + - patch_file: "patches/1.88.0-locale-iconv-library-option.patch" + patch_description: "Optional flag to specify iconv from either libc of libiconv" + patch_type: "conan" "1.88.0": - patch_file: "patches/1.88.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" patch_type: "conan" + - patch_file: "patches/1.88.0-python-no-graph.patch" + patch_description: "Remove spurious dependency of libboost_python on libboost_graph" + patch_type: "conan" "1.87.0": - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" diff --git a/packages/conan/recipes/boost/conanfile.py b/packages/conan/recipes/boost/conanfile.py index 26004049..7e46072c 100644 --- a/packages/conan/recipes/boost/conanfile.py +++ b/packages/conan/recipes/boost/conanfile.py @@ -2,7 +2,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/2858fecda521cbf5d21aace586bc5b5b2ea55f23/recipes/boost/all/conanfile.py +# From: https://github.com/conan-io/conan-center-index/blob/8ac58f85fed5418f986bd1021b4952bcd56d16e5/recipes/boost/all/conanfile.py from conan import ConanFile from conan.errors import ConanException, ConanInvalidConfiguration @@ -705,6 +705,8 @@ def _cxx11_boost_libraries(self): libraries.append("thread") if Version(self.version) >= "1.85.0": libraries.append("system") + if Version(self.version) >= "1.89.0": + libraries.append("atomic") libraries.sort() return list(filter(lambda library: f"without_{library}" in self.options, libraries)) @@ -856,6 +858,8 @@ def package_id(self): del self.info.options.python_executable # PATH to the interpreter is not important, only version matters if self.info.options.without_python: del self.info.options.python_version + if Version(self.version) >= "1.89.0": + del self.info.options.system_use_utf8 def build_requirements(self): if not self.options.header_only: @@ -1223,7 +1227,7 @@ def _b2_os(self): @property def _b2_address_model(self): - if self.settings.arch in ("x86_64", "ppc64", "ppc64le", "mips64", "armv8", "armv8.3", "sparcv9", "s390x", "riscv64"): + if self.settings.arch in ("x86_64", "ppc64", "ppc64le", "mips64", "armv8", "armv8.3", "sparcv9", "s390x", "riscv64", "wasm64"): return "64" return "32" @@ -1492,11 +1496,13 @@ def add_defines(library): if self.options.extra_b2_flags: flags.extend(shlex.split(str(self.options.extra_b2_flags))) + njobs = build_jobs(self) + njobs = f"-j{njobs}" if njobs else "" # boost.build doesn't take -j0 as valid flags.extend([ "install", f"--prefix={self.package_folder}", f"--libdir={self.package_folder}/lib", - f"-j{build_jobs(self)}", + njobs, "--abbreviate-paths", f"-d{self.options.debug_level}", ]) @@ -1677,7 +1683,7 @@ def _toolset(self): return "clang-win" if self.settings.compiler.get_safe("toolset") == "ClangCL" else "msvc" if self.settings.os == "Windows" and self.settings.compiler == "clang": return "clang-win" - if self.settings.os == "Emscripten" and self.settings.compiler == "clang": + if self.settings.os == "Emscripten" and self.settings.compiler in ("clang", "emcc"): return "emscripten" if self.settings.compiler == "gcc" and is_apple_os(self): return "darwin" @@ -1788,7 +1794,7 @@ def _option_to_conan_requirement(name): return { "lzma": "xz_utils", "iconv": "libiconv", - "cpython": None, # FIXME: change to cpython when it becomes available ASWF package now called cpython + "python": "cpython", # FIXME: change to cpython when it becomes available ASWF package now called cpython }.get(name, name) def package_info(self): @@ -2119,12 +2125,15 @@ def filter_transform_module_libraries(names): # we already figured out the python version with _detect_python_version() # pyversion = Version(self._python_version) pyversion = Version(self.options.python_version) - # ASWF: Python package is called cpython - self.cpp_info.components[f"python{pyversion.major}{pyversion.minor}"].requires = ["cpython::cpython"] + python_versioned_component_name = f"python{pyversion.major}{pyversion.minor}" + self.cpp_info.components[python_versioned_component_name].requires = ["python"] + self.cpp_info.components[python_versioned_component_name].set_property("cmake_target_name", "Boost::" + python_versioned_component_name) if not self._shared: self.cpp_info.components["python"].defines.append("BOOST_PYTHON_STATIC_LIB") - self.cpp_info.components[f"numpy{pyversion.major}{pyversion.minor}"].requires = ["numpy"] + numpy_versioned_component_name = f"numpy{pyversion.major}{pyversion.minor}" + self.cpp_info.components[numpy_versioned_component_name].requires = ["numpy"] + self.cpp_info.components[numpy_versioned_component_name].set_property("cmake_target_name", "Boost::" + numpy_versioned_component_name) if not self.options.get_safe("without_process"): if self.settings.os == "Windows": diff --git a/packages/conan/recipes/boost/dependencies/dependencies-1.82.0.yml b/packages/conan/recipes/boost/dependencies/dependencies-1.82.0.yml index 27483b20..02d6958c 100644 --- a/packages/conan/recipes/boost/dependencies/dependencies-1.82.0.yml +++ b/packages/conan/recipes/boost/dependencies/dependencies-1.82.0.yml @@ -111,9 +111,7 @@ dependencies: prg_exec_monitor: - test program_options: [] - python: - - graph - - container + python: [] random: - system regex: [] @@ -271,7 +269,7 @@ requirements: - iconv - icu python: - - cpython + - python regex: - icu stacktrace: diff --git a/packages/conan/recipes/boost/dependencies/dependencies-1.85.0.yml b/packages/conan/recipes/boost/dependencies/dependencies-1.85.0.yml index f4b72142..4844efd2 100644 --- a/packages/conan/recipes/boost/dependencies/dependencies-1.85.0.yml +++ b/packages/conan/recipes/boost/dependencies/dependencies-1.85.0.yml @@ -116,9 +116,7 @@ dependencies: prg_exec_monitor: - test program_options: [] - python: - - graph - - container + python: [] random: - system regex: [] diff --git a/packages/conan/recipes/boost/dependencies/dependencies-1.87.0.yml b/packages/conan/recipes/boost/dependencies/dependencies-1.87.0.yml new file mode 100644 index 00000000..a053379b --- /dev/null +++ b/packages/conan/recipes/boost/dependencies/dependencies-1.87.0.yml @@ -0,0 +1,299 @@ +configure_options: +- atomic +- charconv +- chrono +- cobalt +- container +- context +- contract +- coroutine +- date_time +- exception +- fiber +- filesystem +- graph +- graph_parallel +- iostreams +- json +- locale +- log +- math +- mpi +- nowide +- process +- program_options +- python +- random +- regex +- serialization +- stacktrace +- system +- test +- thread +- timer +- type_erasure +- url +- wave +dependencies: + atomic: [] + charconv: [] + chrono: + - system + cobalt: + - container + - context + - system + container: [] + context: [] + contract: + - exception + - thread + coroutine: + - context + - exception + - system + date_time: [] + exception: [] + fiber: + - context + - filesystem + fiber_numa: + - fiber + filesystem: + - atomic + - system + graph: + - math + - random + - regex + - serialization + graph_parallel: + - filesystem + - graph + - mpi + - random + - serialization + iostreams: + - random + - regex + json: + - container + - system + locale: + - thread + log: + - atomic + - date_time + - exception + - filesystem + - random + - regex + - system + - thread + log_setup: + - log + math: [] + math_c99: + - math + math_c99f: + - math + math_c99l: + - math + math_tr1: + - math + math_tr1f: + - math + math_tr1l: + - math + mpi: + - graph + - serialization + mpi_python: + - mpi + - python + nowide: + - filesystem + numpy: + - python + prg_exec_monitor: + - test + process: + - filesystem + - system + - context + program_options: [] + python: [] + random: + - system + regex: [] + serialization: [] + stacktrace: [] + stacktrace_addr2line: + - stacktrace + stacktrace_backtrace: + - stacktrace + stacktrace_basic: + - stacktrace + stacktrace_from_exception: + - stacktrace + stacktrace_noop: + - stacktrace + stacktrace_windbg: + - stacktrace + stacktrace_windbg_cached: + - stacktrace + system: [] + test: + - exception + test_exec_monitor: + - test + thread: + - atomic + - chrono + - container + - date_time + - exception + - system + timer: [] + type_erasure: + - thread + unit_test_framework: + - prg_exec_monitor + - test + - test_exec_monitor + url: + - system + wave: + - filesystem + - serialization + wserialization: + - serialization +libs: + atomic: + - boost_atomic + charconv: + - boost_charconv + chrono: + - boost_chrono + cobalt: + - boost_cobalt + container: + - boost_container + context: + - boost_context + contract: + - boost_contract + coroutine: + - boost_coroutine + date_time: + - boost_date_time + exception: + - boost_exception + fiber: + - boost_fiber + fiber_numa: + - boost_fiber_numa + filesystem: + - boost_filesystem + graph: + - boost_graph + graph_parallel: + - boost_graph_parallel + iostreams: + - boost_iostreams + json: + - boost_json + locale: + - boost_locale + log: + - boost_log + log_setup: + - boost_log_setup + math: [] + math_c99: + - boost_math_c99 + math_c99f: + - boost_math_c99f + math_c99l: + - boost_math_c99l + math_tr1: + - boost_math_tr1 + math_tr1f: + - boost_math_tr1f + math_tr1l: + - boost_math_tr1l + mpi: + - boost_mpi + mpi_python: + - boost_mpi_python + nowide: + - boost_nowide + numpy: + - boost_numpy{py_major}{py_minor} + prg_exec_monitor: + - boost_prg_exec_monitor + process: + - boost_process + program_options: + - boost_program_options + python: + - boost_python{py_major}{py_minor} + random: + - boost_random + regex: + - boost_regex + serialization: + - boost_serialization + stacktrace: [] + stacktrace_addr2line: + - boost_stacktrace_addr2line + stacktrace_backtrace: + - boost_stacktrace_backtrace + stacktrace_basic: + - boost_stacktrace_basic + stacktrace_from_exception: + - boost_stacktrace_from_exception + stacktrace_noop: + - boost_stacktrace_noop + stacktrace_windbg: + - boost_stacktrace_windbg + stacktrace_windbg_cached: + - boost_stacktrace_windbg_cached + system: + - boost_system + test: [] + test_exec_monitor: + - boost_test_exec_monitor + thread: + - boost_thread + timer: + - boost_timer + type_erasure: + - boost_type_erasure + unit_test_framework: + - boost_unit_test_framework + url: + - boost_url + wave: + - boost_wave + wserialization: + - boost_wserialization +requirements: + iostreams: + - bzip2 + - lzma + - zlib + - zstd + locale: + - iconv + - icu + python: + - cpython + regex: + - icu + stacktrace: + - backtrace +static_only: +- boost_exception +- boost_test_exec_monitor +version: 1.87.0 diff --git a/packages/conan/recipes/boost/dependencies/dependencies-1.88.0.yml b/packages/conan/recipes/boost/dependencies/dependencies-1.88.0.yml index 708441d6..26b2f1ee 100644 --- a/packages/conan/recipes/boost/dependencies/dependencies-1.88.0.yml +++ b/packages/conan/recipes/boost/dependencies/dependencies-1.88.0.yml @@ -123,9 +123,7 @@ dependencies: - system - context program_options: [] - python: - - graph - - container + python: [] random: - system regex: [] @@ -291,7 +289,7 @@ requirements: - iconv - icu python: - - cpython + - python regex: - icu stacktrace: diff --git a/packages/conan/recipes/boost/dependencies/dependencies-1.89.0.yml b/packages/conan/recipes/boost/dependencies/dependencies-1.89.0.yml new file mode 100644 index 00000000..0b068601 --- /dev/null +++ b/packages/conan/recipes/boost/dependencies/dependencies-1.89.0.yml @@ -0,0 +1,289 @@ +configure_options: +- atomic +- charconv +- chrono +- cobalt +- container +- context +- contract +- coroutine +- date_time +- exception +- fiber +- filesystem +- graph +- graph_parallel +- iostreams +- json +- locale +- log +- math +- mpi +- nowide +- process +- program_options +- python +- random +- regex +- serialization +- stacktrace +- test +- thread +- timer +- type_erasure +- url +- wave +dependencies: + atomic: [] + charconv: [] + chrono: [] + cobalt: + - container + - context + cobalt_io: + - cobalt + container: [] + context: [] + contract: + - exception + - thread + coroutine: + - context + - exception + date_time: [] + exception: [] + fiber: + - context + - filesystem + fiber_numa: + - fiber + filesystem: + - atomic + graph: + - math + - random + - regex + - serialization + graph_parallel: + - filesystem + - graph + - mpi + - random + - serialization + iostreams: + - random + - regex + json: + - container + locale: + - charconv + - thread + log: + - atomic + - date_time + - exception + - filesystem + - regex + - thread + log_setup: + - log + math: [] + math_c99: + - math + math_c99f: + - math + math_c99l: + - math + math_tr1: + - math + math_tr1f: + - math + math_tr1l: + - math + mpi: + - graph + - serialization + mpi_python: + - mpi + - python + nowide: + - filesystem + numpy: + - python + prg_exec_monitor: + - test + process: + - filesystem + - context + program_options: [] + python: [] + random: [] + regex: [] + serialization: [] + stacktrace: [] + stacktrace_addr2line: + - stacktrace + stacktrace_backtrace: + - stacktrace + stacktrace_basic: + - stacktrace + stacktrace_from_exception: + - stacktrace + stacktrace_noop: + - stacktrace + stacktrace_windbg: + - stacktrace + stacktrace_windbg_cached: + - stacktrace + test: + - exception + test_exec_monitor: + - test + thread: + - atomic + - chrono + - container + - date_time + - exception + timer: [] + type_erasure: + - thread + unit_test_framework: + - prg_exec_monitor + - test + - test_exec_monitor + url: [] + wave: + - filesystem + - serialization + wserialization: + - serialization +libs: + atomic: + - boost_atomic + charconv: + - boost_charconv + chrono: + - boost_chrono + cobalt: + - boost_cobalt + cobalt_io: + - boost_cobalt_io + container: + - boost_container + context: + - boost_context + contract: + - boost_contract + coroutine: + - boost_coroutine + date_time: + - boost_date_time + exception: + - boost_exception + fiber: + - boost_fiber + fiber_numa: + - boost_fiber_numa + filesystem: + - boost_filesystem + graph: + - boost_graph + graph_parallel: + - boost_graph_parallel + iostreams: + - boost_iostreams + json: + - boost_json + locale: + - boost_locale + log: + - boost_log + log_setup: + - boost_log_setup + math: [] + math_c99: + - boost_math_c99 + math_c99f: + - boost_math_c99f + math_c99l: + - boost_math_c99l + math_tr1: + - boost_math_tr1 + math_tr1f: + - boost_math_tr1f + math_tr1l: + - boost_math_tr1l + mpi: + - boost_mpi + mpi_python: + - boost_mpi_python + nowide: + - boost_nowide + numpy: + - boost_numpy{py_major}{py_minor} + prg_exec_monitor: + - boost_prg_exec_monitor + process: + - boost_process + program_options: + - boost_program_options + python: + - boost_python{py_major}{py_minor} + random: + - boost_random + regex: + - boost_regex + serialization: + - boost_serialization + stacktrace: [] + stacktrace_addr2line: + - boost_stacktrace_addr2line + stacktrace_backtrace: + - boost_stacktrace_backtrace + stacktrace_basic: + - boost_stacktrace_basic + stacktrace_from_exception: + - boost_stacktrace_from_exception + stacktrace_noop: + - boost_stacktrace_noop + stacktrace_windbg: + - boost_stacktrace_windbg + stacktrace_windbg_cached: + - boost_stacktrace_windbg_cached + test: [] + test_exec_monitor: + - boost_test_exec_monitor + thread: + - boost_thread + timer: + - boost_timer + type_erasure: + - boost_type_erasure + unit_test_framework: + - boost_unit_test_framework + url: + - boost_url + wave: + - boost_wave + wserialization: + - boost_wserialization +requirements: + iostreams: + - bzip2 + - lzma + - zlib + - zstd + locale: + - iconv + - icu + python: + - python + regex: + - icu + stacktrace: + - backtrace +static_only: +- boost_exception +- boost_test_exec_monitor +version: 1.89.0 diff --git a/packages/conan/recipes/boost/patches/1.88.0-python-no-graph.patch b/packages/conan/recipes/boost/patches/1.88.0-python-no-graph.patch new file mode 100644 index 00000000..f4e1bb08 --- /dev/null +++ b/packages/conan/recipes/boost/patches/1.88.0-python-no-graph.patch @@ -0,0 +1,22 @@ +diff --git a/libs/python/build/Jamfile b/libs/python/build/Jamfile +index f1321db3..36899cdc 100644 +--- libs/python/build/Jamfile ++++ libs/python/build/Jamfile +@@ -30,17 +30,8 @@ + ; + } + +-constant boost_dependencies_private : +- /boost/graph//boost_graph +- /boost/integer//boost_integer +- /boost/property_map//boost_property_map +- /boost/smart_ptr//boost_smart_ptr +- ; +- + project + : source-location ../src +- : common-requirements $(boost_dependencies) +- : requirements $(boost_dependencies_private) + ; + + rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } } diff --git a/packages/conan/recipes/boost/rebuild-dependencies.py b/packages/conan/recipes/boost/rebuild-dependencies.py index 941c07e6..34321c43 100644 --- a/packages/conan/recipes/boost/rebuild-dependencies.py +++ b/packages/conan/recipes/boost/rebuild-dependencies.py @@ -74,7 +74,7 @@ "iconv", "icu", "lzma", - "cpython", # ASWF: Conan package is named cpython + "python", "zlib", "zstd", ) diff --git a/packages/conan/recipes/boost/test_package/CMakeLists.txt b/packages/conan/recipes/boost/test_package/CMakeLists.txt index 94ae6d53..97598637 100644 --- a/packages/conan/recipes/boost/test_package/CMakeLists.txt +++ b/packages/conan/recipes/boost/test_package/CMakeLists.txt @@ -2,12 +2,12 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/7abb9ee39e6009e3dbc45043307a1098246d4ad7/recipes/boost/all/test_package/CMakeLists.txt +# From: https://github.com/conan-io/conan-center-index/blob/bd0d8f78f4c7b6a32e7e57bf7b4142face3354b2/recipes/boost/all/test_package/CMakeLists.txt cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -if(UNIX AND NOT APPLE) +if(UNIX AND NOT APPLE AND NOT EMSCRIPTEN) # use RPATH instead of RUNPATH so that # transitive dependencies can be located add_link_options("LINKER:--disable-new-dtags") diff --git a/packages/conan/recipes/boost/test_package/process.cpp b/packages/conan/recipes/boost/test_package/process.cpp index 66b1704c..dc60915c 100644 --- a/packages/conan/recipes/boost/test_package/process.cpp +++ b/packages/conan/recipes/boost/test_package/process.cpp @@ -52,4 +52,4 @@ int main() std::cout << "CMake version: '" << line << "'" << std::endl; c.wait(); -} \ No newline at end of file +} diff --git a/packages/conan/recipes/clang/conanfile.py b/packages/conan/recipes/clang/conanfile.py index eab2dac7..0c1c9c76 100644 --- a/packages/conan/recipes/clang/conanfile.py +++ b/packages/conan/recipes/clang/conanfile.py @@ -525,7 +525,7 @@ def package(self): build_info = self._write_build_info() cmake_folder = self._package_folder_path / "lib" / "cmake" / "llvm" - # rm(self, "LLVMConfig.cmake", cmake_folder) + # rm(self, "LLVMConfig.cmake", cmake_folder) # ASWF: keep for non-Conan use # rm(self, "LLVMExports*", cmake_folder) # rm(self, "Find*", cmake_folder) rm(self, "*.pdb", self._package_folder_path / "lib") @@ -534,10 +534,15 @@ def package(self): # downstream packages rename(self, cmake_folder / "LLVM-Config.cmake", cmake_folder / "LLVM-ConfigInternal.cmake") replace_in_file(self, cmake_folder / "AddLLVM.cmake", "LLVM-Config", "LLVM-ConfigInternal") - replace_in_file(self, (cmake_folder / "LLVMConfig.cmake").as_posix(), "LLVM-Config", "LLVM-ConfigInternal") + replace_in_file(self, cmake_folder / "LLVMConfig.cmake", "LLVM-Config", "LLVM-ConfigInternal") rmdir(self, self._package_folder_path / "share") if self.options.shared: rm(self, "*.a", self._package_folder_path / "lib") + # ASWF: since we remove the static components from the installed package, disable the check for + # those in LLVMExports.cmake + replace_in_file(self, cmake_folder / "LLVMExports.cmake", "if(NOT EXISTS \"${_cmake_file}\")", "if(FALSE)") + replace_in_file(self, self._package_folder_path / "lib" / "cmake" / "clang" / "ClangTargets.cmake", + "if(NOT EXISTS \"${_cmake_file}\")", "if(FALSE)") self._create_cmake_build_module( build_info, diff --git a/packages/conan/recipes/imath/conandata.yml b/packages/conan/recipes/imath/conandata.yml index 054822c5..059840e9 100644 --- a/packages/conan/recipes/imath/conandata.yml +++ b/packages/conan/recipes/imath/conandata.yml @@ -30,6 +30,9 @@ sources: url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.8.tar.gz" sha256: "a23a4e2160ca8ff68607a4e129e484edd1d0d13f707394d32af7aed659020803" patches: + "3.2.2": + - patch_file: "patches/3.2.2-cmake-no-rpath.patch" + patch_description: "Don't set rpath on binaries or libraries" "3.2.1": - patch_file: "patches/3.2.0-clang-format.patch" patch_description: "Don't add heavyweight dependency on clang-format" diff --git a/packages/conan/recipes/imath/conanfile.py b/packages/conan/recipes/imath/conanfile.py index 40978dec..b328d298 100644 --- a/packages/conan/recipes/imath/conanfile.py +++ b/packages/conan/recipes/imath/conanfile.py @@ -2,17 +2,17 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/imath/all/conanfile.py +# From: https://github.com/conan-io/conan-center-index/blob/8ac58f85fed5418f986bd1021b4952bcd56d16e5/recipes/imath/all/conanfile.py from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import copy, get, rmdir, collect_libs, replace_in_file from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class ImathConan(ConanFile): @@ -37,23 +37,13 @@ class ImathConan(ConanFile): "fPIC": True, } - def export_sources(self): - export_conandata_patches(self) - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") + implements = ["auto_shared_fpic"] def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -70,14 +60,12 @@ def generate(self): # when msvc is working with a C++ standard level higher # than the default, we need the __cplusplus macro to be correct tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" - # ASWF: Build Python bindings, pybind11 not quire ready yet + # ASWF: Build Python bindings, pybind11 not quite ready yet tc.variables["PYTHON"] = "ON" tc.variables["PYBIND11"] = "OFF" tc.generate() def build(self): - apply_conandata_patches(self) - # ASWF: starting with version 3.2.0, src/python/CMakeLists.txt calls: # find_package(Boost CONFIG REQUIRED COMPONENTS python) # but our builds of boost::python bake in the python version, so we have @@ -134,16 +122,6 @@ def package_info(self): imath_lib.set_property("pkg_config_name", "Imath") imath_lib.libs = collect_libs(self) imath_lib.requires = ["imath_config"] - imath_lib.requires.extend(["boost::boost", "boost::python", "boost::graph", "boost::container"]) + imath_lib.requires.extend(["boost::python"]) if self.settings.os == "Windows" and self.options.shared: imath_lib.defines.append("IMATH_DLL") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "Imath" - self.cpp_info.names["cmake_find_package_multi"] = "Imath" - self.cpp_info.names["pkg_config"] = "Imath" - imath_config.names["cmake_find_package"] = "ImathConfig" - imath_config.names["cmake_find_package_multi"] = "ImathConfig" - imath_lib.names["cmake_find_package"] = "Imath" - imath_lib.names["cmake_find_package_multi"] = "Imath" - imath_lib.names["pkg_config"] = "Imath" diff --git a/packages/conan/recipes/imath/patches/3.2.2-cmake-no-rpath.patch b/packages/conan/recipes/imath/patches/3.2.2-cmake-no-rpath.patch new file mode 100644 index 00000000..7160539b --- /dev/null +++ b/packages/conan/recipes/imath/patches/3.2.2-cmake-no-rpath.patch @@ -0,0 +1,24 @@ +diff --git a/config/ImathSetup.cmake b/config/ImathSetup.cmake +index bfec292..c8c2e7e 100644 +--- config/ImathSetup.cmake ++++ config/ImathSetup.cmake +@@ -75,16 +75,16 @@ + set(IMATH_STATIC_LIB_SUFFIX "_static" CACHE STRING "name to append to static library (in addition to normal suffix)") + + # rpath related setup. Make sure we force an rpath to the rpath we're compiling +-set(CMAKE_SKIP_BUILD_RPATH FALSE) ++set(CMAKE_SKIP_BUILD_RPATH TRUE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + + # Add the automatically determined parts of the rpath which point to + # directories outside the build tree to the install RPATH +-set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) + + # If the user sets an install rpath then just use that, or otherwise + # set one for them. +-if(NOT CMAKE_INSTALL_RPATH) ++if(FALSE) + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if("${isSystemDir}" STREQUAL "-1") + if("${CMAKE_SYSTEM}" MATCHES "Linux") diff --git a/packages/conan/recipes/libultrahdr/conanfile.py b/packages/conan/recipes/libultrahdr/conanfile.py index dcbfac18..a220626a 100644 --- a/packages/conan/recipes/libultrahdr/conanfile.py +++ b/packages/conan/recipes/libultrahdr/conanfile.py @@ -2,17 +2,18 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/b9c8a5391082c2940205ec80a619ec01b157fb59/recipes/libultrahdr/all/conanfile.py +# From: https://github.com/conan-io/conan-center-index/blob/e02c3afa01526f030cf8369b268991b2af09b5da/recipes/libultrahdr/all/conanfile.py from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir import os required_conan_version = ">=2.0.0" + class LibultrahdrConan(ConanFile): name = "libultrahdr" description = "libultrahdr is an image format for storing SDR and HDR versions of an image for android." @@ -49,11 +50,11 @@ def layout(self): def requirements(self): if self.options.with_jpeg == "libjpeg": - self.requires("libjpeg/9e") + self.requires("libjpeg/[>=9e]") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/[>=3.0.0 <4]") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/[>=4.1.3 <5]") def build_requirements(self): # The project requires cmake 3.15 but the use of CMAKE_REQUIRE_FIND_PACKAGE_JPEG below @@ -94,6 +95,10 @@ def package(self): # ASWF: license file in package subdir copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses", self.name)) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + # ASWF: get rid of static libraries if we are building dynamic + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + rm(self, "*-static.lib", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.libs = ['uhdr'] diff --git a/packages/conan/recipes/materialx/conandata.yml b/packages/conan/recipes/materialx/conandata.yml index 3e31e8e8..09e19b4c 100644 --- a/packages/conan/recipes/materialx/conandata.yml +++ b/packages/conan/recipes/materialx/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/2a3cb93885141024c1b405a01a79fb3abc239b12/recipes/materialx/all/conandata.yml sources: + "1.39.4": + url: "https://github.com/AcademySoftwareFoundation/MaterialX/archive/v1.39.4.tar.gz" + sha256: "ce9c1a3b84a060d6280d355a72bf42b53837ee7bcc5a566cab1e927c64078fd9" "1.39.3": url: "https://github.com/AcademySoftwareFoundation/MaterialX/archive/v1.39.3.tar.gz" sha256: "1f299d14c1243a4834e2363921d98465cc002b37e7f5cddb6f8747ab58fbf6d1" @@ -30,6 +33,13 @@ sources: url: "https://github.com/AcademySoftwareFoundation/MaterialX/archive/v1.38.5.tar.gz" sha256: "af1e1ddb7980b299171803c0410d2a189653eb8624beb49541fd15978b784f1d" patches: + "1.39.4": + - patch_file: "patches/pybind11-cmake.patch" + patch_description: "CMake: Must call find_package() on Python3 before pybind11" + patch_type: "conan" + - patch_file: "patches/1.39.4-cmake-libraries.patch" + patch_descriptions: "MaterialX support files in share/MaterialX" + patch_type: "conan" "1.39.3": - patch_file: "patches/pybind11-cmake.patch" patch_description: "CMake: Must call find_package() on Python3 before pybind11" diff --git a/packages/conan/recipes/materialx/conanfile.py b/packages/conan/recipes/materialx/conanfile.py index 32b98f96..0979f7fa 100644 --- a/packages/conan/recipes/materialx/conanfile.py +++ b/packages/conan/recipes/materialx/conanfile.py @@ -101,6 +101,8 @@ def generate(self): tc.variables["MATERIALX_BUILD_TESTS"] = False tc.variables["MATERIALX_TEST_RENDER"] = False tc.variables["MATERIALX_BUILD_PYTHON"] = "ON" + if self.options.with_openimageio: + tc.variables["MATERIALX_BUILD_OIIO"] = "ON" # ASWF: tell MaterialX to build against OIIO tc.variables["MATERIALX_PYTHON_VERSION"] = self.dependencies["cpython"].ref.version tc.variables["MATERIALX_BUILD_SHARED_LIBS"] = self.options.shared tc.variables["MATERIALX_BUILD_GEN_MSL"] = self.options.build_gen_msl and is_apple_os diff --git a/packages/conan/recipes/materialx/patches/1.39.4-cmake-libraries.patch b/packages/conan/recipes/materialx/patches/1.39.4-cmake-libraries.patch new file mode 100644 index 00000000..8c7e3e32 --- /dev/null +++ b/packages/conan/recipes/materialx/patches/1.39.4-cmake-libraries.patch @@ -0,0 +1,11 @@ +--- cmake/modules/MaterialXConfig.cmake.in ++++ cmake/modules/MaterialXConfig.cmake.in +@@ -20,7 +20,7 @@ + # MATERIALX_RESOURCES_DIR Path to MaterialX Resources (sample data, mtlx etc) + + set_and_check(MATERIALX_BASE_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@") +-set_and_check(MATERIALX_STDLIB_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/libraries") ++set_and_check(MATERIALX_STDLIB_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/share/MaterialX") + if(@MATERIALX_BUILD_PYTHON@ AND @MATERIALX_INSTALL_PYTHON@) + set_and_check(MATERIALX_PYTHON_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/python") + endif() diff --git a/packages/conan/recipes/nanobind/conandata.yml b/packages/conan/recipes/nanobind/conandata.yml new file mode 100644 index 00000000..cd3bfcb6 --- /dev/null +++ b/packages/conan/recipes/nanobind/conandata.yml @@ -0,0 +1,18 @@ +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/75b9e9922496dc0acc2499df76f8f10601042b60/recipes/nanobind/all/conandata.yml + +sources: + "2.11.0": + url: "https://github.com/wjakob/nanobind/archive/refs/tags/v2.11.0.tar.gz" + sha256: "62ba05e5f720c76c510d6ab2a77f8ccc17a76c5cea951bea47355a7dfa460449" + "2.9.2": + url: "https://github.com/wjakob/nanobind/archive/refs/tags/v2.9.2.tar.gz" + sha256: "8ce3667dce3e64fc06bfb9b778b6f48731482362fb89a43da156632266cd5a90" +patches: + "2.11.0": + - patch_file: "patches/2.11.0-cmake-python-module.diff" + patch_description: "Debugging code for Conan environment" + patch_type: "conan" diff --git a/packages/conan/recipes/nanobind/conanfile.py b/packages/conan/recipes/nanobind/conanfile.py new file mode 100644 index 00000000..e1a98b13 --- /dev/null +++ b/packages/conan/recipes/nanobind/conanfile.py @@ -0,0 +1,75 @@ +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/75b9e9922496dc0acc2499df76f8f10601042b60/recipes/nanobind/all/conanfile.py + +import os + +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rename # ASWF: apply our patches +from conan.tools.env import VirtualBuildEnv, Environment # ASWF: need to use our own Python + +required_conan_version = ">=2.0" + + +class NanobindConan(ConanFile): + name = "nanobind" + description = "Tiny and efficient C++/Python bindings" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/wjakob/nanobind" + topics = ("python", "bindings", "nanobind", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + def export_sources(self): # ASWF: apply our patches + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + # ASWF: requirements() and build_requirements() ensure we find our own Python, Conan env provides the real version + def requirements(self): + self.requires("tsl-robin-map/[>=1.3.0 <2]") + self.requires("cpython/[>=3.0.0]") + + def build_requirements(self): + self.tool_requires("cpython/[>=3.0.0]") + + def validate(self): + check_min_cppstd(self, 17) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["NB_TEST"] = False + tc.cache_variables["NB_USE_SUBMODULE_DEPS"] = False + tc.generate() + + def build(self): + apply_conandata_patches(self) # ASWF: apply our patches + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + # ASWF: license files in package subdirectory + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses", self.name)) + cmake = CMake(self) + cmake.install() + + def package_info(self): + # Don't generate any CMake files and include the upstream ones + # Only CMake is officially supported by nanobind: + # https://nanobind.readthedocs.io/en/latest/building.html#building + self.cpp_info.set_property("cmake_find_mode", "none") + self.cpp_info.builddirs.append(os.path.join("nanobind", "cmake")) + self.cpp_info.includedirs = [os.path.join("nanobind", "include")] diff --git a/packages/conan/recipes/nanobind/patches/2.11.0-cmake-python-module.diff b/packages/conan/recipes/nanobind/patches/2.11.0-cmake-python-module.diff new file mode 100644 index 00000000..63f1b60f --- /dev/null +++ b/packages/conan/recipes/nanobind/patches/2.11.0-cmake-python-module.diff @@ -0,0 +1,37 @@ +diff --git cmake/nanobind-config.cmake cmake/nanobind-config.cmake +index d99dd79ac..bfda2778a 100644 +--- cmake/nanobind-config.cmake ++++ cmake/nanobind-config.cmake +@@ -1,8 +1,9 @@ + include_guard(GLOBAL) + +-if (NOT TARGET Python::Module) +- message(FATAL_ERROR "You must invoke 'find_package(Python COMPONENTS Interpreter Development REQUIRED)' prior to including nanobind.") +-endif() ++#if (NOT TARGET Python::Module) ++# message(FATAL_ERROR "You must invoke 'find_package(Python COMPONENTS Interpreter Development REQUIRED)' prior to including nanobind.") ++#endif() ++#set(Python_EXECUTABLE "${Python3_EXECUTABLE}") + + if (Python_VERSION VERSION_LESS "3.9") + message(FATAL_ERROR "nanobind requires Python 3.9 or newer (found Python ${Python_VERSION}).") +@@ -70,6 +71,19 @@ + RESULT_VARIABLE NB_SUFFIX_RET + OUTPUT_VARIABLE EXT_SUFFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) ++ message(STATUS "Python_VERSION = '${Python_VERSION}'") ++ message(STATUS "Python3_VERSION = '${Python3_VERSION}'") ++ message(STATUS "Python_EXECUTABLE = '${Python_EXECUTABLE}'") ++ message(STATUS "Python3_EXECUTABLE = '${Python3_EXECUTABLE}'") ++ message(STATUS "Python_INCLUDE_DIRS = '${Python_INCLUDE_DIRS}'") ++ message(STATUS "Python3_INCLUDE_DIRS = '${Python3_INCLUDE_DIRS}'") ++ message(STATUS "Python_INTERPRETER_ID = '${Python_INTERPRETER_ID}'") ++ message(STATUS "Python3_INTERPRETER_ID = '${Python3_INTERPRETER_ID}'") ++ message(STATUS "NB_SUFFIX_RET = '${NB_SUFFIX_RET}'") ++ message(STATUS "NB_SUFFIX = '${NB_SUFFIX}'") ++ message(STATUS "EXT_SUFFIX = '${EXT_SUFFIX}'") ++ message(STATUS "PYTHONPATH = '$ENV{PYTHONPATH}'") ++ message(STATUS "LD_LIBRARY_PATH = '$ENV{LD_LIBRARY_PATH}'") + + if(NB_SUFFIX_RET AND NOT NB_SUFFIX_RET EQUAL 0) + message(FATAL_ERROR "nanobind: Python sysconfig query to " diff --git a/packages/conan/recipes/nanobind/test_package/CMakeLists.txt b/packages/conan/recipes/nanobind/test_package/CMakeLists.txt new file mode 100644 index 00000000..516fce88 --- /dev/null +++ b/packages/conan/recipes/nanobind/test_package/CMakeLists.txt @@ -0,0 +1,23 @@ +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/75b9e9922496dc0acc2499df76f8f10601042b60/recipes/nanobind/all/test_package/CMakeLists.txt + +cmake_minimum_required(VERSION 3.20) +project(test_package CXX) +enable_testing() + +set(Python_FIND_UNVERSIONED_NAMES FIRST) + +find_package(Python REQUIRED COMPONENTS Development OPTIONAL_COMPONENTS Interpreter) +find_package(nanobind CONFIG REQUIRED) + +nanobind_add_module(conan_test_package NB_STATIC test_package.cpp) + +if (Python_Interpreter_FOUND) + add_test(NAME import_module + COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test_package.py) + set_tests_properties(import_module PROPERTIES + ENVIRONMENT "PYTHONPATH=$") +endif() diff --git a/packages/conan/recipes/nanobind/test_package/conanfile.py b/packages/conan/recipes/nanobind/test_package/conanfile.py new file mode 100644 index 00000000..506ac6a3 --- /dev/null +++ b/packages/conan/recipes/nanobind/test_package/conanfile.py @@ -0,0 +1,53 @@ +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/75b9e9922496dc0acc2499df76f8f10601042b60/recipes/nanobind/all/test_package/conanfile.py + +import os +import re +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.errors import ConanException + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def requirements(self): + self.requires(self.tested_reference_str) + self.tool_requires("cmake/[>=3.20]") + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + # Check if the module file was generated + # Check if the module file was generated + pattern = re.compile(r"^conan_test_package\..*\.(so|dylib|pyd)$") + found_file = None + for filename in os.listdir(self.cpp.build.bindir): + if pattern.match(filename): + found_file = filename + break + + if found_file: + self.output.info(f"Found conan_test_package shared object: {found_file}") + if not found_file: + raise ConanException("conan_test_package shared object not found in bindir") + + if can_run(self): + cmake = CMake(self) + cmake.ctest(cli_args=["--verbose"]) diff --git a/packages/conan/recipes/nanobind/test_package/test_package.cpp b/packages/conan/recipes/nanobind/test_package/test_package.cpp new file mode 100644 index 00000000..43e3de45 --- /dev/null +++ b/packages/conan/recipes/nanobind/test_package/test_package.cpp @@ -0,0 +1,15 @@ +/* +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/master/recipes/nanobind/all/test_package/test_package.cpp +*/ + +#include + +int add(int a, int b) { return a + b; } + +NB_MODULE(conan_test_package, m) { + m.def("add", &add); +} diff --git a/packages/conan/recipes/nanobind/test_package/test_package.py b/packages/conan/recipes/nanobind/test_package/test_package.py new file mode 100644 index 00000000..0251d3ba --- /dev/null +++ b/packages/conan/recipes/nanobind/test_package/test_package.py @@ -0,0 +1,10 @@ +# 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 +# +# From: https://github.com/conan-io/conan-center-index/blob/75b9e9922496dc0acc2499df76f8f10601042b60/recipes/nanobind/all/test_package/test_package.py + +import conan_test_package + +assert conan_test_package.add(2, 3) == 5 +print("Test passed: conan_test_package.add(2, 3) == 5") diff --git a/packages/conan/recipes/nlohmann_json/conanfile.py b/packages/conan/recipes/nlohmann_json/conanfile.py index 104ab7cb..5ea962b9 100644 --- a/packages/conan/recipes/nlohmann_json/conanfile.py +++ b/packages/conan/recipes/nlohmann_json/conanfile.py @@ -6,7 +6,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get +from conan.tools.files import copy, get, mkdir from conan.tools.layout import basic_layout import os @@ -51,10 +51,36 @@ def package(self): # ASWF: license file in package specific directories copy(self, "LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses", self.name)) copy(self, "*", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + # ASWF: a trivial CMake config to help with outside Conan builds + cmakepath = os.path.join(self.package_folder, "lib", "cmake", "nlohmann_json") + mkdir(self, cmakepath) + with open(os.path.join(cmakepath, "nlohmann_jsonConfig.cmake"), "w") as f: + f.write(""" +if(NOT TARGET nlohmann_json::nlohmann_json) + add_library(nlohmann_json::nlohmann_json INTERFACE IMPORTED) +endif() +""") + with open(os.path.join(cmakepath, "nlohmann_jsonConfigVersion.cmake"), "w") as f: + f.write(f""" +set(PACKAGE_VERSION "{ self.version }") +if(NOT DEFINED PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + set(PACKAGE_VERSION_EXACT TRUE) + return() +endif() +if(PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) +endif() +if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() +""") def package_info(self): self.cpp_info.set_property("cmake_file_name", "nlohmann_json") self.cpp_info.set_property("cmake_target_name", "nlohmann_json::nlohmann_json") self.cpp_info.set_property("pkg_config_name", "nlohmann_json") self.cpp_info.bindirs = [] - self.cpp_info.libdirs = [] \ No newline at end of file + self.cpp_info.libdirs = [] diff --git a/packages/conan/recipes/ocio/conandata.yml b/packages/conan/recipes/ocio/conandata.yml index 5793b50e..335308dc 100644 --- a/packages/conan/recipes/ocio/conandata.yml +++ b/packages/conan/recipes/ocio/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/9a66422e07df06d2c502501de6e00b8b1213b563/recipes/opencolorio/all/conandata.yml sources: + "2.5.1": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.5.1.tar.gz" + sha256: "08cb6213ea4edee550ab050509d38204004bee6742c658166b1cf825d0a9381b" "2.5.0": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.5.0.tar.gz" sha256: "124e2bfa8a9071959d6ddbb64ffbf78d3f6fe3c923ae23e96a6bbadde1af55b6" @@ -30,6 +33,16 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.5.1": + - patch_file: "patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" + - patch_file: "patches/2.5.0-0002-cmake-deps-for-shared-libs.patch" + patch_description: "don't skip cmake dependencies for shared builds" + patch_type: "conan" + - patch_file: "patches/2.5.0-0004-find-python.patch" + patch_description: "We call FindPython3" + patch_type: "conan" "2.5.0": - patch_file: "patches/2.5.0-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" diff --git a/packages/conan/recipes/ocio/conanfile.py b/packages/conan/recipes/ocio/conanfile.py index 12c53e78..afc853c7 100644 --- a/packages/conan/recipes/ocio/conanfile.py +++ b/packages/conan/recipes/ocio/conanfile.py @@ -151,6 +151,7 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" tc.variables["CMAKE_CXX_STANDARD"] = self.settings.compiler.cppstd # ASWF + tc.variables["CMAKE_SKIP_INSTALL_RPATH"] = True # ASWF: don't want RPATH tc.generate() deps = CMakeDeps(self) diff --git a/packages/conan/recipes/oiio/conandata.yml b/packages/conan/recipes/oiio/conandata.yml index 3b5904ef..3e7d9014 100644 --- a/packages/conan/recipes/oiio/conandata.yml +++ b/packages/conan/recipes/oiio/conandata.yml @@ -5,6 +5,9 @@ # From: https://github.com/conan-io/conan-center-index/blob/9a66422e07df06d2c502501de6e00b8b1213b563/recipes/openimageio/all/conandata.yml sources: + "3.1.10.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v3.1.10.0.tar.gz" + sha256: "6b62ceb83c8131ec49a999e0008750b52d98162d79265af47430cf83ed03ec0b" "3.1.7.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v3.1.7.0.tar.gz" sha256: "d5160dc44a62897104f44488ebdb19249a78448a25fbae3504fc1ea6fda54878" @@ -148,3 +151,13 @@ patches: - patch_file: "patches/3.1.6.2-raw-jp2k-cmake.patch" patch_description: "Find local builds of LibRaw, OpenJPEG" patch_type: "conan" + "3.1.10.0": + - patch_file: "patches/3.1.10.0-cmake-fmt.patch" + patch_description: "Deal with generator expression from fmt Conan package" + patch_type: "conan" + - patch_file: "patches/3.0.8.1-utils-includes-libs.patch" + patch_description: "Missing includes and libs for binaries" + patch_type: "conan" + - patch_file: "patches/3.1.10.0-raw-jp2k-cmake.patch" + patch_description: "Find local builds of LibRaw, OpenJPEG" + patch_type: "conan" diff --git a/packages/conan/recipes/oiio/conanfile.py b/packages/conan/recipes/oiio/conanfile.py index a26232ae..3d92a740 100644 --- a/packages/conan/recipes/oiio/conanfile.py +++ b/packages/conan/recipes/oiio/conanfile.py @@ -95,7 +95,8 @@ def configure(self): def requirements(self): # Required libraries self.requires("zlib/[>=1.2.11 <2]") - self.requires("boost/1.84.0") + if Version(self.version) < "3.0": + self.requires("boost/1.84.0") self.requires("libtiff/4.6.0") self.requires("imath/3.1.9", transitive_headers=True) self.requires("openexr/3.2.3") @@ -264,11 +265,9 @@ def package_info(self): # OpenImageIO::OpenImageIO_Util # ASWF: _add_component() deprecated in Conan 2.0 self.cpp_info.components["OpenImageIO_Util"].libs = ["OpenImageIO_Util"] + boost_deps = ["boost::filesystem", "boost::thread", "boost::system", "boost::regex"] self.cpp_info.components["OpenImageIO_Util"].requires = [ - "boost::filesystem", - "boost::thread", - "boost::system", - "boost::regex", + *(boost_deps if Version(self.version) < "3.0" else []), "imath::imath", "openexr::openexr", ] @@ -287,10 +286,7 @@ def package_info(self): self.cpp_info.components["OpenImageIO"].requires = [ "OpenImageIO_Util", "zlib::zlib", - "boost::thread", - "boost::system", - "boost::container", - "boost::regex", + *(boost_deps if Version(self.version) < "3.0" else []), "libtiff::libtiff", "pugixml::pugixml", "tsl-robin-map::tsl-robin-map", @@ -305,7 +301,7 @@ def package_info(self): self.cpp_info.components["OpenImageIO"].requires.append("libjpeg::libjpeg") elif self.options.with_libjpeg == "libjpeg-turbo": self.cpp_info.components["OpenImageIO"].requires.append( - "libjpeg-turbo::libjpeg-turbo" + "libjpeg-turbo::turbojpeg" ) if self.options.with_libpng: self.cpp_info.components["OpenImageIO"].requires.append("libpng::libpng") diff --git a/packages/conan/recipes/oiio/patches/3.1.10.0-cmake-fmt.patch b/packages/conan/recipes/oiio/patches/3.1.10.0-cmake-fmt.patch new file mode 100644 index 00000000..f0c05c69 --- /dev/null +++ b/packages/conan/recipes/oiio/patches/3.1.10.0-cmake-fmt.patch @@ -0,0 +1,15 @@ +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -238,7 +238,9 @@ + VERSION_MIN 7.0 + BUILD_LOCAL missing + ) +-get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) ++get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) ++# Get rid of generator expression from Conan ++string(REGEX REPLACE "^\\$<\\$:(.*)>$" "\\1" FMT_INCLUDE_DIR "${FMT_INCLUDE_DIR}") + + + ########################################################################### diff --git a/packages/conan/recipes/oiio/patches/3.1.10.0-raw-jp2k-cmake.patch b/packages/conan/recipes/oiio/patches/3.1.10.0-raw-jp2k-cmake.patch new file mode 100644 index 00000000..29440190 --- /dev/null +++ b/packages/conan/recipes/oiio/patches/3.1.10.0-raw-jp2k-cmake.patch @@ -0,0 +1,64 @@ +diff --git src/raw.imageio/CMakeLists.txt src/raw.imageio/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/raw.imageio/CMakeLists.txt ++++ src/raw.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (LIBRAW_FOUND) ++if (LIBRAW_FOUND OR LibRaw_FOUND) + add_oiio_plugin (rawinput.cpp + INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} +- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} ++ LINK_LIBRARIES "libraw::libraw_r" + COMPILE_OPTIONS ${LibRaw_r_DEFINITIONS} + DEFINITIONS "USE_LIBRAW=1") + else () +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (OPENJPEG_FOUND) ++if (OPENJPEG_FOUND OR OpenJPEG_FOUND) + if (TARGET openjp2_static AND (NOT TARGET openjp2 OR + LINKSTATIC OR OpenJPEG_LINKSTATIC)) + # Use static OpenJPEG library for LINKSTATIC situations, or if +@@ -11,14 +11,17 @@ + elseif (TARGET openjp2) + set (OPENJPEG_TARGET openjp2) + else () +- set(_jpeg2000_includes ${OPENJPEG_INCLUDES}) +- set(_jpeg2000_lib_dirs ${OPENJPEG_LIBRARY_DIRS}) +- set(_jpeg2000_libs ${OPENJPEG_LIBRARIES}) ++ set(_jpeg2000_includes ${OpenJPEG_INCLUDES}) ++ set(_jpeg2000_lib_dirs ${OpenJPEG_LIBRARY_DIRS}) ++ set(_jpeg2000_libs ${OpenJPEG_LIBRARIES}) + endif () + message (VERBOSE "OPENJPEG_TARGET=${OPENJPEG_TARGET}") + set(_jpeg2000_defs "USE_OPENJPEG") + + if (openjph_FOUND) ++ list(APPEND _jpeg2000_includes ${openjph_INCLUDE_DIR}) ++ list(APPEND _jpeg2000_lib_dirs ${openjph_LIB_DIRS_RELEASE}) ++ list(APPEND _jpeg2000_libs ${openjph_LIBS_RELEASE}) + list(APPEND _jpeg2000_defs "USE_OPENJPH") + endif() + +diff --git src/cmake/modules/FindLibRaw.cmake src/cmake/FindLibRaw.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/modules/FindLibRaw.cmake ++++ src/cmake/modules/FindLibRaw.cmake +@@ -38,7 +38,7 @@ + ${PC_LIBRAW_LIBRARY_DIRS} + ) + +-find_library(LibRaw_r_LIBRARIES NAMES raw_r ++find_library(LibRaw_r_LIBRARIES NAMES raw_r libraw_r + HINTS + ${LIBRAW_LIBDIR_HINT} + ${PC_LIBRAW_R_LIBDIR} diff --git a/packages/conan/recipes/openexr/conandata.yml b/packages/conan/recipes/openexr/conandata.yml index 742d4a5f..d8a5df68 100644 --- a/packages/conan/recipes/openexr/conandata.yml +++ b/packages/conan/recipes/openexr/conandata.yml @@ -5,6 +5,12 @@ # From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/openexr/3.x/conandata.yml sources: + "3.4.5": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.5.tar.gz" + sha256: "b10f21d3f8ff3211eb1687a2e2bf7a79d361aec8dfaca1f9b79f3d70755b4f48" + "3.4.4": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.4.tar.gz" + sha256: "7c663c3c41da9354b5af277bc2fd1d2360788050b4e0751a32bcd50e8abaef8f" "3.4.3": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4.3.tar.gz" sha256: "06494da42eb91c47265ffbad02d0c73cf65d8ad7f24683b801f34d842c4ecb6d" @@ -20,6 +26,9 @@ sources: "3.4-alpha": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.4-alpha.tar.gz" sha256: "5a78b497576a323979b03a343ad63a253d955462365c67597ab6fcac87e79193" + "3.3.7": + url: "https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.3.7/openexr-3.3.7.tar.gz" + sha256: "5302e8204c7f503fd6b20eb2940a44c993f81154de9e476581ac3bc60c0cdf13" "3.3.6": url: "https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.3.6/openexr-3.3.6.tar.gz" sha256: "35d3d597ca2a9dcbf405874c774bd716cd729fb35ab27ccbd75a1355ee9d9c0f" @@ -63,6 +72,12 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" patches: + "3.4.5": + - patch_file: "patches/3.4.3-openjph-setup.patch" + patch_description: "Find previously installed openjph" + "3.4.4": + - patch_file: "patches/3.4.3-openjph-setup.patch" + patch_description: "Find previously installed openjph" "3.4.3": - patch_file: "patches/3.4.3-openjph-setup.patch" patch_description: "Find previously installed openjph" diff --git a/packages/conan/recipes/openexr/conanfile.py b/packages/conan/recipes/openexr/conanfile.py index 4c4b6670..5e5ab8c5 100644 --- a/packages/conan/recipes/openexr/conanfile.py +++ b/packages/conan/recipes/openexr/conanfile.py @@ -2,7 +2,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/cceee569179c10fa56d1fd9c3582f3371944ba59/recipes/openexr/3.x/conanfile.py +# From: https://github.com/conan-io/conan-center-index/blob/fcf375e3136091137a012a00fab949694edc2da6/recipes/openexr/3.x/conanfile.py from conan import ConanFile from conan.errors import ConanInvalidConfiguration @@ -12,7 +12,7 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=2.0" class OpenEXRConan(ConanFile): @@ -34,20 +34,6 @@ class OpenEXRConan(ConanFile): "fPIC": True, } - @property - def _min_cppstd(self): - if Version(self.version) >= "3.3": - return 17 - return 11 - - @property - def _minimum_compiler_version(self): - return { - "17": { - "gcc": "9" - } - }.get(str(self._min_cppstd), {}) - @property def _with_libdeflate(self): return Version(self.version) >= "3.2" @@ -84,12 +70,7 @@ def requirements(self): self.requires("openjph/0.24.5") def validate(self): - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._min_cppstd) - - minimum_version = self._minimum_compiler_version.get(str(self.settings.compiler)) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} >= {minimum_version}") + check_min_cppstd(self, 11) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -141,18 +122,12 @@ def _conan_comp(name): def _add_component(self, name): component = self.cpp_info.components[self._conan_comp(name)] component.set_property("cmake_target_name", f"OpenEXR::{name}") - component.names["cmake_find_package"] = name - component.names["cmake_find_package_multi"] = name return component def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenEXR") self.cpp_info.set_property("pkg_config_name", "OpenEXR") - self.cpp_info.names["cmake_find_package"] = "OpenEXR" - self.cpp_info.names["cmake_find_package_multi"] = "OpenEXR" - self.cpp_info.names["pkg_config"] = "OpenEXR" - lib_suffix = "" if not self.options.shared or self.settings.os == "Windows": openexr_version = Version(self.version) diff --git a/packages/conan/recipes/opensubdiv/conandata.yml b/packages/conan/recipes/opensubdiv/conandata.yml index 7defb4ac..46942881 100644 --- a/packages/conan/recipes/opensubdiv/conandata.yml +++ b/packages/conan/recipes/opensubdiv/conandata.yml @@ -2,14 +2,17 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/2a3cb93885141024c1b405a01a79fb3abc239b12/recipes/opensubdiv/all/conandata.yml +# From: https://github.com/conan-io/conan-center-index/blob/8ac58f85fed5418f986bd1021b4952bcd56d16e5/recipes/opensubdiv/all/conandata.yml sources: + "3.7.0": + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_7_0.tar.gz" + sha256: "f843eb49daf20264007d807cbc64516a1fed9cdb1149aaf84ff47691d97491f9" "3.6.1": - url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_6_1.tar.gz" + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_6_1.tar.gz" sha256: "e9d99a480d80e999667643747c76eb0138d36c418fc154fd71b4bd65be103d52" "3.6.0": - url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_6_0.tar.gz" + url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_6_0.tar.gz" sha256: "bebfd61ab6657a4f4ff27845fb66a167d00395783bfbd253254d87447ed1d879" "3.5.0": url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_5_0.tar.gz" @@ -18,6 +21,10 @@ sources: url: "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/refs/tags/v3_4_4.tar.gz" sha256: "20d49f80a2b778ad4d01f091ad88d8c2f91cf6c7363940c6213241ce6f1048fb" patches: + "3.7.0": + - patch_file: "patches/3.7.0-0001-cmake-no-rpath.patch" + patch_description: "CMake: do not populate rpath with absolute paths" + patch_type: "conan" "3.6.1": - patch_file: "patches/3.6.0-0002-cmake-no-rpath.patch" patch_description: "CMake: do not populate rpath with absolute paths" diff --git a/packages/conan/recipes/opensubdiv/conanfile.py b/packages/conan/recipes/opensubdiv/conanfile.py index e020993d..92dc26d4 100644 --- a/packages/conan/recipes/opensubdiv/conanfile.py +++ b/packages/conan/recipes/opensubdiv/conanfile.py @@ -2,7 +2,7 @@ # Copyright (c) Contributors to the aswf-docker Project. All rights reserved. # SPDX-License-Identifier: MIT # -# From: https://github.com/conan-io/conan-center-index/blob/3375dfbcae9df4cee7b4eb6323b584fb60a2c8d0/recipes/opensubdiv/all/conanfile.py +# From: https://github.com/conan-io/conan-center-index/blob/8ac58f85fed5418f986bd1021b4952bcd56d16e5/recipes/opensubdiv/all/conanfile.py from conan import ConanFile from conan.errors import ConanInvalidConfiguration @@ -77,6 +77,8 @@ def config_options(self): del self.options.with_dx if self.settings.os != "Macos": del self.options.with_metal + if Version(self.version) >= "3.7.0": + self.license = "DocumentRef-LICENSE.txt:LicenseRef-Tomorrow-Open-Source-Technology" def configure(self): if self.options.shared: diff --git a/packages/conan/recipes/opensubdiv/patches/3.7.0-0001-cmake-no-rpath.patch b/packages/conan/recipes/opensubdiv/patches/3.7.0-0001-cmake-no-rpath.patch new file mode 100644 index 00000000..4f3633dd --- /dev/null +++ b/packages/conan/recipes/opensubdiv/patches/3.7.0-0001-cmake-no-rpath.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b82773a1..bab1bdac 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,19 +134,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Intel") + set(CMAKE_COMPILER_IS_ICC 1) + endif() + +- +-if (NOT CMAKE_COMPILER_IS_ICC) +- # Currently icc has a bug that asserts when linking rpaths containing long +- # sequences of ':' that this command causes. The consequence is that examples +- # built and installed using icc will not have an rpath pointing to the built +- # OSD library which they depend on and will have to set LD_LIBRARY_PATH instead. +- list(APPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") +-endif() +- +-# add the automatically determined parts of the RPATH +-# which point to directories outside the build tree to the install RPATH +-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +- + # ensure that ARC is shown as enabled in the Xcode UI + if(CMAKE_GENERATOR STREQUAL "Xcode") + set (CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "YES") +@@ -349,7 +336,7 @@ + find_package(OpenMP) + endif() + if(NOT NO_TBB) +- find_package(TBB 2018 CONFIG COMPONENTS tbb) ++ find_package(TBB CONFIG COMPONENTS tbb) + endif() + if (NOT NO_OPENGL) + find_package(OpenGL) +@@ -372,7 +359,7 @@ + find_package(GLFW 3.0.0) + endif() + if(NOT NO_PTEX) +- find_package(PTex 2.0) ++ find_package(PTex) + find_package(ZLIB 1.2) + endif() + if(APPLE AND NOT NO_METAL) diff --git a/packages/conan/recipes/openvdb/conanfile.py b/packages/conan/recipes/openvdb/conanfile.py index 29e6a542..44b256e6 100644 --- a/packages/conan/recipes/openvdb/conanfile.py +++ b/packages/conan/recipes/openvdb/conanfile.py @@ -272,6 +272,10 @@ def package(self): cmake = CMake(self) cmake.install() + # ASWF: libopenvdb_ax.a gets built even in shared lib mode + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + @property def _public_defines(self): defines = [] diff --git a/packages/conan/recipes/osl/conandata.yml b/packages/conan/recipes/osl/conandata.yml new file mode 100644 index 00000000..1cfb7618 --- /dev/null +++ b/packages/conan/recipes/osl/conandata.yml @@ -0,0 +1,51 @@ +# 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 + +sources: + "1.15.1.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.15.1.0.tar.gz" + sha256: "c830c2bd95992691bf95871d741a8108c6ddca118278126f5a6bad305b9b7802" + "1.14.7.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.14.7.0.tar.gz" + sha256: "c4c2ddd3b537cd3a90d50fdd0753614fa24100698d5632b9f1108bd8b505e56c" + "1.14.6.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.14.6.0.tar.gz" + sha256: "5b56f6f779a092e81ea0cad1f1ad69b1c26f8ad8086e415d1608911328fe4527" + "1.13.11.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.13.11.0.tar.gz" + sha256: "e448f983049038bb5a611c4fb902d839296c22d3ef221b38e53a14b40ce187a7" + "1.12.13.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.12.13.0.tar.gz" + sha256: "b5fc9f4814c1ec927773b2236d126072c1d0bbc0f031841b82649ff4d29e9d7e" + "1.12.7.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.12.7.0.tar.gz" + sha256: "410d11124f1ff943db8a04e8228383fe180462d17d629cde7349859828236334" + "1.11.13.0": + url: "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v1.11.13.0.tar.gz" + sha256: "5fface4b487b9bf9448ac5f5a370dbe2075d2941dd11c396448a86ac11663002" +patches: + "1.15.1.0": + - patch_file: "patches/1.15.1.0-find-llvm-binaries.patch" + patch_description: "Allow CMake to find LLVM binaries when building inside Conan" + patch_type: "conan" + - patch_file: "patches/1.15.1.0-cmake-oiio-imath-includes.patch" + patch_description: "Allow imath and oiio to be found when building inside Conan" + patch_type: "conan" + "1.14.7.0": + - patch_file: "patches/1.14.7.0-find-llvm-binaries.patch" + patch_description: "Allow CMake to find LLVM binaries when building inside Conan" + patch_type: "conan" + - patch_file: "patches/1.14.7.0-cmake-oiio-imath-includes.patch" + patch_description: "Allow imath and oiio to be found when building inside Conan" + patch_type: "conan" + "1.13.11.0": + - patch_file: "patches/1.13.11.0-serialize-cuda-build.patch" + patch_description: "Serialize CUDA build steps to avoid race conditions" + patch_type: "conan" + - patch_file: "patches/1.13.11.0-find-llvm-binaries.patch" + patch_description: "Allow CMake to find LLVM binaries when building inside Conan" + patch_type: "conan" + - patch_file: "patches/1.13.11.0-cmake-oiio-imath-includes.patch" + patch_description: "Allow imath and oiio to be found when building inside Conan" + patch_type: "conan" diff --git a/packages/conan/recipes/osl/conanfile.py b/packages/conan/recipes/osl/conanfile.py new file mode 100644 index 00000000..8be2dc09 --- /dev/null +++ b/packages/conan/recipes/osl/conanfile.py @@ -0,0 +1,168 @@ +# 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 +# +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rm, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=2.1" + + +class OpenShadingLanguageConan(ConanFile): + name = "osl" # ASWF: short name for compatibility + description = ( + "Open Shading Language (OSL) is a small but rich language for programmable " + "shading in advanced renderers and other applications, ideal for describing " + "materials, lights, displacement, and pattern generation." + ) + topics = ("vfx", "image", "picture") + license = "BSD-3-Clause" + homepage = "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage" + url = "https://github.com/conan-io/conan-center-index" + + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_optix": [True, False], + "with_partio": [True, False], + "with_python": [True, False], + "with_qt": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_optix": True, + "with_partio": True, + "with_python": True, + "with_qt": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def requirements(self): + # FIXME need better way to determine llvm version + self.requires(f"clang/{os.environ['ASWF_PYSIDE_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + # Required libraries + self.requires("zlib/[>=1.2.11 <2]") + self.requires("fmt/10.2.1", transitive_headers=True) + self.requires("tsl-robin-map/1.2.1") + self.requires("oiio/[>=2.5]") + self.requires("imath/3.1.9", transitive_headers=True) + if Version(self.version) <= "1.13": + # OSL 1.13 has vestigial OpenEXR includes + self.requires("openexr/[>=3.0.0]") + self.requires("pugixml/[>=1.8]") + if self.options.with_partio: + self.requires("partio/[>=1.19.0]") + if self.options.with_python: + self.requires("cpython/[>=3.9]") + self.requires("pybind11/2.7]") + if self.options.with_qt: + 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_PYSIDE_CLANG_VERSION']}@{self.user}/ci_common{os.environ['CI_COMMON_VERSION']}") + self.tool_requires("cmake/[>=3.19]") + self.tool_requires("bison/[>=2.7]") + self.tool_requires("flex/[>=2.5.35]") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 17) + if is_msvc(self) and is_msvc_static_runtime(self) and self.options.shared: + raise ConanInvalidConfiguration( + "Building shared library with static runtime is not supported!" + ) + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + + # CMake options + tc.variables["CMAKE_CXX_STANDARD"] = self.settings.compiler.cppstd + tc.variables["OSL_USE_OPTIX"] = self.options.with_optix + tc.variables["USE_PARTIO"] = self.options.with_partio + tc.variables["USE_PYTHON"] = self.options.with_python + tc.variables["USE_QT"] = self.options.with_qt + tc.variables["OPTIXHOME"] = "/usr/local/NVIDIA-OptiX-SDK-9.0.0" # ASWF FIXME + + tc.generate() + cd = CMakeDeps(self) + cd.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + # ASWF: license files in package subdirectory + copy(self, "LICENSE*.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses", self.name)) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows": + for vc_file in ("concrt", "msvcp", "vcruntime"): + rm(self, f"{vc_file}*.dll", os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + # ASWF: keep cmake for outside conan use + # rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + @staticmethod + def _conan_comp(name): + return f"openimageio_{name.lower()}" + + def _add_component(self, name): + component = self.cpp_info.components[self._conan_comp(name)] + component.set_property("cmake_target_name", f"OpenImageIO::{name}") + component.names["cmake_find_package"] = name + component.names["cmake_find_package_multi"] = name + return component + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "OpenShadingLanguage") + self.cpp_info.set_property("cmake_target_name", "OpenShadingLanguage::OpenShadingLanguage") + self.cpp_info.set_property("pkg_config_name", "OpenOpenShadingLanguage") + + self.cpp_info.libs = ["oslcomp", "oslexec", "oslnoise", "oslquery", "osltestshade"] + + self.cpp_info.requires = [ + "clang::LLVM", + "zlib::zlib", + "fmt::fmt", + "tsl-robin-map::tsl-robin-map", + "oiio::OpenImageIO", + "imath::imath", + "pugixml::pugixml", + ] + if self.options.with_partio: + self.cpp_info.requires.append("partio::partio") + if self.options.with_python: + self.cpp_info.requires.append("cpython::cpython") + self.cpp_info.requires.append("pybind11::pybind11") + if self.options.with_qt: + # ASWF FIXME: may not need the whole thing + self.cpp_info.requires.append("qt::qt") diff --git a/packages/conan/recipes/osl/patches/1.13.11.0-cmake-oiio-imath-includes.patch b/packages/conan/recipes/osl/patches/1.13.11.0-cmake-oiio-imath-includes.patch new file mode 100644 index 00000000..b5c1ae05 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.13.11.0-cmake-oiio-imath-includes.patch @@ -0,0 +1,127 @@ +diff --git src/liboslexec/CMakeLists.txt src/liboslexec/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/liboslexec/CMakeLists.txt ++++ src/liboslexec/CMakeLists.txt +@@ -194,9 +194,9 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +- list(APPEND include_dirs ${IMATH_INCLUDES}) +- list(APPEND include_dirs ${OPENEXR_INCLUDES}) +- list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++ list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++ list(APPEND include_dirs ${OpenEXR_INCLUDE_DIRS}) ++ list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + list(APPEND include_dirs ${Boost_INCLUDE_DIRS}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${llvm_ops_srcs}" "_host" "osl_llvm_compiled_ops" lib_src "" "${include_dirs}") +@@ -516,7 +516,8 @@ + target_include_directories (${batched_target_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} ++ ${OpenEXR_INCLUDE_DIRS} + ) + target_link_libraries (${batched_target_lib} + PUBLIC +@@ -533,7 +534,8 @@ + target_include_directories (${local_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} ++ ${OpenEXR_INCLUDE_DIRS} + PRIVATE + "${CMAKE_SOURCE_DIR}/src/liboslcomp" + ) +@@ -567,6 +569,7 @@ + target_link_libraries (${local_lib} + PUBLIC + oslquery oslnoise ++ OpenEXR::OpenEXR + OpenImageIO::OpenImageIO + # For OpenEXR/Imath 3.x: + $ +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -86,19 +86,21 @@ + RECOMMEND_MIN 2.5 + RECOMMEND_MIN_REASON + "Even extremely critical patches are no longer supplied to < 2.5" +- PRINT IMATH_INCLUDES ++ PRINT Imath_INCLUDE_DIRS + ) + # Force Imath includes to be before everything else to ensure that we have + # the right Imath/OpenEXR version, not some older version in the system + # library. This shouldn't be necessary, except for the common case of people + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. +-include_directories(BEFORE ${IMATH_INCLUDES}) ++include_directories(BEFORE ${Imath_INCLUDE_DIRS}) + if (MSVC AND NOT LINKSTATIC) + add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? + endif () + +-if (OPENEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) ++# get_property(allTargets GLOBAL PROPERTY TARGETS) ++# message(STATUS "OPENEXR_INCLUDES = ${OPENEXR_INCLUDES} OpenEXR_INCLUDE_DIRS = ${OpenEXR_INCLUDE_DIRS} OpenEXR_VERSION = ${OpenEXR_VERSION} Imath_INCLUDE_DIRS = ${Imath_INCLUDE_DIRS} allTargets = ${allTargets}") ++if (OpenEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) + set (OSL_USING_IMATH 3) + else () + set (OSL_USING_IMATH 2) +@@ -120,8 +120,8 @@ + VERSION_MAX 18.9 + PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES) + # ensure include directory is added (in case of non-standard locations +-include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}") +-link_directories ("${LLVM_LIB_DIR}") ++include_directories (BEFORE SYSTEM "${LLVM_INCLUDE_DIRS}") ++link_directories ("${LLVM_LIBBRARY_DIRS}") + # Extract and concatenate major & minor, remove wayward patches, + # dots, and "svn" or other suffixes. + string (REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1\\2" OSL_LLVM_VERSION ${LLVM_VERSION}) +@@ -218,7 +218,7 @@ + set (CUDA_INCLUDES ${CUDA_TOOLKIT_ROOT_DIR}/include) + include_directories (BEFORE "${CUDA_INCLUDES}") + +- STRING (FIND ${LLVM_TARGETS} "NVPTX" nvptx_index) ++ STRING (FIND "${LLVM_TARGETS_TO_BUILD}" "NVPTX" nvptx_index) + if (NOT ${nvptx_index} GREATER -1) + message (FATAL_ERROR "NVPTX target is not available in the provided LLVM build") + endif() +diff --git src/testshade/CMakeLists.txt src/testshade/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/testshade/CMakeLists.txt ++++ src/testshade/CMakeLists.txt +@@ -68,9 +68,9 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +-list(APPEND include_dirs ${IMATH_INCLUDES}) +-list(APPEND include_dirs ${OPENEXR_INCLUDES}) +-list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++list(APPEND include_dirs ${OpenEXR_INCLUDE_DIRS}) ++list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + list(APPEND include_dirs ${Boost_INCLUDE_DIRS}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${rs_srcs}" "_host" "testshade_llvm_compiled_rs" testshade_srcs "-DOSL_HOST_RS_BITCODE=1" "${include_dirs}") +diff --git src/liboslexec/shadingsys.cpp src/liboslexec/shadingsys.cpp +index d99dd79ac..bfda2778a 100644 +--- src/liboslexec/shadingsys.cpp ++++ src/liboslexec/shadingsys.cpp +@@ -32,7 +32,11 @@ + using namespace OSL; + using namespace OSL::pvt; + ++#if 0 + #include // Just for OPENEXR_VERSION_STRING ++#else ++#define OPENEXR_VERSION_STRING "3.2.5" ++#endif + + // avoid naming conflicts with MSVC macros + #ifdef _MSC_VER diff --git a/packages/conan/recipes/osl/patches/1.13.11.0-find-llvm-binaries.patch b/packages/conan/recipes/osl/patches/1.13.11.0-find-llvm-binaries.patch new file mode 100644 index 00000000..f46ee9af --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.13.11.0-find-llvm-binaries.patch @@ -0,0 +1,114 @@ +diff --git src/cmake/llvm_macros.cmake src/cmake/llvm_macros.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/llvm_macros.cmake ++++ src/cmake/llvm_macros.cmake +@@ -31,8 +31,8 @@ + if (NOT LLVM_BC_GENERATOR) + find_program (LLVM_BC_GENERATOR NAMES "clang++" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_BC_GENERATOR) +@@ -43,15 +43,15 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + +--- src/cmake/cuda_macros.cmake ++++ src/cmake/cuda_macros.cmake +@@ -24,11 +24,11 @@ + file ( GLOB cuda_headers "${cuda_src_dir}/*.h" ) + list (APPEND cuda_headers ${extra_headers}) + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + if (NOT CUDA_NO_FTZ) +@@ -79,7 +79,7 @@ + + # Setup the bitcode generator + if (NOT LLVM_BC_GENERATOR) +- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) ++ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_ENVIRONMENT_PATH) + endif () + # If that didn't work, look anywhere + if (NOT LLVM_BC_GENERATOR) +@@ -95,29 +95,29 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LLC_TOOL) + find_program (LLVM_LLC_TOOL NAMES "llc" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_OPT_TOOL) + find_program (LLVM_OPT_TOOL NAMES "opt" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +@@ -150,11 +150,11 @@ + set (CUDA_TEXREF_FIX "-D__CLANG_CUDA_TEXTURE_INTRINSICS_H__") + endif() + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + add_custom_command (OUTPUT ${bc_cuda} diff --git a/packages/conan/recipes/osl/patches/1.13.11.0-serialize-cuda-build.patch b/packages/conan/recipes/osl/patches/1.13.11.0-serialize-cuda-build.patch new file mode 100644 index 00000000..a8b7f683 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.13.11.0-serialize-cuda-build.patch @@ -0,0 +1,22 @@ +diff --git src/testshade/CMakeLists.txt src/testshade/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/testshade/CMakeLists.txt ++++ src/testshade/CMakeLists.txt +@@ -80,6 +80,9 @@ + target_link_libraries (testshade + PRIVATE + oslexec oslquery) ++if (OSL_USE_OPTIX) ++ add_dependencies(testshade testshade_ptx) ++endif () + + install (TARGETS testshade RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +@@ -96,6 +99,7 @@ + if (NOT CODECOV) + # The 'libtestshade' library + add_library ( "libtestshade" ${testshade_srcs} ) ++ add_dependencies(libtestshade testshade) + + set_target_properties (libtestshade + PROPERTIES diff --git a/packages/conan/recipes/osl/patches/1.14.7.0-cmake-oiio-imath-includes.patch b/packages/conan/recipes/osl/patches/1.14.7.0-cmake-oiio-imath-includes.patch new file mode 100644 index 00000000..38674128 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.14.7.0-cmake-oiio-imath-includes.patch @@ -0,0 +1,116 @@ +diff --git src/liboslexec/CMakeLists.txt src/liboslexec/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/liboslexec/CMakeLists.txt ++++ src/liboslexec/CMakeLists.txt +@@ -187,8 +187,8 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +- list(APPEND include_dirs ${IMATH_INCLUDES}) +- list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++ list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++ list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + list(APPEND include_dirs ${ROBINMAP_INCLUDES}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${llvm_ops_srcs}" "_host" "osl_llvm_compiled_ops" lib_src "" "${include_dirs}") +@@ -514,7 +514,7 @@ + target_include_directories (${batched_target_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} + PRIVATE + ${ROBINMAP_INCLUDES} + ) +@@ -534,13 +534,13 @@ + target_include_directories (${local_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} + PRIVATE + "${CMAKE_SOURCE_DIR}/src/liboslcomp" + ${ROBINMAP_INCLUDES} + ) + +-target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + + target_compile_definitions (${local_lib} + PRIVATE +@@ -610,19 +610,19 @@ + if (OSL_BUILD_TESTS AND BUILD_TESTING) + add_executable (accum_test accum_test.cpp) + target_link_libraries (accum_test PRIVATE oslexec ${CMAKE_DL_LIBS}) +- target_include_directories (accum_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (accum_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (accum_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_accum ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/accum_test) + + add_executable (dual_test dual_test.cpp) + target_link_libraries (dual_test PRIVATE OpenImageIO::OpenImageIO Imath::Imath ${CMAKE_DL_LIBS}) +- target_include_directories (dual_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (dual_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (dual_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_dual ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dual_test) + + add_executable (llvmutil_test llvmutil_test.cpp) + target_link_libraries (llvmutil_test PRIVATE oslexec ${CMAKE_DL_LIBS}) +- target_include_directories (llvmutil_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (llvmutil_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (llvmutil_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_llvmutil ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/llvmutil_test) + endif () +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -38,11 +38,11 @@ + # IlmBase & OpenEXR + checked_find_package (Imath REQUIRED + VERSION_MIN 3.1 +- PRINT IMATH_INCLUDES Imath_VERSION ++ PRINT Imath_INCLUDE_DIRS Imath_VERSION + ) + # Force Imath includes to be before everything else to ensure that we have + # the right Imath version, not some older version in the system library. +-include_directories(BEFORE ${IMATH_INCLUDES}) ++include_directories(BEFORE ${Imath_INCLUDE_DIRS}) + set (OSL_USING_IMATH 3) + + +@@ -62,8 +62,8 @@ + PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES + LLVM_SHARED_MODE) + # ensure include directory is added (in case of non-standard locations +-include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}") +-link_directories ("${LLVM_LIB_DIR}") ++include_directories (BEFORE SYSTEM "${LLVM_INCLUDE_DIRS}") ++link_directories ("${LLVM_LIBBRARY_DIRS}") + # Extract and concatenate major & minor, remove wayward patches, + # dots, and "svn" or other suffixes. + string (REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1\\2" OSL_LLVM_VERSION ${LLVM_VERSION}) +@@ -156,7 +156,7 @@ + set (CUDA_INCLUDES ${CUDA_TOOLKIT_ROOT_DIR}/include) + include_directories (BEFORE "${CUDA_INCLUDES}") + +- STRING (FIND ${LLVM_TARGETS} "NVPTX" nvptx_index) ++ STRING (FIND "${LLVM_TARGETS_TO_BUILD}" "NVPTX" nvptx_index) + if (NOT ${nvptx_index} GREATER -1) + message (FATAL_ERROR "NVPTX target is not available in the provided LLVM build") + endif() +diff --git src/testshade/CMakeLists.txt src/testshade/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/testshade/CMakeLists.txt ++++ src/testshade/CMakeLists.txt +@@ -70,8 +70,8 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +-list(APPEND include_dirs ${IMATH_INCLUDES}) +-list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${rs_srcs}" "_host" "testshade_llvm_compiled_rs" testshade_srcs "-DOSL_HOST_RS_BITCODE=1" "${include_dirs}") + diff --git a/packages/conan/recipes/osl/patches/1.14.7.0-find-llvm-binaries.patch b/packages/conan/recipes/osl/patches/1.14.7.0-find-llvm-binaries.patch new file mode 100644 index 00000000..9481c401 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.14.7.0-find-llvm-binaries.patch @@ -0,0 +1,114 @@ +diff --git src/cmake/llvm_macros.cmake src/cmake/llvm_macros.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/llvm_macros.cmake ++++ src/cmake/llvm_macros.cmake +@@ -31,8 +31,8 @@ + if (NOT LLVM_BC_GENERATOR) + find_program (LLVM_BC_GENERATOR NAMES "clang++" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_BC_GENERATOR) +@@ -48,15 +48,15 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (APPLE) +--- src/cmake/cuda_macros.cmake ++++ src/cmake/cuda_macros.cmake +@@ -24,11 +24,11 @@ + file ( GLOB cuda_headers "${cuda_src_dir}/*.h" ) + list (APPEND cuda_headers ${extra_headers}) + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + if (NOT CUDA_NO_FTZ) +@@ -77,7 +77,7 @@ + + # Setup the bitcode generator + if (NOT LLVM_BC_GENERATOR) +- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) ++ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_ENVIRONMENT_PATH) + endif () + # If that didn't work, look anywhere + if (NOT LLVM_BC_GENERATOR) +@@ -93,29 +93,29 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LLC_TOOL) + find_program (LLVM_LLC_TOOL NAMES "llc" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_OPT_TOOL) + find_program (LLVM_OPT_TOOL NAMES "opt" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +@@ -145,11 +145,11 @@ + set (CUDA_TEXREF_FIX "-D__CLANG_CUDA_TEXTURE_INTRINSICS_H__") + endif() + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + add_custom_command (OUTPUT ${bc_cuda} diff --git a/packages/conan/recipes/osl/patches/1.15.1.0-cmake-oiio-imath-includes.patch b/packages/conan/recipes/osl/patches/1.15.1.0-cmake-oiio-imath-includes.patch new file mode 100644 index 00000000..c07b56c9 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.15.1.0-cmake-oiio-imath-includes.patch @@ -0,0 +1,129 @@ +diff --git src/liboslexec/CMakeLists.txt src/liboslexec/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/liboslexec/CMakeLists.txt ++++ src/liboslexec/CMakeLists.txt +@@ -187,8 +187,8 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +- list(APPEND include_dirs ${IMATH_INCLUDES}) +- list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++ list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++ list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + list(APPEND include_dirs ${ROBINMAP_INCLUDES}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${llvm_ops_srcs}" "_host" "osl_llvm_compiled_ops" lib_src "" "${include_dirs}") +@@ -516,7 +516,7 @@ + target_include_directories (${batched_target_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} + PRIVATE + ${ROBINMAP_INCLUDES} + ) +@@ -536,13 +536,13 @@ + target_include_directories (${local_lib} + PUBLIC + ${CMAKE_INSTALL_FULL_INCLUDEDIR} +- ${IMATH_INCLUDES} ++ ${Imath_INCLUDE_DIRS} + PRIVATE + "${CMAKE_SOURCE_DIR}/src/liboslcomp" + ${ROBINMAP_INCLUDES} + ) + +-target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + + target_compile_definitions (${local_lib} + PRIVATE +@@ -612,19 +612,19 @@ + if (OSL_BUILD_TESTS AND BUILD_TESTING) + add_executable (accum_test accum_test.cpp) + target_link_libraries (accum_test PRIVATE oslexec ${CMAKE_DL_LIBS}) +- target_include_directories (accum_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (accum_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (accum_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_accum ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/accum_test) + + add_executable (dual_test dual_test.cpp) + target_link_libraries (dual_test PRIVATE OpenImageIO::OpenImageIO Imath::Imath ${CMAKE_DL_LIBS}) +- target_include_directories (dual_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (dual_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (dual_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_dual ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dual_test) + + add_executable (llvmutil_test llvmutil_test.cpp) + target_link_libraries (llvmutil_test PRIVATE oslexec ${CMAKE_DL_LIBS}) +- target_include_directories (llvmutil_test BEFORE PRIVATE ${OpenImageIO_INCLUDES}) ++ target_include_directories (llvmutil_test BEFORE PRIVATE ${OpenImageIO_INCLUDE_DIRS}) + set_target_properties (llvmutil_test PROPERTIES FOLDER "Unit Tests") + add_test (unit_llvmutil ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/llvmutil_test) + endif () +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -38,11 +38,11 @@ + # IlmBase & OpenEXR + checked_find_package (Imath REQUIRED + VERSION_MIN 3.1 +- PRINT IMATH_INCLUDES Imath_VERSION ++ PRINT Imath_INCLUDE_DIRS Imath_VERSION + ) + # Force Imath includes to be before everything else to ensure that we have + # the right Imath version, not some older version in the system library. +-include_directories(BEFORE ${IMATH_INCLUDES}) ++include_directories(BEFORE ${Imath_INCLUDE_DIRS}) + set (OSL_USING_IMATH 3) + + +@@ -62,8 +62,8 @@ + PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES + LLVM_SHARED_MODE) + # ensure include directory is added (in case of non-standard locations +-include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}") +-link_directories ("${LLVM_LIB_DIR}") ++include_directories (BEFORE SYSTEM "${LLVM_INCLUDE_DIRS}") ++link_directories ("${LLVM_LIBBRARY_DIRS}") + # Extract and concatenate major & minor, remove wayward patches, + # dots, and "svn" or other suffixes. + string (REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\1\\2" OSL_LLVM_VERSION ${LLVM_VERSION}) +@@ -127,7 +127,7 @@ + set (CUDA_INCLUDES ${CUDA_TOOLKIT_ROOT_DIR}/include) + include_directories (BEFORE "${CUDA_INCLUDES}") + +- STRING (FIND ${LLVM_TARGETS} "NVPTX" nvptx_index) ++ STRING (FIND "${LLVM_TARGETS_TO_BUILD}" "NVPTX" nvptx_index) + if (NOT ${nvptx_index} GREATER -1) + message (FATAL_ERROR "NVPTX target is not available in the provided LLVM build") + endif() +diff --git src/testshade/CMakeLists.txt src/testshade/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/testshade/CMakeLists.txt ++++ src/testshade/CMakeLists.txt +@@ -70,8 +70,8 @@ + set(include_dirs ${CMAKE_CURRENT_SOURCE_DIR}) + list(APPEND include_dirs ${CMAKE_SOURCE_DIR}/src/include) + list(APPEND include_dirs ${CMAKE_BINARY_DIR}/include) +-list(APPEND include_dirs ${IMATH_INCLUDES}) +-list(APPEND include_dirs ${OpenImageIO_INCLUDES}) ++list(APPEND include_dirs ${Imath_INCLUDE_DIRS}) ++list(APPEND include_dirs ${OpenImageIO_INCLUDE_DIRS}) + + EMBED_LLVM_BITCODE_IN_CPP ( "${rs_srcs}" "_host" "testshade_llvm_compiled_rs" testshade_srcs "-DOSL_HOST_RS_BITCODE=1" "${include_dirs}") + +diff --git src/libbsdl/bsdl.cmake src/libbsdl/bsdl.cmake +index d99dd79ac..bfda2778a 100644 +--- src/libbsdl/bsdl.cmake ++++ src/libbsdl/bsdl.cmake +@@ -8,7 +8,7 @@ + cmake_parse_arguments(PARSE_ARGV 1 bsdl "" "SUBDIR" "SPECTRAL_COLOR_SPACES") + # Bootstrap version of BSDL (without luts) + add_library(BSDL_BOOTSTRAP INTERFACE) +- target_include_directories(BSDL_BOOTSTRAP INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/include) ++ target_include_directories(BSDL_BOOTSTRAP INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${bsdl_SUBDIR}/include ${Imath_INCLUDE_DIRS}) + target_link_libraries(BSDL_BOOTSTRAP INTERFACE ${ARNOLD_IMATH_TARGETS}) + + # LUT generation tool diff --git a/packages/conan/recipes/osl/patches/1.15.1.0-find-llvm-binaries.patch b/packages/conan/recipes/osl/patches/1.15.1.0-find-llvm-binaries.patch new file mode 100644 index 00000000..b018acf4 --- /dev/null +++ b/packages/conan/recipes/osl/patches/1.15.1.0-find-llvm-binaries.patch @@ -0,0 +1,114 @@ +diff --git src/cmake/llvm_macros.cmake src/cmake/llvm_macros.cmake +index d99dd79ac..bfda2778a 100644 +--- src/cmake/llvm_macros.cmake ++++ src/cmake/llvm_macros.cmake +@@ -31,8 +31,8 @@ + if (NOT LLVM_BC_GENERATOR) + find_program (LLVM_BC_GENERATOR NAMES "clang++" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_BC_GENERATOR) +@@ -48,15 +48,15 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (APPLE) +--- src/cmake/cuda_macros.cmake ++++ src/cmake/cuda_macros.cmake +@@ -24,11 +24,11 @@ + file ( GLOB cuda_headers "${cuda_src_dir}/*.h" ) + list (APPEND cuda_headers ${extra_headers}) + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + if (NOT CUDA_NO_FTZ) +@@ -86,7 +86,7 @@ + + # Setup the bitcode generator + if (NOT LLVM_BC_GENERATOR) +- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) ++ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_ENVIRONMENT_PATH) + endif () + # If that didn't work, look anywhere + if (NOT LLVM_BC_GENERATOR) +@@ -102,29 +102,29 @@ + if (NOT LLVM_AS_TOOL) + find_program (LLVM_AS_TOOL NAMES "llvm-as" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LINK_TOOL) + find_program (LLVM_LINK_TOOL NAMES "llvm-link" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_LLC_TOOL) + find_program (LLVM_LLC_TOOL NAMES "llc" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (NOT LLVM_OPT_TOOL) + find_program (LLVM_OPT_TOOL NAMES "opt" + PATHS "${LLVM_DIRECTORY}/bin" "${LLVM_DIRECTORY}/tools/llvm" +- NO_CMAKE_PATH NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH +- NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH) ++ NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_ENVIRONMENT_PATH) + endif () + + if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +@@ -148,11 +148,11 @@ + set (CUDA_TEXREF_FIX "-D__CLANG_CUDA_TEXTURE_INTRINSICS_H__") + endif() + +- list (TRANSFORM IMATH_INCLUDES PREPEND -I ++ list (TRANSFORM Imath_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_IMATH_INCLUDES) +- list (TRANSFORM OPENEXR_INCLUDES PREPEND -I ++ list (TRANSFORM OpenEXR_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OPENEXR_INCLUDES) +- list (TRANSFORM OpenImageIO_INCLUDES PREPEND -I ++ list (TRANSFORM OpenImageIO_INCLUDE_DIRS PREPEND -I + OUTPUT_VARIABLE ALL_OpenImageIO_INCLUDES) + + add_custom_command (OUTPUT ${bc_cuda} diff --git a/packages/conan/recipes/pybind11/conanfile.py b/packages/conan/recipes/pybind11/conanfile.py index fa37d0f9..388d9a67 100644 --- a/packages/conan/recipes/pybind11/conanfile.py +++ b/packages/conan/recipes/pybind11/conanfile.py @@ -29,10 +29,10 @@ class PyBind11Conan(ConanFile): # ASWF: requirements() and build_requirements() ensure we find our own Python, Conan env provides the real version def requirements(self): - self.requires(f"cpython/[>=3.0.0]") + self.requires("cpython/[>=3.0.0]") def build_requirements(self): - self.tool_requires(f"cpython/[>=3.0.0]") + self.tool_requires("cpython/[>=3.0.0]") def layout(self): basic_layout(self, src_folder="src") @@ -103,4 +103,4 @@ def package_info(self): self.cpp_info.components["python2_no_register"].requires = ["pybind11_"] # ASWF FIXME: do we need this? - self.env_info.CMAKE_PREFIX_PATH.append(os.path.join(self.package_folder, "lib", "cmake")) \ No newline at end of file + self.env_info.CMAKE_PREFIX_PATH.append(os.path.join(self.package_folder, "lib", "cmake")) diff --git a/packages/conan/recipes/pyside/conanfile.py b/packages/conan/recipes/pyside/conanfile.py index fb3afffc..6d33fc40 100644 --- a/packages/conan/recipes/pyside/conanfile.py +++ b/packages/conan/recipes/pyside/conanfile.py @@ -228,7 +228,7 @@ def _buildMac(self, srcDir): env = Environment() env.define("LLVM_INSTALL_DIR", llvmInfo.package_folder) env.define("CMAKE_PREFIX_PATH", f"{qtInfo.package_folder}:{llvmInfo.package_folder}") - env.defiine("CXXFLAGS", f"-I{pythonInfo.cpp_info.includedirs[0]}") + env.define("CXXFLAGS", f"-I{pythonInfo.cpp_info.includedirs[0]}") env_vars = env.vars(self) with env_vars.apply(): diff --git a/packages/conan/recipes/pystring/conanfile.py b/packages/conan/recipes/pystring/conanfile.py index 75c8e6c2..ede7d194 100644 --- a/packages/conan/recipes/pystring/conanfile.py +++ b/packages/conan/recipes/pystring/conanfile.py @@ -6,7 +6,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get +from conan.tools.files import copy, get, mkdir import os required_conan_version = ">=1.53.0" @@ -62,6 +62,32 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses", self.name)) cmake = CMake(self) cmake.install() + # ASWF: a trivial CMake config to help with outside Conan builds + cmakepath = os.path.join(self.package_folder, "lib", "cmake", "pystring") + mkdir(self, cmakepath) + with open(os.path.join(cmakepath, "pystringConfig.cmake"), "w") as f: + f.write(""" +if(NOT TARGET pystring::pystring) + add_library(pystring::pystring INTERFACE IMPORTED) +endif() +""") + with open(os.path.join(cmakepath, "pystringConfigVersion.cmake"), "w") as f: + f.write(f""" +set(PACKAGE_VERSION "{ self.version }") +if(NOT DEFINED PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + set(PACKAGE_VERSION_EXACT TRUE) + return() +endif() +if(PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) +endif() +if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() +""") def package_info(self): self.cpp_info.libs = ["pystring"] diff --git a/packages/conan/recipes/rawtoaces/conandata.yml b/packages/conan/recipes/rawtoaces/conandata.yml index 9ce695be..acd296be 100644 --- a/packages/conan/recipes/rawtoaces/conandata.yml +++ b/packages/conan/recipes/rawtoaces/conandata.yml @@ -13,6 +13,9 @@ sources: "vfx2026.0": url: "https://github.com/AcademySoftwareFoundation/rawtoaces/archive/refs/tags/vfx2026.0.tar.gz" sha256: "292fdf087dd5543f2de08fb85378f62489436a3146c657b80a0f52ca227680c7" + "2.0.0": + url: "https://github.com/AcademySoftwareFoundation/rawtoaces/archive/refs/tags/v2.0.0.tar.gz" + sha256: "5e0a8d48adf32cb834f7af7daa8b3cd68bab1d521bdc82751e7e561be396d9b9" patches: "1.1.0": - patch_file: "patches/1.1-rc3-cmake_libraw_target.diff" @@ -27,3 +30,13 @@ patches: - patch_file: "patches/cmake_libraw_target.diff" patch_description: "libraw Cmake target from Conan Center Index recipe" patch_type: "conan" + "2.0.0": + - patch_file: "patches/2.0.0-findpython-nanobind.diff" + patch_description: "Adjust FindPython to make nanobind happy" + patch_type: "conan" + - patch_file: "patches/2.0.0-nlohmann-cmake.diff" + patch_description: "Missing nlohmann_json includes" + patch_type: "conan" + - patch_file: "patches/2.0.0-cpp20-class-aggregate.diff" + patch_description: "c++ 20 compilation fix" + patch_type: "conan" diff --git a/packages/conan/recipes/rawtoaces/conanfile.py b/packages/conan/recipes/rawtoaces/conanfile.py index 8a2b993b..535f37b3 100644 --- a/packages/conan/recipes/rawtoaces/conanfile.py +++ b/packages/conan/recipes/rawtoaces/conanfile.py @@ -8,6 +8,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version +from conan.tools.env import Environment import os required_conan_version = ">=2" @@ -50,12 +51,22 @@ def requirements(self): # Conan environment overrides self.requires("ceres-solver/2.2.0") self.requires("imath/3.1.12") - self.requires("libraw/0.21.4") self.requires("boost/1.88.0") - self.requires("aces_container/1.0.2") - # At next version the requirements below are added - self.requires("oiio/3.0.7.0") - self.requires("nlohmann_json/3.12.0") + # 2.0.0 drops libraw and aces_container + # adds OpenImageIO, nlohman_json and nanobind + if Version(self.version) < 2: + self.requires("libraw/0.21.4") + self.requires("aces_container/1.0.2") + else: + self.requires("oiio/3.0.7.0") + self.requires("nlohmann_json/3.12.0") + self.requires("cpython/[>=3.0.0]") + self.requires("nanobind/2.11.0") + + def build_requirements(self): + # tool_requires() dependencies are not transitive, nanobind needs this + if Version(self.version) >= 2: + self.tool_requires("cpython/[>=3.0.0]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -66,6 +77,7 @@ def generate(self): tc.cache_variables["CMAKE_INSTALL_RPATH_USE_LINK_PATH"] = False tc.cache_variables["CMAKE_INSTALL_RPATH"] = "" tc.cache_variables["CMAKE_SKIP_RPATH"] = True + tc.cache_variables["RTA_BUILD_PYTHON_BINDINGS"] = False # ASWF FIXME: until we can make nanobind work tc.generate() deps = CMakeDeps(self) deps.generate() diff --git a/packages/conan/recipes/rawtoaces/patches/2.0.0-cpp20-class-aggregate.diff b/packages/conan/recipes/rawtoaces/patches/2.0.0-cpp20-class-aggregate.diff new file mode 100644 index 00000000..01db212d --- /dev/null +++ b/packages/conan/recipes/rawtoaces/patches/2.0.0-cpp20-class-aggregate.diff @@ -0,0 +1,14 @@ +diff --git src/rawtoaces_util/image_converter.cpp src/rawtoaces_util/image_converter.cpp +index d99dd79ac..bfda2778a 100644 +--- src/rawtoaces_util/image_converter.cpp ++++ src/rawtoaces_util/image_converter.cpp +@@ -22,7 +22,8 @@ + std::string make; + std::string model; + +- CameraIdentifier() = default; ++ // In C++ 20 a default constructure means the class is no longer an aggregate ++ // CameraIdentifier() = default; + + bool is_empty() const { return make.empty() && model.empty(); } + diff --git a/packages/conan/recipes/rawtoaces/patches/2.0.0-findpython-nanobind.diff b/packages/conan/recipes/rawtoaces/patches/2.0.0-findpython-nanobind.diff new file mode 100644 index 00000000..7ddd9b61 --- /dev/null +++ b/packages/conan/recipes/rawtoaces/patches/2.0.0-findpython-nanobind.diff @@ -0,0 +1,13 @@ +diff --git a/configure.cmake b/configure.cmake +index d99dd79ac..bfda2778a 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -20,7 +20,7 @@ + set( DEV_MODULE Development.Module ) + endif () + +- find_package ( Python 3.8 COMPONENTS Interpreter ${DEV_MODULE} REQUIRED ) ++ find_package ( Python 3.8 COMPONENTS Interpreter Development.Module REQUIRED ) + + execute_process ( + COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir diff --git a/packages/conan/recipes/rawtoaces/patches/2.0.0-nlohmann-cmake.diff b/packages/conan/recipes/rawtoaces/patches/2.0.0-nlohmann-cmake.diff new file mode 100644 index 00000000..a1ad9d4b --- /dev/null +++ b/packages/conan/recipes/rawtoaces/patches/2.0.0-nlohmann-cmake.diff @@ -0,0 +1,26 @@ +diff --git src/rawtoaces_core/CMakeLists.txt src/rawtoaces_core/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- src/rawtoaces_core/CMakeLists.txt ++++ src/rawtoaces_core/CMakeLists.txt +@@ -26,6 +26,8 @@ + ${RAWTOACES_CORE_LIB} + PUBLIC + Eigen3::Eigen ++ PRIVATE ++ nlohmann_json::nlohmann_json + ) + + if ( ${Ceres_VERSION_MAJOR} GREATER 1 ) +diff --git tests/CMakeLists.txt tests/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- tests/CMakeLists.txt ++++ tests/CMakeLists.txt +@@ -197,6 +197,8 @@ + PUBLIC + ${RAWTOACES_UTIL_LIB} + OpenImageIO::OpenImageIO ++ PRIVATE ++ nlohmann_json::nlohmann_json + ) + + setup_test_coverage(Test_ImageConverter) diff --git a/packages/conan/settings/profiles_aswf/ci_common4 b/packages/conan/settings/profiles_aswf/ci_common4 index 217223de..c8ead50d 100644 --- a/packages/conan/settings/profiles_aswf/ci_common4 +++ b/packages/conan/settings/profiles_aswf/ci_common4 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=17 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswf/ci_common5 b/packages/conan/settings/profiles_aswf/ci_common5 index e81e9201..e796b030 100644 --- a/packages/conan/settings/profiles_aswf/ci_common5 +++ b/packages/conan/settings/profiles_aswf/ci_common5 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=17 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswf/ci_common6 b/packages/conan/settings/profiles_aswf/ci_common6 index 0c414035..e8eb0a40 100644 --- a/packages/conan/settings/profiles_aswf/ci_common6 +++ b/packages/conan/settings/profiles_aswf/ci_common6 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=20 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswf/vfx2024 b/packages/conan/settings/profiles_aswf/vfx2024 index bec8dafb..fd80c52a 100644 --- a/packages/conan/settings/profiles_aswf/vfx2024 +++ b/packages/conan/settings/profiles_aswf/vfx2024 @@ -58,10 +58,12 @@ libxcrypt/*: libxcrypt/4.4.36@aswf/vfx2024 libxshmfence/*: libxshmfence/system@aswf/vfx2024 log4cplus/*: log4cplus/2.1.2@aswf/vfx2024 lz4/*: lz4/1.10.0@aswf/vfx2024 +materialx/*: materialx/1.39.1@aswf/vfx2024 md4c/*: md4c/0.4.8@aswf/vfx2024 minizip-ng/*: minizip-ng/4.0.10@aswf/vfx2024 mpdecimal/*: mpdecimal/system@aswf/vfx2024 mpg123/*: mpg123/system@aswf/vfx2024 +nanobind/*: nanobind/2.11.0@aswf/vfx2024 nlohmann_json/*: nlohmann_json/3.12.0@aswf/vfx2024 nspr/*: nspr/system@aswf/vfx2024 nss/*: nss/3.112.0@aswf/vfx2024 @@ -79,6 +81,8 @@ openjph/*: openjph/0.24.5@aswf/vfx2024 openssl/*: openssl/system@aswf/vfx2024 openvdb/*: openvdb/11.0.0@aswf/vfx2024 opus/*: opus/system@aswf/vfx2024 +osl/*: osl/1.13.11.0@aswf/vfx2024 +partio/*: partio/1.19.0@aswf/vfx2024 pcre2/*: pcre2/system@aswf/vfx2024 ptex/*: ptex/2.4.2@aswf/vfx2024 pugixml/*: pugixml/1.14@aswf/vfx2024 @@ -86,6 +90,7 @@ pulseaudio/*: pulseaudio/system@aswf/vfx2024 pybind11/*: pybind11/2.13.6@aswf/vfx2024 pystring/*: pystring/1.1.4@aswf/vfx2024 qt/*: qt/6.5.6@aswf/vfx2024 +rawtoaces/*: rawtoaces/1.1.0@aswf/vfx2024 snappy/*: snappy/1.1.10@aswf/vfx2024 spdlog/*: spdlog/1.15.3@aswf/vfx2024 sqlite3/*: sqlite3/system@aswf/vfx2024 @@ -110,7 +115,7 @@ cpython/*: cpython/3.11.13@aswf/vfx2024 flex/*: flex/2.6.1@system gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system -mesno/*: meson/0.58.2@system +meson/*: meson/0.58.2@system nasm/*: nasm/system@aswf/vfx2024 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system diff --git a/packages/conan/settings/profiles_aswf/vfx2025 b/packages/conan/settings/profiles_aswf/vfx2025 index d3fc0828..c35cb1d5 100644 --- a/packages/conan/settings/profiles_aswf/vfx2025 +++ b/packages/conan/settings/profiles_aswf/vfx2025 @@ -58,10 +58,12 @@ libxcrypt/*: libxcrypt/4.4.36@aswf/vfx2025 libxshmfence/*: libxshmfence/system@aswf/vfx2025 log4cplus/*: log4cplus/2.1.2@aswf/vfx2025 lz4/*: lz4/1.10.0@aswf/vfx2025 +materialx/*: materialx/1.39.3@aswf/vfx2025 md4c/*: md4c/0.4.8@aswf/vfx2025 minizip-ng/*: minizip-ng/4.0.10@aswf/vfx2025 mpdecimal/*: mpdecimal/system@aswf/vfx2025 mpg123/*: mpg123/system@aswf/vfx2025 +nanobind/*: nanobind/2.11.0@aswf/vfx2025 nlohmann_json/*: nlohmann_json/3.12.0@aswf/vfx2025 nspr/*: nspr/system@aswf/vfx2025 nss/*: nss/3.112.0@aswf/vfx2025 @@ -72,13 +74,15 @@ onetbb/*: onetbb/2021.13.0@aswf/vfx2025 openal-soft/*: openal-soft/system@aswf/vfx2025 opencl-headers/*: opencl-headers/system@aswf/vfx2025 opencl-icd-loader/*: opencl-icd-loader/system@aswf/vfx2025 -openexr/*: openexr/3.3.6@aswf/vfx2025 +openexr/*: openexr/3.3.7@aswf/vfx2025 opengl/*: opengl/system@aswf/vfx2025 openjpeg/*: openjpeg/2.4.0@aswf/vfx2025 openjph/*: openjph/0.24.5@aswf/vfx2025 openssl/*: openssl/system@aswf/vfx2025 openvdb/*: openvdb/12.1.1@aswf/vfx2025 opus/*: opus/system@aswf/vfx2025 +osl/*: osl/1.14.7.0@aswf/vfx2025 +partio/*: partio/1.19.0@aswf/vfx2025 pcre2/*: pcre2/system@aswf/vfx2025 ptex/*: ptex/2.4.3@aswf/vfx2025 pugixml/*: pugixml/1.14@aswf/vfx2025 @@ -86,6 +90,7 @@ pulseaudio/*: pulseaudio/system@aswr/vfx2025 pybind11/*: pybind11/2.13.6@aswf/vfx2025 pystring/*: pystring/1.1.4@aswf/vfx2025 qt/*: qt/6.5.6@aswf/vfx2025 +rawtoaces/*: rawtoaces@1.1.0@aswf/vfx2025 snappy/*: snappy/1.1.10@aswf/vfx2025 spdlog/*: spdlog/1.15.3@aswf/vfx2025 sqlite3/*: sqlite3/system@aswf/vfx2025 diff --git a/packages/conan/settings/profiles_aswf/vfx2026 b/packages/conan/settings/profiles_aswf/vfx2026 index df3ea332..2c6b0828 100644 --- a/packages/conan/settings/profiles_aswf/vfx2026 +++ b/packages/conan/settings/profiles_aswf/vfx2026 @@ -9,7 +9,7 @@ qt/*:compiler.cppstd=gnu20 [tool_requires] [replace_requires] aces_container/*: aces_container/1.0.2@aswf/vfx2026 -alembic/*: alembic/1.8.8@aswf/vfx2026 +alembic/*: alembic/1.8.10@aswf/vfx2026 boost/*: boost/1.88.0@aswf/vfx2026 brotli/*: brotli/system@aswf/vfx2026 bzip2/*: bzip2/1.0.8@aswf/vfx2026 @@ -60,27 +60,32 @@ libxcrypt/*: libxcrypt/4.4.38@aswf/vfx2026 libxshmfence/*: libxshmfence/system@aswf/vfx2026 log4cplus/*: log4cplus/2.1.2@aswf/vfx2026 lz4/*: lz4/1.10.0@aswf/vfx2026 +materiax/*: materialx/1.39.4@aswf/vfx2026 md4c/*: md4c/0.5.2@aswf/vfx2026 minizip-ng/*: minizip-ng/4.0.10@aswf/vfx2026 mpdecimal/*: mpdecimal/system@aswf/vfx2026 mpg123/*: mpg123/system@aswf/vfx2026 +nanobind/*: nanobind/2.11.0@aswf/vfx2026 nlohmann_json/*: nlohmann_json/3.12.0@aswf/vfx2026 nspr/*: nspr/system@aswf/vfx2026 nss/*: nss/3.112.0@aswf/vfx2026 -ocio/*: ocio/2.5.0@aswf/vfx2026 -oiio/*: oiio/3.1.6.2@aswf/vfx2026 +ocio/*: ocio/2.5.1@aswf/vfx2026 +oiio/*: oiio/3.1.10.0@aswf/vfx2026 ogg/*: ogg/system@aswf/vfx2026 onetbb/*: onetbb/2022.1.0@aswf/vfx2026 openal-soft/*: openal-soft/system@aswf/vfx2026 opencl-headers/*: opencl-headers/system@aswf/vfx2026 opencl-icd-loader/*: opencl-icd-loader/system@aswf/vfx2026 -openexr/*: openexr/3.4.3@aswf/vfx2026 +openexr/*: openexr/3.4.5@aswf/vfx2026 opengl/*: opengl/system@aswf/vfx2026 openjpeg/*: openjpeg/2.4.0@aswf/vfx2026 openjph/*: openjph/0.24.5@aswf/vfx2026 openssl/*: openssl/system@aswf/vfx2026 +opensubdiv/*: opensubdiv/3.7.0@aswf/vfx2026 openvdb/*: openvdb/13.0.0/vfx2026 opus/*: opus/system@aswf/vfx2026 +osl/*: osl/1.15.1.0@aswf/vfx2026 +partio/*: partio/1.19.0@aswf/vfx2026 pcre2/*: pcre2/system@aswf/vfx2026 ptex/*: ptex/2.4.3@aswf/vfx2026 pugixml/*: pugixml/1.15@aswf/vfx2026 @@ -88,6 +93,7 @@ pulseaudio/*: pulseaudio/system@aswf/vfx2026 pybind11/*: pybind11/2.13.6@aswf/vfx2026 pystring/*: pystring/1.1.4@aswf/vfx2026 qt/*: qt/6.8.3@aswf/vfx2026 +rawtoaces/*: rawtoaces/2.0.0@aswf/vfx2026 snappy/*: snappy/1.2.2@aswf/vfx2026 spdlog/*: spdlog/1.15.3@aswf/vfx2026 sqlite3/*: sqlite3/system@aswf/vfx2026 diff --git a/packages/conan/settings/profiles_aswftesting/ci_common4 b/packages/conan/settings/profiles_aswftesting/ci_common4 index 824ce04e..852997c8 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common4 +++ b/packages/conan/settings/profiles_aswftesting/ci_common4 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=17 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswftesting/ci_common5 b/packages/conan/settings/profiles_aswftesting/ci_common5 index 9bee3a91..e6f80be2 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common5 +++ b/packages/conan/settings/profiles_aswftesting/ci_common5 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=17 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswftesting/ci_common6 b/packages/conan/settings/profiles_aswftesting/ci_common6 index 506759f0..314714be 100644 --- a/packages/conan/settings/profiles_aswftesting/ci_common6 +++ b/packages/conan/settings/profiles_aswftesting/ci_common6 @@ -7,9 +7,8 @@ compiler.libcxx=libstdc++11 compiler.cppstd=20 build_type=Release [options] -# Build everything except Clang as shared libs by default +# Build everything as shared libs by default *:shared=True -clang/*:shared=False [tool_requires] [replace_requires] [replace_tool_requires] diff --git a/packages/conan/settings/profiles_aswftesting/vfx2024 b/packages/conan/settings/profiles_aswftesting/vfx2024 index 5e0d962d..19024a9c 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2024 +++ b/packages/conan/settings/profiles_aswftesting/vfx2024 @@ -58,10 +58,12 @@ libwebp/*: libwebp/1.5.0@aswftesting/vfx2024 libxshmfence/*: libxshmfence/system@aswftesting/vfx2024 log4cplus/*: log4cplus/2.1.2@aswftesting/vfx2024 lz4/*: lz4/1.10.0@aswftesting/vfx2024 +materiax/*: materialx/1.39.1@aswftesting/vfx2024 md4c/*: md4c/0.4.8@aswftesting/vfx2024 minizip-ng/*: minizip-ng/4.0.10@aswftesting/vfx2024 mpdecimal/*: mpdecimal/system@aswftesting/vfx2024 mpg123/*: mpg123/system@aswftesting/vfx2024 +nanobind/*: nanobind/2.11.0@aswftesting/vfx2024 nlohmann_json/*: nlohmann_json/3.12.0@aswftesting/vfx2024 nspr/*: nspr/system@aswftesting/vfx2024 nss/*: nss/3.112.0@aswftesting/vfx2024 @@ -79,6 +81,8 @@ openjph/*: openjph/0.24.5@aswftesting/vfx2024 openssl/*: openssl/system@aswftesting/vfx2024 openvdb/*: openvdb/11.0.0@aswftesting/vfx2024 opus/*: opus/system@aswftesting/vfx2024 +osl/*: osl/1.13.11.0@aswftesting/vfx2024 +partio/*: partio/1.19.0@aswftesting/vfx2024 pcre2/*: pcre2/system@aswftesting/vfx2024 ptex/*: ptex/2.4.2@aswftesting/vfx2024 pugixml/*: pugixml/1.14@aswftesting/vfx2024 @@ -86,6 +90,7 @@ pulseaudio/*: pulseaudio/system@aswftesting/vfx2024 pybind11/*: pybind11/2.13.6@aswftesting/vfx2024 pystring/*: pystring/1.1.4@aswftesting/vfx2024 qt/*: qt/6.5.6@aswftesting/vfx2024 +rawtoaces/*: rawtoaces/1.1.0@aswftesting/vfx2024 snappy/*: snappy/1.1.10@aswftesting/vfx2024 spdlog/*: spdlog/1.15.3@aswftesting/vfx2024 sqlite3/*: sqlite3/system@aswftesting/vfx2024 @@ -110,7 +115,7 @@ cpython/*: cpython/3.11.13@aswftesting/vfx2024 flex/*: flex/2.6.1@system gperf/*: gperf/3.1@system libtool/*: libtool/2.4.6@system -mesno/*: meson/0.58.2@system +meson/*: meson/0.58.2@system nasm/*: nasm/system@aswftesting/vfx2024 nodejs/*: nodejs/18.20.4@system pkgconf/*: pkgconf/1.4.2@system diff --git a/packages/conan/settings/profiles_aswftesting/vfx2025 b/packages/conan/settings/profiles_aswftesting/vfx2025 index e57af278..4d7d3c2d 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2025 +++ b/packages/conan/settings/profiles_aswftesting/vfx2025 @@ -58,10 +58,12 @@ libxcrypt/*: libxcrypt/4.4.36@aswftesting/vfx2025 libxshmfence/*: libxshmfence/system@aswftesting/vfx2025 log4cplus/*: log4cplus/2.1.2@aswftesting/vfx2025 lz4/*: lz4/1.10.0@aswftesting/vfx2025 +materialx/*: materialx/1.39.3@aswftesting/vfx2025 md4c/*: md4c/0.4.8@aswftesting/vfx2025 minizip-ng/*: minizip-ng/4.0.10@aswftesting/vfx2025 mpdecimal/*: mpdecimal/system@aswftesting/vfx2025 mpg123/*: mpg123/system@aswftesting/vfx2025 +nanobind/*: nanobind/2.11.0@aswftesting/vfx2025 nlohmann_json/*: nlohmann_json/3.12.0@aswftesting/vfx2025 nspr/*: nspr/system@aswftesting/vfx2025 nss/*: nss/3.112.0@aswftesting/vfx2025 @@ -72,13 +74,15 @@ onetbb/*: onetbb/2021.13.0@aswftesting/vfx2025 openal-soft/*: openal-soft/system@aswftesting/vfx2025 opencl-headers/*: opencl-headers/system@aswftesting/vfx2025 opencl-icd-loader/*: opencl-icd-loader/system@aswftesting/vfx2025 -openexr/*: openexr/3.3.6@aswftesting/vfx2025 +openexr/*: openexr/3.3.7@aswftesting/vfx2025 opengl/*: opengl/system@aswftesting/vfx2025 openjpeg/*: openjpeg/2.4.0@aswftesting/vfx2025 openjph/*: openjph/0.24.5@aswftesting/vfx2025 openssl/*: openssl/system@aswftesting/vfx2025 openvdb/*: openvdb/12.1.1@aswftesting/vfx2025 opus/*: opus/system@aswftesting/vfx2025 +osl/*: osl/1.14.7.0@aswftesting/vfx2025 +partio/*: partio/1.19.0@aswftesting/vfx2025 pcre2/*: pcre2/system@aswftesting/vfx2025 ptex/*: ptex/2.4.3@aswftesting/vfx2025 pugixml/*: pugixml/1.14@aswftesting/vfx2025 @@ -86,6 +90,7 @@ pulseaudio/*: pulseaudio/system@aswftesting/vfx2025 pybind11/*: pybind11/2.13.6@aswftesting/vfx2025 pystring/*: pystring/1.1.4@aswftesting/vfx2025 qt/*: qt/6.5.6@aswftesting/vfx2025 +rawtoaces/*: rawtoaces/1.1.0@aswftesting/vfx2025 snappy/*: snappy/1.1.10@aswftesting/vfx2025 spdlog/*: spdlog/1.15.3@aswftesting/vfx2025 sqlite3/*: sqlite3/system@aswftesting/vfx2025 diff --git a/packages/conan/settings/profiles_aswftesting/vfx2026 b/packages/conan/settings/profiles_aswftesting/vfx2026 index cc30d4b7..eaf74ccf 100644 --- a/packages/conan/settings/profiles_aswftesting/vfx2026 +++ b/packages/conan/settings/profiles_aswftesting/vfx2026 @@ -9,7 +9,7 @@ qt/*:compiler.cppstd=gnu20 [tool_requires] [replace_requires] aces_container/*: aces_container/1.0.2@aswftesting/vfx2026 -alembic/*: alembic/1.8.8@aswftesting/vfx2026 +alembic/*: alembic/1.8.10@aswftesting/vfx2026 boost/*: boost/1.88.0@aswftesting/vfx2026 brotli/*: brotli/system@aswftesting/vfx2026 bzip2/*: bzip2/1.0.8@aswftesting/vfx2026 @@ -60,27 +60,32 @@ libxcrypt/*: libxcrypt/4.4.38@aswftesting/vfx2026 libxshmfence/*: libxshmfence/system@aswftesting/vfx2026 log4cplus/*: log4cplus/2.1.2@aswftesting/vfx2026 lz4/*: lz4/1.10.0@aswftesting/vfx2026 +materialx/*: materialx/1.39.4@aswftesting/vfx2026 md4c/*: md4c/0.5.2@aswftesting/vfx2026 minizip-ng/*: minizip-ng/4.0.10@aswftesting/vfx2026 mpdecimal/*: mpdecimal/system@aswftesting/vfx2026 mpg123/*: mpg123/system@aswftesting/vfx2026 +nanobind/*: nanobind/2.11.0@aswftesting/vfx2026 nlohmann_json/*: nlohmann_json/3.12.0@aswftesting/vfx2026 nspr/*: nspr/system@aswftesting/vfx2026 nss/*: nss/3.112.0@aswftesting/vfx2026 -ocio/*: ocio/2.5.0@aswftesting/vfx2026 -oiio/*: oiio/3.1.6.2@aswftesting/vfx2026 +ocio/*: ocio/2.5.1@aswftesting/vfx2026 +oiio/*: oiio/3.1.10.0@aswftesting/vfx2026 ogg/*: ogg/system@aswftesting/vfx2026 onetbb/*: onetbb/2022.1.0@aswftesting/vfx2026 openal-soft/*: openal-soft/system@aswftesting/vfx2026 opencl-headers/*: opencl-headers/system@aswftesting/vfx2026 opencl-icd-loader/*: opencl-icd-loader/system@aswftesting/vfx2026 -openexr/*: openexr/3.4.3@aswftesting/vfx2026 +openexr/*: openexr/3.4.5@aswftesting/vfx2026 opengl/*: opengl/system@aswftesting/vfx2026 openjpeg/*: openjpeg/2.4.0@aswftesting/vfx2026 openjph/*: openjph/0.24.5@aswftesting/vfx2026 openssl/*: openssl/system@aswftesting/vfx2026 +opensubdiv/*: opensubdiv/3.7.0@aswftesting/vfx2026 openvdb/*: openvdb/13.0.0@aswftesting/vfx2026 opus/*: opus/system@aswftesting/vfx2026 +osl/*: osl/1.15.1.0@aswftesting/vfx2026 +partio/*: partio/1.19.0@aswftesting/vfx2026 pcre2/*: pcre2/system@aswftesting/vfx2026 ptex/*: ptex/2.4.3@aswftesting/vfx2026 pugixml/*: pugixml/1.15@aswftesting/vfx2026 @@ -88,6 +93,7 @@ pulseaudio/*: pulseaudio/system@aswr/vfx2026 pybind11/*: pybind11/2.13.6@aswftesting/vfx2026 pystring/*: pystring/1.1.4@aswftesting/vfx2026 qt/*: qt/6.8.3@aswftesting/vfx2026 +rawtoaces/*: rawtoaces/2.0.0@aswftesting/vfx2026 snappy/*: snappy/1.2.2@aswftesting/vfx2026 spdlog/*: spdlog/1.15.3@aswftesting/vfx2026 sqlite3/*: sqlite3/system@aswftesting/vfx2026 diff --git a/python/aswfdocker/data/ci-image-dockerfile.jinja2 b/python/aswfdocker/data/ci-image-dockerfile.jinja2 index e3763779..f460031f 100644 --- a/python/aswfdocker/data/ci-image-dockerfile.jinja2 +++ b/python/aswfdocker/data/ci-image-dockerfile.jinja2 @@ -23,7 +23,7 @@ ARG {{ arg }} {% for package in packages + implicit_packages -%} ARG ASWF_{{package|upper|replace("-", "_")}}_VERSION {% endfor -%} -{% if name == "osl" or name == "usd" -%} +{% if name == "usd" -%} ARG ASWF_{{name|upper}}_VERSION {% endif -%} @@ -69,7 +69,7 @@ ARG {{ arg }} {% for package in packages + implicit_packages -%} ARG ASWF_{{package|upper|replace("-", "_")}}_VERSION {% endfor -%} -{% if name == "osl" or name == "usd" -%} +{% if name == "usd" -%} ARG ASWF_{{name|upper}}_VERSION {% endif -%} @@ -116,7 +116,7 @@ ENV {{ arg }}=${{ arg }} {% for package in packages + implicit_packages -%} ENV ASWF_{{package|upper|replace("-", "_")}}_VERSION=$ASWF_{{package|upper|replace("-", "_")}}_VERSION {% endfor -%} -{% if name == "osl" or name == "usd" -%} +{% if name == "usd" -%} ENV ASWF_{{name|upper}}_VERSION=$ASWF_{{name|upper}}_VERSION {% endif -%} diff --git a/python/aswfdocker/data/versions.yaml b/python/aswfdocker/data/versions.yaml index f92d6646..c7377585 100644 --- a/python/aswfdocker/data/versions.yaml +++ b/python/aswfdocker/data/versions.yaml @@ -590,6 +590,7 @@ versions: ASWF_LZ4_VERSION: "1.10.0" ASWF_MD4C_VERSION: "0.4.8" ASWF_MINIZIP_NG_VERSION: "4.0.10" + ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" @@ -725,6 +726,7 @@ versions: ASWF_LZ4_VERSION: "1.10.0" ASWF_MD4C_VERSION: "0.4.8" ASWF_MINIZIP_NG_VERSION: "4.0.10" + ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" @@ -758,7 +760,7 @@ versions: ASWF_OCIO_CONFIGS_VERSION: "1.0_r2" ASWF_OCIO_VERSION: "2.4.2" ASWF_OIIO_VERSION: "3.1.6.2" - ASWF_OPENEXR_VERSION: "3.3.6" + ASWF_OPENEXR_VERSION: "3.3.7" ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "12.1.1" @@ -861,6 +863,7 @@ versions: ASWF_LZ4_VERSION: "1.10.0" ASWF_MD4C_VERSION: "0.5.2" ASWF_MINIZIP_NG_VERSION: "4.0.10" + ASWF_NANOBIND_VERSION: "2.11.0" ASWF_NLOHMANN_JSON_VERSION: "3.12.0" ASWF_OPENJPH_VERSION: "0.24.5" ASWF_PARTIO_VERSION: "1.19.0" @@ -875,12 +878,12 @@ versions: ASWF_ZLIB_VERSION: "1.3.1" ASWF_ZSTD_VERSION: "1.5.7" # Packages specified by VFX Platform - ASWF_ALEMBIC_VERSION: "1.8.8" + ASWF_ALEMBIC_VERSION: "1.8.10" ASWF_BOOST_VERSION: "1.88.0" ASWF_CPYTHON_VERSION: "3.13.3" ASWF_NUMPY_VERSION: "2.3.2" ASWF_ONETBB_VERSION: "2022.1.0" - ASWF_OPENSUBDIV_VERSION: "3.6.1" + 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" @@ -890,17 +893,17 @@ versions: ASWF_CXX_STANDARD: "20" # ASWF packages ASWF_IMATH_VERSION: "3.2.2" - ASWF_MATERIALX_VERSION: "1.39.3" + ASWF_MATERIALX_VERSION: "1.39.4" ASWF_OCIO_CONFIGS_VERSION: "1.0_r2" - ASWF_OCIO_VERSION: "2.5.0" - ASWF_OIIO_VERSION: "3.1.6.2" - ASWF_OPENEXR_VERSION: "3.4.3" + ASWF_OCIO_VERSION: "2.5.1" + ASWF_OIIO_VERSION: "3.1.10.0" + ASWF_OPENEXR_VERSION: "3.4.5" ASWF_OPENFX_VERSION: "1.5s" ASWF_OPENRV_VERSION: "2.1.0" ASWF_OPENVDB_VERSION: "13.0.0" - ASWF_OSL_VERSION: "1.14.7.0" + ASWF_OSL_VERSION: "1.15.1.0" ASWF_OTIO_VERSION: "0.17.0" - ASWF_RAWTOACES_VERSION: "1.1.0" + ASWF_RAWTOACES_VERSION: "2.0.0" "2026-clang19": parent_versions: ["6", "6-clang19", "2026"] major_version: "2026" @@ -927,597 +930,601 @@ ci-packages: - "2-clang14.0" - "3-clang14.2" - "3-clang15.2" - - "4-clang16.5" - - "4-clang17.5" - - "5-clang18.4" - - "5-clang19.4" - - "6-clang19.2" - - "6-clang20.2" + - "4-clang16.6" + - "4-clang17.6" + - "5-clang18.5" + - "5-clang19.5" + - "6-clang19.3" + - "6-clang20.3" ninja: - "1.3" - "2.2" - "3.2" - - "4.5" - - "5.4" - - "6.2" + - "4.6" + - "5.5" + - "6.3" cmake: - "1.3" - "2.2" - "3.2" - - "4.5" - - "5.4" - - "6.2" + - "4.6" + - "5.5" + - "6.3" cpython: - "2019.2" - "2020.2" - "2021.2" - "2022.3" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pybind11: - "2019.0" - "2020.0" - "2021.0" - "2022.3" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" b2: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libbacktrace: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" boost: - "2019.2" - "2020.2" - "2021.2" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" cppunit: - "2019.2" - "2020.2" - "2021.1" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" glew: - "2019.2" - "2020.2" - "2021.2" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" glfw: - "2019.2" - "2020.2" - "2021.2" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" log4cplus: - "2019.2" - "2020.2" - "2021.1" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" gtest: - "2019.0" - "2020.0" - "2021.0" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" qt: - "2019.2" - "2020.2" - "2021.2" - "2022.0" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pyside: - "2019.2" - "2020.2" - "2021.2" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" c-blosc: - "2019.2" - "2020.2" - "2021.1" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" imath: - "2019.0" - "2020.0" - "2021.0" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openexr: - "2019.2" - "2020.2" - "2021.3" - "2022.3" - "2023.2" - - "2024.5" + - "2024.6" - "2025.5" - - "2026.2" + - "2026.3" openfx: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" alembic: - "2019.2" - "2020.2" - "2021.2" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ocio: - "2019.2" - "2020.2" - "2021.4" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" oiio: - "2019.2" - "2020.2" - "2021.4" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opensubdiv: - "2019.2" - "2020.2" - "2021.2" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ptex: - "2019.2" - "2020.2" - "2021.1" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openrv: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openvdb: - "2019.2" - "2020.2" - "2021.3" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" usd: - "2019.3" - "2020.2" - "2021.5" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" partio: - "2019.1" - "2020.1" - "2021.2" - "2022.2" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" osl: - "2019.1" - "2020.1" - "2021.3" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" otio: - "2019.1" - "2020.1" - "2021.3" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" rawtoaces: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" materialx: - "2019.0" - "2020.0" - "2021.0" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" expat: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" md4c: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" brotli: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" cimg: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" dbus: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" double-conversion: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" aces_container: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" bzip2: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ceres-solver: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" eigen: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" fmt: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" fontconfig: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" freetype: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" gdbm: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" giflib: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" glib: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" harfbuzz: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" hdf5: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" highway: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" icu: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" jasper: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" lcms: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libalsa: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libaom-av1: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libdeflate: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libdrm: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libffi: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libiconv: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libjpeg-turbo: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libjxl: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libmp3lame: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libpng: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libraw: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libsndfile: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libsquish: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libsvtav1: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libtiff: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libultrahdr: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libvpx: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libwebp: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libxcrypt: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" libxshmfence: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" lz4: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" minizip-ng: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" mpdecimal: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" mpg123: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" + nanobind: + - "2024.6" + - "2025.5" + - "2026.3" nasm: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" nlohmann_json: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" nspr: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" nss: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ogg: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" onetbb: - "2019.2" - "2020.2" - "2021.2" - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openal-soft: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opencl-headers: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opencl-icd-loader: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opengl: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openjpeg: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openjph: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openssl: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opus: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pcre2: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pugixml: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pulseaudio: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" pystring: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" snappy: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" spdlog: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" sqlite3: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" tcl: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" tk: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" tsl-robin-map: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" util-linux-libuuid: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" vorbis: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" vulkan-headers: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" vulkan-loader: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" xkbcommon: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" xorg: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" xorg-proto: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" xz_utils: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" yaml-cpp: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" zlib: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" zstd: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ci-images: baseos-gl-conan: - - "4.5" - - "5.4" - - "6.2" + - "4.6" + - "5.5" + - "6.3" common: - "1-clang6.8" - "1-clang7.8" @@ -1530,102 +1537,102 @@ ci-images: - "2-clang13.1" - "2-clang14.0" - "3-clang14.2" - - "3-clang15.2" - - "4-clang16.5" - - "4-clang17.5" - - "5-clang18.4" - - "5-clang19.4" - - "6-clang19.2" - - "6-clang20.2" + - "3-clang15." + - "4-clang16.6" + - "4-clang17.6" + - "5-clang18.5" + - "5-clang19.5" + - "6-clang19.3" + - "6-clang20.3" base: - "2019.9" - "2020.9" - "2021.6" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" baseqt: - "2019.2" - "2020.2" - "2021.3" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" imath: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openexr: - "2019.8" - "2020.8" - "2021.5" - "2022.3" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openfx: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" ocio: - "2019.9" - "2020.8" - "2021.6" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" oiio: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" opencue: - "2019.10" - "2020.10" - "2021.7" - "2022.3" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" rawtoaces: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" usd: - "2019.9" - "2020.8" - "2021.6" - "2022.4" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" otio: - "2019.3" - "2020.3" - "2021.5" - "2022.3" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" materialx: - "2022.1" - "2023.2" - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" openrv: - - "2024.5" - - "2025.4" - - "2026.2" + - "2024.6" + - "2025.5" + - "2026.3" osl: - "2019-clang6.5" - "2019-clang7.5" @@ -1642,12 +1649,12 @@ ci-images: - "2022-clang14.1" - "2023-clang14.2" - "2023-clang15.2" - - "2024-clang16.5" - - "2024-clang17.5" - - "2025-clang18.4" - - "2025-clang19.4" - - "2026-clang19.2" - - "2026-clang20.2" + - "2024-clang16.6" + - "2024-clang17.6" + - "2025-clang18.5" + - "2025-clang19.5" + - "2026-clang19.3" + - "2026-clang20.3" openvdb: - "2019-clang6.8" - "2019-clang7.8" @@ -1662,12 +1669,12 @@ ci-images: - "2022-clang14.2" - "2023-clang14.2" - "2023-clang15.2" - - "2024-clang16.5" - - "2024-clang17.5" - - "2025-clang18.4" - - "2025-clang19.4" - - "2026-clang19.2" - - "2026-clang20.2" + - "2024-clang16.6" + - "2024-clang17.6" + - "2025-clang18.5" + - "2025-clang19.5" + - "2026-clang19.3" + - "2026-clang20.3" vfxall: - "2019-clang6.12" - "2019-clang7.12" @@ -1682,12 +1689,12 @@ ci-images: - "2022-clang14.3" - "2023-clang14.2" - "2023-clang15.2" - - "2024-clang16.5" - - "2024-clang17.5" - - "2025-clang18.4" - - "2025-clang19.4" - - "2026-clang19.2" - - "2026-clang20.2" + - "2024-clang16.6" + - "2024-clang17.6" + - "2025-clang18.5" + - "2025-clang19.5" + - "2026-clang19.3" + - "2026-clang20.3" groups: package: @@ -1751,6 +1758,7 @@ groups: - minizip-ng base1-3: - boost + - nanobind - pybind11 base2-wrappers: - dbus @@ -1813,11 +1821,11 @@ groups: vfx1-4: - oiio vfx1-5: + - osl - rawtoaces vfx2-1: - materialx vfx2: - - osl - otio - usd review: @@ -1921,6 +1929,7 @@ conan_only: - minizip-ng - mpdecimal - mpg123 + - nanobind - nasm - ninja - nlohmann_json @@ -1942,6 +1951,7 @@ conan_only: - opensubdiv - openvdb - opus + - osl - partio - pcre2 - ptex diff --git a/python/aswfdocker/tests/test_builder.py b/python/aswfdocker/tests/test_builder.py index 30e4cd8e..e9300156 100644 --- a/python/aswfdocker/tests/test_builder.py +++ b/python/aswfdocker/tests/test_builder.py @@ -56,7 +56,7 @@ def test_package_usd_2024_dict(self): "packages/vfx2/Dockerfile", ) - def test_package_osl_2019_dict_conan(self): + def test_package_otio_2019_dict_conan(self): b = builder.Builder( self.build_info, groupinfo.GroupInfo( @@ -66,27 +66,27 @@ def test_package_osl_2019_dict_conan(self): targets=[], ), ) - osl_version = list( - index.Index().iter_versions(constants.ImageType.PACKAGE, "osl") + otio_version = list( + index.Index().iter_versions(constants.ImageType.PACKAGE, "otio") )[0] baked = b.make_bake_dict(False, False) self.assertIn( - "ASWF_OSL_VERSION", baked["target"]["ci-package-osl-2019"]["args"] + "ASWF_OSL_VERSION", baked["target"]["ci-package-otio-2019"]["args"] ) self.assertEqual( - baked["target"]["ci-package-osl-2019"]["tags"], + baked["target"]["ci-package-otio-2019"]["tags"], [ - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-osl:2019", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-osl:{osl_version}", - f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-osl:2019-1.10.9", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-otio:2019", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-otio:{otio_version}", + f"{constants.DOCKER_REGISTRY}/aswflocaltesting/ci-package-otio:2019-0.12.1", ], ) self.assertEqual( - baked["target"]["ci-package-osl-2019"]["args"]["ASWF_VERSION"], - osl_version, + baked["target"]["ci-package-otio-2019"]["args"]["ASWF_VERSION"], + otio_version, ) self.assertEqual( - baked["target"]["ci-package-osl-2019"]["dockerfile"], + baked["target"]["ci-package-otio-2019"]["dockerfile"], "packages/vfx2/Dockerfile", ) diff --git a/scripts/common/install_yumpackages.sh b/scripts/common/install_yumpackages.sh index 29a993a1..b6a8f9ec 100755 --- a/scripts/common/install_yumpackages.sh +++ b/scripts/common/install_yumpackages.sh @@ -320,6 +320,7 @@ if [ "$BASEOS_MAJORVERSION" -gt "7" ]; then ${PYTHON39_RPM} \ python3.11 \ python3.11-devel \ + python3.11-pip \ python3.11-setuptools dnf -y module install nodejs:18 diff --git a/scripts/vfx/build_oiio.sh b/scripts/vfx/build_oiio.sh index fc3c17d5..498089f4 100755 --- a/scripts/vfx/build_oiio.sh +++ b/scripts/vfx/build_oiio.sh @@ -4,17 +4,46 @@ set -ex -git clone https://github.com/OpenImageIO/oiio.git -cd oiio - -if [[ $ASWF_OIIO_VERSION == 2.0* || $ASWF_OIIO_VERSION == 2.1* || $ASWF_OIIO_VERSION == 2.2* ]]; then - OIIO_TAG="Release-${ASWF_OIIO_VERSION}" -else - OIIO_TAG="v${ASWF_OIIO_VERSION}" +if [ ! -f "$DOWNLOADS_DIR/-${ASWF_OPENVDB_VERSION}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/v${ASWF_OIIO_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/oiio-${ASWF_OIIO_VERSION}.tar.gz" fi -if [ "$ASWF_OIIO_VERSION" != "latest" ]; then - git checkout "tags/$OIIO_TAG" -b $OIIO_TAG +tar -zxf "$DOWNLOADS_DIR/oiio-${ASWF_OIIO_VERSION}.tar.gz" +cd "OpenImageIO-${ASWF_OIIO_VERSION}" + +if [[ $ASWF_OIIO_VERSION == 3.1.10.0 ]]; then + +cat << 'EOF' | patch -p1 +diff --git a/src/cmake/dependency_utils.cmake b/src/cmake/dependency_utils.cmake +index d99dd79ac..bfda2778a 100644 +--- a/src/cmake/dependency_utils.cmake ++++ b/src/cmake/dependency_utils.cmake +@@ -402,6 +402,11 @@ + # was already found, or we're forcing a local build + elseif (_pkg_CONFIG OR _pkg_PREFER_CONFIG OR ${PROJECT_NAME}_ALWAYS_PREFER_CONFIG) + find_package (${pkgname} ${_${pkgname}_version_range} CONFIG ${_pkg_UNPARSED_ARGUMENTS}) ++ if (${pkgname} STREQUAL "OpenJPEG" AND NOT DEFINED OPENJPEG_VERSION ) ++ # EL8 CMake doesnt set OpenJPEG_VERSION ++ set (OPENJPEG_VERSION "${OPENJPEG_MAJOR_VERSION}.${OPENJPEG_MINOR_VERSION}.${OPENJPEG_BUILD_VERSION}") ++ set (OpenJPEG_VERSION "${OPENJPEG_MAJOR_VERSION}.${OPENJPEG_MINOR_VERSION}.${OPENJPEG_BUILD_VERSION}") ++ endif () + reject_out_of_range_versions (${pkgname} "${${pkgname}_VERSION}" + ${_pkg_VERSION_MIN} ${_pkg_VERSION_MAX} + _pkg_version_in_range) +diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt +index d99dd79ac..bfda2778a 100644 +--- a/src/jpeg2000.imageio/CMakeLists.txt +--- b/src/jpeg2000.imageio/CMakeLists.txt +@@ -10,6 +10,7 @@ + set (OPENJPEG_TARGET openjp2_static) + elseif (TARGET openjp2) + set (OPENJPEG_TARGET openjp2) ++ set(_jpeg2000_includes ${OPENJPEG_INCLUDE_DIRS}) + else () + set(_jpeg2000_includes ${OPENJPEG_INCLUDES}) + set(_jpeg2000_lib_dirs ${OPENJPEG_LIBRARY_DIRS}) +EOF + fi mkdir build @@ -28,7 +57,7 @@ cmake -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ -Dpybind11_ROOT="${ASWF_INSTALL_PREFIX}" \ -DCMAKE_CXX_STANDARD="${ASWF_CXX_STANDARD}" \ ../. -make -j$(nproc) +cmake --build . -j$(nproc) make install cd ../.. diff --git a/scripts/vfx/build_rawtoaces.sh b/scripts/vfx/build_rawtoaces.sh index cef06413..c60ae592 100755 --- a/scripts/vfx/build_rawtoaces.sh +++ b/scripts/vfx/build_rawtoaces.sh @@ -7,17 +7,24 @@ set -ex mkdir rawtoaces cd rawtoaces -if [ ! -f "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION}.tar.gz" ]; then - curl --location "https://github.com/AcademySoftwareFoundation/rawtoaces/archive/refs/tags/v${ASWF_RAWTOACES_VERSION}.tar.gz" -o "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION}.tar.gz" +ASWF_RAWTOACES_VERSION_DOWNLOAD=${ASWF_RAWTOACES_VERSION} +if [[ ${ASWF_RAWTOACES_VERSION_DOWNLOAD} == 1.1.0 ]]; then + # asset name doesn't match version + ASWF_RAWTOACES_VERSION_DOWNLOAD=1.1 fi -tar -zxf "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION}.tar.gz" -cd "rawtoaces-${ASWF_RAWTOACES_VERSION}" +if [ ! -f "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION_DOWNLOAD}.tar.gz" ]; then + curl --location "https://github.com/AcademySoftwareFoundation/rawtoaces/archive/refs/tags/v${ASWF_RAWTOACES_VERSION_DOWNLOAD}.tar.gz" -o "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION_DOWNLOAD}.tar.gz" +fi + +tar -zxf "$DOWNLOADS_DIR/rawtoaces-${ASWF_RAWTOACES_VERSION_DOWNLOAD}.tar.gz" +cd "rawtoaces-${ASWF_RAWTOACES_VERSION_DOWNLOAD}" mkdir build cd build cmake \ -DCMAKE_INSTALL_PREFIX="${ASWF_INSTALL_PREFIX}" \ + -DRTA_BUILD_PYTHON_BINDINGS=FALSE \ .. cmake --build . -j$(nproc) cmake --install .