diff --git a/distros/lyrical/ci.yaml b/distros/lyrical/ci.yaml index 63d3a18e..43853572 100644 --- a/distros/lyrical/ci.yaml +++ b/distros/lyrical/ci.yaml @@ -23,4 +23,33 @@ full_rebuild: false # # Remember that dependents are not rebuilt automatically: evict them as well if # they must pick up the change. -evict_cache: [] +evict_cache: + # built against qt6-main 6.11.3, which rules out pyqt6; rebuilt with the 6.11.2 pin + - fuse-viz + - grid-map-rviz-plugin + - gz-gui-vendor + - gz-sim-vendor + - moveit-ros-visualization + - moveit-setup-assistant + - moveit-task-constructor-visualization + - mrpt-gui + - nav2-rviz-plugins + - python-qt-binding + - qt-gui-cpp + - rqt-gui-cpp + - rqt-image-view + - rqt-mocap4r2-control + - rqt-plot + - rqt-py-common + - rviz-common + - rviz-default-plugins + - rviz-imu-plugin + - rviz-rendering + - rviz-rendering-tests + - rviz-satellite + - rviz-visual-testing-framework + - rviz-visual-tools + - rviz2 + - slam-toolbox + - swri-console + - turtlesim diff --git a/distros/lyrical/conda_build_config.yaml b/distros/lyrical/conda_build_config.yaml index 459bbb63..f95422a3 100644 --- a/distros/lyrical/conda_build_config.yaml +++ b/distros/lyrical/conda_build_config.yaml @@ -1001,9 +1001,11 @@ python: # conda-forge supports only 3.14+ for win-arm64 and linux-riscv64 # part of a zip_keys: python, is_python_min - 3.14.* *_cp314 + - 3.12.* *_cpython python_impl: - cpython + # ros-lyrical specific (distros/lyrical/distro.yaml) python_min: # minimum supported python version per CFEP-25 # bump to next minor version when we drop python versions @@ -1014,6 +1016,7 @@ is_freethreading: is_python_min: # part of a zip_keys: python, is_python_min - false + - false is_abi3: - true pytorch: @@ -1035,12 +1038,7 @@ qt: qt_main: - 5.15 qt6_main: - - 6.11 - # conda-forge published sip 6.16.1 on 2026-09-08, which broke ABI targeting for - # packages like qt_gui_cpp_sip that build against PyQt-sip's fixed ABI v12 - # (hit this on humble/jazzy first; rolling also builds qt_gui_cpp via - # pyqt6/sip so it's equally exposed). Pin back to the last known-good line - # until upstream fixes it. + - 6.11.2 qtkeychain: - '0.17' rav1e: @@ -1217,5 +1215,10 @@ lua: # rebuilt for qt6-main 6.12. pyqt6: - 6.11 + # conda-forge published sip 6.16.1 on 2026-09-08, which broke ABI targeting for + # packages like qt_gui_cpp_sip that build against PyQt-sip's fixed ABI v12 + # (hit this on humble/jazzy first; rolling also builds qt_gui_cpp via + # pyqt6/sip so it's equally exposed). Pin back to the last known-good line + # until upstream fixes it. sip: - 6.15 diff --git a/distros/lyrical/distro.yaml b/distros/lyrical/distro.yaml index ee108bd6..33b9e0dd 100644 --- a/distros/lyrical/distro.yaml +++ b/distros/lyrical/distro.yaml @@ -6,3 +6,13 @@ channel_name: robostack-lyrical upload_to: [prefix, anaconda] read_from: prefix rosdistro_sync: lyrical/2026-10-05 +pinning_overrides: + # build every python package for 3.14 (the shared default) and 3.12; + # is_python_min is zipped with python, so it needs one entry per version + python: [3.14.* *_cp314, 3.12.* *_cpython] + is_python_min: [false, false] + # every pyqt6 6.11.0 build on conda-forge needs qt6-main <=6.11.2, but the shared + # `6.11` pin resolves to 6.11.3, whose run export (>=6.11.3) rules pyqt6 out: the + # rqt packages then can't be installed with python_qt_binding. The published + # packages were built with 6.11.2; drop this once pyqt6 is rebuilt for 6.11.3+. + qt6_main: ['6.11.2'] diff --git a/pixi.lock b/pixi.lock index f348a994..491c0bb6 100644 --- a/pixi.lock +++ b/pixi.lock @@ -90,7 +90,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl @@ -170,7 +170,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl @@ -243,7 +243,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda - conda: https://prefix.dev/conda-forge/osx-64/yaml-0.2.5-had63097_3.conda - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl @@ -316,7 +316,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://prefix.dev/conda-forge/osx-arm64/yaml-0.2.5-h74c22ad_3.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl @@ -389,7 +389,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://prefix.dev/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://prefix.dev/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl @@ -3284,7 +3284,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 -- pypi: git+https://github.com/RoboStack/vinca.git?rev=d6aa28ff0477f6656865db95461001fb4ace40c7#d6aa28ff0477f6656865db95461001fb4ace40c7 +- pypi: git+https://github.com/RoboStack/vinca.git?rev=a7041a71550b388990aa42b2b86a360d93ea6dbe#a7041a71550b388990aa42b2b86a360d93ea6dbe name: vinca version: 0.2.0 requires_dist: diff --git a/pixi.toml b/pixi.toml index 3e2b436d..3ef0569b 100644 --- a/pixi.toml +++ b/pixi.toml @@ -36,7 +36,7 @@ git = "*" [pypi-dependencies] # One vinca for all distributions. -vinca = { git = "https://github.com/RoboStack/vinca.git", rev = "d6aa28ff0477f6656865db95461001fb4ace40c7" } +vinca = { git = "https://github.com/RoboStack/vinca.git", rev = "a7041a71550b388990aa42b2b86a360d93ea6dbe" } # For local development, temporarily use (and regenerate pixi.lock): # vinca = { path = "../vinca", editable = true } diff --git a/tools/robostack.py b/tools/robostack.py index c9938392..b27fe05d 100644 --- a/tools/robostack.py +++ b/tools/robostack.py @@ -321,7 +321,7 @@ def rattler_build(distro: str, args: list[str], skip_existing: bool = True) -> l cmd = ["rattler-build", "build", "-m", "./conda_build_config.yaml", *(["-c", extra] if extra else []), "-c", channel_url(distro), "-c", CONDA_FORGE, "--channel-priority", "disabled"] - return cmd + (["--skip-existing"] if skip_existing else []) + args + return cmd + (["--skip-existing=all"] if skip_existing else []) + args UPLOAD_HOSTS = ("prefix", "anaconda")