diff --git a/.claude/skills/robostack-debug-build/SKILL.md b/.claude/skills/robostack-debug-build/SKILL.md index 6c031c6f4..5afca4e6a 100644 --- a/.claude/skills/robostack-debug-build/SKILL.md +++ b/.claude/skills/robostack-debug-build/SKILL.md @@ -63,11 +63,11 @@ bash -x conda_build.sh 2>&1 | less endif() ``` - **Windows `min`/`max` macro clashes**: `target_compile_definitions( PRIVATE NOMINMAX WIN32_LEAN_AND_MEAN)` under `if(WIN32)`. -- **gtest / test failures**: add the missing dependency in `dependencies.yaml`, or +- **gtest / test failures**: add the missing dependency in `pkg_additional_info.yaml`, or disable the tests when safe; no custom shims. - **Qt plugins (rviz, rtabmap)**: make sure CMake finds the intended Qt major version. -- **Missing dependency**: `shared/patch/dependencies.yaml` (all distributions) or - `distros//patch/dependencies.yaml` (one), keyed by ROS package name: +- **Missing dependency**: `shared/pkg_additional_info.yaml` (all distributions) or + `distros//pkg_additional_info.yaml` (one), keyed by ROS package name: ```yaml : add_host: [] diff --git a/.claude/skills/robostack-patch/SKILL.md b/.claude/skills/robostack-patch/SKILL.md index a303f8d37..15031d834 100644 --- a/.claude/skills/robostack-patch/SKILL.md +++ b/.claude/skills/robostack-patch/SKILL.md @@ -13,8 +13,9 @@ description: Create, refresh, place, port and validate source patches for RoboSt of adding variants. - vinca picks them up by name when generating recipes; nothing else needs wiring. `pixi run rs check` rejects other names. -- `distros//patch/dependencies.yaml` is for dependency fixes, not source patches - (`shared/patch/dependencies.yaml` for all distributions). +- Dependency fixes are not source patches: they are `add_*`/`remove_*` keys in + `distros//pkg_additional_info.yaml` (`shared/pkg_additional_info.yaml` for all + distributions). ## Create a patch from work-directory edits diff --git a/.github/ISSUE_TEMPLATE/3_robostack_bot.yaml b/.github/ISSUE_TEMPLATE/3_robostack_bot.yaml index c4e10102d..146534089 100644 --- a/.github/ISSUE_TEMPLATE/3_robostack_bot.yaml +++ b/.github/ISSUE_TEMPLATE/3_robostack_bot.yaml @@ -20,6 +20,7 @@ body: | `dependency-report` | maintainers | Check the dependencies against the pins and update the distribution's dependency-report issue (closed when nothing conflicts). Runs weekly. | | `update-build-timings` | maintainers | Record the build times of the last week's build-branch runs in `shared/build_timings/`, which the build workflows use to pack each stage's recipes into jobs by time. Runs weekly. | | `update-pixi` | maintainers | Upgrade the tooling's dependencies in `pixi.toml` / `pixi.lock` to their newest versions (`pixi upgrade`; not Python or the capped ones) and check. The PR lists the changes. Runs monthly. | + | `sync-pixi-mappings` | maintainers | Copy the rosdep mappings (`robostack.yaml`) to pixi-build-ros and open or update a PR on prefix-dev/pixi. Runs daily. | On a pull request, `@robostack-bot rebuild-dependents` (maintainers) commits the rebuilds its ABI check suggests to the pull request's branch. - type: dropdown @@ -27,7 +28,7 @@ body: attributes: label: Command options: [add-package, update-rosdistro-snapshot, find-stale-packages, update-conda-forge-pinning, rebuild, update-vinca, - dependency-report, update-build-timings, update-pixi] + dependency-report, update-build-timings, update-pixi, sync-pixi-mappings] validations: required: true - type: input diff --git a/.github/actions/build-recipes/action.yaml b/.github/actions/build-recipes/action.yaml new file mode 100644 index 000000000..ff6dd5cc4 --- /dev/null +++ b/.github/actions/build-recipes/action.yaml @@ -0,0 +1,76 @@ +# Build and upload some of a distribution's recipes: the steps of every job of the +# build workflows (.github/build-template.yaml). One action keeps each generated job +# a few lines long, so many more jobs fit GitHub's 500 KiB workflow file limit. +name: Build recipes +description: Build the given recipes of distros//work/recipes and upload them +inputs: + recipes: + description: Space-separated recipe names + required: true + platform: + description: Target platform (conda subdir) + required: true + token: + description: anaconda.org API token of the distribution's organization + required: false + keep-file: + description: File kept as an artifact (the build times the job recorded) + required: false +runs: + using: composite + steps: + # git auto-maintenance can leave a lock file in the git clones pixi caches, + # which breaks every later run restoring that cache + - name: Disable git auto-maintenance + shell: bash + run: git config --global maintenance.auto false && git config --global gc.auto 0 + - name: Setup pixi + uses: prefix-dev/setup-pixi@v0.11.0 + with: + pixi-version: v0.81.0 + cache: "true" + log-level: v + frozen: "true" + - if: runner.os == 'Windows' + uses: egor-tensin/cleanup-path@v5 + with: + dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin + - if: runner.os == 'Windows' + name: conda-forge build setup + shell: cmd + run: | + :: hosted runners may have libcrypto/libssl DLLs in System32, found before + :: the environment's openssl + DEL C:\Windows\System32\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete libcrypto) + DEL C:\Windows\System32\libssl-1_1-x64.dll || (Echo Ignoring failure to delete libssl) + - if: runner.os == 'Windows' + name: Build + shell: cmd + env: + ANACONDA_API_TOKEN: ${{ inputs.token }} + CURRENT_RECIPES: ${{ inputs.recipes }} + CONDA_BLD_PATH: C:\\bld\\ + VINCA_CUSTOM_CMAKE_BUILD_DIR: C:\\x\\ + PYTHONUNBUFFERED: "1" + run: call .scripts\build_win.bat + - if: runner.os != 'Windows' + name: Build + shell: bash + env: + ANACONDA_API_TOKEN: ${{ inputs.token }} + CURRENT_RECIPES: ${{ inputs.recipes }} + BUILD_TARGET: ${{ inputs.platform }} + PYTHONUNBUFFERED: "1" + CI: github + run: | + export GIT_BRANCH=${GITHUB_REF_NAME} + export FEEDSTOCK_NAME=${GITHUB_REPOSITORY##*/} + .scripts/build_unix.sh --target "$BUILD_TARGET" + - name: Keep build times + if: always() && inputs.keep-file != '' + uses: actions/upload-artifact@v6 + with: + name: ${{ github.job }}-${{ github.run_attempt }} + path: ${{ inputs.keep-file }} + if-no-files-found: ignore + retention-days: 30 diff --git a/.github/build-template.yaml b/.github/build-template.yaml new file mode 100644 index 000000000..a9431aade --- /dev/null +++ b/.github/build-template.yaml @@ -0,0 +1,48 @@ +# Template of the build workflows (`pixi run rs gha`, vinca-rs workflow). +# Not a workflow itself: vinca-rs copies jobs.build once per job, sets each copy's +# name and needs (exactly the jobs building its recipes' dependencies) and replaces +# @recipes@ with its recipes; @distro@, @platform@, @branch@, @secret@ and +# @keep_file@ come from tools/robostack.py. Selectors (if/then/else) are resolved +# for the platform. The steps are .github/actions/build-recipes. +name: Build branch +run-name: "@distro@ @platform@" +on: + push: + branches: ["@branch@"] +# one run per distribution and platform at a time: a newer run (the latest main's +# recipes and workflow) cancels the older one, and skips what that one uploaded +# already. Re-run failed jobs only in the newest run. +concurrency: + group: build-@distro@-@platform@ + cancel-in-progress: true +env: + ROBOSTACK_DISTRO: "@distro@" + # optional repository variable: upload to this prefix.dev channel instead + # (e.g. a test channel), or 'none' to only build + ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }} +jobs: + build: + runs-on: + if: linux and x86_64 + then: ubuntu-latest + else: + if: linux + then: ubuntu-24.04-arm + else: + if: osx and x86_64 + then: macos-15-intel + else: + if: osx + then: macos-15 + else: windows-2022 + # jobs that declare permissions get none they don't list; prefix.dev uploads use + # trusted publishing (id-token), attestations are published too + permissions: {contents: read, id-token: write, attestations: write} + steps: + - uses: actions/checkout@v6 + - uses: ./.github/actions/build-recipes + with: + recipes: "@recipes@" + platform: "@platform@" + token: ${{ secrets.@secret@ }} + keep-file: "@keep_file@" diff --git a/.github/workflows/bot.yaml b/.github/workflows/bot.yaml index 56a492369..896664aba 100644 --- a/.github/workflows/bot.yaml +++ b/.github/workflows/bot.yaml @@ -11,13 +11,18 @@ # nothing conflicts; and a PR with the build times the week's build-branch runs # recorded (shared/build_timings/, for packing the build jobs by time). # - monthly (the 1st): a PR upgrading the tooling's pixi dependencies (pixi.toml / pixi.lock). +# - daily, when vars.PIXI_FORK is set: a PR on prefix-dev/pixi copying the rosdep mappings +# (shared/ and distros/*/robostack.yaml) to pixi-build-ros, so that `pixi build` of ROS +# packages maps rosdep keys as RoboStack does. It is pushed to the fork vars.PIXI_FORK +# (/pixi) with secrets.PIXI_SYNC_TOKEN, a token of that fork's owner: the bot's +# GitHub App can't open PRs on prefix-dev/pixi. # - on demand (owners, members and collaborators): # Actions > robostack-bot > Run workflow, an issue from the "robostack-bot command" # template, or a comment: @robostack-bot [] # commands: update-rosdistro-snapshot [...|all] | find-stale-packages [...|all] | # update-conda-forge-pinning [...|all] | add-package ... [...] | # rebuild ... [...|all] [--with-dependents] | update-vinca [] | -# dependency-report [...|all] | update-build-timings | update-pixi | +# dependency-report [...|all] | update-build-timings | update-pixi | sync-pixi-mappings | # rebuild-dependents (a comment on a pull request: commits the rebuilds its ABI # check suggests to its branch; not possible for pull requests from forks) # - package requests (the "Package request" issue form or `@robostack-bot add-package`, @@ -38,7 +43,7 @@ on: command: type: choice options: [add-package, update-rosdistro-snapshot, find-stale-packages, update-conda-forge-pinning, rebuild, - update-vinca, dependency-report, update-build-timings, update-pixi] + update-vinca, dependency-report, update-build-timings, update-pixi, sync-pixi-mappings] distro: description: Distribution (for the per-distribution commands; empty = all) required: false @@ -89,6 +94,7 @@ jobs: ASSOCIATION: ${{ github.event.comment.author_association || github.event.issue.author_association }} PULL_REQUEST: ${{ github.event.issue.pull_request && github.event.issue.number || '' }} SCHEDULE: ${{ github.event.schedule }} + PIXI_FORK: ${{ vars.PIXI_FORK }} run: | case "$EVENT" in schedule) @@ -104,8 +110,9 @@ jobs: exit 0 fi # rosdistro syncs, and the conda-forge pinning: one job for all distributions - # (they share it; one with its own pinning is updated in the same pull request) - jobs=$(pixi run -q rs rosdistro-syncs | python3 -c 'import json,sys; print(json.dumps(json.load(sys.stdin) + [{"command":"update-conda-forge-pinning","distro":"","args":"","preview":False}]))') ;; + # (they share it; one with its own pinning is updated in the same pull request); + # the rosdep mappings for pixi-build-ros, once a pixi fork is set up + jobs=$(pixi run -q rs rosdistro-syncs | python3 -c 'import json,os,sys; print(json.dumps(json.load(sys.stdin) + [{"command":"update-conda-forge-pinning","distro":"","args":"","preview":False}] + ([{"command":"sync-pixi-mappings","distro":"","args":"","preview":False}] if os.environ.get("PIXI_FORK") else [])))') ;; workflow_dispatch) # only people with write access can dispatch jobs=$(ROBOSTACK_BOT_BODY="@robostack-bot $COMMAND $PACKAGES $DISTRO" ROBOSTACK_BOT_ASSOCIATION=OWNER pixi run -q rs parse-command) ;; *) @@ -146,6 +153,13 @@ jobs: locked: true # the lock file must match pixi.toml pixi-version: v0.81.0 cache-write: false # saved from main only (pixi-cache.yaml) + - name: Check out prefix-dev/pixi + if: matrix.command == 'sync-pixi-mappings' + uses: actions/checkout@v6 + with: + repository: prefix-dev/pixi + path: _pixi + persist-credentials: false - name: robostack-bot ${{ matrix.command }} ${{ matrix.distro }} id: bot env: @@ -178,6 +192,8 @@ jobs: # shellcheck disable=SC2046 # the --exclude arguments, one word each pixi upgrade --json $(pixi run -q rs update-pixi --excludes) > "$RUNNER_TEMP/pixi-upgrade.json" && pixi run rs update-pixi --changes "$RUNNER_TEMP/pixi-upgrade.json" --summary "$RUNNER_TEMP/summary.md" ;; + # writes pixi-build-ros's copies of the mappings into the pixi checkout + sync-pixi-mappings) pixi run rs sync-pixi-mappings _pixi --summary "$RUNNER_TEMP/summary.md" ;; # creates / updates the distribution's dependency-report issue dependency-report) pixi run rs "$DISTRO" dependency-report --summary "$RUNNER_TEMP/summary.md" ;; esac @@ -192,7 +208,9 @@ jobs: printf '\nCloses #%s\n' "$NUMBER" >> "$RUNNER_TEMP/summary.md" - name: Open or update the pull request id: pr - if: steps.bot.outputs.changed == 'true' && !matrix.preview && matrix.command != 'rebuild-dependents' + if: >- + steps.bot.outputs.changed == 'true' && !matrix.preview && + matrix.command != 'rebuild-dependents' && matrix.command != 'sync-pixi-mappings' uses: peter-evans/create-pull-request@v8 with: token: ${{ steps.app.outputs.token || secrets.GHA_PAT || github.token }} @@ -206,14 +224,27 @@ jobs: labels: | robostack-bot ${{ steps.bot.outputs.labels }} + - name: Open or update the pull request on prefix-dev/pixi + id: pixi_pr + if: steps.bot.outputs.changed == 'true' && matrix.command == 'sync-pixi-mappings' + uses: peter-evans/create-pull-request@v8 + with: + path: _pixi + token: ${{ secrets.PIXI_SYNC_TOKEN }} + push-to-fork: ${{ vars.PIXI_FORK }} + branch: robostack-bot/sync-mappings + delete-branch: true + commit-message: "chore(pixi-build-ros): update RoboStack's rosdep mappings" + title: "chore(pixi-build-ros): update RoboStack's rosdep mappings" + body-path: ${{ runner.temp }}/summary.md - name: Reply on the issue / pull request if: always() && (github.event_name == 'issue_comment' || github.event_name == 'issues') env: GH_TOKEN: ${{ github.token }} NUMBER: ${{ github.event.issue.number }} TITLE: ${{ steps.bot.outputs.title || 'failed' }} - PR_URL: ${{ steps.pr.outputs.pull-request-url }} - PR_OPERATION: ${{ steps.pr.outputs.pull-request-operation }} + PR_URL: ${{ steps.pr.outputs.pull-request-url || steps.pixi_pr.outputs.pull-request-url }} + PR_OPERATION: ${{ steps.pr.outputs.pull-request-operation || steps.pixi_pr.outputs.pull-request-operation }} run: | { echo "**robostack-bot ${{ matrix.command }} ${{ matrix.distro }}**: $TITLE" diff --git a/.github/workflows/testpr.yaml b/.github/workflows/testpr.yaml index c93483fdf..b8e4b586e 100644 --- a/.github/workflows/testpr.yaml +++ b/.github/workflows/testpr.yaml @@ -1,6 +1,6 @@ # Pull-request build: only the distributions a PR touches are built # (a change outside distros/ affects all of them), on all five platforms. -name: Build +name: Pull request on: pull_request: @@ -10,8 +10,9 @@ on: description: Space-separated distributions to build (default all) required: false +# a fixed key, not github.workflow: renaming the workflow mustn't let two runs overlap concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + group: pr-build-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: @@ -24,6 +25,7 @@ env: jobs: plan: + name: "plan: distros and platforms to build" runs-on: ubuntu-latest permissions: contents: read @@ -67,6 +69,7 @@ jobs: echo "targets=$(pixi run python tools/robostack.py build-targets --labels "$labels")" | tee -a "$GITHUB_OUTPUT" check: + name: "checks: tooling tests, generated files" runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -97,11 +100,11 @@ jobs: fail-fast: false matrix: distro: ${{ fromJSON(needs.plan.outputs.distros) }} - name: ${{ matrix.distro }} patches + name: "${{ matrix.distro }}: patches apply" runs-on: ubuntu-latest env: DISTRO: ${{ matrix.distro }} - # generate-recipes -n leaves out what is on the channel, like the builds do + # generate-recipes leaves out what is on the channel (same build string), like the builds do ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }} steps: - uses: actions/checkout@v6 @@ -123,7 +126,7 @@ jobs: all=$(mktemp -d) for platform in linux-64 linux-aarch64 osx-64 osx-arm64 win-64; do for attempt in 1 2 3; do - if pixi run rs "$DISTRO" generate-recipes --platform "$platform" -n; then break; fi + if pixi run rs "$DISTRO" generate-recipes --platform "$platform"; then break; fi if [[ "$attempt" == 3 ]]; then echo "Recipe generation failed for $platform" >&2; exit 1; fi sleep 15 done @@ -147,7 +150,7 @@ jobs: matrix: distro: ${{ fromJSON(needs.plan.outputs.distros) }} target: ${{ fromJSON(needs.plan.outputs.targets) }} # tools/robostack.py BUILD_TARGETS - name: ${{ matrix.distro }} ${{ matrix.target.platform }} + name: "${{ matrix.distro }} ${{ matrix.target.platform }}: build" runs-on: ${{ matrix.target.os }} env: DISTRO: ${{ matrix.distro }} @@ -217,7 +220,7 @@ jobs: run: | set -e for attempt in 1 2 3; do - if pixi run -v rs "$DISTRO" generate-recipes --platform "$PLATFORM" -n; then break; fi + if pixi run -v rs "$DISTRO" generate-recipes --platform "$PLATFORM"; then break; fi if [[ "${attempt}" == "3" ]]; then echo "Recipe generation failed after 3 attempts" >&2; exit 1; fi echo "Recipe generation attempt ${attempt} failed; retrying..." >&2 sleep 15 diff --git a/.scripts/build_unix.sh b/.scripts/build_unix.sh index 12c548dac..4e0d24ff1 100755 --- a/.scripts/build_unix.sh +++ b/.scripts/build_unix.sh @@ -40,7 +40,9 @@ pixi run -v rs "${ROBOSTACK_DISTRO}" build-ci "${recipe_args[@]}" --output-dir $ # Check if it build something, this is a hotfix for the skips inside additional_recipes shopt -s nullglob -conda_packages=( "${CONDA_BLD_PATH}/${target}"*/*.conda ) +# noarch packages (the ros--* compatibility packages) are built and uploaded +# by every platform's jobs: the first upload wins, the others are skipped +conda_packages=( "${CONDA_BLD_PATH}/${target}"*/*.conda "${CONDA_BLD_PATH}/noarch/"*.conda ) if (( ${#conda_packages[@]} > 0 )); then # Upload packages one-by-one; the upload task (tools/robostack.py) uploads them to # prefix.dev and anaconda.org and skips packages that are already there. @@ -48,6 +50,6 @@ if (( ${#conda_packages[@]} > 0 )); then pixi run rs "${ROBOSTACK_DISTRO}" upload "${conda_package}" done else - echo "Warning: No .conda files found in ${CONDA_BLD_PATH}/${target}" + echo "Warning: No .conda files found in ${CONDA_BLD_PATH}/${target} or ${CONDA_BLD_PATH}/noarch" echo "This might be due to all the packages being skipped" fi diff --git a/.scripts/build_win.bat b/.scripts/build_win.bat index 97b29739d..eb9c5728a 100644 --- a/.scripts/build_win.bat +++ b/.scripts/build_win.bat @@ -37,17 +37,22 @@ for %%X in (%CURRENT_RECIPES%) do set "RECIPE_ARGS=!RECIPE_ARGS! --recipe %FEEDS pixi run -v rs %ROBOSTACK_DISTRO% build-ci !RECIPE_ARGS! --output-dir %CONDA_BLD_PATH% if errorlevel 1 exit 1 -:: Check if .conda files exist in the win-64 directory -if exist "%CONDA_BLD_PATH%\win-64\*.conda" ( - echo Found .conda files, starting upload... - rem Upload packages one-by-one; the upload task (tools/robostack.py) uploads them to - rem prefix.dev and anaconda.org and skips packages that are already there. - for %%F in ("%CONDA_BLD_PATH%\win-64\*.conda") do ( - echo Uploading %%~fF - pixi run rs %ROBOSTACK_DISTRO% upload "%%~fF" - if errorlevel 1 exit 1 +:: Upload the win-64 and noarch packages one-by-one; the upload task (tools/robostack.py) +:: uploads them to prefix.dev and anaconda.org and skips packages that are already there +:: (noarch ones, the ros--* compatibility packages, are built and uploaded by +:: every platform's jobs: the first upload wins). +set "UPLOADED=" +for %%D in (win-64 noarch) do ( + if exist "%CONDA_BLD_PATH%\%%D\*.conda" ( + for %%F in ("%CONDA_BLD_PATH%\%%D\*.conda") do ( + echo Uploading %%~fF + pixi run rs %ROBOSTACK_DISTRO% upload "%%~fF" + if errorlevel 1 exit 1 + set "UPLOADED=1" + ) ) -) else ( - echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64 +) +if not defined UPLOADED ( + echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64 or %CONDA_BLD_PATH%\noarch echo This might be due to all the packages being skipped ) diff --git a/AGENTS.md b/AGENTS.md index 8e51076a9..bee0c4840 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,7 @@ to read without Claude): ## Layout and rules - Every distribution lives in `distros//` (only distro-specific data); shared - data is in `shared/` (vinca.yaml, pkg_additional_info.yaml, dependencies.yaml, + data is in `shared/` (vinca.yaml, pkg_additional_info.yaml with the dependency fixes, robostack.yaml, pinning, tests), tools in `tools/`. See README.md for the layout and how they combine. Never edit `distros//work/`: every task regenerates it. - A fix that applies to every distribution goes into `shared/`; a version-specific one @@ -39,8 +39,8 @@ to read without Claude): `vinca.yaml` (see `robostack-package-selection`), not an ad-hoc comment. - One patch per package and platform: `distros//patch/ros2-[.osx|.linux|.win|.unix].patch`. Packages are only built - under the new `ros2-` names (`package_name_mode: new`); write dependencies in - `dependencies.yaml` as `ros2-` too. + under the new `ros2-` names (`package_name_mode: new`); write dependency fixes in + `pkg_additional_info.yaml` as `ros2-` too. ## Everyday commands diff --git a/README.md b/README.md index c3825a728..669ed408c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ distribution comes from the channel. The older names keep working: for every pac there is also a small `ros--` package that just depends on `ros2-` of the same version (vinca's `package_name_mode: both` in `shared/vinca.yaml`), so existing environments and instructions such as -`pixi add ros-jazzy-desktop` don't break. +`pixi add ros-jazzy-desktop` don't break. These are `noarch` packages, built once for +every platform. **A package is missing?** Open a *Package request* issue. robostack-bot opens a pull request that adds it to the build, and a maintainer reviews it. @@ -43,19 +44,21 @@ If you use RoboStack in your academic work, please cite: distros// only what is specific to one distribution distro.yaml channel, where it's uploaded and read from, conda-forge pinning version/migrations, own pins, rosdistro sync vinca.yaml extends shared/vinca.yaml: ros_distro, build number, mutex version, its exceptions - pkg_additional_info.yaml its own per-package settings (build numbers, version-specific cmake args) - patch/ its patches; patch/dependencies.yaml its own dependency fixes + pkg_additional_info.yaml its own per-package settings (build numbers, version-specific cmake args, dependency fixes) + patch/ its patches rosdistro_snapshot.yaml, rosdistro_additional_recipes.yaml ci.yaml temporary PR-build controls (full rebuild, cache evictions) conda_build_config.yaml generated: `pixi run rs render-pinning` work/ generated, git-ignored: where vinca and rattler-build run shared/ the same for every distribution vinca.yaml settings and the package selection of every distribution - pkg_additional_info.yaml per-package settings that are the same everywhere - patch/dependencies.yaml dependency fixes that are the same everywhere + pkg_additional_info.yaml per-package settings and dependency fixes (add_host, remove_run, ...) that are the same everywhere robostack.yaml rosdep key -> conda package mapping (`robostack: []` drops a key) + (also copied to pixi-build-ros: robostack-bot sync-pixi-mappings) pinning/ conda-forge pinning version, migrations and overrides tests/ package tests (ros2-.yaml; `if: ros_distro ...` for distro-specific bits) + patch/ patches that apply to every distribution + files// copied into that package's recipe (ros_workspace's activation scripts) tools/robostack.py `pixi run rs ...`: every task, for one distribution or the repository tools/maintenance.py checks and robostack-bot commands tools/import_distro.py (re)import a distribution from its own repository @@ -77,7 +80,7 @@ combines the two, and the files next to each: - `mutex_package`: name and `upper_bound` are shared; each distribution sets its own `version`. The mutex only keeps one distribution per environment and has no `run_constraints` (`rs check` enforces it): library versions come from the packages' own dependencies, and wrong ones are fixed in the package's metadata. - Other keys come from the distribution if it sets them, else from `shared/`. A distribution that differs from a shared setting just sets it. - Paths are relative to the file that sets them. `distros//work/vinca.yaml` (generated) extends the distribution's file and adds `skip_existing` (its channel). -- **`pkg_additional_info.yaml` and `patch/dependencies.yaml`:** merged per package. The distribution's keys win, for example its own `build_number` on top of a shared `additional_cmake_args`. +- **`pkg_additional_info.yaml`:** merged per package. The distribution's keys win, for example its own `build_number` on top of a shared `additional_cmake_args`. - **`patch/*.patch` and `tests/`:** per package, the distribution's file replaces the shared one. In tests, `- if: ros_distro in ["humble", "jazzy"]` blocks select distribution-specific parts. - **`vinca_pinning.yaml`:** the shared pinning, adjusted by `distro.yaml`: - `conda_forge_pinning_version` and `conda_forge_migrations` keep a distribution on its own conda-forge pinning, for example until its next full rebuild; @@ -151,6 +154,7 @@ waiting for the macOS runners; remove them for a full build before merging. | `dependency-report [... \| all]` | maintainers | Runs the dependency check (`check-deps`, linux-64) and keeps one issue per distribution, *``: dependency report* (label `dependency-report`), up to date with the conflicts, notes and conda-forge migration status; the issue is closed when nothing conflicts. Runs weekly (Mondays). | | `update-build-timings` | maintainers | Merges the build times the last week's build-branch runs recorded (`rs build-ci`, kept as each job's artifact) into `shared/build_timings/.json` and opens a PR. The build workflows pack each stage's recipes into jobs by these times. Runs weekly (Mondays). Labelled `build:none` (see below). | | `update-pixi` | maintainers | Runs `pixi upgrade`: the newest versions of the tooling's dependencies in `pixi.toml` and `pixi.lock` (rattler-build, rattler-index, gh, pytest, ...), except Python (moved by hand) and requirements that are only an upper bound (`cmake = "<4.0"`: capped on purpose); the vinca pin is `update-vinca`'s. Runs `rs check`; the PR lists the changes as a table (pixi-diff-to-markdown). Runs monthly (on the 1st). Labelled `build:none` (see below). | +| `sync-pixi-mappings` | maintainers | Copies the rosdep mappings (`shared/robostack.yaml`, and each `distros//robostack.yaml` over it) to pixi-build-ros (`crates/pixi_build_ros/robostack.yaml` and `robostack_distros.yaml` in prefix-dev/pixi) and opens or updates a PR there, listing the added, removed and changed keys: `pixi build` of ROS packages then maps rosdep keys as RoboStack does. Mappings are only changed here. Runs daily once `vars.PIXI_FORK` (the fork the PR is pushed to) and `secrets.PIXI_SYNC_TOKEN` (a token of that fork's owner) are set. | The PRs of `update-vinca`, `update-build-timings` and `update-pixi` don't change packages directly, but touch files outside `distros/`, which would build every distribution: they are labelled `build:none`, so only the checks run (and nothing is built while a build is under way). To build one, remove the label, or replace it with `build:` labels. diff --git a/distros/humble/patch/dependencies.yaml b/distros/humble/patch/dependencies.yaml deleted file mode 100644 index 0a5553164..000000000 --- a/distros/humble/patch/dependencies.yaml +++ /dev/null @@ -1,198 +0,0 @@ -as2_behaviors_trajectory_generation: - # conda-forge's NLopt (and glog, gflags) for the dynamic_trajectory_generator it fetches, so that - # doesn't build NLopt itself (fails with CMake 4); see patch/ros2-as2-behaviors-trajectory-generation.patch - add_host: ["nlopt", "glog", "gflags"] - add_run: ["nlopt", "glog", "gflags"] -autoware_trajectory: - remove_host: ["ros2-tl-expected"] - remove_run: ["ros2-tl-expected"] - add_host: ["cpp-expected"] - add_run: ["cpp-expected"] -aws_sdk_cpp_vendor: - add_host: ["aws-sdk-cpp"] - add_run: ["aws-sdk-cpp"] -backward_ros: - # binutils linux-only: -liberty not found on macOS. - add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] -behaviortree_cpp_v3: - add_host: ["libboost-devel", "cppzmq"] - add_run: ["libboost"] -cartographer: - # Dummy package; drop unpinned lua/gflags, they conflict with the real cartographer's pins. - remove_host: ["lua", "gflags"] - remove_run: ["lua", "gflags"] -cartographer_ros: - add_host: ["cartographer 2.*", "libboost-devel"] -console_bridge_vendor: - add_host: ["console_bridge"] - add_run: ["console_bridge"] -depthai: - add_host: ["${{ 'elfutils' if linux }}"] -foxglove_bridge: - add_host: ["ros2-ament-cmake"] -generate_parameter_library: - remove_host: ["ros2-tl-expected"] - remove_run: ["ros2-tl-expected"] - add_host: ["cpp-expected"] - add_run: ["cpp-expected"] -geometric_shapes: - add_host: ["libboost-devel", "octomap"] -image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 - add_run: ["libopencv * *qt6*"] -intra_process_demo: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 - add_run: ["libopencv * *qt6*"] -kdl_parser: - # package.xml doesn't declare eigen3_cmake_module, but orocos_kdl_vendor's cmake needs it. - add_host: ["ros2-eigen3-cmake-module"] -lbr_description: - remove_run: ["ros2-gz-ros2-control"] - add_run: ["${{ 'ros2-gz-ros2-control' if linux }}"] -lbr_ros2_control: - add_host: ["ros2-kinematics-interface"] - add_run: ["ros2-kinematics-interface"] -libg2o: - add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] -libstatistics_collector: - add_host: ["ros2-yaml-cpp-vendor"] -mimick_vendor: - add_build: ["vcstool"] -moveit_visual_tools: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -mrpt_gui: - # Overrides shared/: this distribution maps Qt to qt-main 5.15, whose builds need - # gstreamer <1.27, while the pinned wxwidgets (3.3.3) needs gstreamer 1.28. A version - # spec bypasses that pin, so the solver picks a wxwidgets that coexists with qt-main. - add_host: ["wxwidgets >=3.2", "${{ 'glad' if win }}"] # glad: as in shared/ -nav2_constrained_smoother: - add_host: ["${{ 'openblas' if win }}"] -nav2_util: - add_host: ["libboost-devel"] -opennav_coverage: - # package.xml misses deps that CMakeLists.txt finds - add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] - add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] -openvdb_vendor: - add_host: ["openvdb"] -parameter_traits: - remove_host: ["ros2-tl-expected"] - remove_run: ["ros2-tl-expected"] - add_host: ["cpp-expected"] - add_run: ["cpp-expected"] -pcl_conversions: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] -plotjuggler: - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "git-lfs"] -polygon_rviz_plugins: - add_host: ["libgl-devel"] - add_run: ["libgl-devel"] -py_trees: - add_host: ["hatchling"] # 2.6 builds with hatchling (as in jazzy/lyrical) -py_trees_js: - add_host: ["hatchling"] -py_trees_ros_tutorials: - # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch): PyQt5 and - # PyQt6 (the rqt stack) can't be installed together - remove_run: ["pyqt", "pyqt-builder"] - add_run: ["pyqt6"] -pybind11_json_vendor: - add_host: ["pybind11_json"] - add_run: ["pybind11_json"] -python_qt_binding: - # pyside2 has no python 3.14 build; port to PyQt6 instead. - remove_host: ["qt-main", "pyqt"] - remove_run: ["qt-main", "pyqt"] - # sip <6.16: 6.16.x regressed ABI targeting for PyQt-based bindings. - add_host: ["pyqt-builder", "pep517", "qt6-main", "pyqt6", "sip <6.16"] - add_run: ["pyqt-builder", "pep517", "qt6-main", "pyqt6"] -qt_gui: - # Same PyQt6 port as python_qt_binding/qt_gui_cpp below. - remove_host: ["qt-main", "pyqt"] - remove_run: ["qt-main", "pyqt"] - add_host: ["qt6-main", "pyqt6"] - add_run: ["qt6-main", "pyqt6"] -qt_gui_cpp: - # Ported to PyQt6, see patch/ros2-qt-gui-cpp.patch. - remove_host: ["qt-main", "pyqt"] - remove_run: ["qt-main", "pyqt"] - add_build: ["${{ 'pyqt6' if (build_platform != target_platform) }}", "${{ 'qt6-main' if (build_platform != target_platform) }}"] - # sip pinned directly for the same reason as python_qt_binding above. - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "pep517", "qt6-main", "pyqt6", "sip <6.16"] - add_run: ["pyqt-builder", "pep517", "qt6-main", "pyqt6"] -rcl: - add_host: ["ros2-yaml-cpp-vendor"] -rcl_action: - add_host: ["ros2-yaml-cpp-vendor"] -rclc: - add_host: ["ros2-yaml-cpp-vendor"] -rclcpp: - add_host: ["ros2-yaml-cpp-vendor"] -rclcpp_action: - add_host: ["ros2-yaml-cpp-vendor"] -rclpy: - add_host: ["typing_extensions"] - add_run: ["typing_extensions"] -rmw_implementation: - add_host: - - "ros2-yaml-cpp-vendor" - - "fmt" -ros_gz_sim: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -ros_ign_gazebo: - add_host: ["ros2-std-msgs", "ros2-rclcpp", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -ros_ign_interfaces: - add_host: ["ros2-rcl-interfaces"] -ros_image_to_qimage: - # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-ros-image-to-qimage.patch). - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_gui_cpp: - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_overlay: - # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-rqt-image-overlay.patch). - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_overlay_layer: - # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-rqt-image-overlay-layer.patch). - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_view: - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_py_common: - remove_host: ["qt-main"] - add_host: ["qt6-main"] -rtabmap: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] - remove_host: ["ros2-qt-gui-cpp"] - remove_run: ["ros2-qt-gui-cpp"] -rviz_ogre_vendor: - add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] - add_build: ["vcstool"] - add_run: ["assimp"] -slam_toolbox: - add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -spatio_temporal_voxel_layer: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] -spdlog_vendor: - add_host: ["spdlog"] - add_run: ["spdlog"] -tracetools: - remove_host: ["pkg-config"] -uncrustify_vendor: - add_host: ["uncrustify"] - add_run: ["uncrustify"] -ur_moveit_config: - add_host: ["ros2-rclpy"] - add_run: ["ros2-rclpy"] -vision_msgs_rviz_plugins: - add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -warehouse_ros_sqlite: - add_host: ["ros2-sqlite3-vendor"] - add_run: ["ros2-sqlite3-vendor"] diff --git a/distros/humble/pkg_additional_info.yaml b/distros/humble/pkg_additional_info.yaml index bcc19fc13..335efc508 100644 --- a/distros/humble/pkg_additional_info.yaml +++ b/distros/humble/pkg_additional_info.yaml @@ -2,8 +2,37 @@ apriltag: generate_dummy_package_with_run_deps: dep_name: apriltag max_pin: 'x.x.x' +as2_behaviors_trajectory_generation: + # conda-forge's NLopt (and glog, gflags) for the dynamic_trajectory_generator it fetches, so that + # doesn't build NLopt itself (fails with CMake 4); see patch/ros2-as2-behaviors-trajectory-generation.patch + add_host: ["nlopt", "glog", "gflags"] + add_run: ["nlopt", "glog", "gflags"] +autoware_trajectory: + remove_host: ["ros2-tl-expected"] + remove_run: ["ros2-tl-expected"] + add_host: ["cpp-expected"] + add_run: ["cpp-expected"] +aws_sdk_cpp_vendor: + add_host: ["aws-sdk-cpp"] + add_run: ["aws-sdk-cpp"] +backward_ros: + # binutils linux-only: -liberty not found on macOS. + add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] +behaviortree_cpp_v3: + add_host: ["libboost-devel", "cppzmq"] + add_run: ["libboost"] +cartographer: + # Dummy package; drop unpinned lua/gflags, they conflict with the real cartographer's pins. + remove_host: ["lua", "gflags"] + remove_run: ["lua", "gflags"] cartographer_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["cartographer 2.*", "libboost-devel"] +console_bridge_vendor: + add_host: ["console_bridge"] + add_run: ["console_bridge"] +depthai: + add_host: ["${{ 'elfutils' if linux }}"] eigenpy: generate_dummy_package_with_run_deps: dep_name: eigenpy @@ -14,6 +43,15 @@ fastrtps: additional_cmake_args: if: unix then: '-DCMAKE_CXX_FLAGS="-include cstdint"' +foxglove_bridge: + add_host: ["ros2-ament-cmake"] +generate_parameter_library: + remove_host: ["ros2-tl-expected"] + remove_run: ["ros2-tl-expected"] + add_host: ["cpp-expected"] + add_run: ["cpp-expected"] +geometric_shapes: + add_host: ["libboost-devel", "octomap"] gtsam: generate_dummy_package_with_run_deps: dep_name: gtsam @@ -45,6 +83,23 @@ ignition_cmake2_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DBUILD_TESTING=OFF" ignition_math6_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DBUILD_TESTING=OFF" +image_view: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 + add_run: ["libopencv * *qt6*"] +intra_process_demo: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 + add_run: ["libopencv * *qt6*"] +kdl_parser: + # package.xml doesn't declare eigen3_cmake_module, but orocos_kdl_vendor's cmake needs it. + add_host: ["ros2-eigen3-cmake-module"] +lbr_description: + remove_run: ["ros2-gz-ros2-control"] + add_run: ["${{ 'ros2-gz-ros2-control' if linux }}"] +lbr_ros2_control: + add_host: ["ros2-kinematics-interface"] + add_run: ["ros2-kinematics-interface"] libcamera: generate_dummy_package_with_run_deps: dep_name: libcamera @@ -54,14 +109,29 @@ libcamera: override_version: '0.5.0' libg2o: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] librealsense2: generate_dummy_package_with_run_deps: dep_name: librealsense max_pin: 'x.x' override_version: 2.58.3 # Until: https://github.com/conda-forge/librealsense-feedstock/pull/91 +libstatistics_collector: + add_host: ["ros2-yaml-cpp-vendor"] mimick_vendor: # its FetchContent'd mimick has cmake_minimum_required < 3.5 (CMake 4 rejects that) additional_cmake_args: "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + add_build: ["vcstool"] +moveit_visual_tools: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +mrpt_gui: + # Overrides shared/: this distribution maps Qt to qt-main 5.15, whose builds need + # gstreamer <1.27, while the pinned wxwidgets (3.3.3) needs gstreamer 1.28. A version + # spec bypasses that pin, so the solver picks a wxwidgets that coexists with qt-main. + add_host: ["wxwidgets >=3.2", "${{ 'glad' if win }}"] # glad: as in shared/ +nav2_constrained_smoother: + add_host: ["${{ 'openblas' if win }}"] +nav2_util: + add_host: ["libboost-devel"] octomap: generate_dummy_package_with_run_deps: dep_name: octomap @@ -74,6 +144,22 @@ ompl: max_pin: 'x.x' # OMPL 2 is rebuilt for Boost 1.90 on all supported platforms. override_version: '2.0.1' +opennav_coverage: + # package.xml misses deps that CMakeLists.txt finds + add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] + add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] +openvdb_vendor: + add_host: ["openvdb"] +parameter_traits: + remove_host: ["ros2-tl-expected"] + remove_run: ["ros2-tl-expected"] + add_host: ["cpp-expected"] + add_run: ["cpp-expected"] +pcl_conversions: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] +polygon_rviz_plugins: + add_host: ["libgl-devel"] + add_run: ["libgl-devel"] proxsuite: generate_dummy_package_with_run_deps: dep_name: proxsuite @@ -86,11 +172,106 @@ py_trees: dep_name: py-trees max_pin: 'x.x.x' override_version: 2.6.0 + add_host: ["hatchling"] # 2.6 builds with hatchling (as in jazzy/lyrical) +py_trees_js: + add_host: ["hatchling"] +py_trees_ros_tutorials: + # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch): PyQt5 and + # PyQt6 (the rqt stack) can't be installed together + remove_run: ["pyqt", "pyqt-builder"] + add_run: ["pyqt6"] +pybind11_json_vendor: + add_host: ["pybind11_json"] + add_run: ["pybind11_json"] +python_qt_binding: + # pyside2 has no python 3.14 build; port to PyQt6 instead. + remove_host: ["qt-main", "pyqt"] + remove_run: ["qt-main", "pyqt"] + # sip <6.16: 6.16.x regressed ABI targeting for PyQt-based bindings. + add_host: ["pyqt-builder", "pep517", "qt6-main", "pyqt6", "sip <6.16"] + add_run: ["pyqt-builder", "pep517", "qt6-main", "pyqt6"] +qt_gui: + # Same PyQt6 port as python_qt_binding/qt_gui_cpp below. + remove_host: ["qt-main", "pyqt"] + remove_run: ["qt-main", "pyqt"] + add_host: ["qt6-main", "pyqt6"] + add_run: ["qt6-main", "pyqt6"] +qt_gui_cpp: + # Ported to PyQt6, see patch/ros2-qt-gui-cpp.patch. + remove_host: ["qt-main", "pyqt"] + remove_run: ["qt-main", "pyqt"] + add_build: ["${{ 'pyqt6' if (build_platform != target_platform) }}", "${{ 'qt6-main' if (build_platform != target_platform) }}"] + # sip pinned directly for the same reason as python_qt_binding above. + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "pep517", "qt6-main", "pyqt6", "sip <6.16"] + add_run: ["pyqt-builder", "pep517", "qt6-main", "pyqt6"] +rcl: + add_host: ["ros2-yaml-cpp-vendor"] +rcl_action: + add_host: ["ros2-yaml-cpp-vendor"] +rclc: + add_host: ["ros2-yaml-cpp-vendor"] +rclcpp: + add_host: ["ros2-yaml-cpp-vendor"] +rclcpp_action: + add_host: ["ros2-yaml-cpp-vendor"] +rclpy: + add_host: ["typing_extensions"] + add_run: ["typing_extensions"] +rmw_implementation: + add_host: + - "ros2-yaml-cpp-vendor" + - "fmt" +ros_gz_sim: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +ros_ign_gazebo: + add_host: ["ros2-std-msgs", "ros2-rclcpp", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +ros_ign_interfaces: + add_host: ["ros2-rcl-interfaces"] +ros_image_to_qimage: + # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-ros-image-to-qimage.patch). + remove_host: ["qt-main"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] +rqt_gui_cpp: + remove_host: ["qt-main"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] +rqt_image_overlay: + # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-rqt-image-overlay.patch). + remove_host: ["qt-main"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] +rqt_image_overlay_layer: + # Same PyQt6 port as qt_gui_cpp/rqt_gui_cpp above (patch/ros2-rqt-image-overlay-layer.patch). + remove_host: ["qt-main"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] +rqt_image_view: + remove_host: ["qt-main"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] +rqt_py_common: + remove_host: ["qt-main"] + add_host: ["qt6-main"] rtabmap: additional_cmake_args: if: win then: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF -DWITH_GTSAM=OFF" else: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF" + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] + remove_host: ["ros2-qt-gui-cpp"] + remove_run: ["ros2-qt-gui-cpp"] +rviz_ogre_vendor: + add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] + add_build: ["vcstool"] + add_run: ["assimp"] +slam_toolbox: + add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +spdlog_vendor: + add_host: ["spdlog"] + add_run: ["spdlog"] +uncrustify_vendor: + add_host: ["uncrustify"] + add_run: ["uncrustify"] +ur_moveit_config: + add_host: ["ros2-rclpy"] + add_run: ["ros2-rclpy"] urdfdom: generate_dummy_package_with_run_deps: dep_name: urdfdom @@ -102,6 +283,12 @@ urdfdom_headers: dep_name: urdfdom_headers max_pin: 'x.x' override_version: '3.0.0' +vision_msgs_rviz_plugins: + add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +warehouse_ros_sqlite: + add_host: ["ros2-sqlite3-vendor"] + add_run: ["ros2-sqlite3-vendor"] # Remove build_number fields below on new full rebuild zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" @@ -109,12 +296,31 @@ ament_cmake_gmock: # as ament_cmake_gtest build_number: 23 ament_cmake_gtest: # uses conda-forge's gtest instead of gtest_vendor's sources build_number: 23 +ament_cmake_test: + build_number: 31 aruco_ros: # its recipe test stops the node for sure (package tests hung on macOS) build_number: 23 +builtin_interfaces: + build_number: 31 +fastcdr: + build_number: 31 +plotjuggler: + build_number: 24 + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "git-lfs"] +rcutils: + build_number: 31 +ros_workspace: + build_number: 31 rtabmap_slam: # its recipe test stops the node for sure (package tests hung on macOS) build_number: 23 +ruckig: + build_number: 31 spatio_temporal_voxel_layer: build_number: 23 + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] +tracetools: + build_number: 24 + remove_host: ["pkg-config"] urdf: # drop deprecated urdf_world/types.h include (ros2/urdf#54) for headers 3.x build_number: 23 urdf_parser_plugin: # use urdf_model/types.h (ros2/urdf#54) for headers 3.x diff --git a/distros/humble/robostack.yaml b/distros/humble/robostack.yaml index 76ff56655..4bdbd7e2f 100644 --- a/distros/humble/robostack.yaml +++ b/distros/humble/robostack.yaml @@ -1,6 +1,6 @@ # Qt5 for the Qt5 rosdep keys: this distribution's rviz and GUI packages still build # against Qt5 (the shared mapping, for lyrical and newer, is Qt6). Packages already -# ported to Qt6/PyQt6 swap qt-main in patch/dependencies.yaml. +# ported to Qt6/PyQt6 swap qt-main in pkg_additional_info.yaml. libqt5-core: robostack: linux: [qt-main, libopengl-devel, libgl-devel] diff --git a/distros/humble/rosdistro_additional_recipes.yaml b/distros/humble/rosdistro_additional_recipes.yaml index 639a7cd7e..1a8de2021 100644 --- a/distros/humble/rosdistro_additional_recipes.yaml +++ b/distros/humble/rosdistro_additional_recipes.yaml @@ -82,13 +82,6 @@ med7_moveit_config: rev: 2e932d4e062966afe216710a7cc2fe50a8099365 version: 0.3.0 additional_folder: lbr_moveit_config/med7_moveit_config -mujoco_vendor: - # jazzy's 0.1.0: unlike humble's 0.0.8 it honours AMENT_VENDOR_POLICY, so it uses - # conda-forge's libmujoco (shared pkg_additional_info) instead of downloading MuJoCo - # and symlinking it (rejected on Windows; macOS isn't supported by the download) - tag: release/jazzy/mujoco_vendor/0.1.0-1 - url: https://github.com/ros2-gbp/mujoco_vendor-release.git - version: 0.1.0 opennav_coverage: # Not released in rosdistro; humble-v2 branch (Fields2Cover v2) url: https://github.com/open-navigation/opennav_coverage.git diff --git a/distros/jazzy/patch/dependencies.yaml b/distros/jazzy/patch/dependencies.yaml deleted file mode 100644 index 85f10513e..000000000 --- a/distros/jazzy/patch/dependencies.yaml +++ /dev/null @@ -1,195 +0,0 @@ -autoware_utils_debug: - add_host: ["fmt"] -autoware_utils_pcl: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -backward_ros: - # binutils linux-only: -liberty not found on macOS. - add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] -cartographer_ros: - add_host: ["cartographer 2.*", "libboost-devel"] -cloudini_lib: - add_host: ["eigen-abi-devel"] -cloudini_ros: - add_host: ["eigen-abi-devel"] -depthai: - add_host: ["${{ 'elfutils' if linux }}"] -easynav_bonxai_maps_manager: - # drop once easynav_bonxai_maps_manager is updated to 0.4.2 - add_host: ["eigen-abi-devel"] -easynav_octomap_maps_manager: - # drop once easynav_octomap_maps_manager is updated to 0.4.2 - add_host: ["octomap"] -foxglove_bridge: - add_host: ["ros2-ament-cmake"] -geometric_shapes: - add_host: ["octomap"] -gz_cmake_vendor: - # Major version pin selects the Gazebo release matching jazzy (applies to all gz-* vendor packages). - add_host: ["gz-cmake3"] - add_run: ["gz-cmake3"] -gz_common_vendor: - add_host: ["gz-common5"] - add_run: ["gz-common5"] -gz_dartsim_vendor: - add_host: ["dartsim-cpp"] - add_run: ["dartsim-cpp"] -gz_fuel_tools_vendor: - add_host: ["gz-fuel-tools9"] - add_run: ["gz-fuel-tools9"] -gz_gui_vendor: - add_host: ["gz-gui8"] - add_run: ["gz-gui8"] -gz_launch_vendor: - add_host: ["gz-launch7"] - add_run: ["gz-launch7"] -gz_math_vendor: - add_host: ["gz-math7"] - add_run: ["gz-math7"] -gz_msgs_vendor: - add_host: ["gz-msgs10"] - add_run: ["gz-msgs10"] -gz_ogre_next_vendor: - # wraps conda-forge's ogre-next (no OGRE-Next build): no shaderc, as in lyrical - add_host: ["ogre-next"] - add_run: ["ogre-next"] - remove_host: ["shaderc"] - remove_run: ["shaderc"] -gz_physics_vendor: - add_host: ["gz-physics7"] - add_run: ["gz-physics7"] -gz_plugin_vendor: - add_host: ["gz-plugin2"] - add_run: ["gz-plugin2"] -gz_rendering_vendor: - add_host: ["gz-rendering8", "swig"] - # find_package(gz-rendering) requires find_package(OpenGL) to work - add_run: ["gz-rendering8", "swig", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -gz_ros2_control: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -gz_ros2_control_demos: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -gz_sensors_vendor: - add_host: ["gz-sensors8"] - add_run: ["gz-sensors8"] -gz_sim_vendor: - add_host: ["gz-sim8"] - add_run: ["gz-sim8"] -gz_tools_vendor: - add_host: ["gz-tools2"] - add_run: ["gz-tools2"] -gz_transport_vendor: - add_host: ["gz-transport13"] - add_run: ["gz-transport13"] -gz_utils_vendor: - add_host: ["gz-utils2"] - add_run: ["gz-utils2"] -image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 - add_run: ["libopencv * *qt6*"] -intra_process_demo: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 - add_run: ["libopencv * *qt6*"] -lbr_ros2_control: - add_host: ["ros2-kinematics-interface"] - add_run: ["ros2-kinematics-interface"] -libg2o: - add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] -mimick_vendor: - add_build: ["vcstool", "setuptools <81"] - add_host: ["setuptools <81"] -moveit_visual_tools: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -mrpt_gui: - # Overrides shared/: this distribution maps Qt to qt-main 5.15, whose builds need - # gstreamer <1.27, while the pinned wxwidgets (3.3.3) needs gstreamer 1.28. A version - # spec bypasses that pin, so the solver picks a wxwidgets that coexists with qt-main. - add_host: ["wxwidgets >=3.2", "${{ 'glad' if win }}"] # glad: as in shared/ -nav2_constrained_smoother: - add_host: ["${{ 'openblas' if win }}"] -nav2_mppi_controller: - add_run: ["xtensor==0.25.0"] -nav2_util: - add_host: ["libboost-devel"] -opennav_coverage: - # package.xml misses deps that CMakeLists.txt finds - add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] - add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] -openvdb_vendor: - add_host: ["openvdb"] -pcl_conversions: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] -plotjuggler: - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "git-lfs"] -py_trees: - add_host: ["hatchling"] # 2.6 builds with hatchling (as in lyrical) -py_trees_js: - add_host: - - hatchling -py_trees_ros_tutorials: - # the mock GUI imports PyQt5 (jazzy's rqt stack is Qt5 too), but package.xml doesn't declare it - add_run: ["pyqt"] -python_qt_binding: - # sip <6.16: exact pin conflicts with pyqt5-sip's range; unpinned risks the 6.16.x ABI regression. - add_host: ["pyqt-builder", "sip <6.16"] - add_run: ["pyqt-builder"] -qt_gui_cpp: - add_build: ["${{ 'pyqt' if (build_platform != target_platform) }}", "${{ 'qt-main' if (build_platform != target_platform) }}"] - # Same sip <6.16 fix as python_qt_binding above (pulls its own pyqt5/pyqt5-sip into this host solve too). - # Only the PyQt (sip) bindings: pyside2 has no Python 3.14 build, and the shiboken - # bindings are optional (built only when python_qt_binding's shiboken_helper finds it). - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "pep517", "sip <6.16"] - add_run: ["pyqt-builder", "pep517"] -roboplan_example_models: - # src/resources.cpp uses dladdr() from dlfcn.h, which is POSIX-only. - # On Windows we need to depend on dlfcn-win32 instead. - add_host: ["${{ 'dlfcn-win32' if win }}"] -roboplan_ros_examples: - # package.xml misses the ament_cmake dep; fixed in roboplan_ros 0.7.0, drop after that release. - add_host: ["ros2-ament-cmake"] -ros_gz_sim: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -ros_image_to_qimage: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_gui_cpp: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_image_overlay: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_image_overlay_layer: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rtabmap: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] -rviz_ogre_vendor: - add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}", "setuptools <81"] - add_build: ["vcstool", "setuptools <81"] - add_run: ["assimp"] -sdformat_vendor: - add_host: ["sdformat14"] - add_run: ["sdformat14"] -slam_toolbox: - add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "blas-devel"] -spatio_temporal_voxel_layer: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] -swri_console: - add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] - add_host: ["libboost-devel", "qt-main", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - add_run: ["libboost", "qt-main"] -# TODO unvendor?! -uncrustify_vendor: - add_build: ["vcstool", "setuptools <81"] - add_host: ["setuptools <81"] - # See https://github.com/ament/uncrustify_vendor/blob/jazzy/CMakeLists.txt#L19 - add_run: ["uncrustify >=0.78"] -ur_moveit_config: - add_host: ["ros2-rclpy"] - add_run: ["ros2-rclpy"] -vision_msgs_rviz_plugins: - add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -warehouse_ros_sqlite: - add_host: ["ros2-sqlite3-vendor"] - add_run: ["ros2-sqlite3-vendor"] diff --git a/distros/jazzy/pkg_additional_info.yaml b/distros/jazzy/pkg_additional_info.yaml index 129677d46..779abd664 100644 --- a/distros/jazzy/pkg_additional_info.yaml +++ b/distros/jazzy/pkg_additional_info.yaml @@ -2,19 +2,97 @@ apriltag: generate_dummy_package_with_run_deps: dep_name: apriltag max_pin: 'x.x.x' +autoware_utils_debug: + add_host: ["fmt"] +autoware_utils_pcl: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +backward_ros: + # binutils linux-only: -liberty not found on macOS. + add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] cartographer_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["cartographer 2.*", "libboost-devel"] +cloudini_lib: + add_host: ["eigen-abi-devel"] +cloudini_ros: + add_host: ["eigen-abi-devel"] +depthai: + add_host: ["${{ 'elfutils' if linux }}"] +easynav_bonxai_maps_manager: + # drop once easynav_bonxai_maps_manager is updated to 0.4.2 + add_host: ["eigen-abi-devel"] +easynav_octomap_maps_manager: + # drop once easynav_octomap_maps_manager is updated to 0.4.2 + add_host: ["octomap"] eigenpy: generate_dummy_package_with_run_deps: dep_name: eigenpy max_pin: 'x.x.x' override_version: '3.13.0' +foxglove_bridge: + add_host: ["ros2-ament-cmake"] +geometric_shapes: + add_host: ["octomap"] gtsam: generate_dummy_package_with_run_deps: dep_name: gtsam max_pin: 'x.x' # jazzy is on 4.2.0, but we stick to 4.2.1 for compat with the rest of conda-forge override_version: '4.2.1' +gz_cmake_vendor: + # Major version pin selects the Gazebo release matching jazzy (applies to all gz-* vendor packages). + add_host: ["gz-cmake3"] + add_run: ["gz-cmake3"] +gz_common_vendor: + add_host: ["gz-common5"] + add_run: ["gz-common5"] +gz_dartsim_vendor: + add_host: ["dartsim-cpp"] + add_run: ["dartsim-cpp"] +gz_fuel_tools_vendor: + add_host: ["gz-fuel-tools9"] + add_run: ["gz-fuel-tools9"] +gz_gui_vendor: + add_host: ["gz-gui8"] + add_run: ["gz-gui8"] +gz_launch_vendor: + add_host: ["gz-launch7"] + add_run: ["gz-launch7"] +gz_math_vendor: + add_host: ["gz-math7"] + add_run: ["gz-math7"] +gz_msgs_vendor: + add_host: ["gz-msgs10"] + add_run: ["gz-msgs10"] +gz_physics_vendor: + add_host: ["gz-physics7"] + add_run: ["gz-physics7"] +gz_plugin_vendor: + add_host: ["gz-plugin2"] + add_run: ["gz-plugin2"] +gz_rendering_vendor: + add_host: ["gz-rendering8", "swig"] + # find_package(gz-rendering) requires find_package(OpenGL) to work + add_run: ["gz-rendering8", "swig", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +gz_ros2_control: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +gz_ros2_control_demos: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +gz_sensors_vendor: + add_host: ["gz-sensors8"] + add_run: ["gz-sensors8"] +gz_sim_vendor: + add_host: ["gz-sim8"] + add_run: ["gz-sim8"] +gz_tools_vendor: + add_host: ["gz-tools2"] + add_run: ["gz-tools2"] +gz_transport_vendor: + add_host: ["gz-transport13"] + add_run: ["gz-transport13"] +gz_utils_vendor: + add_host: ["gz-utils2"] + add_run: ["gz-utils2"] hpp_fcl: generate_dummy_package_with_run_deps: dep_name: hpp-fcl @@ -36,6 +114,17 @@ iceoryx_posh: dep_name: libiceoryx-posh max_pin: 'x.x' override_version: '2.95.8' +image_view: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 + add_run: ["libopencv * *qt6*"] +intra_process_demo: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 + add_run: ["libopencv * *qt6*"] +lbr_ros2_control: + add_host: ["ros2-kinematics-interface"] + add_run: ["ros2-kinematics-interface"] libcamera: generate_dummy_package_with_run_deps: dep_name: libcamera @@ -45,6 +134,7 @@ libcamera: override_version: '0.5.0' libg2o: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] librealsense2: generate_dummy_package_with_run_deps: dep_name: librealsense @@ -58,6 +148,22 @@ mcap_vendor: additional_cmake_args: if: unix then: '-DCMAKE_CXX_FLAGS="-include cstdint"' +mimick_vendor: + add_build: ["vcstool", "setuptools <81"] + add_host: ["setuptools <81"] +moveit_visual_tools: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +mrpt_gui: + # Overrides shared/: this distribution maps Qt to qt-main 5.15, whose builds need + # gstreamer <1.27, while the pinned wxwidgets (3.3.3) needs gstreamer 1.28. A version + # spec bypasses that pin, so the solver picks a wxwidgets that coexists with qt-main. + add_host: ["wxwidgets >=3.2", "${{ 'glad' if win }}"] # glad: as in shared/ +nav2_constrained_smoother: + add_host: ["${{ 'openblas' if win }}"] +nav2_mppi_controller: + add_run: ["xtensor==0.25.0"] +nav2_util: + add_host: ["libboost-devel"] octomap: generate_dummy_package_with_run_deps: dep_name: octomap @@ -68,6 +174,14 @@ ompl: max_pin: 'x.x' # OMPL 2 is rebuilt for Boost 1.90 on all supported platforms. override_version: '2.0.1' +opennav_coverage: + # package.xml misses deps that CMakeLists.txt finds + add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] + add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] +openvdb_vendor: + add_host: ["openvdb"] +pcl_conversions: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] proxsuite: generate_dummy_package_with_run_deps: dep_name: proxsuite @@ -78,6 +192,24 @@ py_trees: dep_name: py-trees max_pin: 'x.x.x' override_version: '2.6.0' + add_host: ["hatchling"] # 2.6 builds with hatchling (as in lyrical) +py_trees_js: + add_host: + - hatchling +py_trees_ros_tutorials: + # the mock GUI imports PyQt5 (jazzy's rqt stack is Qt5 too), but package.xml doesn't declare it + add_run: ["pyqt"] +python_qt_binding: + # sip <6.16: exact pin conflicts with pyqt5-sip's range; unpinned risks the 6.16.x ABI regression. + add_host: ["pyqt-builder", "sip <6.16"] + add_run: ["pyqt-builder"] +qt_gui_cpp: + add_build: ["${{ 'pyqt' if (build_platform != target_platform) }}", "${{ 'qt-main' if (build_platform != target_platform) }}"] + # Same sip <6.16 fix as python_qt_binding above (pulls its own pyqt5/pyqt5-sip into this host solve too). + # Only the PyQt (sip) bindings: pyside2 has no Python 3.14 build, and the shiboken + # bindings are optional (built only when python_qt_binding's shiboken_helper finds it). + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "pep517", "sip <6.16"] + add_run: ["pyqt-builder", "pep517"] roboplan: generate_dummy_package_with_run_deps: dep_name: roboplan-python @@ -98,10 +230,16 @@ roboplan_example_models: generate_dummy_package_with_run_deps: dep_name: roboplan-example-models-python max_pin: 'x.x' + # src/resources.cpp uses dladdr() from dlfcn.h, which is POSIX-only. + # On Windows we need to depend on dlfcn-win32 instead. + add_host: ["${{ 'dlfcn-win32' if win }}"] roboplan_oink: generate_dummy_package_with_run_deps: dep_name: roboplan-oink-python max_pin: 'x.x' +roboplan_ros_examples: + # package.xml misses the ament_cmake dep; fixed in roboplan_ros 0.7.0, drop after that release. + add_host: ["ros2-ament-cmake"] roboplan_rrt: generate_dummy_package_with_run_deps: dep_name: roboplan-rrt-python @@ -114,8 +252,40 @@ roboplan_toppra: generate_dummy_package_with_run_deps: dep_name: roboplan-toppra-python max_pin: 'x.x' +ros_gz_sim: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +ros_image_to_qimage: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +rqt_gui_cpp: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +rqt_image_overlay: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +rqt_image_overlay_layer: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +rqt_image_view: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] rtabmap: additional_cmake_args: -DBUILD_TESTING=OFF + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] +sdformat_vendor: + add_host: ["sdformat14"] + add_run: ["sdformat14"] +slam_toolbox: + add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "blas-devel"] +swri_console: + add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] + add_host: ["libboost-devel", "qt-main", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + add_run: ["libboost", "qt-main"] +# TODO unvendor?! +uncrustify_vendor: + add_build: ["vcstool", "setuptools <81"] + add_host: ["setuptools <81"] + # See https://github.com/ament/uncrustify_vendor/blob/jazzy/CMakeLists.txt#L19 + add_run: ["uncrustify >=0.78"] +ur_moveit_config: + add_host: ["ros2-rclpy"] + add_run: ["ros2-rclpy"] urdfdom: generate_dummy_package_with_run_deps: dep_name: urdfdom @@ -126,6 +296,12 @@ urdfdom_headers: dep_name: urdfdom_headers max_pin: 'x.x' override_version: '3.0' +vision_msgs_rviz_plugins: + add_build: ["${{ 'qt-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +warehouse_ros_sqlite: + add_host: ["ros2-sqlite3-vendor"] + add_run: ["ros2-sqlite3-vendor"] # Remove build_number fields below on new full rebuild zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" @@ -141,6 +317,11 @@ grid_map_rviz_plugin: build_number: 28 gz_ogre_next_vendor: build_number: 28 + # wraps conda-forge's ogre-next (no OGRE-Next build): no shaderc, as in lyrical + add_host: ["ogre-next"] + add_run: ["ogre-next"] + remove_host: ["shaderc"] + remove_run: ["shaderc"] moveit_ros_visualization: build_number: 28 moveit_task_constructor_visualization: @@ -149,6 +330,9 @@ nav2_rviz_plugins: build_number: 28 octomap_rviz_plugins: build_number: 28 +plotjuggler: + build_number: 30 + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "git-lfs"] rtabmap_slam: # its recipe test stops the node for sure (package tests hung on macOS) build_number: 28 rviz_2d_overlay_plugins: @@ -162,12 +346,16 @@ rviz_imu_plugin: rviz_ogre_vendor: additional_cmake_args: "-DRVIZ_OGRE_VENDOR_MANGLE_NAME_OF_LIBRARIES_USED_BY_RVIZ=ON" build_number: 29 # built without the EXR codec (ros2-rviz-ogre-vendor.patch), absolute install names on macOS (.osx.patch) + add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}", "setuptools <81"] + add_build: ["vcstool", "setuptools <81"] + add_run: ["assimp"] rviz_rendering: build_number: 28 rviz_satellite: build_number: 28 spatio_temporal_voxel_layer: build_number: 28 + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] urdf: # drop deprecated urdf_world/types.h include (ros2/urdf#54) for headers 3.x build_number: 28 urdf_parser_plugin: # use urdf_model/types.h (ros2/urdf#54) for headers 3.x diff --git a/distros/jazzy/robostack.yaml b/distros/jazzy/robostack.yaml index 76ff56655..4bdbd7e2f 100644 --- a/distros/jazzy/robostack.yaml +++ b/distros/jazzy/robostack.yaml @@ -1,6 +1,6 @@ # Qt5 for the Qt5 rosdep keys: this distribution's rviz and GUI packages still build # against Qt5 (the shared mapping, for lyrical and newer, is Qt6). Packages already -# ported to Qt6/PyQt6 swap qt-main in patch/dependencies.yaml. +# ported to Qt6/PyQt6 swap qt-main in pkg_additional_info.yaml. libqt5-core: robostack: linux: [qt-main, libopengl-devel, libgl-devel] diff --git a/distros/jazzy/rosdistro_additional_recipes.yaml b/distros/jazzy/rosdistro_additional_recipes.yaml index d8e00e703..2e7562197 100644 --- a/distros/jazzy/rosdistro_additional_recipes.yaml +++ b/distros/jazzy/rosdistro_additional_recipes.yaml @@ -145,7 +145,7 @@ ros2_easy_test: version: 0.3.0 additional_folder: ros2_easy_test rplidar_ros: - # 2.1.4 (as humble) for its win32 SDK arch; the released 2.1.0 is POSIX only + override: "2.1.4 (as humble) for its win32 SDK arch; the released 2.1.0 is POSIX only" tag: 2.1.4 url: https://github.com/Slamtec/rplidar_ros.git version: 2.1.4 diff --git a/distros/jazzy/rosdistro_snapshot.yaml b/distros/jazzy/rosdistro_snapshot.yaml index f8bf6a9b7..71e96e1f6 100644 --- a/distros/jazzy/rosdistro_snapshot.yaml +++ b/distros/jazzy/rosdistro_snapshot.yaml @@ -43,6 +43,23 @@ ackermann_nlmpc_msgs: url: https://github.com/ros2-gbp/ackmerann_nlmpc-release.git version: 1.0.3 ackermann_steering_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - steering_controllers_library repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/ackermann_steering_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -191,6 +208,33 @@ adi_imu: url: https://github.com/ros2-gbp/adi_imu-release.git version: 1.1.0 admittance_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - angles + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - hardware_interface_testing + - kinematics_interface + - kinematics_interface_kdl + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - tf2 + - tf2_eigen + - tf2_geometry_msgs + - tf2_kdl + - tf2_ros + - trajectory_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/admittance_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -3571,6 +3615,23 @@ bag2_to_image: url: https://github.com/ros2-gbp/bag2_to_image-release.git version: 0.1.1 battery_state_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/battery_state_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -3762,6 +3823,23 @@ beluga_ros: url: https://github.com/ros2-gbp/beluga-release.git version: 2.1.1 bicycle_steering_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - steering_controllers_library repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/bicycle_steering_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -4327,6 +4405,20 @@ catch_ros2: url: https://github.com/ros2-gbp/catch_ros2-release.git version: 0.2.2 chained_filter_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - controller_interface + - controller_manager + - filters + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/chained_filter_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -5185,16 +5277,69 @@ control_toolbox: url: https://github.com/ros2-gbp/control_toolbox-release.git version: 4.11.1 controller_interface: + dependencies: + - ament_cmake + - ament_cmake_gen_version_h + - ament_cmake_gmock + - geometry_msgs + - hardware_interface + - pal_statistics + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - sensor_msgs + - std_msgs repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/controller_interface/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 controller_manager: + dependencies: + - ament_cmake + - ament_cmake_gen_version_h + - ament_cmake_gmock + - ament_cmake_pytest + - ament_cmake_python + - backward_ros + - controller_interface + - controller_manager_msgs + - diagnostic_msgs + - diagnostic_updater + - example_interfaces + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - launch + - launch_ros + - launch_testing + - launch_testing_ament_cmake + - launch_testing_ros + - libstatistics_collector + - lifecycle_msgs + - pluginlib + - rcl_interfaces + - rclcpp + - rclpy + - realtime_tools + - robot_state_publisher + - ros2_control_cmake + - ros2_control_test_assets + - ros2param + - ros2pkg + - sensor_msgs + - std_msgs repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/controller_manager/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 controller_manager_msgs: + dependencies: + - ament_cmake + - builtin_interfaces + - lifecycle_msgs + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/controller_manager_msgs/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git @@ -6601,6 +6746,27 @@ diagnostics: url: https://github.com/ros2-gbp/diagnostics-release.git version: 4.2.7 diff_drive_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - hardware_interface_testing + - nav_msgs + - pluginlib + - rclcpp + - rclcpp_lifecycle + - rcpputils + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - tf2 + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/diff_drive_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -8632,6 +8798,19 @@ ecl_utilities: url: https://github.com/ros2-gbp/ecl_core-release.git version: 1.2.1 effort_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - forward_command_controller + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/effort_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -10234,11 +10413,47 @@ foonathan_memory_vendor: url: https://github.com/ros2-gbp/foonathan_memory_vendor-release.git version: 1.3.1 force_torque_sensor_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - filters + - generate_parameter_library + - geometry_msgs + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - tf2 + - tf2_geometry_msgs + - tf2_ros repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/force_torque_sensor_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git version: 4.43.0 forward_command_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/forward_command_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -10772,11 +10987,23 @@ gc_spl_interfaces: url: https://github.com/ros2-gbp/game_controller_spl-release.git version: 4.1.0 generate_parameter_library: + dependencies: + - ament_cmake + - ament_cmake_python + - generate_parameter_library_py + - parameter_traits + - rclcpp + - rclcpp_lifecycle + - rclpy + - rsl + - tcb_span + - tl_expected repository: https://github.com/PickNikRobotics/generate_parameter_library tag: release/jazzy/generate_parameter_library/0.7.7-1 url: https://github.com/ros2-gbp/generate_parameter_library-release.git version: 0.7.7 generate_parameter_library_py: + dependencies: [] repository: https://github.com/PickNikRobotics/generate_parameter_library tag: release/jazzy/generate_parameter_library_py/0.7.7-1 url: https://github.com/ros2-gbp/generate_parameter_library-release.git @@ -10893,6 +11120,21 @@ google_benchmark_vendor: url: https://github.com/ros2-gbp/google_benchmark_vendor-release.git version: 0.5.1 gpio_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/gpio_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -10908,6 +11150,20 @@ gps_msgs: url: https://github.com/ros2-gbp/gps_umd-release.git version: 3.1.1 gps_sensor_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/gps_sensor_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -11301,6 +11557,23 @@ grid_map_visualization: url: https://github.com/ros2-gbp/grid_map-release.git version: 2.2.2 gripper_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_action + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/gripper_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -11701,11 +11974,40 @@ gz_utils_vendor: url: https://github.com/ros2-gbp/gz_utils_vendor-release.git version: 0.0.5 hardware_interface: + dependencies: + - ament_cmake + - ament_cmake_gen_version_h + - ament_cmake_gmock + - backward_ros + - control_msgs + - joint_limits + - lifecycle_msgs + - pal_statistics + - pluginlib + - rclcpp_lifecycle + - rcpputils + - rcutils + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sdformat_urdf + - tinyxml2_vendor + - urdf repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/hardware_interface/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 hardware_interface_testing: + dependencies: + - ament_cmake + - ament_cmake_gmock + - control_msgs + - hardware_interface + - lifecycle_msgs + - pluginlib + - rclcpp_lifecycle + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/hardware_interface_testing/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git @@ -12211,6 +12513,22 @@ imu_processors: url: https://github.com/ros2-gbp/imu_pipeline-release.git version: 0.5.2 imu_sensor_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/imu_sensor_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -12600,11 +12918,45 @@ joint_group_impedance_controller: url: https://github.com/ros2-gbp/kuka_drivers-release.git version: 2.0.0 joint_limits: + dependencies: + - ament_cmake + - ament_cmake_gen_version_h + - ament_cmake_gmock + - backward_ros + - generate_parameter_library + - launch_ros + - launch_testing_ament_cmake + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - trajectory_msgs + - urdf repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/joint_limits/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 joint_state_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - builtin_interfaces + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs + - urdf repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/joint_state_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -12667,6 +13019,28 @@ joint_state_topic_hardware_interface: url: https://github.com/ros2-gbp/topic_based_hardware-release.git version: 1.1.0 joint_trajectory_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - angles + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_action + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - rsl + - trajectory_msgs + - urdf repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/joint_trajectory_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -14648,6 +15022,21 @@ magnetic_model: url: https://github.com/ros2-gbp/compass-release.git version: 4.0.1 magnetometer_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/magnetometer_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -15272,6 +15661,30 @@ mcap_vendor: url: https://github.com/ros2-gbp/rosbag2-release.git version: 0.26.11 mecanum_drive_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - hardware_interface_testing + - nav_msgs + - pluginlib + - rclcpp + - rclcpp_lifecycle + - rcpputils + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - tf2 + - tf2_geometry_msgs + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/mecanum_drive_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -15512,6 +15925,20 @@ mocap_optitrack: url: https://github.com/ros2-gbp/mocap_optitrack-release.git version: 1.0.1 mola: + dependencies: + - mola_bridge_ros2 + - mola_demos + - mola_input_rawlog + - mola_input_rosbag2 + - mola_input_video + - mola_kernel + - mola_launcher + - mola_metric_maps + - mola_pose_list + - mola_relocalization + - mola_traj_tools + - mola_viz + - mola_yaml repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15529,6 +15956,29 @@ mola_academic_datasets: url: https://github.com/ros2-gbp/mola_academic_datasets-release.git version: 3.1.0 mola_bridge_ros2: + dependencies: + - ament_cmake + - ament_cmake_gmock + - ament_cmake_gtest + - ament_cmake_xmllint + - ament_lint_auto + - ament_lint_cmake + - diagnostic_msgs + - geographic_msgs + - geometry_msgs + - gps_msgs + - mola_common + - mola_kernel + - mola_msgs + - mrpt_libros_bridge + - mrpt_maps + - mrpt_nav_interfaces + - nav_msgs + - rclcpp + - ros_environment + - sensor_msgs + - tf2 + - tf2_geometry_msgs repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_bridge_ros2/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15546,6 +15996,14 @@ mola_common: url: https://github.com/ros2-gbp/mola_common-release.git version: 0.6.1 mola_demos: + dependencies: + - ament_cmake + - ament_cmake_gtest + - ament_cmake_lint_cmake + - ament_cmake_pep257 + - ament_cmake_xmllint + - ament_lint_auto + - ros_environment repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_demos/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15627,6 +16085,14 @@ mola_input_kitti_dataset: url: https://github.com/ros2-gbp/mola_academic_datasets-release.git version: 3.1.0 mola_input_lidar_bin_dataset: + dependencies: + - mola_common + - mola_kernel + - mola_yaml + - mrpt_core + - mrpt_maps + - mrpt_obs + - mrpt_system repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_input_lidar_bin_dataset/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15663,6 +16129,9 @@ mola_input_paris_luco_dataset: url: https://github.com/ros2-gbp/mola_academic_datasets-release.git version: 3.1.0 mola_input_rawlog: + dependencies: + - mola_kernel + - mrpt_obs repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_input_rawlog/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15682,21 +16151,51 @@ mola_input_rosbag1: url: https://github.com/ros2-gbp/mola_input_rosbag1-release.git version: 0.5.0 mola_input_rosbag2: + dependencies: + - cv_bridge + - gps_msgs + - mola_kernel + - mrpt_libros_bridge + - mrpt_obs + - rosbag2_cpp + - sensor_msgs + - tf2_geometry_msgs + - tf2_msgs + - tf2_ros repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_input_rosbag2/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_input_video: + dependencies: + - mola_kernel + - mrpt_hwdrivers + - mrpt_obs repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_input_video/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_kernel: + dependencies: + - mola_common + - mola_yaml + - mrpt_maps + - mrpt_obs + - mrpt_topography repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_kernel/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_launcher: + dependencies: + - ament_cmake + - ament_cmake_gtest + - ament_cmake_pep257 + - ament_cmake_xmllint + - ament_lint_auto + - mola_kernel + - mrpt_core + - ros_environment repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_launcher/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15738,21 +16237,53 @@ mola_lidar_odometry: url: https://github.com/ros2-gbp/mola_lidar_odometry-release.git version: 3.3.0 mola_metric_maps: + dependencies: + - ament_cmake + - ament_cmake_gtest + - ament_cmake_xmllint + - ament_lint_auto + - ament_lint_common + - mola_common + - mola_kernel + - mola_test_datasets + - mp2p_icp + - mrpt_maps + - mrpt_viz + - nanoflann_vendor + - ros_environment repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_metric_maps/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_msgs: + dependencies: + - action_msgs + - ament_cmake + - mrpt_msgs + - nav_msgs + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_msgs/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_pose_list: + dependencies: + - mola_common + - mrpt_maps + - mrpt_poses repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_pose_list/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_relocalization: + dependencies: + - mola_common + - mola_pose_list + - mola_test_datasets + - mp2p_icp + - mrpt_maps + - mrpt_obs repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_relocalization/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15848,21 +16379,42 @@ mola_test_datasets: url: https://github.com/ros2-gbp/mola_test_datasets-release.git version: 0.5.0 mola_traj_tools: + dependencies: + - mola_common + - mrpt_poses repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_traj_tools/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_viz: + dependencies: + - mola_kernel + - mrpt_gui + - mrpt_maps + - mrpt_opengl + - mrpt_viz repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_viz/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_viz_imgui: + dependencies: + - mola_kernel + - mrpt_gui + - mrpt_imgui + - mrpt_maps + - mrpt_obs + - mrpt_opengl + - mrpt_viz repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_viz_imgui/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git version: 3.3.1 mola_yaml: + dependencies: + - mola_common + - mrpt_containers + - mrpt_system repository: https://github.com/MOLAorg/mola tag: release/jazzy/mola_yaml/3.3.1-1 url: https://github.com/ros2-gbp/mola-release.git @@ -15895,6 +16447,21 @@ motion_capture_tracking_interfaces: url: https://github.com/ros2-gbp/motion_capture_tracking-release.git version: 1.0.9 motion_primitives_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/motion_primitives_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -16898,56 +17465,97 @@ mrpt_apps: url: https://github.com/ros2-gbp/mrpt_ros-release.git version: 2.15.21 mrpt_apps_cli: + dependencies: + - mrpt_common + - mrpt_libapps_cli repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_apps_cli/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_apps_gui: + dependencies: + - mrpt_common + - mrpt_graphslam + - mrpt_kinematics + - mrpt_libapps_gui + - mrpt_nav repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_apps_gui/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_bayes: + dependencies: + - mrpt_common + - mrpt_config + - mrpt_math repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_bayes/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_common: + dependencies: [] repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_common/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_comms: + dependencies: + - mrpt_common + - mrpt_io + - mrpt_poses repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_comms/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_config: + dependencies: + - mrpt_common + - mrpt_expr repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_config/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_containers: + dependencies: + - mrpt_common + - mrpt_core + - mrpt_typemeta repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_containers/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_core: + dependencies: + - mrpt_common repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_core/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_data: + dependencies: [] repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_data/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_examples_cpp: + dependencies: + - mrpt_common + - mrpt_data + - mrpt_graphslam + - mrpt_gui + - mrpt_imgui + - mrpt_imgui_vendor + - mrpt_libapps_cli + - mrpt_libapps_gui + - mrpt_nav repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_examples_cpp/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_expr: + dependencies: + - mrpt_common + - mrpt_system repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_expr/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -16971,46 +17579,76 @@ mrpt_generic_sensor: url: https://github.com/ros2-gbp/mrpt_sensors-release.git version: 0.4.0 mrpt_graphs: + dependencies: + - mrpt_common + - mrpt_io + - mrpt_poses + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_graphs/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_graphslam: + dependencies: + - mrpt_gui + - mrpt_slam repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_graphslam/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_gui: + dependencies: + - mrpt_opengl repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_gui/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_hwdrivers: + dependencies: + - mrpt_comms + - mrpt_maps + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_hwdrivers/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_img: + dependencies: + - mrpt_common + - mrpt_config + - mrpt_io + - mrpt_math repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_img/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_imgui: + dependencies: + - mrpt_opengl repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_imgui/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_imgui_vendor: + dependencies: + - mrpt_common repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_imgui_vendor/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_io: + dependencies: + - mrpt_common + - mrpt_serialization + - mrpt_system repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_io/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_kinematics: + dependencies: + - mrpt_common + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_kinematics/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17027,11 +17665,18 @@ mrpt_libapps: url: https://github.com/ros2-gbp/mrpt_ros-release.git version: 2.15.21 mrpt_libapps_cli: + dependencies: + - mrpt_hwdrivers + - mrpt_slam + - mrpt_topography repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_libapps_cli/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_libapps_gui: + dependencies: + - mrpt_gui + - mrpt_libapps_cli repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_libapps_gui/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17162,11 +17807,21 @@ mrpt_map_server: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_maps: + dependencies: + - mrpt_graphs + - mrpt_obs repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_maps/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_math: + dependencies: + - mrpt_common + - mrpt_io + - mrpt_random + - mrpt_serialization + - mrpt_system + - nanoflann_vendor repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_math/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17207,6 +17862,10 @@ mrpt_msgs_bridge: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_nav: + dependencies: + - mrpt_kinematics + - mrpt_maps + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_nav/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17243,11 +17902,19 @@ mrpt_navigation: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_obs: + dependencies: + - mrpt_common + - mrpt_tfest + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_obs/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_opengl: + dependencies: + - mrpt_img + - mrpt_poses + - mrpt_viz repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_opengl/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17330,11 +17997,17 @@ mrpt_pointcloud_pipeline: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_poses: + dependencies: + - mrpt_bayes + - mrpt_common + - mrpt_io repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_poses/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_random: + dependencies: + - mrpt_common repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_random/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17365,6 +18038,10 @@ mrpt_reactivenav2d: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_rtti: + dependencies: + - mrpt_common + - mrpt_core + - mrpt_typemeta repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_rtti/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17468,26 +18145,41 @@ mrpt_sensors: url: https://github.com/ros2-gbp/mrpt_sensors-release.git version: 0.4.0 mrpt_serialization: + dependencies: + - mrpt_common + - mrpt_rtti repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_serialization/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_slam: + dependencies: + - mrpt_maps + - mrpt_topography repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_slam/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_system: + dependencies: + - mrpt_common + - mrpt_containers repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_system/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_tfest: + dependencies: + - mrpt_common + - mrpt_poses repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_tfest/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_topography: + dependencies: + - mrpt_common + - mrpt_math repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_topography/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17561,11 +18253,17 @@ mrpt_tutorials: url: https://github.com/ros2-gbp/mrpt_navigation-release.git version: 2.6.0 mrpt_typemeta: + dependencies: + - mrpt_common repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_typemeta/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git version: 3.4.0 mrpt_viz: + dependencies: + - mrpt_common + - mrpt_img + - mrpt_poses repository: https://github.com/MRPT/mrpt tag: release/jazzy/mrpt_viz/3.4.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git @@ -17742,6 +18440,26 @@ multisensor_calibration_interface: url: https://github.com/ros2-gbp/multisensor_calibration-release.git version: 2.1.0 mvsim: + dependencies: + - ament_cmake + - ament_cmake_gmock + - ament_cmake_gtest + - ament_cmake_xmllint + - ament_lint_auto + - ament_lint_common + - mrpt_gui + - mrpt_libros_bridge + - mrpt_maps + - mrpt_tfest + - mrpt_topography + - nav_msgs + - ros2launch + - ros_environment + - sensor_msgs + - stereo_msgs + - tf2 + - tf2_geometry_msgs + - visualization_msgs repository: https://github.com/MRPT/mvsim tag: release/jazzy/mvsim/1.6.0-1 url: https://github.com/ros2-gbp/mvsim-release.git @@ -19989,6 +20707,23 @@ om_spring_actuator_controller: url: https://github.com/ros2-gbp/open_manipulator-release.git version: 4.1.3 omni_wheel_drive_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - nav_msgs + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - tf2 + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/omni_wheel_drive_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -20469,6 +21204,22 @@ pangolin: url: https://github.com/ros2-gbp/Pangolin-release.git version: 0.9.6 parallel_gripper_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - pluginlib + - rclcpp + - rclcpp_action + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/parallel_gripper_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -20489,6 +21240,13 @@ parameter_expression: url: https://github.com/ros2-gbp/parameter_expression-release.git version: 0.0.2 parameter_traits: + dependencies: + - ament_cmake + - ament_cmake_gtest + - rclcpp + - rsl + - tcb_span + - tl_expected repository: https://github.com/PickNikRobotics/generate_parameter_library tag: release/jazzy/parameter_traits/0.7.7-1 url: https://github.com/ros2-gbp/generate_parameter_library-release.git @@ -20914,6 +21672,25 @@ picknik_twist_controller: url: https://github.com/ros2-gbp/picknik_controllers-release.git version: 0.0.4 pid_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - angles + - backward_ros + - control_msgs + - control_toolbox + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/pid_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -21601,6 +22378,22 @@ popf: url: https://github.com/ros2-gbp/popf-release.git version: 0.1.0 pose_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/pose_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -21647,6 +22440,19 @@ posedetection_msgs: url: https://github.com/tork-a/jsk_common_msgs-release.git version: 5.0.2 position_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - forward_command_controller + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/position_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -22161,6 +22967,22 @@ random_numbers: url: https://github.com/ros2-gbp/random_numbers-release.git version: 2.0.5 range_sensor_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - sensor_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/range_sensor_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -24619,6 +25441,16 @@ robstride_ros2_control: url: https://github.com/ros2-gbp/robstride_ros2-release.git version: 0.2.0 ros2_control: + dependencies: + - ament_cmake + - controller_interface + - controller_manager + - controller_manager_msgs + - hardware_interface + - joint_limits + - ros2_control_test_assets + - ros2controlcli + - transmission_interface repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/ros2_control/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git @@ -24633,16 +25465,55 @@ ros2_control_cmake: url: https://github.com/ros2-gbp/ros2_control_cmake-release.git version: 0.4.0 ros2_control_test_assets: + dependencies: + - ament_cmake repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/ros2_control_test_assets/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 ros2_controllers: + dependencies: + - ackermann_steering_controller + - admittance_controller + - ament_cmake + - battery_state_broadcaster + - bicycle_steering_controller + - chained_filter_controller + - diff_drive_controller + - effort_controllers + - force_torque_sensor_broadcaster + - forward_command_controller + - gpio_controllers + - gps_sensor_broadcaster + - gripper_controllers + - imu_sensor_broadcaster + - joint_state_broadcaster + - joint_trajectory_controller + - magnetometer_broadcaster + - mecanum_drive_controller + - omni_wheel_drive_controller + - parallel_gripper_controller + - pid_controller + - pose_broadcaster + - position_controllers + - range_sensor_broadcaster + - state_interfaces_broadcaster + - steering_controllers_library + - tricycle_controller + - tricycle_steering_controller + - velocity_controllers repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/ros2_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git version: 4.43.0 ros2_controllers_test_nodes: + dependencies: + - launch_ros + - launch_testing_ros + - rclpy + - sensor_msgs + - std_msgs + - trajectory_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/ros2_controllers_test_nodes/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -25210,6 +26081,15 @@ ros2component: url: https://github.com/ros2-gbp/ros2cli-release.git version: 0.32.13 ros2controlcli: + dependencies: + - controller_manager + - controller_manager_msgs + - rcl_interfaces + - rclpy + - ros2cli + - ros2node + - ros2param + - rosidl_runtime_py repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/ros2controlcli/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git @@ -27221,6 +28101,25 @@ rot_conv: url: https://github.com/ros2-gbp/rot_conv_lib-release.git version: 1.1.0 rplidar_driver: + dependencies: + - ament_cmake + - ament_cmake_cppcheck + - ament_cmake_gtest + - ament_cmake_lint_cmake + - ament_cmake_xmllint + - ament_lint_auto + - diagnostic_updater + - geometry_msgs + - launch_ros + - lifecycle_msgs + - rclcpp + - rclcpp_components + - rclcpp_lifecycle + - sensor_msgs + - std_srvs + - tf2 + - tf2_geometry_msgs + - tf2_ros repository: https://github.com/frozenreboot/rplidar_driver tag: release/jazzy/rplidar_driver/1.4.2-1 url: https://github.com/ros2-gbp/rplidar_driver-release.git @@ -27383,6 +28282,14 @@ rqt_console: url: https://github.com/ros2-gbp/rqt_console-release.git version: 2.2.2 rqt_controller_manager: + dependencies: + - controller_manager + - controller_manager_msgs + - launch_testing + - launch_testing_ros + - rclpy + - rqt_gui + - rqt_gui_py repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/rqt_controller_manager/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git @@ -27510,6 +28417,17 @@ rqt_image_view: url: https://github.com/ros2-gbp/rqt_image_view-release.git version: 1.3.0 rqt_joint_trajectory_controller: + dependencies: + - control_msgs + - controller_manager_msgs + - launch_testing + - launch_testing_ros + - python_qt_binding + - qt_gui + - rclpy + - rqt_gui + - rqt_gui_py + - trajectory_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/rqt_joint_trajectory_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -28126,6 +29044,23 @@ rtcm_msgs: url: https://github.com/ros2-gbp/rtcm_msgs-release.git version: 1.1.6 rtest: + dependencies: + - action_msgs + - ament_clang_tidy + - ament_cmake + - ament_cmake_copyright + - ament_cmake_gmock + - ament_cmake_ros + - ament_lint_auto + - ament_lint_common + - example_interfaces + - rcl + - rcl_action + - rclcpp + - rclcpp_action + - ros_environment + - std_msgs + - std_srvs repository: https://github.com/Beam-and-Spyrosoft/rtest tag: release/jazzy/rtest/0.2.5-1 url: https://github.com/ros2-gbp/rtest-release.git @@ -29487,6 +30422,21 @@ sros2_cmake: url: https://github.com/ros2-gbp/sros2-release.git version: 0.13.6 state_interfaces_broadcaster: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - pluginlib + - rclcpp + - rclcpp_lifecycle + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/state_interfaces_broadcaster/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -29524,6 +30474,28 @@ std_srvs: url: https://github.com/ros2-gbp/common_interfaces-release.git version: 5.3.8 steering_controllers_library: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - nav_msgs + - pluginlib + - rclcpp + - rclcpp_lifecycle + - rcpputils + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - tf2 + - tf2_geometry_msgs + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/steering_controllers_library/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -30331,866 +31303,1966 @@ tlsf_cpp: url: https://github.com/ros2-gbp/realtime_support-release.git version: 0.17.1 tobas: + dependencies: + - ament_cmake + - tobas_core + - tobas_examples + - tobas_external + - tobas_gui repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_actuator_test: + dependencies: + - ament_cmake + - tobas_dparam_client + - tobas_drone_core + - tobas_gui_common + - tobas_qt_tools + - tobas_rqt_bridge repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_actuator_test/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_algorithm: + dependencies: + - ament_cmake + - tobas_math repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_algorithm/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_bootmedia_config: + dependencies: + - ament_cmake + - ament_index_cpp + - magic_enum + - tobas_constants + - tobas_crypt + - tobas_gui_common + - tobas_inja_vendor + - tobas_path_tools + - tobas_qt_tools + - tobas_ssh_authkey + - tobas_udev + - tobas_wpa_supplicant repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_bootmedia_config/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_camera: + dependencies: + - ament_cmake + - tobas_camera_msgs + - tobas_camera_ros_interface + - tobas_image_processing repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_camera/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_camera_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_camera_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_camera_ros_interface: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_camera_ros_interface/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_code_style: + dependencies: + - ament_cmake + - tobas_cpp_code_style_example repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_code_style/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_colcon_cpp: + dependencies: + - ament_cmake + - tobas_linux + - tobas_ros2_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_colcon_cpp/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_command_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - tobas_kdl_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_command_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_command_msgs_adapter: + dependencies: + - ament_cmake + - tobas_command_msgs + - tobas_kdl_msgs_adapter repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_command_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_common: + dependencies: + - ament_cmake + - tobas_algorithm + - tobas_control + - tobas_dsp + - tobas_eigen_conversions + - tobas_eigen_msgs + - tobas_eigen_msgs_adapter + - tobas_eigen_tools + - tobas_geographic + - tobas_ic_drivers + - tobas_ic_drivers_ros + - tobas_kdl + - tobas_kdl_conversions + - tobas_kdl_msgs + - tobas_kdl_msgs_adapter + - tobas_linux + - tobas_math + - tobas_nlp + - tobas_path_tools + - tobas_quadprog + - tobas_ros2_tools + - tobas_std_msgs + - tobas_std_msgs_adapter + - tobas_std_tools + - tobas_string_tools + - tobas_time_tools + - tobas_trajectory_generation + - tobas_urdf + - tobas_xml_tools + - tobas_yaml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_components_rt: + dependencies: + - ament_cmake + - rclcpp + - rclcpp_components + - tobas_linux repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_components_rt/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_config_servers: + dependencies: + - ament_cmake + - tobas_constants + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_config_servers/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_connection_monitor: + dependencies: + - ament_cmake + - tobas_constants + - tobas_msgs + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_connection_monitor/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_constants: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_constants/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_control: + dependencies: + - ament_cmake + - tobas_quadprog repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_control/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_control_system: + dependencies: + - ament_cmake + - magic_enum + - tobas_constants + - tobas_drone_core + - tobas_geographic + - tobas_gui_common + - tobas_mission_msgs_adapter + - tobas_msgs_adapter + - tobas_path_tools + - tobas_property_client + - tobas_qt_tools + - tobas_ros2_tools + - tobas_rqt_bridge + - tobas_trajectory_generation repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_control_system/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_controllers: + dependencies: + - ament_cmake + - tobas_fixed_wing_controller + - tobas_nonplanar_multi_controller + - tobas_planar_multi_controller + - tobas_random_axis_tilt_multi_controller + - tobas_y_axis_tilt_multi_controller repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_controllers/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_core: + dependencies: + - ament_cmake + - tobas_camera + - tobas_command_msgs + - tobas_command_msgs_adapter + - tobas_common + - tobas_components_rt + - tobas_config_servers + - tobas_connection_monitor + - tobas_constants + - tobas_controllers + - tobas_cui + - tobas_debug_msgs + - tobas_debug_msgs_adapter + - tobas_debug_tools + - tobas_description + - tobas_disturbance_observer + - tobas_dparam + - tobas_drone + - tobas_dummy_pkg + - tobas_eskf + - tobas_failsafe + - tobas_fake_publishers + - tobas_hardware + - tobas_joint_states_bridge + - tobas_landing_detection + - tobas_manipulation + - tobas_mission + - tobas_msgs + - tobas_msgs_adapter + - tobas_node + - tobas_object_avoidance + - tobas_pose_pid + - tobas_property + - tobas_rc_teleop + - tobas_real + - tobas_ros_interface + - tobas_rosbag_recorder + - tobas_rotor_anomaly_detection + - tobas_rotor_controller + - tobas_tools + - tobas_topic_throttle + - tobas_tree_server + - tobas_version + - tobas_vibration_filter + - tobas_wind_model repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_core/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_cpp_code_style_example: + dependencies: + - ament_cmake + - launch + - launch_ros + - mavros_msgs + - rclcpp + - rclcpp_components + - std_msgs + - tobas_math + - tobas_msgs_adapter repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_cpp_code_style_example/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_crypt: + dependencies: + - ament_cmake + - tobas_linux repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_crypt/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_cui: + dependencies: + - ament_cmake + - tobas_keyboard + - tobas_keyboard_teleop repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_cui/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_cyclonedds_config: + dependencies: + - ament_cmake + - tobas_string_tools + - tobas_xml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_cyclonedds_config/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_debug_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - tobas_eigen_msgs + - tobas_kdl_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_debug_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_debug_msgs_adapter: + dependencies: + - ament_cmake + - tobas_debug_msgs + - tobas_eigen_msgs_adapter + - tobas_kdl_msgs_adapter repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_debug_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_debug_tools: + dependencies: + - ament_cmake + - tobas_dsp + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_debug_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_description: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_description/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_disturbance_observer: + dependencies: + - ament_cmake + - tobas_drone_msgs_adapter + - tobas_dsp + - tobas_msgs_adapter + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_disturbance_observer/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dparam: + dependencies: + - ament_cmake + - tobas_dparam_client + - tobas_dparam_common + - tobas_dparam_msgs + - tobas_dparam_server repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dparam/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dparam_client: + dependencies: + - ament_cmake + - tobas_dparam_common + - tobas_dparam_msgs + - tobas_path_tools + - tobas_ros2_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dparam_client/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dparam_common: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dparam_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dparam_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dparam_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dparam_server: + dependencies: + - ament_cmake + - tobas_dparam_common + - tobas_dparam_msgs + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dparam_server/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone: + dependencies: + - ament_cmake + - tobas_drone_core + - tobas_drone_msgs + - tobas_drone_msgs_adapter + - tobas_drone_server + - tobas_drone_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone_core: + dependencies: + - ament_cmake + - tobas_constants + - tobas_kdl + - tobas_nlp + - tobas_yaml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone_core/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - tobas_kdl_msgs + - tobas_std_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone_msgs_adapter: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - tobas_drone_core + - tobas_drone_msgs + - tobas_kdl_msgs_adapter + - tobas_std_msgs_adapter repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone_server: + dependencies: + - ament_cmake + - tobas_drone_msgs_adapter + - tobas_msgs + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone_server/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_drone_tools: + dependencies: + - ament_cmake + - tobas_drone_core repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_drone_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dsp: + dependencies: + - ament_cmake + - tobas_eigen_tools + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dsp/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dummy_pkg: + dependencies: + - ament_cmake + - rclcpp + - rclcpp_components repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dummy_pkg/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dynamixel: + dependencies: + - ament_cmake + - tobas_dynamixel_handler + - tobas_dynamixel_msgs + - tobas_dynamixel_ros_interface repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dynamixel/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dynamixel_handler: + dependencies: + - ament_cmake + - dynamixel_sdk + - std_srvs + - tobas_dynamixel_msgs + - tobas_dynamixel_ros_interface + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dynamixel_handler/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dynamixel_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dynamixel_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_dynamixel_ros_interface: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_dynamixel_ros_interface/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_eigen_conversions: + dependencies: + - ament_cmake + - geometry_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_eigen_conversions/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_eigen_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_eigen_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_eigen_msgs_adapter: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - tobas_eigen_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_eigen_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_eigen_tools: + dependencies: + - ament_cmake + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_eigen_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_eskf: + dependencies: + - ament_cmake + - tobas_debug_msgs_adapter + - tobas_eigen_tools + - tobas_geographic + - tobas_kdl_conversions + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_eskf/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_examples: + dependencies: + - ament_cmake + - tobas_code_style + - tobas_examples_cpp + - tobas_examples_py repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_examples/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_examples_cpp: + dependencies: + - ament_cmake + - tobas_command_msgs + - tobas_constants + - tobas_mission_items + - tobas_mission_msgs + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_examples_cpp/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_examples_py: + dependencies: + - rclpy + - tobas_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_examples_py/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_external: + dependencies: + - ament_cmake + - tobas_inja_vendor + - tobas_rapidcsv_vendor repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_external/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_failsafe: + dependencies: + - ament_cmake + - tobas_drone_msgs_adapter + - tobas_dsp + - tobas_mission_items + - tobas_mission_msgs + - tobas_msgs_adapter + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_failsafe/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fake_publishers: + dependencies: + - ament_cmake + - tobas_constants + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fake_publishers/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc1xx: + dependencies: + - ament_cmake + - tobas_fc1xx_core + - tobas_fc1xx_ros + - tobas_fc1xx_test repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc1xx/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc1xx_core: + dependencies: + - ament_cmake + - tobas_linux + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc1xx_core/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc1xx_ros: + dependencies: + - ament_cmake + - launch + - launch_ros + - tobas_drone_msgs_adapter + - tobas_dsp + - tobas_fc1xx_core + - tobas_hardware_common + - tobas_ic_drivers + - tobas_msgs_adapter + - tobas_real_common + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc1xx_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc1xx_test: + dependencies: + - ament_cmake + - tobas_fc1xx_core + - tobas_ic_drivers + - tobas_sbus_driver repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc1xx_test/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc2xx: + dependencies: + - ament_cmake + - tobas_fc2xx_core + - tobas_fc2xx_ros + - tobas_fc2xx_test repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc2xx/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc2xx_core: + dependencies: + - ament_cmake + - tobas_algorithm + - tobas_linux + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc2xx_core/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc2xx_ros: + dependencies: + - ament_cmake + - launch + - launch_ros + - tobas_drone_msgs_adapter + - tobas_fc2xx_core + - tobas_ic_drivers + - tobas_msgs_adapter + - tobas_node + - tobas_real_common + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc2xx_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fc2xx_test: + dependencies: + - ament_cmake + - tobas_fc2xx_core + - tobas_ic_drivers + - tobas_sbus_driver repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fc2xx_test/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_fixed_wing_controller: + dependencies: + - ament_cmake + - tobas_control + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_drone_tools + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_fixed_wing_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_flight_log_gui: + dependencies: + - ament_cmake + - tobas_debug_msgs + - tobas_gui_common + - tobas_kdl + - tobas_msgs + - tobas_property_client + - tobas_qt_tools + - tobas_qwt_wrapper + - tobas_ros2_tools + - tobas_rqt_bridge + - tobas_string_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_flight_log_gui/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gamepad: + dependencies: + - ament_cmake + - tobas_gamepad_core + - tobas_gamepad_ros repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gamepad/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gamepad_core: + dependencies: + - ament_cmake + - magic_enum + - tobas_constants + - tobas_math repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gamepad_core/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gamepad_ros: + dependencies: + - ament_cmake + - tobas_constants + - tobas_gamepad_core + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gamepad_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo: + dependencies: + - ament_cmake + - tobas_gazebo_common + - tobas_gazebo_conversions + - tobas_gazebo_gui_plugins + - tobas_gazebo_msgs + - tobas_gazebo_ros + - tobas_gazebo_sim + - tobas_gazebo_system_plugins + - tobas_gazebo_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_common: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_conversions: + dependencies: + - ament_cmake + - geometry_msgs + - gz_math_vendor + - gz_msgs_vendor + - tobas_kdl repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_conversions/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_gui_plugins: + dependencies: + - ament_cmake + - gz_plugin_vendor + - gz_sim_vendor + - tobas_gazebo_common + - tobas_gazebo_conversions + - tobas_gazebo_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_gui_plugins/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_msgs: + dependencies: + - ament_cmake + - geometry_msgs + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_ros: + dependencies: + - ament_cmake + - tobas_drone_msgs_adapter + - tobas_gazebo_common + - tobas_gazebo_msgs + - tobas_msgs_adapter + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_sim: + dependencies: + - ament_cmake + - gz_sim_vendor + - ros_gz repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_sim/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_system_plugins: + dependencies: + - ament_cmake + - gz_plugin_vendor + - gz_sim_vendor + - sensor_msgs + - std_srvs + - tobas_drone_tools + - tobas_dsp + - tobas_gazebo_common + - tobas_gazebo_conversions + - tobas_gazebo_msgs + - tobas_gazebo_tools + - tobas_geographic + - tobas_msgs_adapter + - tobas_nlp + - tobas_node + - tobas_tools + - tobas_wind_model repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_system_plugins/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gazebo_tools: + dependencies: + - ament_cmake + - gz_sim_vendor repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gazebo_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gcs: + dependencies: + - ament_cmake + - launch + - launch_ros + - rmw_cyclonedds_cpp + - tobas_actuator_test + - tobas_connection_monitor + - tobas_control_system + - tobas_cyclonedds_config + - tobas_flight_log_gui + - tobas_gazebo_sim + - tobas_parameter_tuning + - tobas_property_server + - tobas_sensor_calibration + - tobas_simulation_gui + - tobas_ssh_server + - tobas_tile_proxy repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gcs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_geographic: + dependencies: + - ament_cmake + - ament_index_cpp + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_geographic/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_git: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_git/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gui: + dependencies: + - ament_cmake + - tobas_actuator_test + - tobas_bootmedia_config + - tobas_colcon_cpp + - tobas_control_system + - tobas_crypt + - tobas_cyclonedds_config + - tobas_flight_log_gui + - tobas_gamepad + - tobas_gazebo + - tobas_gcs + - tobas_git + - tobas_gui_common + - tobas_parameter_tuning + - tobas_qt_tools + - tobas_qwt_wrapper + - tobas_rviz_plugin + - tobas_rviz_wrapper + - tobas_sensor_calibration + - tobas_setup_assistant + - tobas_simulation_gui + - tobas_ssh + - tobas_tile_proxy + - tobas_uadf + - tobas_udev + - tobas_urdf_builder + - tobas_urdf_builder_plugin + - tobas_visualization_msgs + - tobas_wpa_supplicant repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gui/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_gui_common: + dependencies: + - ament_cmake + - tobas_colcon_cpp + - tobas_constants + - tobas_linux + - tobas_qt_tools + - tobas_ssh_client + - tobas_std_tools + - tobas_version + - tobas_yaml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_gui_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_hardware: + dependencies: + - ament_cmake + - tobas_fc1xx + - tobas_fc2xx + - tobas_hardware_common repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_hardware/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_hardware_common: + dependencies: + - ament_cmake + - std_srvs + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_hardware_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ic_drivers: + dependencies: + - ament_cmake + - tobas_linux + - tobas_time_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ic_drivers/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ic_drivers_ros: + dependencies: + - ament_cmake + - geometry_msgs + - rclcpp + - rclcpp_components + - tobas_ic_drivers repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ic_drivers_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_image_processing: + dependencies: + - ament_cmake + - cv_bridge + - ffmpeg_encoder_decoder + - ffmpeg_image_transport_msgs + - launch + - launch_ros + - sensor_msgs + - tobas_camera_msgs + - tobas_camera_ros_interface + - tobas_ic_drivers + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_image_processing/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_inja_vendor: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_inja_vendor/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_joint_states_bridge: + dependencies: + - ament_cmake + - sensor_msgs + - tobas_constants + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_joint_states_bridge/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_kdl: + dependencies: + - ament_cmake + - tobas_eigen_tools + - tobas_math + - tobas_quadprog + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_kdl/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_kdl_conversions: + dependencies: + - ament_cmake + - geometry_msgs + - tobas_kdl + - urdf repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_kdl_conversions/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_kdl_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs + - tobas_eigen_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_kdl_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_kdl_msgs_adapter: + dependencies: + - ament_cmake + - tobas_eigen_msgs_adapter + - tobas_eigen_tools + - tobas_kdl + - tobas_kdl_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_kdl_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_kdl_parser: + dependencies: + - ament_cmake + - tobas_kdl_conversions + - tobas_urdf repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_kdl_parser/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_keyboard: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_keyboard/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_keyboard_teleop: + dependencies: + - ament_cmake + - tobas_command_msgs_adapter + - tobas_keyboard + - tobas_mission_items + - tobas_mission_msgs + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_keyboard_teleop/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_landing_detection: + dependencies: + - ament_cmake + - tobas_dsp + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_landing_detection/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_linux: + dependencies: + - ament_cmake + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_linux/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_manipulation: + dependencies: + - ament_cmake + - tobas_drone_msgs_adapter + - tobas_kdl_conversions + - tobas_msgs_adapter + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_manipulation/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_math: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_math/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_mission: + dependencies: + - ament_cmake + - tobas_mission_execution_mc + - tobas_mission_items + - tobas_mission_msgs + - tobas_mission_msgs_adapter repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_mission/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_mission_execution_mc: + dependencies: + - ament_cmake + - tobas_command_msgs_adapter + - tobas_geographic + - tobas_mission_items + - tobas_mission_msgs + - tobas_msgs_adapter + - tobas_node + - tobas_trajectory_generation repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_mission_execution_mc/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_mission_items: + dependencies: + - ament_cmake + - tobas_std_tools + - tobas_yaml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_mission_items/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_mission_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_mission_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_mission_msgs_adapter: + dependencies: + - ament_cmake + - tobas_mission_items + - tobas_mission_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_mission_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_msgs: + dependencies: + - ament_cmake + - geometry_msgs + - rosidl_default_generators + - rosidl_default_runtime + - tobas_eigen_msgs + - tobas_kdl_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_msgs_adapter: + dependencies: + - ament_cmake + - tobas_constants + - tobas_eigen_msgs_adapter + - tobas_kdl_msgs_adapter + - tobas_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_nlp: + dependencies: + - ament_cmake + - tobas_quadprog repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_nlp/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_node: + dependencies: + - ament_cmake + - rclcpp_components + - tobas_constants + - tobas_dparam_msgs + - tobas_msgs + - tobas_ros2_tools + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_node/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_nonplanar_multi_controller: + dependencies: + - ament_cmake + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_drone_tools + - tobas_node + - tobas_pose_pid + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_nonplanar_multi_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_object_avoidance: + dependencies: + - ament_cmake + - octomap + - octomap_msgs + - tobas_constants + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_object_avoidance/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_parameter_tuning: + dependencies: + - ament_cmake + - tobas_dparam_client + - tobas_drone_core + - tobas_gui_common + - tobas_qt_tools + - tobas_ros2_tools + - tobas_ssh_client + - tobas_string_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_parameter_tuning/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_path_tools: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_path_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_planar_multi_controller: + dependencies: + - ament_cmake + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_drone_tools + - tobas_node + - tobas_tools + - tobas_trajectory_generation repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_planar_multi_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_pose_pid: + dependencies: + - ament_cmake + - tobas_kdl repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_pose_pid/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property: + dependencies: + - ament_cmake + - tobas_property_client + - tobas_property_common + - tobas_property_msgs + - tobas_property_server + - tobas_property_tree repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property_client: + dependencies: + - ament_cmake + - std_srvs + - tobas_property_common + - tobas_property_msgs + - tobas_ros2_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property_client/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property_common: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property_server: + dependencies: + - ament_cmake + - std_srvs + - tobas_node + - tobas_path_tools + - tobas_property_common + - tobas_property_msgs + - tobas_property_tree repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property_server/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_property_tree: + dependencies: + - ament_cmake + - tobas_path_tools + - tobas_property_common + - tobas_property_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_property_tree/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_qt_tools: + dependencies: + - ament_cmake + - ament_index_cpp + - tobas_math + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_qt_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_quadprog: + dependencies: + - ament_cmake + - tobas_eigen_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_quadprog/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_qwt_wrapper: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_qwt_wrapper/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_random_axis_tilt_multi_controller: + dependencies: + - ament_cmake + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_drone_tools + - tobas_nlp + - tobas_node + - tobas_nonplanar_multi_controller + - tobas_pose_pid + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_random_axis_tilt_multi_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rapidcsv_vendor: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rapidcsv_vendor/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rc_teleop: + dependencies: + - ament_cmake + - magic_enum + - tobas_command_msgs_adapter + - tobas_msgs_adapter + - tobas_node + - tobas_path_tools + - tobas_ros2_tools + - tobas_trajectory_generation repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rc_teleop/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_real: + dependencies: + - ament_cmake + - tobas_dynamixel + - tobas_real_common + - tobas_real_msgs + - tobas_real_ros + - tobas_sbus_driver repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_real/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_real_common: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_real_common/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_real_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_real_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_real_ros: + dependencies: + - ament_cmake + - magic_enum + - sensor_msgs + - tobas_drone_msgs_adapter + - tobas_dsp + - tobas_linux + - tobas_msgs_adapter + - tobas_node + - tobas_property_tree + - tobas_real_common + - tobas_real_msgs + - tobas_string_tools + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_real_ros/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ros2_tools: + dependencies: + - ament_cmake + - rclcpp + - ros2launch + - rosbag2_cpp + - tf2_ros repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ros2_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ros_interface: + dependencies: + - ament_cmake + - std_srvs + - tobas_drone_msgs + - tobas_mission_msgs + - tobas_msgs + - tobas_node + - tobas_real_common + - tobas_real_msgs + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ros_interface/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rosbag_recorder: + dependencies: + - ament_cmake + - rosbag2_cpp + - std_srvs + - tobas_command_msgs_adapter + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_linux + - tobas_msgs_adapter + - tobas_node + - tobas_path_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rosbag_recorder/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rotor_anomaly_detection: + dependencies: + - ament_cmake + - std_srvs + - tobas_drone_msgs_adapter + - tobas_msgs_adapter + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rotor_anomaly_detection/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rotor_controller: + dependencies: + - ament_cmake + - std_srvs + - tobas_drone_msgs_adapter + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rotor_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rqt_bridge: + dependencies: + - ament_cmake + - tobas_constants + - tobas_msgs_adapter + - tobas_path_tools + - tobas_real_common + - tobas_ros2_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rqt_bridge/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rviz_plugin: + dependencies: + - ament_cmake + - rsl + - rviz_common + - rviz_default_plugins + - tf2_eigen + - tobas_visualization_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rviz_plugin/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_rviz_wrapper: + dependencies: + - ament_cmake + - rviz_common repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_rviz_wrapper/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_sbus_driver: + dependencies: + - ament_cmake + - tobas_linux + - tobas_msgs + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_sbus_driver/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_sensor_calibration: + dependencies: + - ament_cmake + - geometry_msgs + - sensor_msgs + - tobas_drone_core + - tobas_eigen_conversions + - tobas_geographic + - tobas_gui_common + - tobas_kdl_conversions + - tobas_property_tree + - tobas_qt_tools + - tobas_real_common + - tobas_real_msgs + - tobas_rqt_bridge + - tobas_rviz_wrapper + - tobas_time_tools + - visualization_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_sensor_calibration/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_setup_assistant: + dependencies: + - ament_cmake + - hardware_interface + - launch + - launch_ros + - magic_enum + - robot_state_publisher + - sensor_msgs + - tobas_drone_msgs_adapter + - tobas_git + - tobas_gui_common + - tobas_inja_vendor + - tobas_kdl_parser + - tobas_path_tools + - tobas_property_client + - tobas_property_server + - tobas_qt_tools + - tobas_rapidcsv_vendor + - tobas_ros2_tools + - tobas_rviz_plugin + - tobas_rviz_wrapper + - tobas_string_tools + - tobas_uadf + - tobas_urdf + - tobas_visualization_msgs + - tobas_xml_tools + - visualization_msgs + - xacro repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_setup_assistant/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_simulation_gui: + dependencies: + - ament_cmake + - tobas_command_msgs_adapter + - tobas_drone_core + - tobas_eigen_conversions + - tobas_gazebo_common + - tobas_gazebo_msgs + - tobas_gazebo_tools + - tobas_gui_common + - tobas_kdl_parser + - tobas_msgs_adapter + - tobas_property_client + - tobas_qt_tools + - tobas_ros2_tools + - tobas_rqt_bridge + - tobas_uadf repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_simulation_gui/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ssh: + dependencies: + - ament_cmake + - tobas_ssh_authkey + - tobas_ssh_client + - tobas_ssh_msgs + - tobas_ssh_server repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ssh/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ssh_authkey: + dependencies: + - ament_cmake + - tobas_string_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ssh_authkey/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ssh_client: + dependencies: + - ament_cmake + - tobas_ros2_tools + - tobas_ssh_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ssh_client/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ssh_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ssh_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_ssh_server: + dependencies: + - rclpy + - tobas_ssh_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_ssh_server/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_std_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_std_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_std_msgs_adapter: + dependencies: + - ament_cmake + - rclcpp + - tobas_std_msgs + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_std_msgs_adapter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_std_tools: + dependencies: + - ament_cmake + - tobas_algorithm + - tobas_math + - tobas_time_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_std_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_string_tools: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_string_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_tile_proxy: + dependencies: [] repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_tile_proxy/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_time_tools: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_time_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_tools: + dependencies: + - ament_cmake + - tobas_command_msgs_adapter + - tobas_constants + - tobas_msgs_adapter + - tobas_path_tools + - tobas_ros2_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_topic_throttle: + dependencies: + - ament_cmake + - tobas_msgs_adapter + - tobas_node + - tobas_real_common + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_topic_throttle/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_trajectory_generation: + dependencies: + - ament_cmake + - tobas_math repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_trajectory_generation/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_tree_server: + dependencies: + - ament_cmake + - tobas_kdl_msgs_adapter + - tobas_kdl_parser + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_tree_server/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_uadf: + dependencies: + - ament_cmake + - tobas_urdf + - tobas_xml_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_uadf/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_udev: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_udev/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_urdf: + dependencies: + - ament_cmake + - ament_index_cpp + - tobas_ros2_tools + - tobas_string_tools + - urdf + - urdfdom repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_urdf/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_urdf_builder: + dependencies: + - ament_cmake + - launch + - launch_ros + - tobas_gui_common + - tobas_property_server + - tobas_qt_tools + - tobas_rviz_wrapper + - tobas_urdf_builder_plugin repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_urdf_builder/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_urdf_builder_plugin: + dependencies: + - ament_cmake + - rviz_common + - rviz_default_plugins + - rviz_rendering + - tobas_constants + - tobas_property_client + - tobas_qt_tools + - tobas_ros2_tools + - tobas_std_tools + - tobas_urdf repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_urdf_builder_plugin/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_version: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_version/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_vibration_filter: + dependencies: + - ament_cmake + - tobas_dsp + - tobas_msgs_adapter + - tobas_node repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_vibration_filter/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_visualization_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - sensor_msgs + - std_msgs repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_visualization_msgs/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_wind_model: + dependencies: + - ament_cmake + - tobas_constants + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_wind_model/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_wpa_supplicant: + dependencies: + - ament_cmake + - tobas_string_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_wpa_supplicant/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_xml_tools: + dependencies: + - ament_cmake repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_xml_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_y_axis_tilt_multi_controller: + dependencies: + - ament_cmake + - tobas_debug_msgs_adapter + - tobas_drone_msgs_adapter + - tobas_drone_tools + - tobas_node + - tobas_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_y_axis_tilt_multi_controller/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git version: 2.16.6 tobas_yaml_tools: + dependencies: + - ament_cmake + - tobas_math + - tobas_std_tools repository: https://github.com/TobasFlightControl/tobas tag: release/jazzy/tobas_yaml_tools/2.16.6-1 url: https://github.com/ros2-gbp/tobas-release.git @@ -31487,16 +33559,64 @@ trajectory_msgs: url: https://github.com/ros2-gbp/common_interfaces-release.git version: 5.3.8 transmission_interface: + dependencies: + - ament_cmake + - ament_cmake_gen_version_h + - ament_cmake_gmock + - hardware_interface + - pluginlib + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_control tag: release/jazzy/transmission_interface/4.49.0-1 url: https://github.com/ros2-gbp/ros2_control-release.git version: 4.49.0 tricycle_controller: + dependencies: + - ackermann_msgs + - ament_cmake + - ament_cmake_gmock + - backward_ros + - builtin_interfaces + - controller_interface + - controller_manager + - generate_parameter_library + - geometry_msgs + - hardware_interface + - hardware_interface_testing + - nav_msgs + - pluginlib + - rclcpp + - rclcpp_lifecycle + - rcpputils + - realtime_tools + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - tf2 + - tf2_msgs repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/tricycle_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git version: 4.43.0 tricycle_steering_controller: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - control_msgs + - controller_interface + - controller_manager + - generate_parameter_library + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - rclcpp_lifecycle + - ros2_control_cmake + - ros2_control_test_assets + - std_srvs + - steering_controllers_library repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/tricycle_steering_controller/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git @@ -33170,6 +35290,19 @@ vector_pursuit_controller: url: https://github.com/ros2-gbp/vector_pursuit_controller-release.git version: 2.0.0 velocity_controllers: + dependencies: + - ament_cmake + - ament_cmake_gmock + - backward_ros + - controller_interface + - controller_manager + - forward_command_controller + - hardware_interface + - hardware_interface_testing + - pluginlib + - rclcpp + - ros2_control_cmake + - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_controllers tag: release/jazzy/velocity_controllers/4.43.0-1 url: https://github.com/ros2-gbp/ros2_controllers-release.git diff --git a/distros/kilted/robostack.yaml b/distros/kilted/robostack.yaml new file mode 100644 index 000000000..69b32c96e --- /dev/null +++ b/distros/kilted/robostack.yaml @@ -0,0 +1,72 @@ +# kilted: its own rosdep mappings, over shared/robostack.yaml: +# Qt 5 (kilted's rviz and rqt need Qt5 / PyQt5), and the xtensor its packages were built +# with. kilted (EOL) isn't built here (no vinca.yaml); this is for pixi-build-ros +# (robostack-bot sync-pixi-mappings). +libqt5-core: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-gui: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-websockets-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-widgets: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5x11extras5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +python-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings-gl: + robostack: [pyqt, pyqt-builder] +qt5-image-formats-plugins: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-qmake: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qtbase5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +xtensor: + robostack: [xtensor ==0.24.7] diff --git a/distros/lyrical/patch/dependencies.yaml b/distros/lyrical/patch/dependencies.yaml deleted file mode 100644 index a785c404f..000000000 --- a/distros/lyrical/patch/dependencies.yaml +++ /dev/null @@ -1,208 +0,0 @@ -ament_cmake_ros: - # Break the test-only runtime cycle so a new mutex migration can bootstrap. - remove_run: ["ros2-rmw-test-fixture-implementation"] -autoware_behavior_velocity_planner: - add_host: ["cpp-expected"] -autoware_behavior_velocity_planner_common: - add_host: ["cpp-expected"] -autoware_behavior_velocity_stop_line_module: - add_host: ["cpp-expected"] -autoware_trajectory: - add_host: ["fmt", "cpp-expected"] -autoware_utils_debug: - add_host: ["fmt"] -autoware_utils_pcl: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -backward_ros: - add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] -cartographer_ros: - add_host: ["cartographer 2.*", "libboost-devel", "ceres-solver"] -console_bridge_vendor: - add_host: ["console_bridge"] - add_run: ["console_bridge"] -depth_image_proc: - add_host: ["eigen-abi-devel"] -eigenpy: - add_host: ["eigen-abi-devel"] -foxglove_bridge: - add_host: ["ros2-ament-cmake"] -geometric_shapes: - add_host: ["libboost-devel", "octomap"] -grid_map_rviz_plugin: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -gz_cmake_vendor: - # https://github.com/gazebo-release/gz_cmake_vendor/blob/lyrical/CMakeLists.txt#L6 for select the right major version - # (this is true for all gz-* vendor packages) or https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-harmonic.yaml - # See https://gazebosim.org/docs/latest/ros_installation/#summary-of-compatible-ros-and-gazebo-combinations for mapping between ROS2 and Gazebo distros - # Every gz-*/sdformat vendor pins the majors of Jetty, so that no solve mixes releases: unpinned, an - # osx-arm64 py312 solve took gz-transport 14 (Ionic), whose builds go with a newer libabseil than Jetty's. - add_host: ["gz-cmake 5.*"] - add_run: ["gz-cmake 5.*"] -gz_common_vendor: - add_host: ["gz-common 7.*"] - add_run: ["gz-common 7.*"] -gz_dartsim_vendor: - add_host: ["dartsim-cpp", "eigen-abi-devel"] - add_run: ["dartsim-cpp"] -gz_fuel_tools_vendor: - add_host: ["gz-fuel-tools 11.*"] - add_run: ["gz-fuel-tools 11.*"] -gz_gui_vendor: - add_host: ["gz-gui 10.*"] - add_run: ["gz-gui 10.*"] -gz_launch_vendor: - add_host: ["gz-launch 9.*"] - add_run: ["gz-launch 9.*"] -gz_math_vendor: - add_host: ["gz-math 9.*"] - add_run: ["gz-math 9.*"] -gz_msgs_vendor: - add_host: ["gz-msgs 12.*"] - add_run: ["gz-msgs 12.*"] -gz_ogre_next_vendor: - add_host: ["ogre-next"] - add_run: ["ogre-next"] - remove_host: ["shaderc"] - remove_run: ["shaderc"] -gz_physics_vendor: - add_host: ["gz-physics 9.*"] - add_run: ["gz-physics 9.*"] -gz_plugin_vendor: - add_host: ["gz-plugin 4.*"] - add_run: ["gz-plugin 4.*"] -gz_rendering_vendor: - add_host: ["gz-rendering 10.*", "swig"] - add_run: ["gz-rendering 10.*", "swig"] -gz_ros2_control: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] -gz_ros2_control_demos: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -gz_sensors_vendor: - add_host: ["gz-sensors 10.*"] - add_run: ["gz-sensors 10.*"] -gz_sim_vendor: - add_host: ["libgz-sim 10.*"] - add_run: ["libgz-sim 10.*"] -gz_tools_vendor: - add_host: ["gz-tools 2.*"] - add_run: ["gz-tools 2.*"] -gz_transport_vendor: - add_host: ["libgz-transport 15.*"] - add_run: ["libgz-transport 15.*"] -gz_utils_vendor: - add_host: ["gz-utils 4.*"] - add_run: ["gz-utils 4.*"] -image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 - add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] -intra_process_demo: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 - add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] -mimick_vendor: - add_build: ["vcstool"] -moveit_core: - add_host: ["eigen-abi-devel"] -moveit_visual_tools: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -nav2_constrained_smoother: - add_host: ["${{ 'openblas' if win }}", "ceres-solver"] -opennav_coverage: - # package.xml misses deps that CMakeLists.txt finds - add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] - add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] -openvdb_vendor: - add_host: ["openvdb"] -pcl_conversions: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel", "eigen-abi-devel"] -pinocchio: - add_host: ["eigen-abi-devel"] -plotjuggler: - # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here - remove_host: ["qt6-main"] - remove_run: ["qt6-main"] - # python: embeds the interpreter (links libpython) without declaring it - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main", "python"] - add_run: ["qt-main"] -plotjuggler_ros: - # Qt5-only like plotjuggler, which it links - remove_host: ["qt6-main"] - remove_run: ["qt6-main"] - add_host: ["qt-main"] - add_run: ["qt-main"] -py_trees: - add_host: ["hatchling"] -py_trees_js: - add_host: ["hatchling"] -py_trees_ros: - add_host: ["poetry-core"] -py_trees_ros_tutorials: - # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch) - add_run: ["pyqt6"] -py_trees_ros_viewer: - add_host: ["poetry-core"] -pybind11_json_vendor: - add_host: ["pybind11_json"] - add_run: ["pybind11_json"] -python_qt_binding: - add_host: ["pyqt-builder", "qt6-main", "pyqt6"] - add_run: ["pyqt-builder", "qt6-main", "pyqt6"] -qt_gui_cpp: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "qt6-main", "pyqt6"] - add_run: ["pyqt-builder", "qt6-main", "pyqt6"] -rclpy: - add_host: ["typing_extensions"] - add_run: ["typing_extensions"] -rmf_building_map_tools: - add_host: ["ros2-rmf-site-map-msgs"] - add_run: ["gz-fuel-tools 11.*"] - remove_run: ["ros2-gz-fuel-tools-vendor"] -rmf_fleet_adapter: - add_host: ["eigen-abi-devel"] - remove_host: ["eigen"] -rmf_task_sequence: - # The vendor package's ament config does not load the imported validator - # target. Make the conda-forge CMake package directly available. - add_host: ["json_schema_validator"] - add_run: ["json_schema_validator"] -rmf_traffic: - add_host: ["octomap"] - add_run: ["octomap"] -rmf_visualization_schedule: - add_host: ["asio"] -ros_gz_sim: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] -rqt_gui_cpp: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rtabmap: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "libboost-devel", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] -rviz_ogre_vendor: - add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] - add_build: ["vcstool"] - add_run: ["assimp"] -sdformat_urdf: - add_host: ["sdformat 16.*"] - add_run: ["sdformat 16.*"] -sdformat_vendor: - add_host: ["sdformat 16.*"] - add_run: ["sdformat 16.*"] -slam_toolbox: - add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] - add_host: ["blas-devel", "ceres-solver"] -spatio_temporal_voxel_layer: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] -spdlog_vendor: - add_host: ["spdlog"] - add_run: ["spdlog"] -tf2_eigen_kdl: - add_host: ["eigen-abi-devel"] -uncrustify_vendor: - add_host: ["uncrustify"] - add_run: ["uncrustify"] -ur_moveit_config: - add_host: ["ros2-rclpy"] - add_run: ["ros2-rclpy"] -vision_msgs_rviz_plugins: - add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] diff --git a/distros/lyrical/pkg_additional_info.yaml b/distros/lyrical/pkg_additional_info.yaml index 5266ede76..da2d057d8 100644 --- a/distros/lyrical/pkg_additional_info.yaml +++ b/distros/lyrical/pkg_additional_info.yaml @@ -1,9 +1,37 @@ +ament_cmake_ros: + # Break the test-only runtime cycle so a new mutex migration can bootstrap. + remove_run: ["ros2-rmw-test-fixture-implementation"] +autoware_behavior_velocity_planner: + add_host: ["cpp-expected"] +autoware_behavior_velocity_planner_common: + add_host: ["cpp-expected"] +autoware_behavior_velocity_stop_line_module: + add_host: ["cpp-expected"] +autoware_trajectory: + add_host: ["fmt", "cpp-expected"] +autoware_utils_debug: + add_host: ["fmt"] +autoware_utils_pcl: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +backward_ros: + add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] cartographer_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DCMAKE_CXX_FLAGS=-DBOOST_ZLIB_BINARY=kernel32" + add_host: ["cartographer 2.*", "libboost-devel", "ceres-solver"] +console_bridge_vendor: + add_host: ["console_bridge"] + add_run: ["console_bridge"] +depth_image_proc: + add_host: ["eigen-abi-devel"] eigenpy: generate_dummy_package_with_run_deps: dep_name: eigenpy max_pin: 'x.x.x' + add_host: ["eigen-abi-devel"] +foxglove_bridge: + add_host: ["ros2-ament-cmake"] +geometric_shapes: + add_host: ["libboost-devel", "octomap"] gtsam: generate_dummy_package_with_run_deps: dep_name: gtsam @@ -11,6 +39,56 @@ gtsam: # the version on ros is actually an alpha, not a properly released version, # see https://discourse.ros.org/t/on-new-gtsam-version-without-boost/44307 override_version: '4.2.0' +gz_cmake_vendor: + # https://github.com/gazebo-release/gz_cmake_vendor/blob/lyrical/CMakeLists.txt#L6 for select the right major version + # (this is true for all gz-* vendor packages) or https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-harmonic.yaml + # See https://gazebosim.org/docs/latest/ros_installation/#summary-of-compatible-ros-and-gazebo-combinations for mapping between ROS2 and Gazebo distros + # Every gz-*/sdformat vendor pins the majors of Jetty, so that no solve mixes releases: unpinned, an + # osx-arm64 py312 solve took gz-transport 14 (Ionic), whose builds go with a newer libabseil than Jetty's. + add_host: ["gz-cmake 5.*"] + add_run: ["gz-cmake 5.*"] +gz_common_vendor: + add_host: ["gz-common 7.*"] + add_run: ["gz-common 7.*"] +gz_dartsim_vendor: + add_host: ["dartsim-cpp", "eigen-abi-devel"] + add_run: ["dartsim-cpp"] +gz_fuel_tools_vendor: + add_host: ["gz-fuel-tools 11.*"] + add_run: ["gz-fuel-tools 11.*"] +gz_launch_vendor: + add_host: ["gz-launch 9.*"] + add_run: ["gz-launch 9.*"] +gz_math_vendor: + add_host: ["gz-math 9.*"] + add_run: ["gz-math 9.*"] +gz_msgs_vendor: + add_host: ["gz-msgs 12.*"] + add_run: ["gz-msgs 12.*"] +gz_ogre_next_vendor: + add_host: ["ogre-next"] + add_run: ["ogre-next"] + remove_host: ["shaderc"] + remove_run: ["shaderc"] +gz_physics_vendor: + add_host: ["gz-physics 9.*"] + add_run: ["gz-physics 9.*"] +gz_plugin_vendor: + add_host: ["gz-plugin 4.*"] + add_run: ["gz-plugin 4.*"] +gz_rendering_vendor: + add_host: ["gz-rendering 10.*", "swig"] + add_run: ["gz-rendering 10.*", "swig"] +gz_ros2_control: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] +gz_ros2_control_demos: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +gz_tools_vendor: + add_host: ["gz-tools 2.*"] + add_run: ["gz-tools 2.*"] +gz_utils_vendor: + add_host: ["gz-utils 4.*"] + add_run: ["gz-utils 4.*"] iceoryx_binding_c: generate_dummy_package_with_run_deps: dep_name: libiceoryx-binding-c @@ -29,6 +107,14 @@ iceoryx_posh: max_pin: 'x.x.x' # the version on ROS (2.0.6) is outdated w.r.t. the conda-forge one override_version: '2.95.8' +image_view: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 + add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] +intra_process_demo: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 + add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] libcamera: generate_dummy_package_with_run_deps: dep_name: libcamera @@ -46,15 +132,79 @@ magic_enum: generate_dummy_package_with_run_deps: dep_name: magic_enum max_pin: 'x.x' +mimick_vendor: + add_build: ["vcstool"] +moveit_core: + add_host: ["eigen-abi-devel"] +moveit_visual_tools: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +nav2_constrained_smoother: + add_host: ["${{ 'openblas' if win }}", "ceres-solver"] ompl: generate_dummy_package_with_run_deps: dep_name: ompl max_pin: 'x.x' +opennav_coverage: + # package.xml misses deps that CMakeLists.txt finds + add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] + add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] +openvdb_vendor: + add_host: ["openvdb"] +pcl_conversions: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel", "eigen-abi-devel"] +pinocchio: + add_host: ["eigen-abi-devel"] +plotjuggler_ros: + # Qt5-only like plotjuggler, which it links + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["qt-main"] + add_run: ["qt-main"] proxsuite: generate_dummy_package_with_run_deps: dep_name: proxsuite max_pin: 'x.x' override_version: '0.7.3' +py_trees: + add_host: ["hatchling"] +py_trees_js: + add_host: ["hatchling"] +py_trees_ros: + add_host: ["poetry-core"] +py_trees_ros_tutorials: + # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch) + add_run: ["pyqt6"] +py_trees_ros_viewer: + add_host: ["poetry-core"] +pybind11_json_vendor: + add_host: ["pybind11_json"] + add_run: ["pybind11_json"] +python_qt_binding: + add_host: ["pyqt-builder", "qt6-main", "pyqt6"] + add_run: ["pyqt-builder", "qt6-main", "pyqt6"] +qt_gui_cpp: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "qt6-main", "pyqt6"] + add_run: ["pyqt-builder", "qt6-main", "pyqt6"] +rclpy: + add_host: ["typing_extensions"] + add_run: ["typing_extensions"] +rmf_building_map_tools: + add_host: ["ros2-rmf-site-map-msgs"] + add_run: ["gz-fuel-tools 11.*"] + remove_run: ["ros2-gz-fuel-tools-vendor"] +rmf_fleet_adapter: + add_host: ["eigen-abi-devel"] + remove_host: ["eigen"] +rmf_task_sequence: + # The vendor package's ament config does not load the imported validator + # target. Make the conda-forge CMake package directly available. + add_host: ["json_schema_validator"] + add_run: ["json_schema_validator"] +rmf_traffic: + add_host: ["octomap"] + add_run: ["octomap"] +rmf_visualization_schedule: + add_host: ["asio"] roboplan: generate_dummy_package_with_run_deps: dep_name: roboplan-python @@ -91,13 +241,38 @@ roboplan_toppra: generate_dummy_package_with_run_deps: dep_name: roboplan-toppra-python max_pin: 'x.x' +ros_gz_sim: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] +rqt_gui_cpp: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] rtabmap: # its tests (corelib/test) don't build with MSVC (as in jazzy, same 0.23.13) additional_cmake_args: -DBUILD_TESTING=OFF + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "libboost-devel", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] +sdformat_urdf: + add_host: ["sdformat 16.*"] + add_run: ["sdformat 16.*"] +sdformat_vendor: + add_host: ["sdformat 16.*"] + add_run: ["sdformat 16.*"] +slam_toolbox: + add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] + add_host: ["blas-devel", "ceres-solver"] +spdlog_vendor: + add_host: ["spdlog"] + add_run: ["spdlog"] +tf2_eigen_kdl: + add_host: ["eigen-abi-devel"] toppra: generate_dummy_package_with_run_deps: dep_name: toppra-python max_pin: 'x.x.x' +uncrustify_vendor: + add_host: ["uncrustify"] + add_run: ["uncrustify"] +ur_moveit_config: + add_host: ["ros2-rclpy"] + add_run: ["ros2-rclpy"] urdfdom: generate_dummy_package_with_run_deps: dep_name: urdfdom @@ -110,6 +285,9 @@ urdfdom_headers: max_pin: 'x.x' # the version on ros is outdated w.r.t. to the conda-forge one override_version: '3.0.0' +vision_msgs_rviz_plugins: + add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" # Remove build_number fields below on new full rebuild @@ -119,20 +297,41 @@ fuse_viz: build_number: 31 grid_map_rviz_plugin: build_number: 31 + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] gz_gui_vendor: build_number: 33 + add_host: ["gz-gui 10.*"] + add_run: ["gz-gui 10.*"] gz_sensors_vendor: build_number: 33 + add_host: ["gz-sensors 10.*"] + add_run: ["gz-sensors 10.*"] gz_sim_vendor: build_number: 33 + add_host: ["libgz-sim 10.*"] + add_run: ["libgz-sim 10.*"] gz_transport_vendor: build_number: 33 + add_host: ["libgz-transport 15.*"] + add_run: ["libgz-transport 15.*"] +launch: + build_number: 34 moveit_ros_visualization: build_number: 31 moveit_task_constructor_visualization: build_number: 31 +nav2_common: + build_number: 34 nav2_rviz_plugins: build_number: 31 +plotjuggler: + build_number: 34 + # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + # python: embeds the interpreter (links libpython) without declaring it + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main", "python"] + add_run: ["qt-main"] rtabmap_rviz_plugins: build_number: 31 rtabmap_slam: # its recipe test stops the node for sure (package tests hung on macOS) @@ -148,9 +347,13 @@ rviz_imu_plugin: rviz_ogre_vendor: additional_cmake_args: "-DRVIZ_OGRE_VENDOR_MANGLE_NAME_OF_LIBRARIES_USED_BY_RVIZ=ON" build_number: 32 # built without the EXR codec (ros2-rviz-ogre-vendor.patch), absolute install names on macOS (.osx.patch) + add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] + add_build: ["vcstool"] + add_run: ["assimp"] rviz_rendering: build_number: 31 rviz_satellite: build_number: 31 spatio_temporal_voxel_layer: build_number: 31 + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] diff --git a/distros/lyrical/rosdistro_additional_recipes.yaml b/distros/lyrical/rosdistro_additional_recipes.yaml index eac114ff1..aa34f80f3 100644 --- a/distros/lyrical/rosdistro_additional_recipes.yaml +++ b/distros/lyrical/rosdistro_additional_recipes.yaml @@ -22,10 +22,6 @@ autoware_behavior_velocity_stop_line_module: tag: release/humble/autoware_behavior_velocity_stop_line_module/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_cmake: - tag: release/jazzy/autoware_cmake/1.1.0-1 - url: https://github.com/ros2-gbp/autoware_cmake-release.git - version: 1.1.0 autoware_component_interface_specs: tag: release/humble/autoware_component_interface_specs/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -106,14 +102,6 @@ autoware_gyro_odometer: tag: release/humble/autoware_gyro_odometer/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_internal_localization_msgs: - tag: release/jazzy/autoware_internal_localization_msgs/1.10.0-1 - url: https://github.com/ros2-gbp/autoware_internal_msgs-release.git - version: 1.10.0 -autoware_internal_planning_msgs: - tag: release/humble/autoware_internal_planning_msgs/1.12.0-1 - url: https://github.com/ros2-gbp/autoware_internal_msgs-release.git - version: 1.12.0 autoware_interpolation: tag: release/humble/autoware_interpolation/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -123,10 +111,12 @@ autoware_kalman_filter: url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 autoware_lanelet2_extension: + override: "0.8.0 is newer than lyrical's release 0.7.2" tag: release/humble/autoware_lanelet2_extension/0.8.0-1 url: https://github.com/ros2-gbp/autoware_lanelet2_extension-release.git version: 0.8.0 autoware_lanelet2_extension_python: + override: "0.8.0 is newer than lyrical's release 0.7.2" tag: release/humble/autoware_lanelet2_extension_python/0.8.0-1 url: https://github.com/ros2-gbp/autoware_lanelet2_extension-release.git version: 0.8.0 @@ -138,10 +128,6 @@ autoware_lanelet2_utils: tag: release/humble/autoware_lanelet2_utils/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_localization_msgs: - tag: release/humble/autoware_localization_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_localization_util: tag: release/humble/autoware_localization_util/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -214,10 +200,6 @@ autoware_planning_factor_interface: tag: release/humble/autoware_planning_factor_interface/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_planning_msgs: - tag: release/humble/autoware_planning_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_planning_test_manager: tag: release/humble/autoware_planning_test_manager/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -262,10 +244,6 @@ autoware_stop_filter: tag: release/humble/autoware_stop_filter/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_system_msgs: - tag: release/humble/autoware_system_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_test_node: tag: release/humble/autoware_test_node/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -286,54 +264,6 @@ autoware_twist2accel: tag: release/humble/autoware_twist2accel/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_utils: - tag: release/jazzy/autoware_utils/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_debug: - tag: release/jazzy/autoware_utils_debug/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_diagnostics: - tag: release/jazzy/autoware_utils_diagnostics/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_geometry: - tag: release/jazzy/autoware_utils_geometry/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_logging: - tag: release/jazzy/autoware_utils_logging/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_math: - tag: release/jazzy/autoware_utils_math/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_pcl: - tag: release/jazzy/autoware_utils_pcl/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_rclcpp: - tag: release/jazzy/autoware_utils_rclcpp/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_system: - tag: release/jazzy/autoware_utils_system/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_tf: - tag: release/jazzy/autoware_utils_tf/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_uuid: - tag: release/jazzy/autoware_utils_uuid/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_visualization: - tag: release/jazzy/autoware_utils_visualization/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 autoware_vehicle_info_utils: tag: release/humble/autoware_vehicle_info_utils/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -483,7 +413,7 @@ ros2_easy_test: # Until: https://github.com/felixdivo/ros2-easy-test/issues/53 version: 0.3.0 additional_folder: ros2_easy_test rplidar_ros: - # 2.1.4 (as humble) for its win32 SDK arch; the released 2.1.0 is POSIX only + override: "2.1.4 (as humble) for its win32 SDK arch; the released 2.1.0 is POSIX only" tag: 2.1.4 url: https://github.com/Slamtec/rplidar_ros.git version: 2.1.4 diff --git a/distros/noetic/robostack.yaml b/distros/noetic/robostack.yaml new file mode 100644 index 000000000..f8b7e757d --- /dev/null +++ b/distros/noetic/robostack.yaml @@ -0,0 +1,71 @@ +# noetic: its own rosdep mappings, over shared/robostack.yaml: +# Qt 5, and the xtensor its packages were built with. noetic isn't built here (no +# vinca.yaml); this is for pixi-build-ros (robostack-bot sync-pixi-mappings). +libqt5-core: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-gui: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-websockets-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-widgets: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5x11extras5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +python-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings-gl: + robostack: [pyqt, pyqt-builder] +qt5-image-formats-plugins: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-qmake: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qtbase5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +xtensor: + robostack: [xtensor ==0.24.7] diff --git a/distros/rolling/patch/dependencies.yaml b/distros/rolling/patch/dependencies.yaml deleted file mode 100644 index 8110c4378..000000000 --- a/distros/rolling/patch/dependencies.yaml +++ /dev/null @@ -1,205 +0,0 @@ -autoware_behavior_velocity_planner: - add_host: ["cpp-expected"] -autoware_behavior_velocity_planner_common: - add_host: ["cpp-expected"] -autoware_behavior_velocity_stop_line_module: - add_host: ["cpp-expected"] -autoware_trajectory: - add_host: ["fmt", "cpp-expected"] -autoware_utils_debug: - add_host: ["fmt"] -autoware_utils_pcl: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -backward_ros: - add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] -cartographer_ros: - # ceres-solver pinned to cpu since RoboStack disables CUDA. - add_host: ["cartographer 2.*", "libboost-devel", "ceres-solver * cpu*", "ros2-pcl-conversions"] - add_run: ["ros2-pcl-conversions"] -console_bridge_vendor: - add_host: ["console_bridge"] - add_run: ["console_bridge"] -depth_image_proc: - add_host: ["eigen-abi-devel"] -eigenpy: - add_host: ["eigen-abi-devel"] -foxglove_bridge: - add_host: ["ros2-ament-cmake"] -geometric_shapes: - add_host: ["libboost-devel", "octomap"] -grid_map_octomap: - add_host: ["octomap"] - add_run: ["octomap"] -gz_cmake_vendor: - # Every gz-*/sdformat vendor pins the majors of one Gazebo release, so that no solve mixes releases - # (unpinned, a solve can fall back to an older release whose builds go with other abseil/protobuf). - # rolling's vendors already target the next Gazebo (prereleases, e.g. gz-sim 11), which conda-forge - # does not ship yet: build against Jetty, as lyrical does, and move once conda-forge has it. - add_host: ["gz-cmake 5.*"] - add_run: ["gz-cmake 5.*"] -gz_common_vendor: - add_host: ["gz-common 7.*"] - add_run: ["gz-common 7.*"] -gz_dartsim_vendor: - add_host: ["dartsim-cpp", "eigen-abi-devel"] - add_run: ["dartsim-cpp"] -gz_fuel_tools_vendor: - add_host: ["gz-fuel-tools 11.*"] - add_run: ["gz-fuel-tools 11.*"] -gz_gui_vendor: - add_host: ["gz-gui 10.*"] - add_run: ["gz-gui 10.*"] -gz_launch_vendor: - add_host: ["gz-launch 9.*"] - add_run: ["gz-launch 9.*"] -gz_math_vendor: - add_host: ["gz-math 9.*"] - add_run: ["gz-math 9.*"] -gz_msgs_vendor: - add_host: ["gz-msgs 12.*"] - add_run: ["gz-msgs 12.*"] -gz_ogre_next_vendor: - add_host: ["ogre-next"] - add_run: ["ogre-next"] - remove_host: ["shaderc"] - remove_run: ["shaderc"] -gz_physics_vendor: - add_host: ["gz-physics 9.*"] - add_run: ["gz-physics 9.*"] -gz_plugin_vendor: - add_host: ["gz-plugin 4.*"] - add_run: ["gz-plugin 4.*"] -gz_rendering_vendor: - add_host: ["gz-rendering 10.*", "swig"] - add_run: ["gz-rendering 10.*", "swig"] -gz_ros2_control: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] -gz_ros2_control_demos: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -gz_sensors_vendor: - add_host: ["gz-sensors 10.*"] - add_run: ["gz-sensors 10.*"] -gz_sim_vendor: - add_host: ["libgz-sim 10.*"] - add_run: ["libgz-sim 10.*"] -gz_tools_vendor: - add_host: ["gz-tools 2.*"] - add_run: ["gz-tools 2.*"] -gz_transport_vendor: - add_host: ["libgz-transport 15.*"] - add_run: ["libgz-transport 15.*"] -gz_utils_vendor: - add_host: ["gz-utils 4.*"] - add_run: ["gz-utils 4.*"] -image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 - add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] -intra_process_demo: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] - # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 - add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] -libg2o: - add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] -mimick_vendor: - add_build: ["vcstool"] -moveit_core: - add_host: ["eigen-abi-devel"] -moveit_visual_tools: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] -opennav_coverage: - # package.xml misses deps that CMakeLists.txt finds - add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] - add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] -pcl_conversions: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel", "eigen-abi-devel"] -pinocchio: - add_host: ["eigen-abi-devel"] -plotjuggler: - # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here - remove_host: ["qt6-main"] - remove_run: ["qt6-main"] - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main"] - add_run: ["qt-main"] -plotjuggler_ros: - # Qt5-only like plotjuggler, which it links - remove_host: ["qt6-main"] - remove_run: ["qt6-main"] - add_host: ["qt-main"] - add_run: ["qt-main"] -py_trees: - add_host: ["hatchling"] -py_trees_js: - add_host: ["hatchling"] # 0.7 builds with hatchling (as in humble/jazzy) -py_trees_ros: - add_host: ["poetry-core"] -py_trees_ros_tutorials: - # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch) - add_run: ["pyqt6"] -py_trees_ros_viewer: - add_host: ["poetry-core"] -python_qt_binding: - # sip <6.16: conda_build_config's variant pin doesn't apply transitively here; 6.16.x regressed ABI targeting for PyQt-based bindings. - add_host: ["pyqt-builder", "qt6-main", "pyqt6", "sip <6.16"] - add_run: ["pyqt-builder", "qt6-main", "pyqt6"] -qt_gui_cpp: - # sip pinned directly for the same reason as python_qt_binding above. - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "qt6-main", "pyqt6", "sip <6.16"] - add_run: ["pyqt-builder", "qt6-main", "pyqt6"] -rclpy: - add_host: ["typing_extensions"] - add_run: ["typing_extensions"] -rmf_fleet_adapter_python: - add_host: ["pybind11_json"] -rmf_visualization_schedule: - # asio isn't declared in package.xml; websocketpp's own headers need it directly (websocketpp/common/asio.hpp). - add_host: ["asio"] - add_run: ["asio"] -rmf_websocket: - # asio isn't declared in package.xml; websocketpp's own headers need it directly (websocketpp/common/asio.hpp). - add_host: ["asio"] - add_run: ["asio"] -roboplan_example_models: - # src/resources.cpp uses dladdr() from dlfcn.h, which is POSIX-only. - # On Windows we need to depend on dlfcn-win32 instead. - add_host: ["${{ 'dlfcn-win32' if win }}"] -roboplan_ros_examples: - add_host: ["ros2-ament-cmake"] -ros_gz_sim: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] -rqt_gui_cpp: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rtabmap: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] -rviz_ogre_vendor: - add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] - add_build: ["vcstool"] - add_run: ["assimp"] -sdformat_urdf: - add_host: ["sdformat 16.*"] - add_run: ["sdformat 16.*"] -sdformat_vendor: - add_host: ["sdformat 16.*"] - add_run: ["sdformat 16.*"] -slam_toolbox: - add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "blas-devel", "ceres-solver * cpu*"] -spdlog_vendor: - add_host: ["spdlog"] - add_run: ["spdlog"] -tf2_eigen_kdl: - add_host: ["eigen-abi-devel"] -uncrustify_vendor: - add_host: ["uncrustify"] - add_run: ["uncrustify"] -ur_moveit_config: - add_host: ["ros2-rclpy"] - add_run: ["ros2-rclpy"] -vision_msgs_rviz_plugins: - add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -yasmin_pcl: - add_host: ["ros2-pcl-conversions"] - add_run: ["ros2-pcl-conversions"] -zstd_point_cloud_transport: - add_host: ["ros2-zstd-cmake-module", "zstd"] diff --git a/distros/rolling/patch/ros2-autoware-lanelet2-extension.patch b/distros/rolling/patch/ros2-autoware-lanelet2-extension.patch index 18e931851..bdc703333 100644 --- a/distros/rolling/patch/ros2-autoware-lanelet2-extension.patch +++ b/distros/rolling/patch/ros2-autoware-lanelet2-extension.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3ec429..6a64b82 100644 +index 6c1f16c..36ea672 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -25,6 +25,14 @@ ament_auto_add_library(${PROJECT_NAME}_lib SHARED +@@ -29,6 +29,14 @@ ament_auto_add_library(${PROJECT_NAME}_lib SHARED lib/route_checker.cpp ) @@ -14,6 +14,30 @@ index a3ec429..6a64b82 100644 + ) +endif() + - ament_auto_add_executable(${PROJECT_NAME}_sample src/sample_code.cpp) - target_link_libraries(${PROJECT_NAME}_sample - ${PROJECT_NAME}_lib + # Suppress boost geometry uninitialized variable warnings + # This is a known issue in boost geometry library where internal template code + # may trigger maybe-uninitialized warnings that are false positives. +@@ -36,7 +44,9 @@ ament_auto_add_library(${PROJECT_NAME}_lib SHARED + # and do not affect the actual functionality of the code. + # Related: https://www.boost.org/doc/libs/latest/libs/utility/doc/html/utility/utilities/value_init.html + # and https://www.boost.org/doc/libs/1_89_0/libs/optional/doc/html/boost_optional/design/gotchas/false_positive_with__wmaybe_uninitialized.html +-target_compile_options(${PROJECT_NAME}_lib PRIVATE -Wno-error=maybe-uninitialized) ++if(NOT MSVC) ++ target_compile_options(${PROJECT_NAME}_lib PRIVATE -Wno-error=maybe-uninitialized) ++endif() + + if(BUILD_TESTING) + ament_add_ros_isolated_gtest(projector-test test/src/test_projector.cpp) +diff --git a/lib/deprecated.cpp b/lib/deprecated.cpp +index 7a78e45..1220fc2 100644 +--- a/lib/deprecated.cpp ++++ b/lib/deprecated.cpp +@@ -20,6 +20,8 @@ + + #include "deprecated.hpp" + ++#include ++#include + #include + + #include diff --git a/distros/rolling/patch/ros2-autoware-lanelet2-extension.win.patch b/distros/rolling/patch/ros2-autoware-lanelet2-extension.win.patch index febfdc433..3c76f9af1 100644 --- a/distros/rolling/patch/ros2-autoware-lanelet2-extension.win.patch +++ b/distros/rolling/patch/ros2-autoware-lanelet2-extension.win.patch @@ -1,5 +1,5 @@ diff --git a/src/check_right_of_way.cpp b/src/check_right_of_way.cpp -index d59ec14..e62be74 100644 +index ff48015..23af2e8 100644 --- a/src/check_right_of_way.cpp +++ b/src/check_right_of_way.cpp @@ -15,13 +15,6 @@ @@ -16,7 +16,7 @@ index d59ec14..e62be74 100644 #include #include -@@ -57,16 +50,17 @@ int main(int argc, char ** argv) +@@ -75,16 +68,17 @@ int main(int argc, char ** argv) lanelet::routing::RoutingGraphPtr routing_graph_ptr = lanelet::routing::RoutingGraph::build(*map, *traffic_rules); diff --git a/distros/rolling/pkg_additional_info.yaml b/distros/rolling/pkg_additional_info.yaml index 8e3d8466e..cf7643e03 100644 --- a/distros/rolling/pkg_additional_info.yaml +++ b/distros/rolling/pkg_additional_info.yaml @@ -1,9 +1,36 @@ +autoware_behavior_velocity_planner: + add_host: ["cpp-expected"] +autoware_behavior_velocity_planner_common: + add_host: ["cpp-expected"] +autoware_behavior_velocity_stop_line_module: + add_host: ["cpp-expected"] +autoware_trajectory: + add_host: ["fmt", "cpp-expected"] +autoware_utils_debug: + add_host: ["fmt"] +autoware_utils_pcl: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +backward_ros: + add_host: ["${{ 'binutils' if linux }}", "${{ 'elfutils' if linux }}", "ros2-ament-cmake-libraries"] cartographer_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DCMAKE_CXX_FLAGS=-DBOOST_ZLIB_BINARY=kernel32" + # ceres-solver pinned to cpu since RoboStack disables CUDA. + add_host: ["cartographer 2.*", "libboost-devel", "ceres-solver * cpu*", "ros2-pcl-conversions"] + add_run: ["ros2-pcl-conversions"] +console_bridge_vendor: + add_host: ["console_bridge"] + add_run: ["console_bridge"] +depth_image_proc: + add_host: ["eigen-abi-devel"] eigenpy: generate_dummy_package_with_run_deps: dep_name: eigenpy max_pin: 'x.x.x' + add_host: ["eigen-abi-devel"] +foxglove_bridge: + add_host: ["ros2-ament-cmake"] +geometric_shapes: + add_host: ["libboost-devel", "octomap"] gtsam: generate_dummy_package_with_run_deps: dep_name: gtsam @@ -11,6 +38,64 @@ gtsam: # the version on ros is actually an alpha, not a properly released version, # see https://discourse.ros.org/t/on-new-gtsam-version-without-boost/44307 override_version: '4.2.0' +gz_cmake_vendor: + # Every gz-*/sdformat vendor pins the majors of one Gazebo release, so that no solve mixes releases + # (unpinned, a solve can fall back to an older release whose builds go with other abseil/protobuf). + # rolling's vendors already target the next Gazebo (prereleases, e.g. gz-sim 11), which conda-forge + # does not ship yet: build against Jetty, as lyrical does, and move once conda-forge has it. + add_host: ["gz-cmake 5.*"] + add_run: ["gz-cmake 5.*"] +gz_common_vendor: + add_host: ["gz-common 7.*"] + add_run: ["gz-common 7.*"] +gz_dartsim_vendor: + add_host: ["dartsim-cpp", "eigen-abi-devel"] + add_run: ["dartsim-cpp"] +gz_fuel_tools_vendor: + add_host: ["gz-fuel-tools 11.*"] + add_run: ["gz-fuel-tools 11.*"] +gz_gui_vendor: + add_host: ["gz-gui 10.*"] + add_run: ["gz-gui 10.*"] +gz_math_vendor: + add_host: ["gz-math 9.*"] + add_run: ["gz-math 9.*"] +gz_msgs_vendor: + add_host: ["gz-msgs 12.*"] + add_run: ["gz-msgs 12.*"] +gz_ogre_next_vendor: + add_host: ["ogre-next"] + add_run: ["ogre-next"] + remove_host: ["shaderc"] + remove_run: ["shaderc"] +gz_physics_vendor: + add_host: ["gz-physics 9.*"] + add_run: ["gz-physics 9.*"] +gz_plugin_vendor: + add_host: ["gz-plugin 4.*"] + add_run: ["gz-plugin 4.*"] +gz_rendering_vendor: + add_host: ["gz-rendering 10.*", "swig"] + add_run: ["gz-rendering 10.*", "swig"] +gz_ros2_control: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] +gz_ros2_control_demos: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +gz_sensors_vendor: + add_host: ["gz-sensors 10.*"] + add_run: ["gz-sensors 10.*"] +gz_sim_vendor: + add_host: ["libgz-sim 10.*"] + add_run: ["libgz-sim 10.*"] +gz_tools_vendor: + add_host: ["gz-tools 2.*"] + add_run: ["gz-tools 2.*"] +gz_transport_vendor: + add_host: ["libgz-transport 15.*"] + add_run: ["libgz-transport 15.*"] +gz_utils_vendor: + add_host: ["gz-utils 4.*"] + add_run: ["gz-utils 4.*"] iceoryx_binding_c: generate_dummy_package_with_run_deps: dep_name: libiceoryx-binding-c @@ -29,6 +114,14 @@ iceoryx_posh: max_pin: 'x.x.x' # the version on ROS (2.0.6) is outdated w.r.t. the conda-forge one override_version: '2.95.8' +image_view: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/image_view/src/stereo_view_node.cpp#L253 + add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] +intra_process_demo: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] + # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/intra_process_demo/include/image_pipeline/image_view_node.hpp#L58 + add_run: ["${{ 'libopencv * *qt6*' if not (ppc64le or aarch64 or osx) }}"] libcamera: generate_dummy_package_with_run_deps: dep_name: libcamera @@ -37,6 +130,7 @@ libcamera: override_version: '0.5.2' libg2o: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["${{ 'libglu' if linux }}", "${{ 'freeglut' if not osx }}"] librealsense2: generate_dummy_package_with_run_deps: dep_name: librealsense @@ -46,17 +140,97 @@ magic_enum: generate_dummy_package_with_run_deps: dep_name: magic_enum max_pin: 'x.x' +mimick_vendor: + add_build: ["vcstool"] +moveit_core: + add_host: ["eigen-abi-devel"] +moveit_visual_tools: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] ompl: generate_dummy_package_with_run_deps: dep_name: ompl max_pin: 'x.x' +opennav_coverage: + # package.xml misses deps that CMakeLists.txt finds + add_host: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] + add_run: [ros2-rclcpp-components, ros2-std-msgs, ros2-visualization-msgs] +pcl_conversions: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel", "eigen-abi-devel"] +pinocchio: + add_host: ["eigen-abi-devel"] +plotjuggler_ros: + # Qt5-only like plotjuggler, which it links + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["qt-main"] + add_run: ["qt-main"] proxsuite: generate_dummy_package_with_run_deps: dep_name: proxsuite max_pin: 'x.x' override_version: '0.7.3' +py_trees: + add_host: ["hatchling"] +py_trees_js: + add_host: ["hatchling"] # 0.7 builds with hatchling (as in humble/jazzy) +py_trees_ros: + add_host: ["poetry-core"] +py_trees_ros_tutorials: + # the mock GUI is ported to PyQt6 (patch/ros2-py-trees-ros-tutorials.patch) + add_run: ["pyqt6"] +py_trees_ros_viewer: + add_host: ["poetry-core"] +python_qt_binding: + # sip <6.16: conda_build_config's variant pin doesn't apply transitively here; 6.16.x regressed ABI targeting for PyQt-based bindings. + add_host: ["pyqt-builder", "qt6-main", "pyqt6", "sip <6.16"] + add_run: ["pyqt-builder", "qt6-main", "pyqt6"] +qt_gui_cpp: + # sip pinned directly for the same reason as python_qt_binding above. + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "pyqt-builder", "qt6-main", "pyqt6", "sip <6.16"] + add_run: ["pyqt-builder", "qt6-main", "pyqt6"] +rclpy: + add_host: ["typing_extensions"] + add_run: ["typing_extensions"] +rmf_fleet_adapter_python: + add_host: ["pybind11_json"] +rmf_visualization_schedule: + # asio isn't declared in package.xml; websocketpp's own headers need it directly (websocketpp/common/asio.hpp). + add_host: ["asio"] + add_run: ["asio"] +rmf_websocket: + # asio isn't declared in package.xml; websocketpp's own headers need it directly (websocketpp/common/asio.hpp). + add_host: ["asio"] + add_run: ["asio"] +roboplan_example_models: + # src/resources.cpp uses dladdr() from dlfcn.h, which is POSIX-only. + # On Windows we need to depend on dlfcn-win32 instead. + add_host: ["${{ 'dlfcn-win32' if win }}"] +roboplan_ros_examples: + add_host: ["ros2-ament-cmake"] +ros_gz_sim: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ros2-gz-sensors-vendor"] +rqt_gui_cpp: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] rtabmap: additional_cmake_args: -DBUILD_TESTING=OFF + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] +sdformat_urdf: + add_host: ["sdformat 16.*"] + add_run: ["sdformat 16.*"] +sdformat_vendor: + add_host: ["sdformat 16.*"] + add_run: ["sdformat 16.*"] +spdlog_vendor: + add_host: ["spdlog"] + add_run: ["spdlog"] +tf2_eigen_kdl: + add_host: ["eigen-abi-devel"] +uncrustify_vendor: + add_host: ["uncrustify"] + add_run: ["uncrustify"] +ur_moveit_config: + add_host: ["ros2-rclpy"] + add_run: ["ros2-rclpy"] urdfdom: generate_dummy_package_with_run_deps: dep_name: urdfdom @@ -69,16 +243,37 @@ urdfdom_headers: max_pin: 'x.x' # the version on ros is outdated w.r.t. to the conda-forge one override_version: '3.0.0' +vision_msgs_rviz_plugins: + add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +yasmin_pcl: + add_host: ["ros2-pcl-conversions"] + add_run: ["ros2-pcl-conversions"] zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" +zstd_point_cloud_transport: + add_host: ["ros2-zstd-cmake-module", "zstd"] aruco_ros: # its recipe test stops the node for sure (package tests hung on macOS) build_number: 33 fuse_viz: build_number: 33 +launch: + build_number: 35 moveit_ros_visualization: build_number: 33 moveit_task_constructor_visualization: build_number: 33 +nav2_common: + build_number: 35 +orbbec_camera: + build_number: 35 +plotjuggler: + build_number: 35 + # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main"] + add_run: ["qt-main"] rviz_2d_overlay_plugins: build_number: 33 rviz_common: @@ -90,6 +285,9 @@ rviz_imu_plugin: rviz_ogre_vendor: additional_cmake_args: "-DRVIZ_OGRE_VENDOR_MANGLE_NAME_OF_LIBRARIES_USED_BY_RVIZ=ON" build_number: 34 # built without the EXR codec (ros2-rviz-ogre-vendor.patch), absolute install names on macOS (.osx.patch) + add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml", "${{ 'libglu' if linux }}"] + add_build: ["vcstool"] + add_run: ["assimp"] rviz_rendering: build_number: 33 rviz_satellite: diff --git a/distros/rolling/rosdistro_additional_recipes.yaml b/distros/rolling/rosdistro_additional_recipes.yaml index ba8be1d8e..f151104a5 100644 --- a/distros/rolling/rosdistro_additional_recipes.yaml +++ b/distros/rolling/rosdistro_additional_recipes.yaml @@ -22,10 +22,6 @@ autoware_behavior_velocity_stop_line_module: tag: release/humble/autoware_behavior_velocity_stop_line_module/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_cmake: - tag: release/jazzy/autoware_cmake/1.1.0-1 - url: https://github.com/ros2-gbp/autoware_cmake-release.git - version: 1.1.0 autoware_component_interface_specs: tag: release/humble/autoware_component_interface_specs/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -106,14 +102,6 @@ autoware_gyro_odometer: tag: release/humble/autoware_gyro_odometer/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_internal_localization_msgs: - tag: release/jazzy/autoware_internal_localization_msgs/1.10.0-1 - url: https://github.com/ros2-gbp/autoware_internal_msgs-release.git - version: 1.10.0 -autoware_internal_planning_msgs: - tag: release/humble/autoware_internal_planning_msgs/1.12.0-1 - url: https://github.com/ros2-gbp/autoware_internal_msgs-release.git - version: 1.12.0 autoware_interpolation: tag: release/humble/autoware_interpolation/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -122,14 +110,6 @@ autoware_kalman_filter: tag: release/humble/autoware_kalman_filter/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_lanelet2_extension: - tag: release/humble/autoware_lanelet2_extension/0.8.0-1 - url: https://github.com/ros2-gbp/autoware_lanelet2_extension-release.git - version: 0.8.0 -autoware_lanelet2_extension_python: - tag: release/humble/autoware_lanelet2_extension_python/0.8.0-1 - url: https://github.com/ros2-gbp/autoware_lanelet2_extension-release.git - version: 0.8.0 autoware_lanelet2_map_visualizer: tag: release/humble/autoware_lanelet2_map_visualizer/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -138,10 +118,6 @@ autoware_lanelet2_utils: tag: release/humble/autoware_lanelet2_utils/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_localization_msgs: - tag: release/humble/autoware_localization_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_localization_util: tag: release/humble/autoware_localization_util/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -214,10 +190,6 @@ autoware_planning_factor_interface: tag: release/humble/autoware_planning_factor_interface/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_planning_msgs: - tag: release/humble/autoware_planning_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_planning_test_manager: tag: release/humble/autoware_planning_test_manager/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -262,10 +234,6 @@ autoware_stop_filter: tag: release/humble/autoware_stop_filter/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_system_msgs: - tag: release/humble/autoware_system_msgs/1.9.0-1 - url: https://github.com/ros2-gbp/autoware_msgs-release.git - version: 1.9.0 autoware_test_node: tag: release/humble/autoware_test_node/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -286,54 +254,6 @@ autoware_twist2accel: tag: release/humble/autoware_twist2accel/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git version: 1.7.0 -autoware_utils: - tag: release/jazzy/autoware_utils/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_debug: - tag: release/jazzy/autoware_utils_debug/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_diagnostics: - tag: release/jazzy/autoware_utils_diagnostics/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_geometry: - tag: release/jazzy/autoware_utils_geometry/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_logging: - tag: release/jazzy/autoware_utils_logging/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_math: - tag: release/jazzy/autoware_utils_math/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_pcl: - tag: release/jazzy/autoware_utils_pcl/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_rclcpp: - tag: release/jazzy/autoware_utils_rclcpp/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_system: - tag: release/jazzy/autoware_utils_system/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_tf: - tag: release/jazzy/autoware_utils_tf/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_uuid: - tag: release/jazzy/autoware_utils_uuid/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 -autoware_utils_visualization: - tag: release/jazzy/autoware_utils_visualization/1.4.2-1 - url: https://github.com/ros2-gbp/autoware_utils-release.git - version: 1.4.2 autoware_vehicle_info_utils: tag: release/humble/autoware_vehicle_info_utils/1.7.0-1 url: https://github.com/ros2-gbp/autoware_core-release.git @@ -694,13 +614,6 @@ rslidar_sdk: tag: v1.5.18 url: https://github.com/RoboSense-LiDAR/rslidar_sdk.git version: 1.5.18 -rtabmap: - # rolling's own release is 0.22.1, which no longer links on Windows against gtsam (LNK2005 - # on a std::vector member); jazzy's 0.23.13 does. rolling has - # no rtabmap_ros to keep in step. - tag: release/jazzy/rtabmap/0.23.13-1 - url: https://github.com/ros2-gbp/rtabmap-release.git - version: 0.23.13 yaets: tag: release/lyrical/yaets/1.2.0-1 url: https://github.com/fmrico/yaets-release.git diff --git a/pixi.lock b/pixi.lock index ab0edb4f3..c08eb8dd6 100644 --- a/pixi.lock +++ b/pixi.lock @@ -32,6 +32,7 @@ environments: default: channels: - url: https://prefix.dev/conda-forge/ + - url: https://prefix.dev/tobias-fischer/robostack-tools/ indexes: - https://pypi.org/simple packages: @@ -90,6 +91,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 + - conda_source: vinca-rs[606d2182] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - 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 @@ -170,6 +172,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 + - conda_source: vinca-rs[1d6674fe] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - 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 @@ -243,6 +246,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 + - conda_source: vinca-rs[05a0ec6d] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - 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 @@ -316,6 +320,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 + - conda_source: vinca-rs[f85bee14] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - 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 @@ -389,6 +394,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 + - conda_source: vinca-rs[5db75585] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 - pypi: git+https://github.com/RoboStack/vinca.git?rev=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 - 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 @@ -432,6 +438,28 @@ packages: - _openmp_mutex >=4.5 size: 28948 timestamp: 1770939786096 +- conda: https://prefix.dev/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda + sha256: 98f9ddc6dc5d56a824b7eaea5bab6ad4bb47642288fc70d6b1b4024ac39d5595 + md5: e86f9dc615d7533c5be8b15b3a1dee8d + depends: + - ld_impl_linux-64 2.46.1 default_hbd61a6d_103 + - sysroot_linux-64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 3706604 + timestamp: 1791565481839 +- conda: https://prefix.dev/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda + sha256: 606a42c754752fb905fe2012d52ff370d47b5b6adefd5f7befc4ec30ce758f23 + md5: ca26f0a4f8d04fd83147af557fbd932c + depends: + - binutils_impl_linux-64 2.46.1 default_hfdba357_103 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 36335 + timestamp: 1791565508736 - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96 md5: e675fabcf81499adc7edf58124fb1e01 @@ -482,6 +510,37 @@ packages: run_exports: {} size: 20991288 timestamp: 1757877168657 +- conda: https://prefix.dev/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda + sha256: 14acaa661e4c4ef6c65606612b8b08f8f079c6a9e6da3ffcb77056685c675651 + md5: f548b09900fed2701931f8cf925d8b9b + depends: + - binutils_impl_linux-64 >=2.46.1 + - libgcc >=16.2.0 + - libgcc-devel_linux-64 16.2.0 he3ce08f_107 + - libgomp >=16.2.0 + - libsanitizer 16.2.0 h3048135_7 + - libstdcxx >=16.2.0 + - libstdcxx-devel_linux-64 16.2.0 h86e191b_107 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 86085260 + timestamp: 1790303193926 +- conda: https://prefix.dev/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda + sha256: b9817e310019a9c8b79e46335c87e478c7646d2fcc727cc53bb5a3e8ce276c1d + md5: 3928593d74a0b17f84fba5977cb7023d + depends: + - gcc_impl_linux-64 16.2.0.* + - binutils_linux-64 + - sysroot_linux-64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - libgcc >=16 + size: 30371 + timestamp: 1789573357529 - conda: https://prefix.dev/conda-forge/linux-64/gh-2.102.0-hfc2019e_0.conda sha256: 7c7d9b68063b4a3588190fd82efba2c81a13d361250f4e09e57888ae2ea2cb6f md5: d933d1442248e72f2559c7dc6df70e30 @@ -561,6 +620,19 @@ packages: run_exports: {} size: 745303 timestamp: 1784214507189 +- conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + sha256: 901649b1edbe841fd4ee7e2d491a05184ed540eb01cdae506872f344babc1d28 + md5: 2362c70e7e79827c32db35547d9c179b + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 742109 + timestamp: 1791565468810 - conda: https://prefix.dev/conda-forge/linux-64/libcurl-8.22.0-ha042cf0_0.conda sha256: 483b7eb97f56fbb3a9cb7190d33012dfa0a5aaed99ede61465563cd97dd82504 md5: e617deee7af8eb0c04f6296d12b54157 @@ -757,6 +829,20 @@ packages: run_exports: {} size: 10520530 timestamp: 1788383918299 +- conda: https://prefix.dev/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda + sha256: e383569c331239308a8663facb76208fc0e141131ff3d17c1c2e50f34716a5a9 + md5: 9cdd9af432fa4eb62094aaf6211425bf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=16.2.0 + - libstdcxx >=16.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + weak: + - libsanitizer 16.2.0 + size: 8115383 + timestamp: 1790303148068 - conda: https://prefix.dev/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_102.conda sha256: 0f6e60634de2b55da15772fe65485965fd9b61afcce0d749c1446f625babba30 md5: 59ec6dc9fa87a6687c00969d4dcfcd97 @@ -997,6 +1083,38 @@ packages: - rhash >=1.4.6,<2.0a0 size: 194994 timestamp: 1786731436520 +- conda: https://prefix.dev/conda-forge/linux-64/rust-1.99.1-h6344a40_1.conda + sha256: 3b21c9a87004a5664c6543fec63e1b4e4c3449cd68eae058733d338c6defc392 + md5: f8d087d4d2231118fb169bbb53dea669 + depends: + - rust-std-x86_64-unknown-linux-gnu ==1.99.1 h480d76f_1 + - gcc_impl_linux-64 + - sysroot_linux-64 >=2.17 + - libgcc >=15 + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 202779572 + timestamp: 1794335961641 +- conda: https://prefix.dev/conda-forge/linux-64/rust_linux-64-1.99.1-h6463082_0.conda + sha256: 2939fcc2b631a8eeca264a4c18bef6d8d30ff253fd7acec515cdcf707d3033c3 + md5: 76ed520f90696474ac64d9094348dd46 + depends: + - rust 1.99.1.* + - rust-std-x86_64-unknown-linux-gnu 1.99.1.* + - gcc_linux-64 + - sysroot_linux-64 >=2.17 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 7787 + timestamp: 1793030323754 - conda: https://prefix.dev/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda build_number: 104 sha256: a1a241d172c1ccab067ba245206dd048bc3c2d1b84504b53c9468e99adfc16a1 @@ -1058,6 +1176,28 @@ packages: - _openmp_mutex >=4.5 size: 28926 timestamp: 1770939656741 +- conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_103.conda + sha256: 1827893f9d6aa13794196b1820b8003bfff0105774a323a61026a16cec6dc66d + md5: 1ebaa45e5556156b3c7bf5bd5c527634 + depends: + - ld_impl_linux-aarch64 2.46.1 default_h1979696_103 + - sysroot_linux-aarch64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 4911258 + timestamp: 1791565579362 +- conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_103.conda + sha256: 60e63ac488aac474f8a22ea465d317daa02fccd039cca75e288bd0fc37e8745a + md5: 9074b4a634a2be79ee49cd85b54a7f34 + depends: + - binutils_impl_linux-aarch64 2.46.1 default_h5f4c503_103 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 36474 + timestamp: 1791565619784 - conda: https://prefix.dev/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda sha256: 24eacc8a20fd7c4616566178562bef7f9344eb4a8700cfc3180fa75a6ff9d39f md5: fd544ef1c672d645bf78e5819cbb8f91 @@ -1105,6 +1245,37 @@ packages: run_exports: {} size: 20216587 timestamp: 1757877248575 +- conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-16.2.0-h5425ead_7.conda + sha256: eaf481958a862ed63c66baa572753f3c3e2cd6e690fd5abd1cc3088fdde4a323 + md5: a776ce379abbde6656380f78f4767c9c + depends: + - binutils_impl_linux-aarch64 >=2.46.1 + - libgcc >=16.2.0 + - libgcc-devel_linux-aarch64 16.2.0 hc0c2482_107 + - libgomp >=16.2.0 + - libsanitizer 16.2.0 h73cac2c_7 + - libstdcxx >=16.2.0 + - libstdcxx-devel_linux-aarch64 16.2.0 h082e5f6_107 + - sysroot_linux-aarch64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 76870083 + timestamp: 1790302426116 +- conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_linux-aarch64-16.2.0-h25cc031_2.conda + sha256: 5052e2a8de79d0beca4a512775ea89cacd843f4f36c0bcb9bce9629b7962395d + md5: 243f3b6fa9b91424dbb79d34aade7c15 + depends: + - gcc_impl_linux-aarch64 16.2.0.* + - binutils_linux-aarch64 + - sysroot_linux-aarch64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - libgcc >=16 + size: 30120 + timestamp: 1789573319484 - conda: https://prefix.dev/conda-forge/linux-aarch64/gh-2.102.0-h22914b5_0.conda sha256: df3d569bf607a455acd22f84c10685b308f8d232e941ce732f83ddbeac2d1159 md5: a81254c263bec3c65036831215c361c3 @@ -1180,6 +1351,18 @@ packages: run_exports: {} size: 905305 timestamp: 1784214534868 +- conda: https://prefix.dev/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_103.conda + sha256: 516808982ad26ebdc4a9d8f71ee86ea55d0bc95382b7bca80620e0ac220971f3 + md5: ca781d8b499c39ddfe10e55a0347d6d9 + depends: + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-aarch64 2.46.1 + license: GPL-3.0-only + license_family: GPL + run_exports: {} + size: 905349 + timestamp: 1791565559147 - conda: https://prefix.dev/conda-forge/linux-aarch64/libcurl-8.22.0-h86273da_0.conda sha256: 8634a43ca7161d49b94098d8d27f32040ccf19b5227b37d05826ec8b5729b3c4 md5: d79a5b16c3aaff5269f9118aa1d9f1ba @@ -1362,6 +1545,19 @@ packages: run_exports: {} size: 9683680 timestamp: 1788383990335 +- conda: https://prefix.dev/conda-forge/linux-aarch64/libsanitizer-16.2.0-h73cac2c_7.conda + sha256: 915f80d14bd9daf2357a5261443fd06e222f829aeef56fb6865ec7fcb1de9bdf + md5: 868966b3c0d699ad39ed460cd18fba9f + depends: + - libgcc >=16.2.0 + - libstdcxx >=16.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: + weak: + - libsanitizer 16.2.0 + size: 7956048 + timestamp: 1790302381894 - conda: https://prefix.dev/conda-forge/linux-aarch64/libsqlite-3.53.4-hd26f1b6_102.conda sha256: 08e6e0f7eae7174bf3e31009e4afebbbd227737248e3ef864b32c0d7698eba1c md5: 247ea3dd05990b9598af8accbf95c0ca @@ -1587,6 +1783,37 @@ packages: - rhash >=1.4.6,<2.0a0 size: 211434 timestamp: 1786731457243 +- conda: https://prefix.dev/conda-forge/linux-aarch64/rust-1.99.1-hfa1fd44_1.conda + sha256: 14c79ed7cdaa3fbd83282ee2d9f96452b1abb24995994d5a31afc1a2d75b08e7 + md5: 063febedb233e56bc484a7ba5e073c85 + depends: + - rust-std-aarch64-unknown-linux-gnu ==1.99.1 hb0489cc_1 + - gcc_impl_linux-aarch64 + - sysroot_linux-aarch64 >=2.17 + - libgcc >=15 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 159553721 + timestamp: 1794335962990 +- conda: https://prefix.dev/conda-forge/linux-aarch64/rust_linux-aarch64-1.99.1-ha511860_0.conda + sha256: 83ed764898a568281134484b56f5f91b5e4b14a031de8efdb9df7bd7ab83d6cb + md5: 2d32603fad1cfda8dd4b7e7c7026c494 + depends: + - rust 1.99.1.* + - rust-std-aarch64-unknown-linux-gnu 1.99.1.* + - gcc_linux-aarch64 + - sysroot_linux-aarch64 >=2.17 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __glibc >=2.17 + size: 7798 + timestamp: 1793030324406 - conda: https://prefix.dev/conda-forge/linux-aarch64/tk-8.6.13-noxft_hf03c496_4.conda build_number: 104 sha256: a1aa0d0f0b3d539644ff992e6dd0facf950c79df58fc37590ce5be84ff5e3f22 @@ -1629,6 +1856,15 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 615477 timestamp: 1786599613561 +- conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + sha256: 95619b9c1184be7175392eeb0ee7eeb5ccf25d280951f4225f2d62e725790be3 + md5: 3fd02989038a1e1cee627c14c2d73f29 + depends: + - __unix + license: ISC + run_exports: {} + size: 130057 + timestamp: 1792772446739 - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 md5: e27d2ac27b096dc51fedfcf775a53f9b @@ -1661,6 +1897,50 @@ packages: run_exports: {} size: 27011 timestamp: 1733218222191 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-64-23.1.4-h8d5f570_0.conda + sha256: 9448adcfd354860de1697186fde30e573a440fd756cb2fa8f77fffd5deb0db04 + md5: 0ff49fb7c4fd8e3b1081e1952027a7f3 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 10464885 + timestamp: 1792567103866 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.4-hb8825d9_0.conda + sha256: 2e3bbefd07a8a21ea498a1451acb100f05d0147729ceff0944edeffce18224dc + md5: 150603c8ce6880c52da08fcf46a8e269 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 10372678 + timestamp: 1792567035774 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-64-23.1.4-h694c41f_0.conda + sha256: c94122be8d98e65b22d7392ce70b6100a50003cf85969cd1590b304146db3d1c + md5: 15f4f5a05a66001c5a0e8b05269f32f6 + depends: + - compiler-rt23_osx-64 23.1.4 h8d5f570_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16711 + timestamp: 1792567126206 +- conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-arm64-23.1.4-hce30654_0.conda + sha256: 19eb096e1e7fe3c75306b04f2568330f3653499a28f5313c3c122ff5fa4e981e + md5: 79a023d3791008ee25c1807ccc00239b + depends: + - compiler-rt23_osx-arm64 23.1.4 hb8825d9_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16632 + timestamp: 1792567058411 - conda: https://prefix.dev/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 md5: 8e662bd460bda79b1ea39194e3c4c9ab @@ -1685,6 +1965,66 @@ packages: run_exports: {} size: 13387 timestamp: 1760831448842 +- conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-64-3.10.0-he073ed8_18.conda + sha256: a922841ad80bd7b222502e65c07ecb67e4176c4fa5b03678a005f39fcc98be4b + md5: ad8527bf134a90e1c9ed35fa0b64318c + constrains: + - sysroot_linux-64 ==2.17 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: {} + size: 943486 + timestamp: 1729794504440 +- conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_18.conda + sha256: 99731884b26d5801c931f6ed4e1d40f0d1b2efc60ab2d1d49e9b3a6508a390df + md5: 40ebaa9844bc99af99fc1beaed90b379 + constrains: + - sysroot_linux-aarch64 ==2.17 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: {} + size: 1113306 + timestamp: 1729794501866 +- conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda + sha256: f1e7465f6b53f89b325e441c30ad7b19407b051eca556b6d0386ec05513b8e76 + md5: f689d67c3e828fe80ff290d15f361bc5 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 3099665 + timestamp: 1790302976359 +- conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-aarch64-16.2.0-hc0c2482_107.conda + sha256: 3a0fc46d9ffe0bc98e825bfcc0409564435e74ae0ac094b484a89a296ed777ee + md5: aae62596f02c43827f184be6556c729f + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 2356775 + timestamp: 1790302264590 +- conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda + sha256: ebbad84bdebd8a9964020d74dcce0f211f1431878c66326f6115dcb59e4c3469 + md5: a713d3c09518a9fc8f603ac0e157263c + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 23329491 + timestamp: 1790303058123 +- conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-aarch64-16.2.0-h082e5f6_107.conda + sha256: c46e0efb196a24e9192f160c124f8a1d927c7d191595a1dc993f30dc93a52497 + md5: e59742a8c562c9ba736d0c3e5e1cd810 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + run_exports: {} + size: 19818970 + timestamp: 1790302282858 - conda: https://prefix.dev/conda-forge/noarch/m2-msys2-runtime-3.6.1.4-hc364b38_6.conda sha256: 1f797d055ad856def2399d5c1c21d7a479fa68159ce5448f07b7c6cf4b9641d7 md5: fb7de65144b11c4c7284a00e3170c797 @@ -1708,6 +2048,26 @@ packages: run_exports: {} size: 125917 timestamp: 1748281166711 +- conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-64-13.0-h2830193_7.conda + sha256: 5c099551cdbb70bd478d01b415eba5290808be63aba49546a0a07544ff36457f + md5: 52c41829621dbc440345b3f360df1f00 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - __osx >=13.0 + size: 4963 + timestamp: 1771434101827 +- conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-arm64-13.0-h95484f9_7.conda + sha256: db707894be9c35a6018302b9e8ee118af88dfecf5a53dec3babe960f1d8169bf + md5: 70cfaa23dff3b09e7fc2acfafd35ccc8 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - __osx >=13.0 + size: 4994 + timestamp: 1771434083543 - conda: https://prefix.dev/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda sha256: c432626b16768b8dab228bfb706f7060c2d462a21c516d240f68f2f902b5a044 md5: 936687ed80f295a1f5dbcf8bd34c252c @@ -1781,6 +2141,82 @@ packages: run_exports: {} size: 6791 timestamp: 1788302824440 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.99.1-h4899003_1.conda + sha256: 46efababf3a9bbaee44ab957163bb510c11258ccf30c37c1dc2f5c356ef18c8a + md5: 4491d0d19c9455d169038ca6540598d2 + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 40409772 + timestamp: 1794336025082 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-unknown-linux-gnu-1.99.1-hb0489cc_1.conda + sha256: f3775a2739d9c9bc68ab7abf52b4335820fbf60f7f8ca2260835c885d0dd15f7 + md5: 2948297fc8def38b3e89bd3392f5099d + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 41709103 + timestamp: 1794335962990 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.99.1-h9cb622b_1.conda + sha256: b69b7e01be9a3ee9d03a499a051f14d32ab8be29067dc9492a933662dcc5c1ba + md5: 80f32b800c16a37d738bc83a5fc82db4 + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 40080785 + timestamp: 1794336061186 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-pc-windows-msvc-1.99.1-h5a2a77e_1.conda + sha256: 34f707676dd3445d376b61a8ced7052c1d5b0b95d8c8275432499be4ec8c8c5f + md5: e20723fb37e40df1ce48dfcb35e5f075 + depends: + - __win + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 31121666 + timestamp: 1794335964656 +- conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-unknown-linux-gnu-1.99.1-h480d76f_1.conda + sha256: 6e8f73ff88c4bed7460679d4ca35f8189ddabf4e496377896bb46cee0b6698dc + md5: c8f4ab68119afcb8cbc94b47da7df97d + depends: + - __unix + constrains: + - rust >=1.99.1,<1.99.2.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 41127164 + timestamp: 1794335961641 +- conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-64-26.0-h62b880e_7.conda + sha256: 7e7e2556978bc9bd9628c6e39138c684082320014d708fbca0c9050df98c0968 + md5: 68a978f77c0ba6ca10ce55e188a21857 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 4948 + timestamp: 1771434185960 +- conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-arm64-26.0-ha3f98da_7.conda + sha256: fabfe031ede99898cb2b0b805f6c0d64fcc24ecdb444de3a83002d8135bf4804 + md5: 5f0ebbfea12d8e5bddff157e271fdb2f + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 4971 + timestamp: 1771434195389 - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda sha256: 6ecf738d5590bf228f09c4ecd1ea91d811f8e0bd9acdef341bc4d6c36beb13a3 md5: d629a398d7bf872f9ed7b27ab959de15 @@ -1793,6 +2229,30 @@ packages: run_exports: {} size: 676888 timestamp: 1770456470072 +- conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-64-2.17-h0157908_18.conda + sha256: 69ab5804bdd2e8e493d5709eebff382a72fab3e9af6adf93a237ccf8f7dbd624 + md5: 460eba7851277ec1fd80a1a24080787a + depends: + - kernel-headers_linux-64 3.10.0 he073ed8_18 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: + strong: + - __glibc >=2.17,<3.0.a0 + size: 15166921 + timestamp: 1735290488259 +- conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-aarch64-2.17-h68829e0_18.conda + sha256: 1e478bfd87c296829e62f0cae37e591568c2dcfc90ee6228c285bb1c7130b915 + md5: 5af44a8494602d062a4c6f019bcb6116 + depends: + - kernel-headers_linux-aarch64 4.18.0 h05a177a_18 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later AND MPL-2.0 + license_family: GPL + run_exports: {} + size: 15739604 + timestamp: 1735290496248 - conda: https://prefix.dev/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda sha256: 93b6f517fb7adff00b62be02b798d384a1b34d0e368fdb576fb248bcb3bb9ec7 md5: 36d6a162326c52d6339c8b606f43932d @@ -1827,6 +2287,23 @@ packages: run_exports: {} size: 118849 timestamp: 1784250406640 +- conda: https://prefix.dev/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + sha256: 2b7ca858879f183ce2dcc65b300f48a0133d5430550f35b23d80d405a0788dbf + md5: abccc3810d2b97e570dee487f2b46e38 + license: LicenseRef-Public-Domain + run_exports: {} + size: 119208 + timestamp: 1792758382821 +- conda: https://prefix.dev/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda + sha256: b72270395326dc56de9bd6ca82f63791b3c8c9e2b98e25242a9869a4ca821895 + md5: f622897afff347b715d046178ad745a5 + depends: + - __win + license: MIT + license_family: MIT + run_exports: {} + size: 238764 + timestamp: 1745560912727 - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda sha256: 4ed83961876dc8844a6f0df49c07b408efbaea275ffb0b37133e24c006990b3a md5: 9d9a39212a876e4bb751c1cc3927b678 @@ -1853,6 +2330,89 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 205559 timestamp: 1787170041830 +- conda: https://prefix.dev/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm23_1_h3bd330e_7.conda + sha256: c79ab3e17cdf217578aed2ce4d46dc87cd8849569fd238b37b59d595aab1f00c + md5: 90495bbedeb408a0ee5369f45e2a5dee + depends: + - __osx >=11.0 + - ld64_osx-64 >=956.6,<956.7.0a0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-tools 23.1.* + - sigtool-codesign + constrains: + - cctools 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 752353 + timestamp: 1793268263193 +- conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1030.6.3-llvm23_1_h254e556_7.conda + sha256: 380d5b195452e2b9f277661fb81935d5ae56294e552a7c0a7532f9fdb92be429 + md5: 29b11044437572d682c02a878ab9928c + depends: + - cctools_impl_osx-64 1030.6.3 llvm23_1_h3bd330e_7 + - ld64_osx-64 956.6 llvm23_1_h484b24f_7 + constrains: + - cctools 1030.6.3.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 23664 + timestamp: 1793268289652 +- conda: https://prefix.dev/conda-forge/osx-64/clang-23-23.1.4-default_h4ef152c_1.conda + sha256: 55e98ad0e958f4cb88d39eab8c29464867722362298916183b92d1aa25505855 + md5: 041eb1bcf17ad0c35c2e15ed929c6c7e + depends: + - compiler-rt23 ==23.1.4 + - libclang-cpp23.1 ==23.1.4 default_hae96fce_1 + - libcxx >=23.1.4 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 958163 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-23.1.4-default_hae96fce_1.conda + sha256: 0df3fcb146f12f93edee90f015d764d2ad6d241e25873f1a9cfb7f6550927b6f + md5: c0b2cd30c7f230d4cc98f5bc861d77b3 + depends: + - clang-23 ==23.1.4 default_* + - compiler-rt_osx-64 ==23.1.4 + - compiler-rt ==23.1.4 + - cctools_impl_osx-64 + - ld64_osx-64 * llvm23_1_* + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 32963 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/clang_osx-64-23.1.4-hcd2a5eb_36.conda + sha256: 9ff017b40e62f0b89fe3de3360d9ed0b65803c46f23abfde140047f826bd44f5 + md5: e227111634159a169bd34f244591cce5 + depends: + - cctools_osx-64 + - clang_impl_osx-64 23.1.4.* + - sdkroot_env_osx-64 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20561 + timestamp: 1794313108177 - conda: https://prefix.dev/conda-forge/osx-64/cmake-3.31.8-h29fc008_0.conda sha256: 01510ee9bf44567b8168f1038cc5f99a26f257f343923e71e300b7244090f658 md5: 715f84ec3b115f0d6a9858f33a5e595d @@ -1874,6 +2434,30 @@ packages: run_exports: {} size: 17816621 timestamp: 1757878263595 +- conda: https://prefix.dev/conda-forge/osx-64/compiler-rt-23.1.4-h694c41f_0.conda + sha256: 393e514d1facd31cfc2f91cb9fc3e14af6491030c26b96b903d671014d8434c9 + md5: c44a148e770492ab7a88a89f446e0cf3 + depends: + - compiler-rt23 23.1.4 h8c1e6b9_0 + - libcompiler-rt 23.1.4 h8c1e6b9_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16472 + timestamp: 1792567126660 +- conda: https://prefix.dev/conda-forge/osx-64/compiler-rt23-23.1.4-h8c1e6b9_0.conda + sha256: e8f8d7b8903d85f7c54f48aec9a84df75da1126e185041ed219c4c3932fb0a90 + md5: f52c5ab437fcee6069cb2efc62bab802 + depends: + - __osx >=11.0 + - compiler-rt23_osx-64 23.1.4.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 100055 + timestamp: 1792567125097 - conda: https://prefix.dev/conda-forge/osx-64/gh-2.102.0-h5839d16_0.conda sha256: b176af4f4a5206d7ee54411a64fc0c920f212f5047e4fb46d88ffe7c2b387a5d md5: 7c9d65d29932dae4dc5f36f4c30e643d @@ -1926,6 +2510,57 @@ packages: - krb5 >=1.22.2,<1.23.0a0 size: 1199337 timestamp: 1786762832264 +- conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-956.6-llvm23_1_h484b24f_7.conda + sha256: f90253846de7b7e6d9871bffdf9d86e3d0ef166a5f784c935c036caffc5f6222 + md5: 769d4769a7f61f92e98444fd895c24fe + depends: + - __osx >=11.0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - sigtool-codesign + - tapi >=1600.0.11.8,<1601.0a0 + constrains: + - cctools 1030.6.3.* + - cctools_impl_osx-64 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 1047854 + timestamp: 1793268196338 +- conda: https://prefix.dev/conda-forge/osx-64/libclang-cpp23.1-23.1.4-default_hae96fce_1.conda + sha256: 007a3ae2fef8c659a3eb4f5a6a3bf63ff3f6acd0d258b8d7a5eb4da139a50f39 + md5: e062039234d5988c27ecfeaea9f97964 + depends: + - libcxx >=23.1.4 + - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libllvm23 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + size: 17903279 + timestamp: 1793320037562 +- conda: https://prefix.dev/conda-forge/osx-64/libcompiler-rt-23.1.4-h8c1e6b9_0.conda + sha256: 174fcaa9147e75553f58452a6fefe066c5f10c76432709f588113a9a62a0a2b5 + md5: 2b1e1fbcaf22f19e2b59cb8e397df6b8 + depends: + - __osx >=11.0 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libcompiler-rt >=23.1.4 + size: 1378177 + timestamp: 1792567119985 - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.22.0-h5318221_0.conda sha256: 5625672a0a27c58c1c3c5849927c226eb65c88900e778262284e843dcce9c8f8 md5: 0ba721f8549bac02c48fc646fffe0c4d @@ -1957,6 +2592,16 @@ packages: run_exports: {} size: 576040 timestamp: 1790163953924 +- conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.5-h88b51c2_2.conda + sha256: a5dac24c87bf927a8a78bf801ca2bd6ba76682df5f9c08a344939b580d33ce2d + md5: bab24fbd48175be5c21120486221fe61 + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 562107 + timestamp: 1794552556408 - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda sha256: 4aa5161db41602af1abff73f5af415902135a47855d02c1ac05681a36320bd4b md5: 17532a8cca2c887fa24fbdcd5336c3af @@ -2023,6 +2668,23 @@ packages: - libiconv >=1.18,<2.0a0 size: 736150 timestamp: 1787034707041 +- conda: https://prefix.dev/conda-forge/osx-64/libllvm23-23.1.5-hd11396f_0.conda + sha256: b91a9c4e827d057d1a8bae46d3a4d75835dfbcdd23ae3dac43623ab29ea3206f + md5: 3089f61e29d0b1370b92fd40ba5165d9 + depends: + - __osx >=11.0 + - libcxx >=21 + - libxml2 + - libxml2-16 >=2.15.4 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm23 >=23.1.5,<23.2.0a0 + size: 33413653 + timestamp: 1793743191663 - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda sha256: 7915dac7c71c208e40e716e2f6d3eff41a8d5584e0e7c2d46f9bf9bd5f9aa739 md5: daf49067580fbfeae3ac7f9535400494 @@ -2094,6 +2756,17 @@ packages: run_exports: {} size: 2112028 timestamp: 1788385157401 +- conda: https://prefix.dev/conda-forge/osx-64/libsigtool-0.1.3-h8c25ef7_1.conda + sha256: c3d76ff04ebed64d00a7ff5106297a55af20082a3d3df0ea7dfb235f94ba31c3 + md5: acc366a7706c83b5364f5f81e1b4857b + depends: + - __osx >=11.0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 38559 + timestamp: 1786115361068 - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_102.conda sha256: 1902d4b50b964f9753145ec0121f51a0fefaf64ca9806aae860cecb81cc75b98 md5: 3fd4d7c9bcb8d4911fc202a731b5bb38 @@ -2135,6 +2808,40 @@ packages: - libuv >=1.52.1,<2.0a0 size: 128560 timestamp: 1785914631885 +- conda: https://prefix.dev/conda-forge/osx-64/libxml2-16-2.15.4-h8376fb4_1.conda + sha256: 527dbe5b2bfd4440339358ee276284a19b170603bb06471d806d4b05cc9dc95f + md5: ac2c520a6273ce223060ed8f51c207be + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.4 + license: MIT + license_family: MIT + run_exports: {} + size: 499401 + timestamp: 1791466313314 +- conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.15.4-hb56241c_1.conda + sha256: 53f41cb4773ad084757efef24dd0268d6f0250c2fc5f1b394a7b9d6aa1cec603 + md5: edd04dbc12bd4220029d8738e6f24097 + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.4 h8376fb4_1 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.4 + size: 41086 + timestamp: 1791466335204 - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda sha256: b2dba286dd6632292b12296e761193b5ef9fb0eaeecaa481f5ba9af72c0c18e1 md5: 7d3fa28263bb7f8ea32db11f570a5bb6 @@ -2150,6 +2857,37 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 58993 timestamp: 1785276808631 +- conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23-23.1.5-h36529c3_0.conda + sha256: ef0450aceaa5b03794b8e88bc050fc75ae4de6d5f1906a279c12884fb55a574b + md5: ea76748e034cd8a1e4c2bede68829f17 + depends: + - __osx >=11.0 + - libcxx >=21 + - libllvm23 23.1.5 hd11396f_0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 19638241 + timestamp: 1793743310664 +- conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23.1.5-h8c1e6b9_0.conda + sha256: 5cf57a9cb66bb6d8ed1984862afc7067140400e5efae9032de2c37d746f1d8a4 + md5: c9e7b95f2c9aa96d971e1c45b71ec4b0 + depends: + - __osx >=11.0 + - libllvm23 23.1.5 hd11396f_0 + - llvm-tools-23 23.1.5 h36529c3_0 + constrains: + - clang 23.1.5 + - clang-tools 23.1.5 + - llvm 23.1.5 + - llvmdev 23.1.5 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 51371 + timestamp: 1793743362722 - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda sha256: 12c1d676b9a0e8109b576672519312c5428308f3f3d7706f8717e2f536d5d9e7 md5: 88a79390f87c8f3334b9999a892e78d4 @@ -2278,6 +3016,57 @@ packages: - rhash >=1.4.6,<2.0a0 size: 186416 timestamp: 1786732023380 +- conda: https://prefix.dev/conda-forge/osx-64/rust-1.99.1-h2b8025e_1.conda + sha256: cad3fe312d6362e1c4a7cfe59439a9092f689b8d18620963b49d308620701851 + md5: fb4cbbe9b52c381c5d31a7c6e899e957 + depends: + - rust-std-x86_64-apple-darwin ==1.99.1 h9cb622b_1 + license: MIT + license_family: MIT + run_exports: + strong_constrains: + - __osx >=11.0 + size: 136615008 + timestamp: 1794336061186 +- conda: https://prefix.dev/conda-forge/osx-64/rust_osx-64-1.99.1-h8d9202f_0.conda + sha256: 449aed49475f6801668ef4a16fa9c0804684b6e1578f62e9814ce600385c0df5 + md5: 6420ae48e46e74ce6cf71ec919e98c15 + depends: + - rust 1.99.1.* + - rust-std-x86_64-apple-darwin 1.99.1.* + - clang_osx-64 + - macosx_deployment_target_osx-64 >=11.0 + - ld64_osx-64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __osx >=11.0 + size: 7759 + timestamp: 1793030475235 +- conda: https://prefix.dev/conda-forge/osx-64/sigtool-codesign-0.1.3-h8c25ef7_1.conda + sha256: 37aac42f05e21b48a3b61b28ae624ed5a3d2acfcbaabf2cd10ef7762c4fb4c45 + md5: e7eb95a1f841fbbb8312dcd65963334f + depends: + - __osx >=11.0 + - libsigtool 0.1.3 h8c25ef7_1 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 123458 + timestamp: 1786115396108 +- conda: https://prefix.dev/conda-forge/osx-64/tapi-1600.0.11.8-h44950e2_4.conda + sha256: 045e62838ec78ad75974552ebeeccbee5a4a843272da47c7a67e99fd9cc25d8d + md5: a70697fe1077cb11e33b11d6f6610314 + depends: + - libcxx >=19.0.0.a0 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: NCSA + run_exports: {} + size: 216045 + timestamp: 1789668322695 - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda sha256: 74e5fabcaf6ca0db052c645646ea04ded98a5eb7540483217f8101a819eb3107 md5: 71c9f1f0267f2639523e898c6b50a4dc @@ -2344,6 +3133,89 @@ packages: - c-ares >=1.34.8,<2.0a0 size: 197819 timestamp: 1787169996553 +- conda: https://prefix.dev/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm23_1_hf5e010b_7.conda + sha256: c1382d863b5c16de1d90779e861144fa6c6b91505e03a93ef27c46c039395b12 + md5: 01f4cafe27b17957421dca505640ef19 + depends: + - __osx >=11.0 + - ld64_osx-arm64 >=956.6,<956.7.0a0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-tools 23.1.* + - sigtool-codesign + constrains: + - cctools 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 759788 + timestamp: 1793267590618 +- conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1030.6.3-llvm23_1_h54b4f4b_7.conda + sha256: c8198297cbcbd07dd5d67879d4b6d9d75d98c9770816d8b7c3857da6045caa53 + md5: 4aafb3391e2c18c591313f479c459099 + depends: + - cctools_impl_osx-arm64 1030.6.3 llvm23_1_hf5e010b_7 + - ld64_osx-arm64 956.6 llvm23_1_hc8058f9_7 + constrains: + - cctools 1030.6.3.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 23662 + timestamp: 1793267603602 +- conda: https://prefix.dev/conda-forge/osx-arm64/clang-23-23.1.4-default_hde1afa0_1.conda + sha256: 776d01b12dcd53e6e3342950eea26c3eda9659687a2b1181e4011cf0fd8280fe + md5: 5238891e73ccad57e138686aa4b9011b + depends: + - compiler-rt23 ==23.1.4 + - libclang-cpp23.1 ==23.1.4 default_h8bbc02d_1 + - libcxx >=23.1.4 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libllvm23 >=23.1.4,<23.2.0a0 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 955290 + timestamp: 1793320051553 +- conda: https://prefix.dev/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.4-default_h8bbc02d_1.conda + sha256: 42f36e7de17557c254f732c297942d380d579faec409122778b7f0517bb46fc2 + md5: ef251fa25ea9dbd66fb3d1a16b08171b + depends: + - clang-23 ==23.1.4 default_* + - compiler-rt_osx-arm64 ==23.1.4 + - compiler-rt ==23.1.4 + - cctools_impl_osx-arm64 + - ld64_osx-arm64 * llvm23_1_* + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 31915 + timestamp: 1793320051553 +- conda: https://prefix.dev/conda-forge/osx-arm64/clang_osx-arm64-23.1.4-h2adb7b3_36.conda + sha256: f38747f6acbd6370d2653f412953cbf8d102a895fe09e93cad8c2106c7fae3c2 + md5: d61223cedc51d1d0f0c8106a85315819 + depends: + - cctools_osx-arm64 + - clang_impl_osx-arm64 23.1.4.* + - sdkroot_env_osx-arm64 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 20575 + timestamp: 1794312754245 - conda: https://prefix.dev/conda-forge/osx-arm64/cmake-3.31.8-h54ad630_0.conda sha256: 55f8adaa565e9494aca45cf9b75689354479a179efe088522be345f0c5acca3b md5: 7a61882f98f88aee01bae8a76d5990ba @@ -2365,6 +3237,30 @@ packages: run_exports: {} size: 16632236 timestamp: 1757877846468 +- conda: https://prefix.dev/conda-forge/osx-arm64/compiler-rt-23.1.4-hce30654_0.conda + sha256: 06c4dab29f41569d5f6f757cef98d1c862563b7daa23f32e2af49bf375f2c0c4 + md5: c098ac9f34d3964a21bee3711e2f66a1 + depends: + - compiler-rt23 23.1.4 hdb3d66b_0 + - libcompiler-rt 23.1.4 hdb3d66b_0 + constrains: + - clang 23.1.4 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 16484 + timestamp: 1792567058838 +- conda: https://prefix.dev/conda-forge/osx-arm64/compiler-rt23-23.1.4-hdb3d66b_0.conda + sha256: b5bfb04bc32e3de800b0d9dc500cb0a319466a2036a19d986a05565750d1edac + md5: ffbe8e3c9b12be268bcef57ee58e4cd4 + depends: + - __osx >=11.0 + - compiler-rt23_osx-arm64 23.1.4.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: {} + size: 99934 + timestamp: 1792567056652 - conda: https://prefix.dev/conda-forge/osx-arm64/gh-2.102.0-hf76c51c_0.conda sha256: 77908dbe0e0f02feacacb1c34ec4cc65a9414bb7c0809ab83ddec26603b6d214 md5: 37fbfe69ee3d410a7a53433ef640dec5 @@ -2413,6 +3309,57 @@ packages: - krb5 >=1.22.2,<1.23.0a0 size: 1165740 timestamp: 1786762145768 +- conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm23_1_hc8058f9_7.conda + sha256: 645c246e045af89a6c710964f9f7a1e4a83e0e2cad38e21ffd005eca3553f044 + md5: e3b8ad49fc571fc1006e74cbf48114b3 + depends: + - __osx >=11.0 + - libcxx + - libllvm23 >=23.1.4,<23.2.0a0 + - sigtool-codesign + - tapi >=1600.0.11.8,<1601.0a0 + constrains: + - cctools 1030.6.3.* + - cctools_impl_osx-arm64 1030.6.3.* + - clang 23.1.* + - ld64 956.6.* + license: APSL-2.0 + license_family: Other + run_exports: {} + size: 984450 + timestamp: 1793267572141 +- conda: https://prefix.dev/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_1.conda + sha256: 467c95456239410d02575de3b814dc6512ae19ed00a540a719862cd83d14aefb + md5: 6088a0f084aa42b5331154321145376b + depends: + - libcxx >=23.1.4 + - __osx >=11.0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libxml2 + - libxml2-16 >=2.15.4 + - libllvm23 >=23.1.4,<23.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + size: 16607160 + timestamp: 1793320051553 +- conda: https://prefix.dev/conda-forge/osx-arm64/libcompiler-rt-23.1.4-hdb3d66b_0.conda + sha256: 939ba250a11438ae42c5b861d004cc2caceb6437fc1a73f39d0a780d28231d1e + md5: d46c022a9cc7dfedd4b650d1ae21c6a7 + depends: + - __osx >=11.0 + constrains: + - compiler-rt >=9.0.1 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + run_exports: + weak: + - libcompiler-rt >=23.1.4 + size: 1383407 + timestamp: 1792567052336 - conda: https://prefix.dev/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda sha256: 46def32ec20d4dc6bce75d90fe5f2465a71cc22acef608c5ba37cc392e80e01d md5: a7234b8d8e19a089dcb1eaaa18de1045 @@ -2444,6 +3391,16 @@ packages: run_exports: {} size: 579372 timestamp: 1790163402114 +- conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-23.1.5-hc645fd0_2.conda + sha256: a839afbb532798d2cb2c51306506fb4b3aa48e075319513a917bd98d7b6cb0eb + md5: 4a18f321414c5c2471fdb443ba47d7c2 + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 567079 + timestamp: 1794552124926 - conda: https://prefix.dev/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda sha256: 257c926f19e32bdb981fc674c76966049b6fc73f706bae58e9fed8757ad1da70 md5: 843ef89082f368cb889305084d3b483c @@ -2510,6 +3467,23 @@ packages: - libiconv >=1.18,<2.0a0 size: 750816 timestamp: 1787033961086 +- conda: https://prefix.dev/conda-forge/osx-arm64/libllvm23-23.1.5-h759d1ac_0.conda + sha256: 9288fdfba716a08aa6dca482a180ebf1bcf1cd1573d479b92e39d6c7cf97b412 + md5: 7ef5c8087c26cba74fb5cde17e8ee056 + depends: + - __osx >=11.0 + - libcxx >=21 + - libxml2 + - libxml2-16 >=2.15.4 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: + weak: + - libllvm23 >=23.1.5,<23.2.0a0 + size: 31570443 + timestamp: 1793743305449 - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda sha256: 23d0630046a3e8b164d8f80f2b74ed2605af2e7050ab9913018056402fae4311 md5: 8ab10323068b107661a4b9a4af84f3b5 @@ -2581,6 +3555,17 @@ packages: run_exports: {} size: 1875368 timestamp: 1788383432953 +- conda: https://prefix.dev/conda-forge/osx-arm64/libsigtool-0.1.3-h98dc951_1.conda + sha256: fcfa03afe31f40dfabf011629d99836adbebbc3ed1b38c7e9eee9ffc7581975b + md5: c70eb797aa92a294b09ef8f41f6bd578 + depends: + - __osx >=11.0 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 36651 + timestamp: 1786115069018 - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_102.conda sha256: 0343b4f1c1a9f2feb0496bf159d13c5dd894ca750b9016f1282df5a4b82bd80e md5: 46a1017240580d5c504a40293b2d41c1 @@ -2621,6 +3606,40 @@ packages: - libuv >=1.52.1,<2.0a0 size: 122729 timestamp: 1785914645797 +- conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-16-2.15.4-heb56d2d_1.conda + sha256: 1acd4dd49c6f54440dc172ab469d0e2c7c3c02de5b1f21158a233eb585ec3c38 + md5: ef82ce9c5e6a0bb8bc9cb0e6935f18ca + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.4 + license: MIT + license_family: MIT + run_exports: {} + size: 469239 + timestamp: 1791465646245 +- conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.15.4-h550178d_1.conda + sha256: f333b4c6c823ea317aeb0b817520ae3ba2fb16277923d848f5f2aee2049198e5 + md5: 5881b9ab679553078d590db82d7e57b3 + depends: + - __osx >=11.0 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.4 heb56d2d_1 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + run_exports: + weak: + - libxml2 + - libxml2-16 >=2.15.4 + size: 41382 + timestamp: 1791465651969 - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda sha256: a18fa5d5bac452401459f966cf0d872224e8080c4ff93c77e168d43ab42ef9d7 md5: f39288f0ea63ae962e1a2e4f355a0d75 @@ -2636,6 +3655,37 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 47822 timestamp: 1785277049190 +- conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-23-23.1.5-h79441dc_0.conda + sha256: e79c2c30133f6187b87534d191f69f6d9a51478c40a63c7605794c790e4599ac + md5: 3568bdf1a76900db43b81e8e6125d346 + depends: + - __osx >=11.0 + - libcxx >=21 + - libllvm23 23.1.5 h759d1ac_0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 18500379 + timestamp: 1793743397019 +- conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-23.1.5-hdb3d66b_0.conda + sha256: f0d66a877aa39288bc77cfedf86d1ab976a5f2534b5bc9f1899610528d25f62c + md5: b2152633793171363b9d10deff647496 + depends: + - __osx >=11.0 + - libllvm23 23.1.5 h759d1ac_0 + - llvm-tools-23 23.1.5 h79441dc_0 + constrains: + - clang 23.1.5 + - clang-tools 23.1.5 + - llvm 23.1.5 + - llvmdev 23.1.5 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + run_exports: {} + size: 52113 + timestamp: 1793743440755 - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68 md5: 3dfa0d0316dc246cd44937a557de4501 @@ -2765,6 +3815,55 @@ packages: - rhash >=1.4.6,<2.0a0 size: 185483 timestamp: 1786732022220 +- conda: https://prefix.dev/conda-forge/osx-arm64/rust-1.99.1-hc99db57_1.conda + sha256: f2a01b92da14691abd962b4be1fa0240d55fa820343da49436092bb2c6b1ccf6 + md5: 5e308a15aae2fa0eb96ae9cfe93fd5a7 + depends: + - rust-std-aarch64-apple-darwin ==1.99.1 h4899003_1 + license: MIT + license_family: MIT + run_exports: {} + size: 123180578 + timestamp: 1794336025082 +- conda: https://prefix.dev/conda-forge/osx-arm64/rust_osx-arm64-1.99.1-h76be34a_0.conda + sha256: bb2cb4cfc86ec0577c3f7731d9bf5b1bca6d024de581af30e66cd44dca0f268b + md5: 9e373d660f500767284aa7dcb992edc4 + depends: + - rust 1.99.1.* + - rust-std-aarch64-apple-darwin 1.99.1.* + - clang_osx-arm64 + - macosx_deployment_target_osx-arm64 >=11.0 + - ld64_osx-arm64 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong_constrains: + - __osx >=11.0 + size: 7775 + timestamp: 1793030369714 +- conda: https://prefix.dev/conda-forge/osx-arm64/sigtool-codesign-0.1.3-h98dc951_1.conda + sha256: 7efd6d7d18bf9cc5788bfe1c1e1620d9dbbe00a81c646814929a82ff31944cf3 + md5: a322c0a0d3b5be99ee11f9ccec99b60e + depends: + - __osx >=11.0 + - libsigtool 0.1.3 h98dc951_1 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + run_exports: {} + size: 114653 + timestamp: 1786115093248 +- conda: https://prefix.dev/conda-forge/osx-arm64/tapi-1600.0.11.8-hb561403_4.conda + sha256: 6effea9587f049e702c838e8e57d98ac92b89ca1f3f1edd51c78dd252d24e83b + md5: fdb31cc6c306f60e194f29f17397a63c + depends: + - libcxx >=19.0.0.a0 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: NCSA + run_exports: {} + size: 202107 + timestamp: 1789668272580 - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda sha256: 857d89087ae7f2c328cf256728affcb7343031a148b4af847334d248a9cf564c md5: 90a01bf394d1c594e0eb9258f967d828 @@ -3188,6 +4287,28 @@ packages: run_exports: {} size: 7125817 timestamp: 1788610031611 +- conda: https://prefix.dev/conda-forge/win-64/rust-1.99.1-h419297b_1.conda + sha256: 672359ee69d2bfb6316fde9af56d9515eaaaa87cb9f1fadc545d37e2dfd86316 + md5: c25624bc6667bec9af3745daf55656c1 + depends: + - rust-std-x86_64-pc-windows-msvc ==1.99.1 h5a2a77e_1 + license: MIT + license_family: MIT + run_exports: {} + size: 230098084 + timestamp: 1794335964656 +- conda: https://prefix.dev/conda-forge/win-64/rust_win-64-1.99.1-hb8c729a_0.conda + sha256: 8a1818e8474c6b0e13b11400ac0d75e8ead60077e7913578fe670975637567a4 + md5: e9c0eb846be6e9487288a8a4bb8b71be + depends: + - rust 1.99.1.* + - rust-std-x86_64-pc-windows-msvc 1.99.1.* + - vs_win-64 >=2019 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 7155 + timestamp: 1793030331417 - conda: https://prefix.dev/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda sha256: f19618a3a82cc483dacf1c70a30367ee7b0c7e71b90f1f80e14feff44fbd3688 md5: dd9eb33c99d352b6356f86964d6040f7 @@ -3226,6 +4347,28 @@ packages: run_exports: {} size: 21383 timestamp: 1785359368566 +- conda: https://prefix.dev/conda-forge/win-64/vc-14.5-hda273ae_43.conda + sha256: b021e65bf2240a3256639913aef12f14e63c396170a103285adecfbff9bb01ac + md5: 68ac6efe6c33bf56b73d3579692499c8 + depends: + - vc14_runtime >=14.51.36247 + license: BSD-3-Clause + license_family: BSD + run_exports: {} + size: 18006 + timestamp: 1794305234654 +- conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.51.36247-h072b54c_43.conda + sha256: 02e21ff2ff06c7e45e10b72953cb2b1739e8dad7a4a8a49c814897cfabefaada + md5: ca854408249855e70fb371a3b52fa083 + depends: + - vcomp14 ==14.51.36247 h1c3f1cb_43 + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.51.36247.* *_43 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + run_exports: {} + size: 840832 + timestamp: 1794305234654 - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda sha256: 4e4cb599cdc41bf2109d1464c127b5bcbddf548ce3e322e612afb691338b48f8 md5: ac5333bb3d429361f23adf704cc49a78 @@ -3240,6 +4383,19 @@ packages: run_exports: {} size: 767955 timestamp: 1785359364369 +- conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-h1c3f1cb_43.conda + sha256: 159fe1bb304d6a8e82a0e4b71762c05325cff3d472e4a1d49465c9def61a785e + md5: 872e2bfba57777676f0261c459176afe + depends: + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.51.36247.* *_43 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + run_exports: + strong: + - vcomp14 >=14.51.36247 + size: 166744 + timestamp: 1794305234654 - conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda sha256: 731e043390c9457299484d39e427221fc868a9249540a498a5a4f6456c7744d1 md5: 350bb67a5c8e5f1c53347ac544ab6600 @@ -3255,6 +4411,36 @@ packages: - vcomp14 >=14.51.36247 size: 155910 timestamp: 1785359349999 +- conda: https://prefix.dev/conda-forge/win-64/vs2022_win-64-19.44.35207-h5f61962_43.conda + sha256: 05b64685152a4db49a053a88f3645c6cbdbee2e4a34ea53cdf487c89d902f7a0 + md5: 938d13f2132b98a00682d88380bf73de + depends: + - vswhere + constrains: + - vs_win-64 ==2022.14 + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + size: 24829 + timestamp: 1794305253935 +- conda: https://prefix.dev/conda-forge/win-64/vs_win-64-2022.14-h5f61962_43.conda + sha256: e830030ddea4366bd402c0f8974a3f60dc3786964589511b44616461b49171d4 + md5: 63bb39d2789e4b34a3d0a3b6eb600a5b + depends: + - vs2022_win-64 19.44.35207.* + license: BSD-3-Clause + license_family: BSD + run_exports: + strong: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + size: 18250 + timestamp: 1794305253935 - conda: https://prefix.dev/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 md5: 433699cba6602098ae8957a323da2664 @@ -3289,6 +4475,206 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 +- conda_source: vinca-rs[05a0ec6d] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 + version: 0.1.9 + build: h4778241_0 + subdir: osx-64 + variants: + c_stdlib: macosx_deployment_target + c_stdlib_version: '13.0' + target_platform: osx-64 + depends: + - __osx >=13.0 + constrains: + - __osx >=11.0 + - __osx >=11.0 + license: MIT + build_packages: + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-64-23.1.4-h8d5f570_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-64-23.1.4-h694c41f_0.conda + - conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-64-13.0-h2830193_7.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-apple-darwin-1.99.1-h9cb622b_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-64-26.0-h62b880e_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_impl_osx-64-1030.6.3-llvm23_1_h3bd330e_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/cctools_osx-64-1030.6.3-llvm23_1_h254e556_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang-23-23.1.4-default_h4ef152c_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_impl_osx-64-23.1.4-default_hae96fce_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/clang_osx-64-23.1.4-hcd2a5eb_36.conda + - conda: https://prefix.dev/conda-forge/osx-64/compiler-rt-23.1.4-h694c41f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/compiler-rt23-23.1.4-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/ld64_osx-64-956.6-llvm23_1_h484b24f_7.conda + - conda: https://prefix.dev/conda-forge/osx-64/libclang-cpp23.1-23.1.4-default_hae96fce_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcompiler-rt-23.1.4-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.5-h88b51c2_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libiconv-1.18-h4ae439b_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/libllvm23-23.1.5-hd11396f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libsigtool-0.1.3-h8c25ef7_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-16-2.15.4-h8376fb4_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libxml2-2.15.4-hb56241c_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23-23.1.5-h36529c3_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/llvm-tools-23.1.5-h8c1e6b9_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.6.5-h332eb6d_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/rust-1.99.1-h2b8025e_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/rust_osx-64-1.99.1-h8d9202f_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/sigtool-codesign-0.1.3-h8c25ef7_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/tapi-1600.0.11.8-h44950e2_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda +- conda_source: vinca-rs[1d6674fe] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 + version: 0.1.9 + build: h11eb1b2_0 + subdir: linux-aarch64 + variants: + c_stdlib: sysroot + c_stdlib_version: '2.17' + target_platform: linux-aarch64 + depends: + - libgcc >=16 + constrains: + - __glibc >=2.17 + - __glibc >=2.17 + license: MIT + build_packages: + - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-16.2.0-h5425ead_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/gcc_linux-aarch64-16.2.0-h25cc031_2.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_103.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libsanitizer-16.2.0-h73cac2c_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/rust-1.99.1-hfa1fd44_1.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/rust_linux-aarch64-1.99.1-ha511860_0.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda + - conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_18.conda + - conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-aarch64-16.2.0-hc0c2482_107.conda + - conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-aarch64-16.2.0-h082e5f6_107.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-unknown-linux-gnu-1.99.1-hb0489cc_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-aarch64-2.17-h68829e0_18.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + host_packages: + - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda + - conda: https://prefix.dev/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda +- conda_source: vinca-rs[5db75585] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 + version: 0.1.9 + build: he01afda_0 + subdir: win-64 + variants: + c_compiler: vs2022 + target_platform: win-64 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + build_packages: + - conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-pc-windows-msvc-1.99.1-h5a2a77e_1.conda + - conda: https://prefix.dev/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda + - conda: https://prefix.dev/conda-forge/win-64/rust-1.99.1-h419297b_1.conda + - conda: https://prefix.dev/conda-forge/win-64/rust_win-64-1.99.1-hb8c729a_0.conda + - conda: https://prefix.dev/conda-forge/win-64/vs2022_win-64-19.44.35207-h5f61962_43.conda + - conda: https://prefix.dev/conda-forge/win-64/vs_win-64-2022.14-h5f61962_43.conda + host_packages: + - conda: https://prefix.dev/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://prefix.dev/conda-forge/win-64/vc-14.5-hda273ae_43.conda + - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.51.36247-h072b54c_43.conda + - conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-h1c3f1cb_43.conda +- conda_source: vinca-rs[606d2182] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 + version: 0.1.9 + build: h41f06ac_0 + subdir: linux-64 + variants: + c_stdlib: sysroot + c_stdlib_version: '2.17' + target_platform: linux-64 + depends: + - libgcc >=16 + - __glibc >=2.17,<3.0.a0 + constrains: + - __glibc >=2.17 + - __glibc >=2.17 + license: MIT + build_packages: + - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda + - conda: https://prefix.dev/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda + - conda: https://prefix.dev/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda + - conda: https://prefix.dev/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://prefix.dev/conda-forge/linux-64/rust-1.99.1-h6344a40_1.conda + - conda: https://prefix.dev/conda-forge/linux-64/rust_linux-64-1.99.1-h6463082_0.conda + - conda: https://prefix.dev/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + - conda: https://prefix.dev/conda-forge/noarch/kernel-headers_linux-64-3.10.0-he073ed8_18.conda + - conda: https://prefix.dev/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda + - conda: https://prefix.dev/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-x86_64-unknown-linux-gnu-1.99.1-h480d76f_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sysroot_linux-64-2.17-h0157908_18.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + host_packages: + - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://prefix.dev/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda +- conda_source: vinca-rs[f85bee14] @ git+https://github.com/tobias-fischer/vinca-rs?rev=7532d43e2147c7b9279d25b28f8b571f62e84172#7532d43e2147c7b9279d25b28f8b571f62e84172 + version: 0.1.9 + build: hea27dcd_0 + subdir: osx-arm64 + variants: + c_stdlib: macosx_deployment_target + c_stdlib_version: '13.0' + target_platform: osx-arm64 + depends: + - __osx >=13.0 + constrains: + - __osx >=11.0 + license: MIT + build_packages: + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.4-hb8825d9_0.conda + - conda: https://prefix.dev/conda-forge/noarch/compiler-rt_osx-arm64-23.1.4-hce30654_0.conda + - conda: https://prefix.dev/conda-forge/noarch/macosx_deployment_target_osx-arm64-13.0-h95484f9_7.conda + - conda: https://prefix.dev/conda-forge/noarch/rust-std-aarch64-apple-darwin-1.99.1-h4899003_1.conda + - conda: https://prefix.dev/conda-forge/noarch/sdkroot_env_osx-arm64-26.0-ha3f98da_7.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm23_1_hf5e010b_7.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cctools_osx-arm64-1030.6.3-llvm23_1_h54b4f4b_7.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang-23-23.1.4-default_hde1afa0_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.4-default_h8bbc02d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/clang_osx-arm64-23.1.4-h2adb7b3_36.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/compiler-rt-23.1.4-hce30654_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/compiler-rt23-23.1.4-hdb3d66b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm23_1_hc8058f9_7.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcompiler-rt-23.1.4-hdb3d66b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-23.1.5-hc645fd0_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libllvm23-23.1.5-h759d1ac_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libsigtool-0.1.3-h98dc951_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-16-2.15.4-heb56d2d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libxml2-2.15.4-h550178d_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-23-23.1.5-h79441dc_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/llvm-tools-23.1.5-hdb3d66b_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rust-1.99.1-hc99db57_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rust_osx-arm64-1.99.1-h76be34a_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/sigtool-codesign-0.1.3-h98dc951_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/tapi-1600.0.11.8-hb561403_4.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=74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5#74d1e856d5b00c0cb5ee0c1be41dac4afcae7bf5 name: vinca version: 0.2.0 diff --git a/pixi.toml b/pixi.toml index c76cfff92..39bd4d9a2 100644 --- a/pixi.toml +++ b/pixi.toml @@ -1,8 +1,9 @@ [workspace] +preview = ["pixi-build"] # TEMPORARY, for the vinca-rs git source name = "robostack" description = "RoboStack: conda packages for all ROS 2 distributions, from one repository" authors = ["Tobias Fischer ", "Wolf Vollprecht ", "Silvio Traversaro ", "Daisuke Nishimatsu "] -channels = ["https://prefix.dev/conda-forge"] +channels = ["https://prefix.dev/conda-forge", "https://prefix.dev/tobias-fischer/robostack-tools"] platforms = [ "osx-arm64", # 2.17 is the glibc version used in CentOS 7 @@ -27,6 +28,8 @@ git-lfs = "*" pytest = ">=9.1.1,<10" # gh for the workflows: one version everywhere (the runner's is not on PATH on Windows) gh = ">=2.102.0,<3" +# TEMPORARY: vinca-rs built from the branch with the unified cmake templates (prefix-dev/pixi#7540) +vinca-rs = { git = "https://github.com/Tobias-Fischer/vinca-rs.git", rev = "7532d43e2147c7b9279d25b28f8b571f62e84172" } [target.win-64.dependencies] # patch is required by rattler-build @@ -42,7 +45,7 @@ vinca = { git = "https://github.com/RoboStack/vinca.git", rev = "74d1e856d5b00c0 [tasks] rs = { cmd = "python tools/robostack.py", description = "Run a task for one distribution: `pixi run rs ` (generate-recipes, build, build-one, check-patches, check-deps, create-snapshot, render-pinning, sort, ...)." } -sort = { cmd = "sh -lc 'vinca-sort-vinca-lists $@ shared/vinca.yaml && vinca-sort-yaml-keys $@ shared/robostack.yaml shared/pkg_additional_info.yaml shared/patch/dependencies.yaml && for d in distros/*/; do (cd $d && vinca-sort-vinca-lists $@ vinca.yaml && vinca-sort-yaml-keys $@ pkg_additional_info.yaml rosdistro_additional_recipes.yaml $(ls patch/dependencies.yaml 2>/dev/null)) || exit 1; done' --", description = "Sort the YAML files of all distributions (`--check` to only check)." } +sort = { cmd = "sh -lc 'vinca-sort-vinca-lists $@ shared/vinca.yaml && vinca-sort-yaml-keys $@ shared/robostack.yaml shared/pkg_additional_info.yaml && for d in distros/*/; do [ -f $d/vinca.yaml ] || continue; (cd $d && vinca-sort-vinca-lists $@ vinca.yaml && vinca-sort-yaml-keys $@ pkg_additional_info.yaml rosdistro_additional_recipes.yaml) || exit 1; done' --", description = "Sort the YAML files of all distributions (`--check` to only check)." } test = { cmd = "python -m pytest tools/tests", description = "Unit tests of the repository tooling (tools/tests)." } abi-check = { cmd = "pixi exec -s python=3.14 -s zstandard -s pyyaml -s pyelftools python tools/abi_check.py", description = "Compare the ABI of package builds with libabigail (Linux only): `pixi run abi-check --distro jazzy --latest-pairs 30`, `--old a.conda --new b.conda`, or `--pr-builds ` (a pull request's builds against the released ones)." } -render-pinning = { cmd = "sh -lc 'for d in distros/*/; do python tools/robostack.py $(basename $d) render-pinning || exit 1; done'", description = "Regenerate every distribution's conda_build_config.yaml from shared/pinning and its distro.yaml." } +render-pinning = { cmd = "sh -lc 'for d in distros/*/; do [ -f $d/vinca.yaml ] || continue; python tools/robostack.py $(basename $d) render-pinning || exit 1; done'", description = "Regenerate every distribution's conda_build_config.yaml from shared/pinning and its distro.yaml." } diff --git a/shared/files/ros2-ros-workspace/activate.bat b/shared/files/ros2-ros-workspace/activate.bat new file mode 100644 index 000000000..0c17d5f5c --- /dev/null +++ b/shared/files/ros2-ros-workspace/activate.bat @@ -0,0 +1,13 @@ +@if not defined CONDA_PREFIX goto:eof + +@REM Don't do anything when we are in conda build. +@if defined SYS_PREFIX exit /b 0 + +@set "QT_PLUGIN_PATH=%CONDA_PREFIX%\Library\plugins" + +@call "%CONDA_PREFIX%\Library\local_setup.bat" +@set PYTHONHOME= +@set "ROS_OS_OVERRIDE=conda:win64" +@set "ROS_ETC_DIR=%CONDA_PREFIX%\Library\etc\ros" +@set "AMENT_PREFIX_PATH=%CONDA_PREFIX%\Library" +@set "AMENT_PYTHON_EXECUTABLE=%CONDA_PREFIX%\python.exe" diff --git a/shared/files/ros2-ros-workspace/activate.ps1 b/shared/files/ros2-ros-workspace/activate.ps1 new file mode 100644 index 000000000..4e225b56a --- /dev/null +++ b/shared/files/ros2-ros-workspace/activate.ps1 @@ -0,0 +1,14 @@ +if ($null -eq ${env:CONDA_PREFIX}) { Exit } + +# Don't do anything when we are in conda build. +if ($null -ne ${env:SYS_PREFIX}) { Exit 0 } + +$Env:QT_PLUGIN_PATH="${env:CONDA_PREFIX}\Library\plugins" + +& "${env:CONDA_PREFIX}\Library\local_setup.ps1" + +$Env:PYTHONHOME='' +$Env:ROS_OS_OVERRIDE='conda:win64' +$Env:ROS_ETC_DIR="${env:CONDA_PREFIX}\Library\etc\ros" +$Env:AMENT_PREFIX_PATH="${env:CONDA_PREFIX}\Library" +$Env:AMENT_PYTHON_EXECUTABLE="${env:CONDA_PREFIX}\python.exe" diff --git a/shared/files/ros2-ros-workspace/activate.sh b/shared/files/ros2-ros-workspace/activate.sh new file mode 100644 index 000000000..8ebb90fe1 --- /dev/null +++ b/shared/files/ros2-ros-workspace/activate.sh @@ -0,0 +1,93 @@ +# if [ -z "${CONDA_PREFIX}" ]; then +# exit 0; +# fi + +case "$OSTYPE" in + msys*|cygwin*) + # Windows: conda runs this script (not activate.bat) when the environment + # is activated from Git Bash / MSYS2 / Cygwin. The ROS packages only ship + # .bat/.dsv environment hooks there (under %CONDA_PREFIX%\Library), so do + # what activate.bat -> local_setup.bat does: let ament's + # _local_setup_util.py evaluate every package's .dsv hooks, in "sh" mode, + # and apply the result. Values stay in Windows form (C:\...;C:\...) since + # native Windows programs (python, cmake, ros2) read them; only PATH is + # converted to the form the shell itself uses. + if [ -n "${SYS_PREFIX:-}" ]; then + # Don't do anything when we are in conda build (as activate.bat). + : + elif ! command -v cygpath > /dev/null 2>&1; then + echo "Not activating ROS: cygpath not found" >&2 + else + # Keep an absolute path: a .dsv assignment may remove cygpath from PATH. + _ros_cygpath="$(command -v cygpath)" + _ros_prefix_w="$(cygpath -w "$CONDA_PREFIX")" + _ros_python="$(cygpath -u "$_ros_prefix_w\\python.exe")" + _ros_util="$(cygpath -u "$_ros_prefix_w\\Library\\_local_setup_util.py")" + + export QT_PLUGIN_PATH="$_ros_prefix_w\\Library\\plugins" + unset PYTHONHOME + + if [ -f "$_ros_util" ]; then + while IFS= read -r _ros_line; do + case "$_ros_line" in + "export "*"#:}") + # strip a leading separator: ';' on Windows, not ':' + _ros_line="${_ros_line%#:\}}#;}" + ;; + "export "*"%:}") + # strip a trailing separator: ';' on Windows, not ':' + _ros_line="${_ros_line%\%:\}}%;}" + ;; + esac + case "$_ros_line" in + "export PATH="*) + # ament emits Windows lists even in sh mode. Evaluate against a + # Windows PATH in a subshell, then convert the complete result. + # This handles prepends, appends and assignments without mixing + # semicolons, drive-letter colons and Bash's ':' separators. + _ros_value="$( + PATH="$("$_ros_cygpath" -w -p "$PATH")" + eval "$_ros_line" + printf '%s' "$PATH" + )" + export PATH="$("$_ros_cygpath" -u -p "$_ros_value")" + ;; + "export "*) + eval "$_ros_line" + ;; + esac + done </patch/dependencies.yaml -# adds its own and wins per package. -ament_package: - add_host: ['importlib_resources'] -behaviortree_cpp: - add_host: ["libboost-devel", "cppzmq", "zeromq", "sqlite"] - add_run: ["libboost"] -camera_calibration: - # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/camera_calibration/src/camera_calibration/camera_calibrator.py#L286 - add_run: ["libopencv * *qt6*"] -cuda_buffer: - # FindCUDAToolkit needs nvcc; CUDA::cuda_driver links against the driver stub. - add_host: ["cuda-driver-dev", "cuda-nvcc"] -cuda_buffer_backend: - add_host: ["cuda-driver-dev", "cuda-nvcc"] -dolly_ignition: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -fmilibrary_vendor: - add_host: ["fmilib"] -foonathan_memory_vendor: - add_host: ["foonathan-memory"] - add_run: ["foonathan-memory"] -force_torque_sensor_broadcaster: - add_host: ["typeguard", "jinja2"] -franka_example_controllers: - add_host: ["ros2-moveit-core"] - add_run: ["ros2-moveit-core"] -franka_hardware: - add_host: ["ros2-rclcpp-action", "ros2-rclcpp-components"] - add_run: ["ros2-rclcpp-action", "ros2-rclcpp-components"] -franka_ign_ros2_control: - add_host: ["ros2-urdf", "ros2-kdl-parser", "ros2-tf2-geometry-msgs", "ros2-tf2-eigen", "${{ 'libgl-devel' if linux }}"] - add_run: ["ros2-urdf", "ros2-kdl-parser", "ros2-tf2-geometry-msgs", "ros2-tf2-eigen"] -franka_robot_state_broadcaster: - add_host: ["ros2-visualization-msgs"] - add_run: ["ros2-visualization-msgs"] -franka_semantic_components: - add_host: ["ros2-urdf", "ros2-controller-interface"] - add_run: ["ros2-urdf", "ros2-controller-interface"] -gazebo_ros: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -google_benchmark_vendor: - add_host: ["benchmark"] - add_run: ["benchmark"] -gscam: - add_host: ["glib"] -ignition_cmake2_vendor: - add_host: ["libignition-cmake2"] - add_run: ["libignition-cmake2"] -ignition_math6_vendor: - add_host: ["libignition-math6"] - add_run: ["libignition-math6"] -image_tools: - # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/image_tools/src/showimage.cpp#L190 - add_run: ["libopencv * *qt6*"] -imu_calib: - add_host: ["ros2-eigen3-cmake-module"] - add_run: ["ros2-eigen3-cmake-module"] -libcurl_vendor: - add_host: ["libcurl"] - add_run: ["libcurl"] -libphidget22: - add_host: ["libusb"] -libyaml_vendor: - add_host: ["yaml-cpp", "yaml"] - add_run: ["yaml-cpp", "yaml"] -livox_ros_driver2: - add_host: ["livox-sdk2"] - add_run: ["livox-sdk2"] -moveit: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit2_tutorials: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_app_plugins: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_assistant: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_controllers: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_core_plugins: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_framework: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -moveit_setup_srdf_plugins: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -mrpt_common: - # CMakeLists.txt calls find_package(ament_cmake) when ROS_VERSION=2 (set by ros_environment), - # but package.xml (build_type cmake) does not declare it - add_host: ["ros2-ament-cmake"] -mrpt_gui: - # links libwx_*; the wxwidgets/wx-common keys map to wxpython, so wxwidgets is only a - # transitive host dep and its (weak) run_exports never reach the run requirements - # Windows: nanogui links conda-forge's glad instead of its bundled copy (ros2-mrpt-gui.win.patch) - add_host: ["wxwidgets", "${{ 'glad' if win }}"] -mrpt_imgui: - # Windows: links conda-forge's GLEW like mrpt_opengl, also for its users (ros2-mrpt-imgui.win.patch) - add_host: ["${{ 'glew' if win }}"] - add_run: ["${{ 'glew' if win }}"] -mrpt_math: - # its public headers include Eigen, and its exported CMake targets (and mrpt_poses') carry - # the eigen3 include directory: users need the headers (eigen-abi-devel's run_exports only - # add eigen-abi), or dependents without their own eigen dependency fail to configure - add_run: ["eigen"] -mrpt_opengl: - # Windows: the release source has no bundled GLEW (ros2-mrpt-opengl.win.patch); users of - # opengl_api.h need GL/glew.h too - add_host: ["${{ 'glew' if win }}"] - add_run: ["${{ 'glew' if win }}"] -mujoco_ros2_control_plugins: - add_host: - - if: linux - then: ["libegl-devel"] # CMake finds OpenGL COMPONENTS EGL -mujoco_vendor: - add_host: ["libmujoco"] # conda-forge's MuJoCo (linux, osx, win) instead of the bundled build -nao_lola: - add_host: ["libboost-devel"] -nav2_smac_planner: - add_build: ["${{ 'llvm-openmp' if osx }}"] - add_host: ["${{ 'llvm-openmp' if osx }}", "ompl", "libode"] -octomap_ros: - add_host: ["octomap"] -octomap_rviz_plugins: - add_host: ["octomap"] -ompl: - add_host: ["ompl"] -onnxruntime_vendor: - add_host: [onnxruntime-cpp] - add_run: [onnxruntime-cpp] -open3d_conversions: - # Open3D's own CMake config calls find_dependency(TBB), but conda-forge's - # open3d package only depends on the runtime "tbb" lib, not "tbb-devel" - # (which provides TBBConfig.cmake) -- add it explicitly so find_package(Open3D) - # can resolve its own TBB dependency. - add_host: ["tbb-devel"] -ortools_vendor: - add_host: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"] - add_run: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"] -pcl_ros: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] -plotjuggler_ros: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -popf: - add_host: ["perl"] -pybind11_vendor: - add_host: ["pybind11"] - add_run: ["pybind11"] -rmw_zenoh_cpp: - add_host: ["libzenohc", "libzenohcxx"] -ros_ign_gazebo_demos: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rosx_introspection: - add_host: ["rapidjson"] -rviz2: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rviz_assimp_vendor: - add_host: ["assimp"] - add_run: ["assimp"] -rviz_rendering: - add_host: ["glew"] -rviz_visual_testing_framework: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -sdl2_vendor: - add_host: ["sdl2"] - add_run: ["sdl2"] -sqlite3_vendor: - add_host: ["sqlite"] - add_run: ["sqlite"] -tvm_vendor: - add_host: ["libblas", "openblas", "libcblas"] -velodyne_pointcloud: - add_host: ["libboost-devel"] -webots_ros2_importer: - # urdf2webots imports PIL, but the package.xml doesn't declare python3-pil - add_run: ["pillow"] -yaml_cpp_vendor: - add_host: ["yaml-cpp"] - add_run: ["yaml-cpp"] -zenoh_cpp_vendor: - add_host: ["libzenohc", "libzenohcxx"] -zstd_vendor: - add_host: ["zstd", "${{ 'zstd-static' if not win }}"] - add_run: ["zstd"] diff --git a/shared/pkg_additional_info.yaml b/shared/pkg_additional_info.yaml index e32b036ff..08a66df08 100644 --- a/shared/pkg_additional_info.yaml +++ b/shared/pkg_additional_info.yaml @@ -1,5 +1,7 @@ # Per-package build settings shared by every distribution; distros//pkg_additional_info.yaml # adds its own and wins per key (e.g. build_number). +ament_package: + add_host: ['importlib_resources'] aruco: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" aruco_ros: @@ -12,8 +14,14 @@ as2_platform_multirotor_simulator: then: '-DCMAKE_CXX_FLAGS="-include cassert"' aws_sdk_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +behaviortree_cpp: + add_host: ["libboost-devel", "cppzmq", "zeromq", "sqlite"] + add_run: ["libboost"] behaviortree_cpp_v3: additional_cmake_args: "-DBUILD_UNIT_TESTS=OFF" +camera_calibration: + # Depends on opencv with gui support, see https://github.com/ros-perception/image_pipeline/blob/746268fcfd21b389bc39ae60bb6345a53c838558/camera_calibration/src/camera_calibration/camera_calibrator.py#L286 + add_run: ["libopencv * *qt6*"] cartographer: generate_dummy_package_with_run_deps: dep_name: cartographer @@ -29,6 +37,11 @@ compressed_depth_image_transport: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" console_bridge_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +cuda_buffer: + # FindCUDAToolkit needs nvcc; CUDA::cuda_driver links against the driver stub. + add_host: ["cuda-driver-dev", "cuda-nvcc"] +cuda_buffer_backend: + add_host: ["cuda-driver-dev", "cuda-nvcc"] cyclonedds: generate_dummy_package_with_run_deps: dep_name: cyclonedds @@ -41,10 +54,33 @@ diagnostic_aggregator: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" diagnostic_updater: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +dolly_ignition: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +fmilibrary_vendor: + add_host: ["fmilib"] +foonathan_memory_vendor: + add_host: ["foonathan-memory"] + add_run: ["foonathan-memory"] force_torque_sensor_broadcaster: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["typeguard", "jinja2"] foxglove_bridge: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +franka_example_controllers: + add_host: ["ros2-moveit-core"] + add_run: ["ros2-moveit-core"] +franka_hardware: + add_host: ["ros2-rclcpp-action", "ros2-rclcpp-components"] + add_run: ["ros2-rclcpp-action", "ros2-rclcpp-components"] +franka_ign_ros2_control: + add_host: ["ros2-urdf", "ros2-kdl-parser", "ros2-tf2-geometry-msgs", "ros2-tf2-eigen", "${{ 'libgl-devel' if linux }}"] + add_run: ["ros2-urdf", "ros2-kdl-parser", "ros2-tf2-geometry-msgs", "ros2-tf2-eigen"] +franka_robot_state_broadcaster: + add_host: ["ros2-visualization-msgs"] + add_run: ["ros2-visualization-msgs"] +franka_semantic_components: + add_host: ["ros2-urdf", "ros2-controller-interface"] + add_run: ["ros2-urdf", "ros2-controller-interface"] fuse_constraints: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" fuse_core: @@ -67,6 +103,13 @@ fuse_variables: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" fuse_viz: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +gazebo_ros: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +google_benchmark_vendor: + add_host: ["benchmark"] + add_run: ["benchmark"] +gscam: + add_host: ["glib"] gz_cmake_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" gz_common_vendor: @@ -101,6 +144,18 @@ gz_transport_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" gz_utils_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +ignition_cmake2_vendor: + add_host: ["libignition-cmake2"] + add_run: ["libignition-cmake2"] +ignition_math6_vendor: + add_host: ["libignition-math6"] + add_run: ["libignition-math6"] +image_tools: + # Depends on opencv with gui support, see https://github.com/ros2/demos/blob/8f361a1ece2daae54016959f3ea9ab2e7692ddbb/image_tools/src/showimage.cpp#L190 + add_run: ["libopencv * *qt6*"] +imu_calib: + add_host: ["ros2-eigen3-cmake-module"] + add_run: ["ros2-eigen3-cmake-module"] imu_complementary_filter: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" imu_tools: @@ -113,6 +168,8 @@ lanelet2_python: additional_cmake_args: "-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF" libcurl_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" + add_host: ["libcurl"] + add_run: ["libcurl"] libfranka: generate_dummy_package_with_run_deps: dep_name: libfranka @@ -123,6 +180,8 @@ liblz4_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" libnabo: additional_cmake_args: "-DLIBNABO_BUILD_PYTHON=OFF" +libphidget22: + add_host: ["libusb"] libpointmatcher: # Windows installs libpointmatcherConfig.cmake into both /Library/cmake and # share/libpointmatcher/cmake but its export file only into the latter; CMake finds the @@ -130,42 +189,124 @@ libpointmatcher: additional_cmake_args: if: win then: "-DINSTALL_CMAKE_DIR=share/libpointmatcher/cmake" +libyaml_vendor: + add_host: ["yaml-cpp", "yaml"] + add_run: ["yaml-cpp", "yaml"] +livox_ros_driver2: + add_host: ["livox-sdk2"] + add_run: ["livox-sdk2"] +moveit: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit2_tutorials: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] moveit_ros_visualization: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +moveit_setup_app_plugins: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit_setup_assistant: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit_setup_controllers: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit_setup_core_plugins: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit_setup_framework: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +moveit_setup_srdf_plugins: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +mrpt_common: + # CMakeLists.txt calls find_package(ament_cmake) when ROS_VERSION=2 (set by ros_environment), + # but package.xml (build_type cmake) does not declare it + add_host: ["ros2-ament-cmake"] mrpt_gui: # Windows: wxWidgets' and nanogui's GUI code needs GDI, which the ROS build scripts' CL=/DNOGDI=1 hides additional_cmake_args: if: win then: "-DCMAKE_CXX_FLAGS_INIT=/UNOGDI -DCMAKE_C_FLAGS_INIT=/UNOGDI" + # links libwx_*; the wxwidgets/wx-common keys map to wxpython, so wxwidgets is only a + # transitive host dep and its (weak) run_exports never reach the run requirements + # Windows: nanogui links conda-forge's glad instead of its bundled copy (ros2-mrpt-gui.win.patch) + add_host: ["wxwidgets", "${{ 'glad' if win }}"] +mrpt_imgui: + # Windows: links conda-forge's GLEW like mrpt_opengl, also for its users (ros2-mrpt-imgui.win.patch) + add_host: ["${{ 'glew' if win }}"] + add_run: ["${{ 'glew' if win }}"] mrpt_libros_bridge: # exports no symbols on Windows: no import library for its tests additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +mrpt_math: + # its public headers include Eigen, and its exported CMake targets (and mrpt_poses') carry + # the eigen3 include directory: users need the headers (eigen-abi-devel's run_exports only + # add eigen-abi), or dependents without their own eigen dependency fail to configure + add_run: ["eigen"] +mrpt_opengl: + # Windows: the release source has no bundled GLEW (ros2-mrpt-opengl.win.patch); users of + # opengl_api.h need GL/glew.h too + add_host: ["${{ 'glew' if win }}"] + add_run: ["${{ 'glew' if win }}"] +mujoco_ros2_control_plugins: + add_host: + - if: linux + then: ["libegl-devel"] # CMake finds OpenGL COMPONENTS EGL mujoco_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" + add_host: ["libmujoco"] # conda-forge's MuJoCo (linux, osx, win) instead of the bundled build +nao_lola: + add_host: ["libboost-devel"] +nav2_smac_planner: + add_build: ["${{ 'llvm-openmp' if osx }}"] + add_host: ["${{ 'llvm-openmp' if osx }}", "ompl", "libode"] octomap_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["octomap"] +octomap_rviz_plugins: + add_host: ["octomap"] +ompl: + add_host: ["ompl"] onnxruntime_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" + add_host: [onnxruntime-cpp] + add_run: [onnxruntime-cpp] +open3d_conversions: + # Open3D's own CMake config calls find_dependency(TBB), but conda-forge's + # open3d package only depends on the runtime "tbb" lib, not "tbb-devel" + # (which provides TBBConfig.cmake) -- add it explicitly so find_package(Open3D) + # can resolve its own TBB dependency. + add_host: ["tbb-devel"] openvdb_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" orocos_kdl_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +ortools_vendor: + add_host: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"] + add_run: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"] ouster_ros: additional_cmake_args: "-DOUSTER_USE_VCPKG_IF_AVAILABLE=OFF" pcl_ros: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"] pinocchio: generate_dummy_package_with_run_deps: dep_name: pinocchio max_pin: 'x.x.x' # the version on ros is outdated w.r.t. to the conda-forge one override_version: '4.1.0' +plotjuggler_ros: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +popf: + add_host: ["perl"] pybind11_json_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR" pybind11_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR" + add_host: ["pybind11"] + add_run: ["pybind11"] +rmw_zenoh_cpp: + add_host: ["libzenohc", "libzenohcxx"] robot_state_publisher: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +ros_ign_gazebo_demos: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] rosx_introspection: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" + add_host: ["rapidjson"] rtabmap_conversions: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" # rtabmap_odom/slam/util/viz on Windows: rtabmap::core links some PCL libraries by bare @@ -187,22 +328,38 @@ rtabmap_viz: additional_cmake_args: if: win then: '-DCMAKE_CXX_FLAGS_INIT=/DNOMINMAX -DCMAKE_SHARED_LINKER_FLAGS_INIT=/LIBPATH:%LIBRARY_LIB% -DCMAKE_EXE_LINKER_FLAGS_INIT=/LIBPATH:%LIBRARY_LIB%' +rviz2: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] +rviz_assimp_vendor: + add_host: ["assimp"] + add_run: ["assimp"] +rviz_rendering: + add_host: ["glew"] +rviz_visual_testing_framework: + add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] sbg_driver: additional_cmake_args: if: win then: '-DCMAKE_CXX_FLAGS="-D_USE_MATH_DEFINES"' sdformat_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +sdl2_vendor: + add_host: ["sdl2"] + add_run: ["sdl2"] sick_scan_xd: additional_cmake_args: "-DBUILD_DEBUG_TARGET:BOOL=OFF -DROS_VERSION=2" spdlog_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" sqlite3_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" + add_host: ["sqlite"] + add_run: ["sqlite"] toppra: generate_dummy_package_with_run_deps: dep_name: toppra-python max_pin: 'x.x' +tvm_vendor: + add_host: ["libblas", "openblas", "libcblas"] ublox_gps: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" uncrustify_vendor: @@ -215,6 +372,8 @@ velodyne_laserscan: # Windows (pulled in by rtabmap_examples): M_PI, and its li additional_cmake_args: if: win then: '-DCMAKE_CXX_FLAGS_INIT=/D_USE_MATH_DEFINES -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON' +velodyne_pointcloud: + add_host: ["libboost-devel"] visp: generate_dummy_package_with_run_deps: dep_name: visp @@ -222,3 +381,14 @@ visp: # rosdistro's visp is older than conda-forge's, which is built against the current # OpenCV/protobuf (3.6.x needs OpenCV 4, i.e. protobuf < 7) override_version: '3.7.0' +webots_ros2_importer: + # urdf2webots imports PIL, but the package.xml doesn't declare python3-pil + add_run: ["pillow"] +yaml_cpp_vendor: + add_host: ["yaml-cpp"] + add_run: ["yaml-cpp"] +zenoh_cpp_vendor: + add_host: ["libzenohc", "libzenohcxx"] +zstd_vendor: + add_host: ["zstd", "${{ 'zstd-static' if not win }}"] + add_run: ["zstd"] diff --git a/shared/robostack.yaml b/shared/robostack.yaml index 3a1510ae2..246b32035 100644 --- a/shared/robostack.yaml +++ b/shared/robostack.yaml @@ -81,6 +81,8 @@ cppunit: win64: [] cppzmq: robostack: [cppzmq] +crypto++: + robostack: [cryptopp] curl: robostack: [libcurl] curlpp-dev: @@ -211,6 +213,8 @@ ignition-transport11: robostack: [libignition-transport11] ignition-transport8: robostack: [libignition-transport8] +iproute2: + robostack: [] ipython3: robostack: [ipython] java: @@ -717,6 +721,8 @@ linux-kernel-headers: robostack: [] log4cxx: robostack: [log4cxx] +lua-dev: + robostack: [lua] lua5.2-dev: robostack: [lua] lz4: @@ -929,6 +935,8 @@ python3-coverage: robostack: [coverage] python3-cryptography: robostack: [cryptography] +python3-dbus: + robostack: [dbus-python] python3-defusedxml: robostack: [defusedxml] python3-deprecated: @@ -1058,6 +1066,8 @@ python3-pydantic: robostack: [pydantic] python3-pydot: robostack: [pydot] +python3-pygnssutils-pip: + robostack: [pygnssutils] python3-pygraphviz: robostack: [graphviz, pygraphviz] python3-pykdl: @@ -1126,6 +1136,8 @@ python3-sklearn: robostack: [scikit-learn] python3-sphinx: robostack: [sphinx] +python3-tabulate: + robostack: [tabulate] python3-termcolor: robostack: [termcolor] python3-texttable: @@ -1150,6 +1162,8 @@ python3-twisted: robostack: [twisted] python3-typeguard: robostack: [typeguard] +python3-types-pyyaml: + robostack: [types-pyyaml] python3-typing-extensions: robostack: [typing_extensions] python3-ujson: @@ -1229,6 +1243,8 @@ rti-connext-dds-5.3.1: robostack: [] rti-connext-dds-6.0.1: robostack: [] +rtklib: + robostack: [rtklib-ex] ruby: robostack: [ruby] sbcl: diff --git a/tools/check_dependency_compat.py b/tools/check_dependency_compat.py index ff145731f..55162838e 100644 --- a/tools/check_dependency_compat.py +++ b/tools/check_dependency_compat.py @@ -227,10 +227,11 @@ def collect_requirements_from_vinca( ) -> dict[tuple[Optional[str], str], set[str]]: """Like collect_requirements, for every selected package of the configuration (not only the recipes that happen to be generated, e.g. with skip_existing).""" - from vinca.rebuild import requirements_from_vinca + sys.path.insert(0, str(Path(__file__).resolve().parent)) + import robostack as rs requirements: dict[tuple[Optional[str], str], set[str]] = defaultdict(set) - packages, _ = requirements_from_vinca(vinca_path.resolve().parent, [platform]) + packages, _ = rs.vinca_requirements(vinca_path.resolve().parent, [platform]) for name, reqs in packages.items(): for section in sections: for condition, spec in walk_requirements(reqs.get(section)): @@ -419,13 +420,35 @@ def _by_name(requirements: Iterable[tuple[Optional[str], str]]) -> dict[str, lis class Solver: - """Thin wrapper that writes a fake recipe and solves it with rattler-build.""" + """Writes a fake recipe and solves it: with one `vinca-rs solve` process for the + whole run (the repodata loaded once), else rattler-build per solve.""" def __init__(self, args: argparse.Namespace, channels: list[str], workdir: Path) -> None: self.args = args self.channels = channels self.workdir = workdir self.calls = 0 + self._server: Optional[subprocess.Popen] = None + + def _vinca_rs(self) -> Optional[subprocess.Popen]: + if self._server is None: + sys.path.insert(0, str(Path(__file__).resolve().parent)) + import robostack as rs + + if not shutil.which(rs.VINCA_RS): + return None + env = dict(os.environ) + # the virtual packages run_solve() gives rattler-build + if self.args.platform.startswith("linux"): + env.setdefault("CONDA_OVERRIDE_GLIBC", glibc_floor(Path(self.args.variant_config), self.args.platform)) + elif self.args.platform.startswith("osx") and sys.platform != "darwin": + env.setdefault("CONDA_OVERRIDE_OSX", DEFAULT_OSX) + cmd = [rs.VINCA_RS, "solve", "--platform", self.args.platform, + "--variant-config", str(Path(self.args.variant_config).resolve())] + for channel in self.channels: + cmd += ["-c", channel] + self._server = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True, env=env) + return self._server def solve( self, @@ -437,6 +460,14 @@ def solve( recipe = self.workdir / label / "recipe.yaml" write_fake_recipe(recipe, pins, requirements) self.calls += 1 + if server := self._vinca_rs(): + server.stdin.write(json.dumps({"recipe": str(recipe.resolve()), "glibc": glibc}) + "\n") + server.stdin.flush() + response = json.loads(server.stdout.readline()) + # a failure that isn't the solver's answer (render, network): not a conflict + if response.get("error"): + raise RuntimeError(f"vinca-rs solve failed for {label}: {response['error']}") + return response["ok"], response["text"] return run_solve( recipe, Path(self.args.variant_config), diff --git a/tools/import_distro.py b/tools/import_distro.py index cf1ea4967..35a3f4458 100644 --- a/tools/import_distro.py +++ b/tools/import_distro.py @@ -9,7 +9,7 @@ - vinca.yaml extending shared/vinca.yaml, without its package selections, with this repository's paths (patch_dir, snapshot paths; skip_existing is derived); comments are kept -- pkg_additional_info.yaml, patch/dependencies.yaml +- pkg_additional_info.yaml with the old patch/dependencies.yaml merged in per package, without entries identical to shared/ (build numbers stay); ros-- dependency names become ros2- - patch/ patches renamed to ros2-[.].patch @@ -156,9 +156,10 @@ def import_distro(src: Source, distro: str | None) -> str: with (dest / "vinca.yaml").open("w") as fh: ry.dump(vinca, fh) - # as they are (patch/dependencies.yaml is filtered below) + # as they are (patch/dependencies.yaml goes into pkg_additional_info.yaml below) shutil.rmtree(dest / "patch", ignore_errors=True) src.copy_dir("patch", dest) + (dest / "patch" / "dependencies.yaml").unlink(missing_ok=True) for patch in (dest / "patch").glob(f"ros-{source}-*.patch"): patch.rename(patch.with_name("ros2-" + patch.name.removeprefix(f"ros-{source}-"))) # a file the old repository no longer has goes too (re-imports mirror it) @@ -168,18 +169,26 @@ def import_distro(src: Source, distro: str | None) -> str: else: (dest / name).unlink(missing_ok=True) - # per-package files: drop entries identical to shared/ (keeping build numbers) - for name, shared_file, target in ( - ("pkg_additional_info.yaml", "pkg_additional_info.yaml", dest / "pkg_additional_info.yaml"), - ("patch/dependencies.yaml", "patch/dependencies.yaml", dest / "patch" / "dependencies.yaml"), - ): - text = src.text(name) - if text is None: - target.unlink(missing_ok=True) - continue - text = re.sub(rf"\bros-{source}-(?=[a-z0-9])", "ros2-", text) - data = ry.load(text) or {} - common = yaml.safe_load((rs.SHARED / shared_file).read_text()) or {} + # pkg_additional_info.yaml, with the old repository's patch/dependencies.yaml merged + # in per package (its add_*/remove_* keys); drop entries identical to shared/ + # (keeping build numbers) + target = dest / "pkg_additional_info.yaml" + texts = [t for t in (src.text("pkg_additional_info.yaml"), src.text("patch/dependencies.yaml")) if t is not None] + if not texts: + target.unlink(missing_ok=True) + else: + data = None + for text in texts: + part = ry.load(re.sub(rf"\bros-{source}-(?=[a-z0-9])", "ros2-", text)) or {} + if data is None: + data = part + continue + for key, value in part.items(): + if isinstance(data.get(key), dict): + data[key].update(value) + else: + data[key] = value + common = yaml.safe_load((rs.SHARED / "pkg_additional_info.yaml").read_text()) or {} for key in list(data): if key not in common: continue diff --git a/tools/maintenance.py b/tools/maintenance.py index 8c0f81d49..1968547d4 100644 --- a/tools/maintenance.py +++ b/tools/maintenance.py @@ -45,6 +45,7 @@ "update-vinca": "move the vinca pin to the newest commit of its branch (opens a PR)", "update-pixi": "upgrade the tooling's dependencies in pixi.toml / pixi.lock to their newest versions (opens a PR)", "dependency-report": "check the dependencies against the pins, in the distribution's dependency-report issue", + "sync-pixi-mappings": "copy the rosdep mappings (robostack.yaml) to pixi-build-ros (opens a PR on prefix-dev/pixi)", "update-build-timings": "record the build times of the last week's build-branch runs, for batching by time (opens a PR)", } PER_DISTRO_COMMANDS = ("update-rosdistro-snapshot", "find-stale-packages", "update-conda-forge-pinning", @@ -208,7 +209,7 @@ def plan_rebuild(distro: str, old_cbc: str) -> tuple[dict[str, str], int, dict[s changed = {k: v for k, v in changed.items() if _pin_values(v[0]) != _pin_values(v[1])} if not changed: return {}, 0, {} - requirements, prefix = rebuild.requirements_from_vinca(rs.prepare(distro)) + requirements, prefix = rs.vinca_requirements(rs.prepare(distro)) return rebuild.plan(requirements, changed, prefix), len(requirements), changed @@ -412,7 +413,7 @@ def update_snapshot(distro: str) -> Result: old_text = snapshot.read_text() if snapshot.is_file() else "" old = _versions(snapshot) if rs.task(distro, "create-snapshot", ["--rosdistro-ref", ref] if ref else []): - return Result(f"{distro}: snapshot update failed", "`vinca-snapshot` failed, see the log.", ok=False) + return Result(f"{distro}: snapshot update failed", "`vinca-rs snapshot` failed, see the log.", ok=False) text = snapshot.read_text() data, ahead = keep_newer(yaml.safe_load(old_text) or {}, yaml.safe_load(text) or {}, (released_on_master(distro) or set()) if ref else set()) @@ -502,7 +503,7 @@ def update_pinning(distro: str) -> Result: before = (settings.get("conda_forge_pinning_version"), list(settings.get("conda_forge_migrations") or [])) print(f"Collecting dependencies of {distro}", flush=True) work = rs.prepare(distro) - dependencies = pinning.dependencies_from_vinca(work, pinning.DEFAULT_PLATFORMS) + dependencies = rs.vinca_dependencies(work) version, migrations, reports = pinning.update_pinning(work / "vinca_pinning.yaml", dependencies=dependencies) if str(before[0]) == str(version) and before[1] == list(migrations): return Result(f"{distro}: pinning is up to date", f"{distro} is on conda-forge-pinning {version}.") @@ -523,7 +524,7 @@ def update_shared_pinning() -> Result: for distro in distros: print(f"Collecting dependencies of {distro}", flush=True) works[distro] = rs.prepare(distro) - dependencies |= pinning.dependencies_from_vinca(works[distro], pinning.DEFAULT_PLATFORMS) + dependencies |= rs.vinca_dependencies(works[distro]) version, migrations, reports = pinning.update_pinning(works[distros[0]] / "vinca_pinning.yaml", dependencies=dependencies) if str(before[0]) == str(version) and before[1] == list(migrations): @@ -824,7 +825,7 @@ def rebuild_packages(packages: list[str], distros: list[str], with_dependents: b lines: list[str] = [] changed = False for distro in distros or rs.distros(): - requirements, prefix = rebuild.requirements_from_vinca(rs.prepare(distro)) + requirements, prefix = rs.vinca_requirements(rs.prepare(distro)) if missing := [p for p in wanted if p not in requirements]: lines.append(f"- **{distro}** doesn't build {', '.join(f'`{p}`' for p in missing)}") plan = rebuild_plan(requirements, prefix, wanted, with_dependents) @@ -1119,6 +1120,60 @@ def update_pixi(changes: Path | None = None) -> Result: return Result("Upgrade pixi dependencies", "\n".join(lines), changed=True, labels=[rs.NO_BUILD_LABEL]) +PIXI_ROS_BACKEND = Path("crates/pixi_build_ros") +PIXI_MAPPING_HEADER = """\ +# Generated by robostack-bot from {source} in https://github.com/RoboStack/robostack: +# change the mappings there, not here.{extra} +""" + + +def pixi_mappings() -> dict[str, str]: + """pixi-build-ros's copies of the rosdep mappings: shared/robostack.yaml as is, and + every distribution's own (distros//robostack.yaml, over it) under its name.""" + shared = PIXI_MAPPING_HEADER.format(source="shared/robostack.yaml", extra="") + shared += (rs.ROOT / "shared" / "robostack.yaml").read_text() + distros = PIXI_MAPPING_HEADER.format( + source="distros//robostack.yaml", + extra="\n# Each distribution's mappings, over robostack.yaml's.") + for path in sorted((rs.ROOT / "distros").glob("*/robostack.yaml")): + lines = path.read_text().splitlines() + distros += f"{path.parent.name}:\n" + "".join(f" {line}\n" if line else "\n" for line in lines) + return {"robostack.yaml": shared, "robostack_distros.yaml": distros} + + +def _mapping_changes(name: str, old: str, new: str) -> list[str]: + old_map, new_map = yaml.safe_load(old) or {}, yaml.safe_load(new) or {} + if name == "robostack_distros.yaml": # {distro: {key: mapping}} -> {"distro: key": mapping} + old_map, new_map = ({f"{d}: {k}": v for d, m in x.items() for k, v in (m or {}).items()} + for x in (old_map, new_map)) + lines = [] + for what, keys in (("added", new_map.keys() - old_map.keys()), ("removed", old_map.keys() - new_map.keys()), + ("changed", {k for k in new_map.keys() & old_map.keys() if new_map[k] != old_map[k]})): + if keys: + lines.append(f"- {what}: " + ", ".join(f"`{k}`" for k in sorted(keys))) + return lines + + +def sync_pixi_mappings(pixi: Path) -> Result: + """Write pixi_mappings() into a checkout of prefix-dev/pixi, for a PR there: one set of + rosdep mappings for RoboStack's packages and `pixi build` of ROS packages.""" + rev = subprocess.run(["git", "rev-parse", "HEAD"], cwd=rs.ROOT, capture_output=True, text=True, + check=True).stdout.strip() + lines = [] + for name, text in pixi_mappings().items(): + path = pixi / PIXI_ROS_BACKEND / name + old = path.read_text() if path.exists() else "" + if old != text: + path.write_text(text) + lines += [f"`{PIXI_ROS_BACKEND / name}`:", *(_mapping_changes(name, old, text) or ["- comments only"]), ""] + if not lines: + return Result("pixi-build-ros's rosdep mappings are up to date", "Nothing to copy.") + summary = [f"The rosdep mappings of [RoboStack/robostack@{rev[:8]}](https://github.com/RoboStack/robostack/tree/{rev}), " + "which RoboStack's packages are built with, for pixi-build-ros.", "", *lines, + "Generated by robostack-bot (`sync-pixi-mappings`): mappings are changed in RoboStack/robostack."] + return Result("pixi-build-ros: update RoboStack's rosdep mappings", "\n".join(summary), changed=True) + + REPORT_LABEL = "dependency-report" REPORT_MARKER = "" MAX_ISSUE_BODY = 60000 # GitHub's limit is 65536 characters @@ -1343,6 +1398,41 @@ def unmatched_patches(patches: list[str], packages: set[str]) -> list[str]: return [p for p in patches if (m := PATCH_NAME.match(p)) and m["package"] not in names] +def _selector_items(node): + """The values of a list or mapping with `- if: ... then: ... else: ...` selectors, for every platform.""" + if isinstance(node, list): + for item in node: + yield from _selector_items(item) + elif isinstance(node, dict) and "if" in node and "then" in node: + yield from _selector_items(node["then"]) + yield from _selector_items(node.get("else")) + elif node is not None: + yield node + + +def package_key(name: str) -> str: + """The ROS name of a per-package entry, as vinca-rs looks it up: conda prefixes + (ros--, ros2-) dropped, dashes as underscores.""" + name = re.sub(r"^(ros-[a-z]+-|ros2-)", "", name) if name.startswith(("ros2-", "ros-")) else name + return name.replace("-", "_") + + +def unknown_package_entries(layer: Path, packages: set[str]) -> list[tuple[str, str]]: + """Per-package entries of a layer (shared/ or distros//) for packages that + aren't in `packages`: typos, or entries left behind when a package went away.""" + entries = [] + vinca = yaml.safe_load((layer / "vinca.yaml").read_text()) or {} + entries += [("vinca.yaml packages_select_by_deps", n) for n in _selector_items(vinca.get("packages_select_by_deps"))] + for name in ("pkg_additional_info.yaml",): + path = layer / name + data = yaml.safe_load(path.read_text()) if path.is_file() else None + for mapping in _selector_items(data): + if isinstance(mapping, dict): + entries += [(name, k) for k in mapping if k not in ("if", "then", "else")] + known = {p.replace("-", "_") for p in packages} + return sorted({(where, n) for where, n in entries if isinstance(n, str) and package_key(n) not in known}) + + def check() -> Result: """Sanity checks: every distribution assembles and its generated files are consistent.""" problems: list[str] = [] @@ -1387,6 +1477,8 @@ def check() -> Result: all_packages |= packages for patch in unmatched_patches(patches, packages): problems.append(f"{distro}: patch {patch} matches no package of the distribution, so it is never applied") + for where, name in unknown_package_entries(d, packages): + problems.append(f"{distro}: {where} has an entry for {name}, which the distribution doesn't have") rendered = d / "conda_build_config.yaml" before = rendered.read_text() if rendered.is_file() else "" if rs.task(distro, "render-pinning", []) or rendered.read_text() != before: @@ -1396,6 +1488,8 @@ def check() -> Result: shared = sorted(p.name for p in (rs.SHARED / "patch").glob("*.patch")) for patch in unmatched_patches(shared, all_packages): problems.append(f"shared: patch {patch} matches no package of any distribution, so it is never applied") + for where, name in unknown_package_entries(rs.SHARED, all_packages): + problems.append(f"shared: {where} has an entry for {name}, which no distribution has") # file names: .yaml everywhere (GitHub requires FUNDING.yml by that name) for yml in sorted(p for p in (rs.ROOT / ".github").rglob("*.yml") if p.name != "FUNDING.yml"): problems.append(f"{yml.relative_to(rs.ROOT)}: use the .yaml extension") @@ -1446,6 +1540,8 @@ def main(command: str, argv: list[str], distro: str | None = None) -> int: if command == "update-pixi": parser.add_argument("--changes", type=Path, help="output of an earlier `pixi upgrade --json`") parser.add_argument("--excludes", action="store_true", help="print the --exclude arguments for pixi upgrade") + if command == "sync-pixi-mappings": + parser.add_argument("pixi", type=Path, help="a checkout of prefix-dev/pixi") if command == "update-vinca": parser.add_argument("ref", nargs="?", help="vinca branch, tag or commit (default: the pinned branch)") args = parser.parse_args(argv) @@ -1465,6 +1561,8 @@ def main(command: str, argv: list[str], distro: str | None = None) -> int: return report(dependency_report(distro), args.summary) if command == "update-build-timings": return report(update_build_timings(), args.summary) + if command == "sync-pixi-mappings": + return report(sync_pixi_mappings(args.pixi), args.summary) if command == "update-pixi": if args.excludes: print(" ".join(pixi_upgrade_args()[3:])) diff --git a/tools/robostack.py b/tools/robostack.py index 96d2f4c67..c1555bf0a 100644 --- a/tools/robostack.py +++ b/tools/robostack.py @@ -10,7 +10,7 @@ Every distribution lives in distros// and only holds what is specific to it; everything else is in shared/. distros//vinca.yaml extends shared/vinca.yaml, and vinca combines both and the files next to each (pkg_additional_info.yaml, -patch/ with dependencies.yaml, tests/, robostack.yaml). Tasks run in +patch/, tests/, robostack.yaml). Tasks run in distros//work/ (generated, git-ignored): its vinca.yaml extends the distribution's and adds the channel to skip published packages, and it holds vinca_pinning.yaml, conda_build_config.yaml (rendered back into distros// by @@ -78,20 +78,10 @@ def run(cmd: list[str], cwd: Path) -> int: return subprocess.run(cmd, cwd=cwd).returncode -def run_tee(cmd: list[str], cwd: Path) -> tuple[int, bytes]: - """run(), also returning the combined output.""" - print("+", " ".join(cmd), f" (in {cwd.relative_to(ROOT)})", flush=True) - output = bytearray() - with subprocess.Popen(cmd, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as proc: - for line in proc.stdout: - sys.stdout.buffer.write(line) - sys.stdout.buffer.flush() - output += line - return proc.returncode, bytes(output) -WORKFLOW_SIZE_MESSAGE = b"exceeding the 500 KiB limit" -MAX_BATCH_SIZE = 100 +# the recipe and workflow generator (https://github.com/Tobias-Fischer/vinca-rs) +VINCA_RS = os.environ.get("VINCA_RS", "vinca-rs") # prefix.dev's sharded repodata (what rattler reads) lists a new upload a few minutes @@ -361,6 +351,50 @@ def prepare(distro: str) -> Path: return w +# the platforms RoboStack builds +PLATFORMS = ("linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64") + + +def vinca_rs_requirements(work: Path, platform: str) -> dict: + """`vinca-rs requirements`: {"prefix", "packages": {ros name: {build, host, run}}, + "run_constraints"} for every package the configuration in `work` selects.""" + out = subprocess.run([VINCA_RS, "requirements", "--platform", platform], cwd=work, + capture_output=True, text=True) + if out.returncode: + raise SystemExit(f"vinca-rs requirements --platform {platform} failed:\n{out.stderr}") + return json.loads(out.stdout) + + +def vinca_requirements(work: Path, platforms=PLATFORMS) -> tuple[dict, str]: + """The requirements of every selected package, combined over the platforms + ({name: {"build"|"host"|"run": [each platform's list]}}), and the conda name prefix + of the ROS packages.""" + from concurrent.futures import ThreadPoolExecutor + + with ThreadPoolExecutor() as pool: + results = list(pool.map(lambda p: vinca_rs_requirements(work, p), platforms)) + combined: dict = {} + for result in results: + for name, reqs in result["packages"].items(): + target = combined.setdefault(name, {"build": [], "host": [], "run": []}) + for group in target: + target[group].append(reqs.get(group) or []) + return combined, (results[0]["prefix"] if results else "") + + +def vinca_dependencies(work: Path, platforms=PLATFORMS) -> set[str]: + """The non-ROS dependencies of every selected package (and the mutex's + run_constraints), on any of the platforms.""" + from vinca.pinning import _dependency_name, _walk_requirements + + names = set() + for platform in platforms: + result = vinca_rs_requirements(work, platform) + groups = [*result["packages"].values(), {"run_constraints": result["run_constraints"]}] + names |= {n for g in groups for r in _walk_requirements(g) if (n := _dependency_name(r))} + return names + + def read_vinca(distro: str, platform: str | None = None) -> dict: """The distribution's vinca configuration as vinca reads it (shared/ + distro, selectors resolved for the platform, default: this machine's).""" @@ -512,7 +546,7 @@ def task(distro: str, name: str, args: list[str]) -> int: shutil.copy2(w / "conda_build_config.yaml", d / "conda_build_config.yaml") return rc if name == "create-snapshot": - return run(["vinca-snapshot", "-d", distro, "-o", "rosdistro_snapshot.yaml", *args], d) + return run([VINCA_RS, "snapshot", "--distro", distro, "--out", "rosdistro_snapshot.yaml", *args], d) if name == "sort": files = [f for f in ("pkg_additional_info.yaml", "rosdistro_additional_recipes.yaml") if (d / f).is_file()] rc = run(["vinca-sort-vinca-lists", *args, "vinca.yaml"], d) @@ -537,7 +571,8 @@ def task(distro: str, name: str, args: list[str]) -> int: shutil.rmtree(w / "recipes", ignore_errors=True) shutil.rmtree(w / "recipes_only_patch", ignore_errors=True) (w / "recipes").mkdir() - return run(["vinca", "-m", *args], w) + # vinca-rs: the recipes, without those already on the skip_existing channels + return run([VINCA_RS, "generate", "--out", "recipes", *args], w) if not (w / "vinca.yaml").is_file(): prepare(distro) if name == "check-orphaned-patches": @@ -585,80 +620,38 @@ def task(distro: str, name: str, args: list[str]) -> int: def generate_gha(distro: str, args: list[str]) -> int: - """vinca-gha for one distribution; the workflow gets a distro-specific name and - trigger branch, the file name .github/workflows/build.yaml, and tells the build - scripts which distro to build.""" + """The staged build workflow of one distribution and platform, from + .github/build-template.yaml (vinca-rs workflow), as .github/workflows/build.yaml.""" parser = argparse.ArgumentParser(prog="rs gha") parser.add_argument("--platform", required=True) parser.add_argument("--batch-size", default="25") ns = parser.parse_args(args) d = work_dir(distro) branch = f"buildbranch_{distro}_{ns.platform.replace('-', '_')}" - before = set(d.glob("*.yml")) - # GitHub refuses workflow files over 500 KiB, which a full rebuild's many batches can - # reach (jazzy's win-64 at 25): then retry with larger, hence fewer, batches. - batch_size = int(ns.batch_size) - # each job keeps the build times it records (build-ci); vinca-gha packs each stage's - # recipes into jobs by those times (every recipe the same without them) + # each job keeps the build times it records (build-ci); vinca-rs packs the recipes + # into jobs by those times (every recipe the same without them) import build_timings - extra = ["--keep-file", f"distros/{distro}/work/{build_timings.JOURNAL}"] + extra = [] if build_timings.vinca_timings(distro, ns.platform, d / "build_timings.json"): extra += ["--timings", "build_timings.json"] - # vinca-gha keeps the workflow under GitHub's size limit itself (a job budget); only - # when even the fewest jobs the batch size allows are too many, retry with larger batches - while True: - rc, output = run_tee(["vinca-gha", "--platform", ns.platform, "--trigger-branch", branch, "-d", - "./recipes", "--batch_size", str(batch_size), *extra], d) - if not rc or WORKFLOW_SIZE_MESSAGE not in output: - break - if batch_size >= MAX_BATCH_SIZE: - break - batch_size = min(batch_size * 3 // 2, MAX_BATCH_SIZE) - print(f"The workflow is too large; retrying with --batch_size {batch_size}", flush=True) - if rc: - return rc - # Edit the text: a YAML round trip would turn the `on:` key into `true:` (YAML 1.1). - for wf in sorted(set(d.glob("*.yml")) - before): - lines = wf.read_text().splitlines() - # all build branches share .github/workflows/build.yaml, which GitHub lists as one - # workflow: run-name tells the runs apart - # one run per distribution and platform at a time: a newer run (the latest main's - # recipes and workflow) cancels the older one, and skips what that one uploaded - # already. Re-run failed jobs only in the newest run: re-running an older one - # would cancel the newer run. - lines = [f"name: build\nrun-name: {distro} {ns.platform}\n" - f"concurrency:\n group: build-{distro}-{ns.platform}\n cancel-in-progress: true" - if l.startswith("name: ") else l for l in lines] - # vinca-gha passes secrets.ANACONDA_API_TOKEN to the build jobs, for the anaconda.org - # upload (prefix.dev uses trusted publishing, id-token: write): each distribution - # has its own token (its organization's), the secret ANACONDA_API_TOKEN_ - secret = anaconda_token_secret(distro) - lines = [l.replace("secrets.ANACONDA_API_TOKEN }}", f"secrets.{secret} }}}}") for l in lines] - # jobs that declare permissions get none they don't list: checking out the - # repository needs contents: read (only works without it while it is public) - lines = [f"{l}\n{l[:len(l) - len(l.lstrip())]}contents: read" if l.strip() == "id-token: write" else l - for l in lines] - if sum("permissions:" in l for l in lines) != sum("contents: read" in l for l in lines): - raise SystemExit(f"{wf}: a job with permissions but without contents: read") - if ns.platform == "win-64" and not any("build_win.bat" in l for l in lines): - raise SystemExit(f"{wf}: the Windows workflow doesn't use .scripts/build_win.bat") - if any(l.startswith("env:") for l in lines): - raise SystemExit(f"{wf}: unexpected top-level env in the vinca-gha output") - lines += [ - "env:", - f" ROBOSTACK_DISTRO: {distro}", - " # optional repository variable: upload to this prefix.dev channel instead", - " # (e.g. a test channel), or 'none' to only build", - " ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }}", - ] - # one file name on every build branch (each branch carries only its own - # workflow), so a single prefix.dev Repository Access source matches them all - dest = ROOT / ".github" / "workflows" / "build.yaml" - dest.write_text("\n".join(lines) + "\n") - wf.unlink() + # one file name on every build branch (each branch carries only its own workflow), + # so a single prefix.dev Repository Access source matches them all + dest = ROOT / ".github" / "workflows" / "build.yaml" + variables = { + "distro": distro, + "branch": branch, + # each distribution has its own anaconda.org token (its organization's) + "secret": anaconda_token_secret(distro), + "keep_file": f"distros/{distro}/work/{build_timings.JOURNAL}", + } + rc = run([VINCA_RS, "workflow", "--recipes", "recipes", "--platform", ns.platform, + "--template", str(ROOT / ".github" / "build-template.yaml"), "--out", str(dest), + "--max-batch", ns.batch_size, *extra, + *[a for k, v in variables.items() for a in ("--var", f"{k}={v}")]], d) + if not rc and dest.is_file(): print(f"wrote {dest.relative_to(ROOT)} (trigger branch {branch})") - return 0 + return rc NO_BUILD_LABEL = "build:none" # only the checks (tooling, CI or docs changes) @@ -712,7 +705,8 @@ def changed_distros(base: str) -> list[str]: REPO_COMMANDS = ("check", "update-pinning", "new-distro", "parse-command", "add-package", "rosdistro-syncs", - "rebuild", "rebuild-dependents", "update-vinca", "update-build-timings", "update-pixi") + "rebuild", "rebuild-dependents", "update-vinca", "update-build-timings", "update-pixi", + "sync-pixi-mappings") def main() -> int: diff --git a/tools/tests/test_bot_commands.py b/tools/tests/test_bot_commands.py index 28f0ff21e..60fb0da2d 100644 --- a/tools/tests/test_bot_commands.py +++ b/tools/tests/test_bot_commands.py @@ -5,6 +5,7 @@ import json import pytest +import yaml import maintenance import robostack as rs @@ -377,3 +378,20 @@ def run(cmd, **kwargs): (tmp_path / "upgrade.json").write_text("{}") assert not maintenance.update_pixi(tmp_path / "upgrade.json").changed assert all(cmd[:2] != ["pixi", "upgrade"] for cmd in calls) # the bot upgraded before `pixi run` + + +def test_sync_pixi_mappings(tmp_path, monkeypatch): + assert jobs("@robostack-bot sync-pixi-mappings") == [ + {"command": "sync-pixi-mappings", "distro": "", "args": "", "preview": False}] + assert maintenance.parse_command("@robostack-bot sync-pixi-mappings", "NONE") == [] + backend = tmp_path / maintenance.PIXI_ROS_BACKEND + backend.mkdir(parents=True) + (backend / "robostack.yaml").write_text("gone:\n robostack: [x]\n") + result = maintenance.sync_pixi_mappings(tmp_path) + assert result.changed + assert "- removed: `gone`" in result.summary + shared = yaml.safe_load((backend / "robostack.yaml").read_text()) + assert shared == yaml.safe_load((rs.ROOT / "shared" / "robostack.yaml").read_text()) + distros = yaml.safe_load((backend / "robostack_distros.yaml").read_text()) + assert distros["humble"]["qtbase5-dev"]["robostack"]["osx"] == ["qt-main"] + assert not maintenance.sync_pixi_mappings(tmp_path).changed # nothing left to copy diff --git a/tools/tests/test_build_timings.py b/tools/tests/test_build_timings.py index a9edd28bb..46fff0f4e 100644 --- a/tools/tests/test_build_timings.py +++ b/tools/tests/test_build_timings.py @@ -73,33 +73,6 @@ def collect(): assert not maintenance.update_build_timings().changed # nothing new: no PR -def test_gha_keeps_the_journal_and_uses_the_times(tmp_path, monkeypatch): - import robostack as rs - - work, root = tmp_path / "work", tmp_path / "root" - work.mkdir() - (root / ".github" / "workflows").mkdir(parents=True) - calls = [] - - def fake_run_tee(cmd, cwd): - calls.append(cmd) - (work / "linux.yml").write_text("name: build\njobs:\n stage_0_job_0:\n steps: []\n") - return 0, b"" - - monkeypatch.setattr(rs, "run_tee", fake_run_tee) - monkeypatch.setattr(rs, "work_dir", lambda distro: work) - monkeypatch.setattr(rs, "ROOT", root) - monkeypatch.setattr(build_timings, "TIMINGS", tmp_path / "timings") - assert rs.generate_gha("jazzy", ["--platform", "linux-64"]) == 0 - assert "--keep-file" in calls[-1] and "--timings" not in calls[-1] # no times yet - (tmp_path / "timings").mkdir() - (tmp_path / "timings" / "linux-64.json").write_text('{"ros2-a": {"jazzy": 3.0}}\n') - assert rs.generate_gha("jazzy", ["--platform", "linux-64"]) == 0 - assert calls[-1][calls[-1].index("--timings") + 1] == "build_timings.json" - assert json.loads((work / "build_timings.json").read_text()) == { - "recipes": {"ros2-a": 3.0, "ros-jazzy-a": build_timings.ALIAS_SECONDS}, "default": 3.0} - - def test_ci_estimate_uses_the_measured_times(tmp_path, monkeypatch, capsys): import ci_estimate diff --git a/tools/tests/test_generate_gha.py b/tools/tests/test_generate_gha.py index c9f359a66..2b7667a4c 100644 --- a/tools/tests/test_generate_gha.py +++ b/tools/tests/test_generate_gha.py @@ -1,55 +1,54 @@ -"""rs gha: larger batches when the generated workflow is too large for GitHub.""" +"""rs gha: the build workflow from .github/build-template.yaml (vinca-rs workflow).""" import build_timings import robostack as rs -def test_gha_retries_with_larger_batches_when_the_workflow_is_too_large(monkeypatch, tmp_path): - monkeypatch.setattr(build_timings, "TIMINGS", tmp_path / "no-timings") # batching by count - sizes = [] - - def fake_run_tee(cmd, cwd): - sizes.append(int(cmd[cmd.index("--batch_size") + 1])) - if sizes[-1] < 50: - return 1, b"RuntimeError: Generated workflow win.yml is 530.8 KiB, exceeding the 500 KiB limit." - return 0, b"" - - monkeypatch.setattr(rs, "run_tee", fake_run_tee) - monkeypatch.setattr(rs, "work_dir", lambda distro: tmp_path) - - assert rs.generate_gha("jazzy", ["--platform", "win-64", "--batch-size", "25"]) == 0 - assert sizes == [25, 37, 55] - - -def test_gha_does_not_retry_other_failures(monkeypatch, tmp_path): - sizes = [] - - def fake_run_tee(cmd, cwd): - sizes.append(int(cmd[cmd.index("--batch_size") + 1])) - return 1, b"some other error" - - monkeypatch.setattr(rs, "run_tee", fake_run_tee) - monkeypatch.setattr(rs, "work_dir", lambda distro: tmp_path) - - assert rs.generate_gha("jazzy", ["--platform", "win-64"]) == 1 - assert sizes == [25] - - -def test_gha_uses_the_distributions_anaconda_token(monkeypatch, tmp_path): +def gha(monkeypatch, tmp_path, distro, platform): + """Run generate_gha with vinca-rs stubbed out; return the vinca-rs command.""" + calls = [] work, root = tmp_path / "work", tmp_path / "root" - work.mkdir(); (root / ".github" / "workflows").mkdir(parents=True) + work.mkdir(exist_ok=True) + (root / ".github" / "workflows").mkdir(parents=True, exist_ok=True) - def fake_run_tee(cmd, cwd): - (work / "linux.yml").write_text( - "name: build\njobs:\n stage_0:\n permissions:\n id-token: write\n env:\n" - " ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}\n") - return 0, b"" + def fake_run(cmd, cwd): + calls.append(cmd) + out = cmd[cmd.index("--out") + 1] + open(out, "w").write("name: build\n") + return 0 - monkeypatch.setattr(rs, "run_tee", fake_run_tee) + monkeypatch.setattr(rs, "run", fake_run) monkeypatch.setattr(rs, "work_dir", lambda distro: work) monkeypatch.setattr(rs, "ROOT", root) - - assert rs.generate_gha("lyrical", ["--platform", "linux-64"]) == 0 - text = (root / ".github" / "workflows" / "build.yaml").read_text() - assert "ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN_LYRICAL }}" in text - assert "secrets.ANACONDA_API_TOKEN }}" not in text + assert rs.generate_gha(distro, ["--platform", platform]) == 0 + return calls[-1], work, root + + +def variables(cmd): + return dict(cmd[i + 1].split("=", 1) for i, a in enumerate(cmd) if a == "--var") + + +def test_gha_renders_the_template_for_the_distribution(monkeypatch, tmp_path): + monkeypatch.setattr(build_timings, "TIMINGS", tmp_path / "no-timings") + cmd, _, root = gha(monkeypatch, tmp_path, "lyrical", "linux-64") + assert cmd[:2] == [rs.VINCA_RS, "workflow"] + assert cmd[cmd.index("--template") + 1] == str(root / ".github" / "build-template.yaml") + assert cmd[cmd.index("--out") + 1] == str(root / ".github" / "workflows" / "build.yaml") + assert variables(cmd) == { + "distro": "lyrical", + "branch": "buildbranch_lyrical_linux_64", + # each distribution has its own anaconda.org token + "secret": "ANACONDA_API_TOKEN_LYRICAL", + "keep_file": f"distros/lyrical/work/{build_timings.JOURNAL}", + } + + +def test_gha_uses_the_measured_times(monkeypatch, tmp_path): + monkeypatch.setattr(build_timings, "TIMINGS", tmp_path / "timings") + cmd, _, _ = gha(monkeypatch, tmp_path, "jazzy", "linux-64") + assert "--timings" not in cmd # no times yet + (tmp_path / "timings").mkdir() + (tmp_path / "timings" / "linux-64.json").write_text('{"ros2-a": {"jazzy": 3.0}}\n') + cmd, work, _ = gha(monkeypatch, tmp_path, "jazzy", "linux-64") + assert cmd[cmd.index("--timings") + 1] == "build_timings.json" + assert (work / "build_timings.json").is_file()