Skip to content

build: Test - Ignore me - #1386

Draft
cedrik-fuoco-adsk wants to merge 4 commits into
AcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:prototype-pbs
Draft

build: Test - Ignore me#1386
cedrik-fuoco-adsk wants to merge 4 commits into
AcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:prototype-pbs

Conversation

@cedrik-fuoco-adsk

Copy link
Copy Markdown
Contributor

Linked issues

Summarize your change.

Describe the reason for the change.

Describe what you have tested and on which operating system.

Add a list of changes, and note any that might need special attention during the review.

If possible, provide screenshots.

…ilds

  Add RV_DEPS_PYTHON_USE_PBS (default OFF) to source RV's embedded Python from
  a python-build-standalone prebuilt distribution and install PySide6 and the
  native Python packages from wheels instead of compiling CPython/PySide6 from
  source. This cuts build time significantly (PySide6 is the slowest component
  on every platform). The default from-source path is unchanged.
  Wheels are ABI-safe here: RV's C++<->PySide bridge passes Qt objects as
  pointer-sized integers (rv/qtutils.py wrapInstance), so there is no C++ ABI
  boundary between RV and the wheels; only Qt's ABI matters, which is satisfied
  by repointing the PySide6 wheel at RV's Qt (same version). The option is
  honored only for non-Debug configs because Windows Debug uses python_d, which
  cannot load release wheels.
  - rv_options.cmake: new RV_DEPS_PYTHON_USE_PBS option
  - python3.cmake: option-gated wheel-safe extension for native packages; when
    the option is on (non-Debug) include python3_pbs and skip the from-source
    path. Outputs (Python::Python target, stage target, cache vars) unchanged.
  - python3_pbs.cmake: fetch the pinned PBS asset, pip install requirements_pbs,
    run adapt_pbs_python.py; fails loudly if RV's Qt location is unset.
  - adapt_pbs_python.py: Windows layout fix, sitecustomize injection, macOS
    libpython install-id relocation to @rpath, and PySide6 Qt repoint to RV's Qt.
  - requirements_pbs.txt.in: wheel-based requirements incl. PySide6/shiboken6.
  - CY2024/CY2025: pin PBS release 20240814 (CPython 3.11.9) + per-triple sha256.
  Validated on macOS (CY2025, Qt 6.5.3): PBS fetch, wheel install, Qt repoint,
  libpython relocation, and a full RV link + py-interp run. Linux/Windows repoint
  branches and a full runtime UI pass still need per-platform CI validation.

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
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