ci/cd: vendored static OCIO everywhere, ocio-sys tracks upstream main
Policy change (supersedes the system-first probe): build OpenColorIO from the vendored sources and link it statically on every platform that can -- packaged binaries carry no OCIO runtime dependency. The [patch.crates-io] ocio-sys now tracks shaloong/ocio-rs main explicitly; its vendored yaml-cpp has the <cstdint> include that makes the vendored build work on GCC >= 16 (verified on GCC 16.2.1). Windows/MinGW stays the exception (the vendored source needs MSVC-only constructs): tooling/ocio-env.sh probes the MSYS2 system OCIO there, static when libOpenColorIO.a ships, dynamic otherwise. The Linux jobs drop the system OCIO dev packages the system-first policy needed.
This commit is contained in:
@@ -41,7 +41,6 @@ jobs:
|
||||
# X11, software Mesa Vulkan (lavapipe) and xvfb.
|
||||
sudo apt-get install -y \
|
||||
cmake \
|
||||
libopencolorio-dev \
|
||||
libpipewire-0.3-dev libspa-0.2-dev libjack-jackd2-dev \
|
||||
libasound2-dev libpulse-dev libsndfile1-dev \
|
||||
libgl1-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers \
|
||||
@@ -53,9 +52,9 @@ jobs:
|
||||
# ocio-sys builds a stub bridge unless these are set; the oak-common
|
||||
# ocioutils tests need the real library (see crates/oak-common/.cargo/
|
||||
# config.toml, which only applies to builds run from that directory).
|
||||
# tooling/ocio-env.sh picks a system OCIO >= 2.5 when present
|
||||
# (vendored 2.5.2 fails on GCC >= 16) and otherwise falls back to
|
||||
# the vendored static build.
|
||||
# tooling/ocio-env.sh: vendored static OCIO (the [patch.crates-io]
|
||||
# ocio-sys tracks shaloong/ocio-rs main, whose vendored sources build
|
||||
# on GCC >= 16).
|
||||
- name: Configure build environment
|
||||
run: |
|
||||
tooling/ocio-env.sh >> "$GITHUB_ENV"
|
||||
|
||||
Reference in New Issue
Block a user