Skip to content

opencolorio: Add version 2.6.0 - #3268

Merged
github-actions[bot] merged 2 commits into
mainfrom
port/opencolorio
Oct 25, 2026
Merged

github-actions[bot] merged 2 commits into
mainfrom
port/opencolorio

Conversation

@luhenry

@luhenry luhenry commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Builds OpenColorIO's Python bindings and command-line apps from source via CMake and pybind11. Upstream publishes no riscv64 wheel.

Mirrors upstream's wheel_workflow.yml.

Differs from upstream

  • Skips the Doxygen before-build step - OCIO_BUILD_DOCS only affects Python docstrings and stays off when doxygen is absent, same as build-openexr.yml.

Testing

  • same as upstream, plus a dist-info/licenses assertion that the patch below's bundled licences are present

License: the wheel statically links Imath, OpenEXR, expat, pystring, yaml-cpp, minizip-ng, lcms2, pybind11 and zlib (BSD/MIT/Zlib) plus the in-tree argparse/strutil/sampleicc/xxHash (BSD/MIT); upstream's own wheel ships none of their licence texts, so the patch adds them.

Patches

  • 0001-ship-the-licences-of-the-externalproject-built-and-.patch - To upstream [not submitted; same gap exists in every opencolorio wheel on PyPI]. Without it the wheel ships only OCIO's own LICENSE despite statically linking 10+ dependencies; reproduces on every platform.

CI pending.

OpenColorIO's Python bindings, built via cibuildwheel exactly as upstream's
wheel_workflow.yml does: setup.py's CMake build with
-DOCIO_INSTALL_EXT_PACKAGES=ALL ExternalProject-builds Imath, OpenEXR,
expat, pystring, yaml-cpp, minizip-ng, lcms2, pybind11 and zlib from
source for every interpreter. No riscv64 wheel is published upstream.

Carries a licensing patch (see patches/opencolorio/2.6.0) bundling the
licence texts of those statically-linked dependencies, a gap that exists
in every opencolorio wheel on PyPI, not just this one.
luhenry added a commit that referenced this pull request Oct 15, 2026
@luhenry
luhenry marked this pull request as draft October 15, 2026 12:13
pyproject.toml's Linux before-build (install_docs_env.sh) dnf-installs
doxygen, so setup.py configures with -DOCIO_BUILD_DOCS=ON. The isolated
build env's pins (docutils>=0.22.4, sphinx<=7.1.2) are contradictory and
backtrack to Sphinx 3.5.3, which cannot be imported on Python >= 3.10, so
CMake fails with "Could NOT find sphinx-press-theme" on every interpreter.

Upstream's wheel_workflow.yml overrides before-build with
"pip install sphinx-press-theme", so its PyPI Linux wheels are built
without doxygen and the docs; do the same.
@github-actions
github-actions Bot marked this pull request as ready for review October 25, 2026 00:17
@github-actions
github-actions Bot merged commit dc67a32 into main Oct 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant